/* ==========================================================================
   GurtParts UI — «Cyprus & Sand · Classic» (концепт).
   Сдержанная современная классика: Cyprus #004741, Sand #F0EDE4,
   чёрный круг только как монограмма. Слой поверх gurt-ui.css,
   только для gurtparts.eu. Двойной :not(#gp):not(#gc) поднимает
   специфичность над gurt-ui.css.
   Шрифты: Playfair Display (заголовки, крупные цифры), Manrope (текст).
   ========================================================================== */

body.portal-site-gurt:not(#gp):not(#gc) {
  --c-cyprus: #004741;
  --c-cyprus-deep: #00332f;
  --c-cyprus-soft: #e1e8e3;
  --c-sand: #f0ede4;
  --c-paper: #faf8f3;
  --c-black: #0d1110;
  --c-mint: #b4d3c9;
  --c-on-cyprus-muted: rgba(240, 237, 228, .72);
  --c-serif: "Playfair Display", Georgia, "Times New Roman", serif;

  --g-font: "Manrope", "Inter", "Segoe UI", Arial, sans-serif;
  --g-bg: var(--c-sand);
  --g-surface: var(--c-paper);
  --g-surface-2: #eeeae0;
  --g-surface-3: #e4dfd3;
  --g-line: #ddd7ca;
  --g-line-soft: #e8e3d9;
  --g-line-strong: #bdb6a7;
  --g-ink: #13201d;
  --g-text: #2a3532;
  --g-muted: #5d6662;
  --g-graphite: var(--c-cyprus);
  --g-graphite-2: #00564f;
  --g-graphite-line: rgba(240, 237, 228, .2);
  --g-on-dark: var(--c-sand);
  --g-on-dark-muted: #bcd2cb;
  --g-accent: var(--c-cyprus);
  --g-accent-hover: var(--c-cyprus-deep);
  --g-accent-soft: var(--c-cyprus-soft);
  --g-accent-line: #a9c3ba;
  --g-accent-bright: var(--c-mint);
  --g-ring: 0 0 0 3px rgba(0, 71, 65, .18);
  --g-success: #22693f;
  --g-success-soft: #e3eee6;
  --g-success-line: #bcd6c4;
  --g-warning: #80590a;
  --g-warning-soft: #f4ead3;
  --g-warning-line: #e0cfa2;
  --g-danger: #9c3a2f;
  --g-danger-soft: #f4e3de;
  --g-danger-line: #e2c0b8;
  --g-info: #33586f;
  --g-info-soft: #e3eaee;
  --g-info-line: #c2d2dc;
  --g-shadow-sm: none;
  --g-shadow: 0 1px 2px rgba(19, 32, 29, .04);
  --g-shadow-lg: 0 30px 80px rgba(0, 40, 36, .22);

  background: var(--c-sand);
}

@keyframes c-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

body.portal-site-gurt:not(#gp):not(#gc) a { color: var(--c-cyprus); }
body.portal-site-gurt:not(#gp):not(#gc) a:hover { color: var(--c-cyprus-deep); }

/* ---------- Типографика ---------- */

body.portal-site-gurt:not(#gp):not(#gc) :is(h1, h2) {
  font-family: var(--c-serif);
  font-weight: 500;
  letter-spacing: -.005em;
}

/* У Playfair по умолчанию «старинные» цифры (01 читается как o1) — выравниваем по заглавным */
body.portal-site-gurt:not(#gp):not(#gc) :is(h1, h2, .cw-subnav-number, .cw-field-head b, .dashboard-icon, .manual-order-hero strong, .login-card h1, .brand-title) {
  font-variant-numeric: lining-nums;
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.portal-kicker, .od-eyebrow, .pu-kicker, .pl-kicker, .gi-eyebrow, .sto-eyebrow, .manual-order-kicker, .dashboard-eyebrow, .ah-eyebrow, .cw-section-head span, .dashboard-section-heading p, .dashboard-panel-heading p, .dashboard-notice > p, .pu-client-files__head > div > span, .pu-modal__eyebrow) {
  color: var(--c-cyprus) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
}

body.portal-site-gurt:not(#gp):not(#gc) .pu-kicker::before { display: none; }

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-kpis strong, .cw-kpis strong, .pu-stat strong, .pl-metrics strong, .gi-stats strong, .sto-summary strong, .dashboard-result-price strong, .pu-status strong, .cw-hero-output strong) {
  font-variant-numeric: lining-nums tabular-nums;
}

/* ---------- Навигация ---------- */

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav.navbar {
  background: var(--c-cyprus) !important;
  border-bottom: 0;
  box-shadow: none;
  min-height: 64px;
}

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .navbar-brand {
  color: var(--c-sand) !important;
  font-family: var(--c-serif);
  font-size: 19px;
  font-weight: 500;
  gap: 12px;
  letter-spacing: 0;
}

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .navbar-brand::before {
  background: var(--c-black);
  border-radius: 50%;
  color: var(--c-sand);
  font-family: var(--c-serif);
  font-size: 13px;
  font-style: italic;
  font-weight: 500;
  height: 38px;
  letter-spacing: .02em;
  width: 38px;
}

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .nav-link {
  border-radius: 8px;
  color: var(--c-on-cyprus-muted) !important;
  font-size: 13.5px;
  font-weight: 500;
}

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .nav-link:hover,
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .nav-link:focus { background: rgba(240, 237, 228, .08); color: var(--c-sand) !important; }

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .nav-link.active { background: rgba(240, 237, 228, .12); color: var(--c-sand) !important; }
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .nav-link.active::after { background: var(--c-sand); bottom: -12px; height: 2px; }

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .dropdown-menu {
  background: var(--c-paper);
  border: 1px solid var(--g-line);
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(0, 40, 36, .16);
  margin-top: 14px;
}

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .dropdown-item { color: var(--g-text); }
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .dropdown-item:hover,
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .dropdown-item:focus { background: var(--g-surface-2); color: var(--g-ink); }
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .dropdown-item.active { background: var(--c-cyprus-soft); color: var(--c-cyprus); }

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .btn-outline-light { border: 1px solid rgba(240, 237, 228, .38); border-radius: 8px; color: var(--c-sand); }
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .btn-outline-light:hover { background: var(--c-sand); border-color: var(--c-sand); color: var(--c-cyprus); }

body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .ah-search { background: rgba(0, 0, 0, .14); border: 1px solid rgba(240, 237, 228, .24); border-radius: 10px; }
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .ah-search:focus-within { background: rgba(0, 0, 0, .2); border-color: rgba(240, 237, 228, .6); box-shadow: none; }
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .ah-search input::placeholder { color: rgba(240, 237, 228, .55); }
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .ah-search > button[type="submit"] { background: var(--c-sand); color: var(--c-cyprus); }
body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .ah-search > button[type="submit"]:hover { background: #fff; }

/* ---------- Шапки разделов ---------- */

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-hero, .cw-hero, .pu-hero, .pl-hero, .gi-hero, .sto-hero, .supplier-hero, .notice-hero, .manual-order-hero) {
  animation: c-fade .35s ease-out both;
  background: var(--c-cyprus);
  border: 0;
  border-radius: 18px;
  box-shadow: none;
  color: var(--c-sand);
  overflow: hidden;
  padding: 32px 34px;
  position: relative;
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-hero, .cw-hero, .pu-hero, .pl-hero, .gi-hero, .sto-hero, .supplier-hero, .notice-hero)::before {
  background: none;
  border: 1px solid rgba(240, 237, 228, .1);
  border-radius: 50%;
  bottom: auto;
  content: "";
  display: block;
  height: 360px;
  left: auto;
  pointer-events: none;
  position: absolute;
  right: -120px;
  top: -190px;
  width: 360px;
}

body.portal-site-gurt:not(#gp):not(#gc) .manual-order-hero { border-radius: 18px 18px 0 0; }
body.portal-site-gurt:not(#gp):not(#gc) .manual-order-hero::before { display: none; }
body.portal-site-gurt:not(#gp):not(#gc) :is(.od-hero, .cw-hero, .pu-hero, .pl-hero, .gi-hero, .sto-hero) > * { position: relative; z-index: 1; }

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-hero, .cw-hero, .pu-hero, .pl-hero, .gi-hero, .sto-hero, .supplier-hero, .notice-hero) h1 {
  color: var(--c-sand) !important;
  font-family: var(--c-serif) !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  font-weight: 500 !important;
  letter-spacing: -.01em !important;
  line-height: 1.12 !important;
  margin: 10px 0 8px !important;
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-hero, .cw-hero, .pu-hero, .pl-hero, .gi-hero, .sto-hero, .supplier-hero, .notice-hero) p { color: var(--c-on-cyprus-muted) !important; }
body.portal-site-gurt:not(#gp):not(#gc) :is(.od-hero, .cw-hero, .pu-hero, .pl-hero, .gi-hero, .sto-hero, .manual-order-hero) :is(.od-eyebrow, .portal-kicker, .pu-kicker, .gi-eyebrow, .sto-eyebrow, .manual-order-kicker) { color: var(--c-mint) !important; }
body.portal-site-gurt:not(#gp):not(#gc) .gi .gi-hero { border-bottom: 0; }
body.portal-site-gurt:not(#gp):not(#gc) :is(.gi-period, .gi-hero-actions small) { color: var(--c-on-cyprus-muted); }

body.portal-site-gurt:not(#gp):not(#gc) .manual-order-hero strong { color: var(--c-sand); font-family: var(--c-serif); font-size: 26px; font-weight: 500; }
body.portal-site-gurt:not(#gp):not(#gc) .manual-order-hero small { color: var(--c-on-cyprus-muted); }
body.portal-site-gurt:not(#gp):not(#gc) .manual-order-mark { background: var(--c-black); border: 0; border-radius: 50%; color: var(--c-sand); font-family: var(--c-serif); font-style: italic; font-weight: 500; }

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-month, .pu-status, .cw-hero-output) {
  background: rgba(0, 0, 0, .14);
  border: 1px solid rgba(240, 237, 228, .18);
  border-radius: 14px;
  color: var(--c-sand);
}
body.portal-site-gurt:not(#gp):not(#gc) .od-month label { color: var(--c-sand) !important; }
body.portal-site-gurt:not(#gp):not(#gc) .od-month input { background: var(--c-sand); border: 0 !important; border-radius: 10px; }
body.portal-site-gurt:not(#gp):not(#gc) :is(.pu-status span, .pu-status small, .cw-hero-output small, .cw-hero-output span) { color: var(--c-on-cyprus-muted); }
body.portal-site-gurt:not(#gp):not(#gc) :is(.pu-status strong, .cw-hero-output strong) { color: var(--c-sand); font-family: var(--c-serif); font-size: 24px; font-weight: 500; }
body.portal-site-gurt:not(#gp):not(#gc) .cw-hero-output .cw-output-mark { background: var(--c-black); border-radius: 50%; color: var(--c-sand); font-weight: 600; }

body.portal-site-gurt:not(#gp):not(#gc) .od-month button,
body.portal-site-gurt:not(#gp):not(#gc) .gi .gi-hero-actions button,
body.portal-site-gurt:not(#gp):not(#gc) .pl-hero .pl-export {
  background: var(--c-sand) !important;
  border-color: var(--c-sand) !important;
  color: var(--c-cyprus) !important;
}
body.portal-site-gurt:not(#gp):not(#gc) .od-month button:hover,
body.portal-site-gurt:not(#gp):not(#gc) .gi .gi-hero-actions button:hover,
body.portal-site-gurt:not(#gp):not(#gc) .pl-hero .pl-export:hover { background: #fff !important; border-color: #fff !important; }

/* ---------- Карточки и KPI ---------- */

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-card, .cw-card, .pu-panel, .pu-client-files, .pl-card, .pl-filters, .gi-panel, .sto-card, .supplier-panel, .notice-card, .dashboard-panel, .cw-status-card) {
  animation: c-fade .35s .04s ease-out both;
  background: var(--c-paper);
  border: 1px solid var(--g-line);
  border-radius: 16px;
  box-shadow: var(--g-shadow);
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-kpis article, .cw-kpis article, .pu-stat, .pl-metrics article, .gi .gi-stats > button, .gi-stats > div, .sto-summary article) {
  animation: c-fade .35s ease-out both;
  background: var(--c-paper);
  border: 1px solid var(--g-line);
  border-radius: 14px;
  box-shadow: var(--g-shadow);
  padding: 18px 20px;
}

body.portal-site-gurt:not(#gp):not(#gc) .gi .gi-stats > button { background: var(--c-paper) !important; color: var(--g-text) !important; }
body.portal-site-gurt:not(#gp):not(#gc) .gi .gi-stats > button:hover { border-color: var(--c-cyprus); }

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-kpis strong, .cw-kpis strong, .pu-stat strong, .pl-metrics strong, .gi-stats strong, .sto-summary strong) {
  color: var(--c-cyprus) !important;
  font-family: var(--c-serif) !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  letter-spacing: -.01em;
  line-height: 1.15 !important;
}

body.portal-site-gurt:not(#gp):not(#gc) .pu-stat i { background: transparent; border: 1px solid var(--g-accent-line); border-radius: 999px; color: var(--c-cyprus); padding: 3px 10px; }

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-section-head h2, .cw-section-head h2, .pu-panel h2, .pl-card-head h2, .sto-card-head h2, .pu-client-files__head h2) {
  color: var(--g-ink) !important;
  font-family: var(--c-serif);
  font-size: 22px !important;
  font-weight: 500;
}

body.portal-site-gurt:not(#gp):not(#gc) .od-bar { background: var(--g-surface-3); height: 5px; }
body.portal-site-gurt:not(#gp):not(#gc) .od-bar i { background: var(--c-cyprus); }
body.portal-site-gurt:not(#gp):not(#gc) :is(.od-empty, .cw-empty, .pu-empty, .gi-empty, .dashboard-empty, .manual-order-empty) { border-radius: 14px; }
body.portal-site-gurt:not(#gp):not(#gc) :is(.pu-download, .pu-client-file-grid article) { background: var(--c-cyprus-soft); border: 1px solid var(--g-accent-line); border-radius: 14px; }
body.portal-site-gurt:not(#gp):not(#gc) .pu-client-file-grid article > b { background: var(--c-cyprus); border-radius: 50%; color: var(--c-sand); }
body.portal-site-gurt:not(#gp):not(#gc) .pu-history li::before { background: var(--c-cyprus); }

/* ---------- Вкладки ---------- */

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-order-menu, .cw-subnav) {
  background: var(--c-paper);
  border: 1px solid var(--g-line);
  border-radius: 16px;
  box-shadow: var(--g-shadow);
  padding: 5px;
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-order-menu-link, .cw-subnav-link) { border: 0; border-radius: 12px; }
body.portal-site-gurt:not(#gp):not(#gc) :is(.od-order-menu-link, .cw-subnav-link):hover { background: var(--g-surface-2); }
body.portal-site-gurt:not(#gp):not(#gc) :is(.od-order-menu-link, .cw-subnav-link).active { background: var(--c-cyprus); color: var(--c-sand); }
body.portal-site-gurt:not(#gp):not(#gc) :is(.od-order-menu-link, .cw-subnav-link) strong { font-size: 14px; font-weight: 600; }
body.portal-site-gurt:not(#gp):not(#gc) :is(.od-order-menu-link.active small, .od-order-menu-link.active span, .cw-subnav-link.active small) { color: var(--c-on-cyprus-muted); }
body.portal-site-gurt:not(#gp):not(#gc) .cw-subnav-number { background: transparent; border: 1px solid var(--g-line-strong); border-radius: 50%; color: var(--g-text); font-family: var(--c-serif); font-weight: 500; }
body.portal-site-gurt:not(#gp):not(#gc) .cw-subnav-link.active .cw-subnav-number { background: var(--c-sand); border-color: var(--c-sand); color: var(--c-cyprus); }

body.portal-site-gurt:not(#gp):not(#gc) .od-tabs a,
body.portal-site-gurt:not(#gp):not(#gc) .manual-order-tab { border: 1px solid var(--g-line-strong); border-radius: 10px; color: var(--g-text); }
body.portal-site-gurt:not(#gp):not(#gc) .manual-order-tab.is-active { background: var(--c-cyprus); border-color: var(--c-cyprus); box-shadow: none; color: var(--c-sand); }
body.portal-site-gurt:not(#gp):not(#gc) .manual-order-panel { border-radius: 0 0 18px 18px; }

/* ---------- Таблицы ---------- */

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-table-wrap, .cw-table-wrap, .manual-order-table-wrap, .manual-order-preview) { border-radius: 14px; }

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-table-wrap th, .cw-table-wrap th, .manual-order-table th, .manual-order-preview th, .pu-table th, .pl-table th, .gi th, .table thead th) {
  background: var(--g-surface-2);
  color: var(--g-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-table-wrap, .cw-table-wrap, .gi, .table) tbody tr:hover,
body.portal-site-gurt:not(#gp):not(#gc) .pl-table tr:hover td { background: #edf0ea; }
body.portal-site-gurt:not(#gp):not(#gc) :is(.cw-table-wrap code, .pu-table code) { background: var(--g-surface-2); border-radius: 6px; }

/* ---------- Кнопки ---------- */

body.portal-site-gurt:not(#gp):not(#gc) :is(.btn, .od-primary, .od-button, .od-mini, .pu-button, .sto-button, .dashboard-primary, .dashboard-result-primary, .dashboard-result-secondary, .pl-export, .pl-filters button, .pl-maintenance button, .gi-hero-actions button, .gi-toolbar button, .gi-row-actions button, .od-month button, .manual-icon-button, .ah-button) {
  border-radius: 10px !important;
  font-weight: 600;
  letter-spacing: .01em;
}

body.portal-site-gurt:not(#gp):not(#gc) .btn-success,
body.portal-site-gurt:not(#gp):not(#gc) .btn-primary,
body.portal-site-gurt:not(#gp):not(#gc) .btn-warning,
body.portal-site-gurt:not(#gp):not(#gc) .od-primary,
body.portal-site-gurt:not(#gp):not(#gc) .pu-button--primary,
body.portal-site-gurt:not(#gp):not(#gc) .sto-button-primary,
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-primary,
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-result-primary,
body.portal-site-gurt:not(#gp):not(#gc) .ah-button--primary,
body.portal-site-gurt:not(#gp):not(#gc) .gi-toolbar button:not(.gi-light):not(.gi-text),
body.portal-site-gurt:not(#gp):not(#gc) .cw-shell .btn-success {
  background: var(--c-cyprus) !important;
  border-color: var(--c-cyprus) !important;
  color: var(--c-sand) !important;
}

body.portal-site-gurt:not(#gp):not(#gc) .btn-success:is(:hover, :focus),
body.portal-site-gurt:not(#gp):not(#gc) .btn-warning:is(:hover, :focus),
body.portal-site-gurt:not(#gp):not(#gc) .od-primary:is(:hover, :focus),
body.portal-site-gurt:not(#gp):not(#gc) .pu-button--primary:is(:hover, :focus),
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-primary:is(:hover, :focus),
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-result-primary:is(:hover, :focus),
body.portal-site-gurt:not(#gp):not(#gc) .gi-toolbar button:not(.gi-light):not(.gi-text):hover,
body.portal-site-gurt:not(#gp):not(#gc) .cw-shell .btn-success:is(:hover, :focus) {
  background: var(--c-cyprus-deep) !important;
  border-color: var(--c-cyprus-deep) !important;
  color: var(--c-sand) !important;
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-button, .od-mini, .pu-button:not(.pu-button--primary), .sto-button-secondary, .sto-button-ghost, .dashboard-result-secondary, .ah-button--secondary, .manual-icon-button, .btn-secondary, .btn-light, .btn-outline-secondary, .btn-outline-info),
body.portal-site-gurt:not(#gp):not(#gc) .gi .gi-light,
body.portal-site-gurt:not(#gp):not(#gc) .pl-maintenance button.secondary {
  background: transparent !important;
  border: 1px solid var(--g-accent-line) !important;
  color: var(--c-cyprus) !important;
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-button, .od-mini, .pu-button:not(.pu-button--primary), .sto-button-secondary, .sto-button-ghost, .dashboard-result-secondary, .ah-button--secondary, .manual-icon-button, .btn-secondary, .btn-light, .btn-outline-secondary, .btn-outline-info):hover,
body.portal-site-gurt:not(#gp):not(#gc) .gi .gi-light:hover,
body.portal-site-gurt:not(#gp):not(#gc) .pl-maintenance button.secondary:hover {
  background: var(--c-cyprus-soft) !important;
  border-color: var(--c-cyprus) !important;
}

/* ---------- Поля ---------- */

body.portal-site-gurt:not(#gp):not(#gc) :is(.form-control, .custom-select, .od-number, .od-code, .od-name, .gi-filters input, .gi-filters select, .pl-filters input, .pl-filters select, .cw-row-input, .cw-row-select, .cw-row-note, .cw-field .form-control-file, .manual-order-table .form-control, .od-upload input[type=file]) {
  background: #fffdf8;
  border-color: var(--g-line-strong) !important;
  border-radius: 10px !important;
  min-height: 42px;
}

body.portal-site-gurt:not(#gp):not(#gc) input[type=file]::file-selector-button { background: transparent; border: 1px solid var(--g-accent-line); border-radius: 8px; color: var(--c-cyprus); font-weight: 600; }
body.portal-site-gurt:not(#gp):not(#gc) input[type=file]::file-selector-button:hover { background: var(--c-cyprus-soft); }

body.portal-site-gurt:not(#gp):not(#gc) :is(.cw-field, .cw-form-action, .manual-order-summary > div) { border-radius: 14px; }
body.portal-site-gurt:not(#gp):not(#gc) .gi-filters { border-radius: 0; }
body.portal-site-gurt:not(#gp):not(#gc) .cw-field-head b { background: transparent; border: 1px solid var(--g-accent-line); border-radius: 50%; color: var(--c-cyprus); font-family: var(--c-serif); font-weight: 500; padding: 4px 7px; }

/* ---------- Статусы: тонкие таблетки ---------- */

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-pill, .od-source, .od-source-badge, .cw-pill, .cw-status, .pu-badge, .sto-status, .gi-badge, .ah-status, .badge) {
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 11px;
}

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-notice, .alert, .cw-notice, .pl-message, .sto-notice, .gi-message, .dashboard-result-error) { border-left-width: 1px !important; border-radius: 12px; }

body.portal-site-gurt:not(#gp):not(#gc) :is(.od-history-downloads a, .cw-download) { background: transparent; border: 1px solid var(--g-accent-line); border-radius: 8px; color: var(--c-cyprus); }
body.portal-site-gurt:not(#gp):not(#gc) :is(.od-history-downloads a, .cw-download):hover { background: var(--c-cyprus-soft); text-decoration: none; }

/* ---------- Главная ---------- */

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-welcome { align-items: flex-end; border-bottom: 1px solid var(--g-line); margin-bottom: 26px; padding-bottom: 22px; }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-welcome h1 {
  animation: c-fade .35s ease-out both;
  color: var(--c-cyprus);
  font-family: var(--c-serif);
  font-size: clamp(34px, 4.4vw, 52px);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.05;
  margin: 10px 0 8px;
}

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-primary { min-height: 46px; padding: 0 22px !important; }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search {
  animation: c-fade .35s .04s ease-out both;
  background: var(--c-cyprus);
  border: 0;
  border-radius: 18px;
  box-shadow: none;
  overflow: hidden;
  padding: 30px 32px;
}

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search::after {
  border: 1px solid rgba(240, 237, 228, .1);
  border-radius: 50%;
  content: "";
  height: 300px;
  pointer-events: none;
  position: absolute;
  right: -70px;
  top: -120px;
  width: 300px;
}

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search label {
  color: var(--c-sand) !important;
  font-family: var(--c-serif);
  font-size: clamp(22px, 2.4vw, 28px) !important;
  font-weight: 500;
  margin-bottom: 16px;
  position: relative;
}

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search > div { max-width: 720px; position: relative; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search input { background: var(--c-sand); border: 1px solid var(--c-sand); border-radius: 10px; color: var(--g-ink); font-size: 15px; min-height: 50px; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search input:focus { border-color: #fff; box-shadow: 0 0 0 3px rgba(240, 237, 228, .22); }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search button { background: var(--c-black); border-radius: 10px; color: var(--c-sand); font-weight: 600; padding: 0 26px; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search button:hover { background: var(--c-sand); color: var(--c-cyprus); }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search > small { color: var(--c-on-cyprus-muted); position: relative; }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-section-heading h2 { color: var(--g-ink); font-size: 26px; font-weight: 500; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-section-heading > span { border: 1px solid var(--g-line-strong); border-radius: 999px; color: var(--g-muted); padding: 3px 12px; }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-grid { gap: 12px; }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-card {
  animation: c-fade .35s ease-out both;
  background: var(--c-paper);
  border: 1px solid var(--g-line);
  border-radius: 16px;
  box-shadow: var(--g-shadow);
  gap: 2px 16px;
  min-height: 92px;
  padding: 18px 18px 18px 20px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-card:is(:hover, :focus) { border-color: var(--c-cyprus); box-shadow: 0 8px 24px rgba(0, 71, 65, .08); }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-icon {
  background: transparent !important;
  border: 1px solid var(--g-accent-line);
  border-radius: 50%;
  color: var(--c-cyprus) !important;
  font-family: var(--c-serif);
  font-size: 15px !important;
  font-style: italic;
  font-weight: 500;
  height: 50px;
  width: 50px;
}
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-card:is(:hover, :focus) .dashboard-icon { background: var(--c-cyprus) !important; border-color: var(--c-cyprus); color: var(--c-sand) !important; }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-card-copy strong { color: var(--g-ink); font-size: 15px; font-weight: 600; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-arrow {
  align-items: center;
  border: 1px solid var(--g-line-strong);
  border-radius: 50%;
  color: var(--c-cyprus);
  display: flex;
  font-size: 14px;
  height: 34px;
  justify-content: center;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
  width: 34px;
}
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-card:is(:hover, :focus) .dashboard-arrow { background: var(--c-cyprus); border-color: var(--c-cyprus); color: var(--c-sand); transform: none; }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-lower-grid { gap: 12px; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-panel-heading h2 { color: var(--g-ink); font-size: 22px; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-dot { border-radius: 50%; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-dot-green { background: var(--c-cyprus); }

body.portal-site-gurt:not(#gp):not(#gc) .dashboard-notice {
  animation: c-fade .35s .08s ease-out both;
  background: var(--c-black);
  border: 0;
  border-radius: 16px;
  color: var(--c-sand);
}
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-notice::before { display: none; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-notice > p { color: var(--c-mint) !important; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-notice h2 { color: var(--c-sand); font-size: 24px; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-notice > span { color: rgba(240, 237, 228, .7); }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-notice a { color: var(--c-sand); }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-notice a:hover { background: rgba(240, 237, 228, .1); color: #fff; }

body.portal-site-gurt:not(#gp):not(#gc) :is(.modal-content, .pu-modal__card, .pl-detail-dialog, .dashboard-part-result, .ah-drawer) { border-radius: 18px; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-result-mark { background: var(--c-black); border-radius: 50%; color: var(--c-sand); font-family: var(--c-serif); font-style: italic; }
body.portal-site-gurt:not(#gp):not(#gc) .dashboard-result-price strong { color: var(--c-cyprus); font-family: var(--c-serif); font-weight: 500; }

/* ---------- Вход ---------- */

body.portal-site-gurt.portal-login:not(#gp):not(#gc) { background: var(--c-cyprus-deep); }
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .login-cover::before { display: none; }
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .login-cover::after {
  background: linear-gradient(90deg, rgba(0, 51, 47, .97) 0%, rgba(0, 71, 65, .9) 44%, rgba(0, 71, 65, .3) 78%, rgba(0, 71, 65, .12) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .login-wrap { position: relative; z-index: 1; }
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .eyebrow { color: var(--c-mint); font-weight: 600; letter-spacing: .22em; }
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .brand-title {
  animation: c-fade .45s ease-out both;
  color: var(--c-sand);
  font-family: var(--c-serif);
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.04;
}
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .brand-copy { color: var(--c-on-cyprus-muted); }
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .login-card {
  animation: c-fade .45s .1s ease-out both;
  background: var(--c-sand);
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .3);
  padding: 38px 34px 30px;
  position: relative;
}
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .login-card::before {
  align-items: center;
  background: var(--c-black);
  border-radius: 50%;
  color: var(--c-sand);
  content: "GP";
  display: flex;
  font-family: var(--c-serif);
  font-size: 20px;
  font-style: italic;
  font-weight: 500;
  height: 64px;
  justify-content: center;
  position: absolute;
  right: 28px;
  top: -32px;
  width: 64px;
}
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .login-card h1 { color: var(--c-cyprus); font-family: var(--c-serif); font-size: 30px; font-weight: 500; }
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .login-card .form-control { background: #fffdf8; border-color: var(--g-line-strong); }
body.portal-site-gurt.portal-login:not(#gp):not(#gc) .login-card .btn { font-size: 15px; min-height: 50px; }

/* ---------- Адаптивность и доступность ---------- */

@media (max-width: 991.98px) {
  body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .navbar-collapse { background: var(--c-cyprus-deep); border: 0; border-radius: 14px; }
  body.portal-site-gurt.portal-auth:not(#gp):not(#gc) > nav .nav-link.active::after { display: none; }
}

@media (max-width: 700px) {
  body.portal-site-gurt:not(#gp):not(#gc) :is(.od-hero, .cw-hero, .pu-hero, .pl-hero, .gi-hero, .sto-hero, .manual-order-hero) { border-radius: 16px; padding: 24px 20px; }
  body.portal-site-gurt:not(#gp):not(#gc) .dashboard-search { border-radius: 16px; padding: 24px 18px; }
  body.portal-site-gurt:not(#gp):not(#gc) .dashboard-welcome { align-items: stretch; }
  body.portal-site-gurt:not(#gp):not(#gc) .cw-subnav-link { min-width: 0; padding: 10px 8px; }
  body.portal-site-gurt:not(#gp):not(#gc) .cw-subnav-link strong { font-size: 12.5px; overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-site-gurt:not(#gp):not(#gc) *,
  body.portal-site-gurt:not(#gp):not(#gc) *::before,
  body.portal-site-gurt:not(#gp):not(#gc) *::after { animation: none !important; transition: none !important; }
}
