:root {
  color-scheme: light;
  --page: #f4f6f8;
  --panel: #ffffff;
  --panel-strong: #f9fbfd;
  --line: #d8e0e8;
  --line-strong: #b9c5d1;
  --text: #1b2533;
  --muted: #687586;
  --blue: #1565c0;
  --blue-dark: #0d4f9e;
  --green: #16804f;
  --red: #b3261e;
  --yellow: #f4bd2f;
  --ink: #101820;
  --shadow: 0 8px 24px rgba(23, 39, 56, 0.08);
  font-family: Arial, Helvetica, sans-serif;
}

/* Autoservice-owned media, map and listing links. */
.autoservice-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 16px;
}
.autoservice-map-layout iframe {
  width: 100%;
  min-height: 430px;
  border: 0;
  border-radius: 16px;
  background: #e7edf1;
}
.autoservice-route-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border: 1px solid #d7e2e8;
  border-radius: 16px;
  background: #f7fafb;
}
.autoservice-route-card > strong { font-size: 19px; line-height: 1.45; }
.autoservice-route-card ol { display: grid; gap: 11px; margin: 0; padding-left: 22px; color: #526b7c; line-height: 1.5; }
.autoservice-route-card .btn { margin-top: auto; text-align: center; }
.autoservice-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.autoservice-gallery figure { display: flex; min-width: 0; flex-direction: column; margin: 0; overflow: hidden; border: 1px solid #dce5eb; border-radius: 15px; background: #f7fafb; }
.autoservice-gallery img { width: 100%; height: 230px; object-fit: cover; }
.autoservice-gallery figcaption { padding: 13px 15px; color: #526b7c; font-size: 13px; line-height: 1.45; }
.autoservice-listing-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.autoservice-listing-links a { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; border: 1px solid #d7e2e8; border-radius: 12px; background: #f7fafb; color: #173d53; font-weight: 850; text-decoration: none; }
.autoservice-listing-links a:hover { border-color: #e33732; color: #b72e29; }
.autoservice-additional-phones { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-top: 20px; padding-top: 18px; border-top: 1px solid #dce5eb; }
.autoservice-additional-phones a { color: #173d53; font-weight: 850; }
.autoservice-rating-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.autoservice-rating-grid > a { display: grid; gap: 5px; padding: 22px; border: 1px solid #d7e2e8; border-radius: 15px; background: linear-gradient(145deg, #fff, #f4f8fa); color: #173d53; text-decoration: none; }
.autoservice-rating-grid > a > span { color: #e33732; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.autoservice-rating-grid strong { font-size: 34px; }
.autoservice-rating-grid strong small { color: #e39a18; }
.autoservice-rating-grid p, .autoservice-rating-grid > a > small { margin: 0; color: #607586; }
.autoservice-external-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.autoservice-external-review-grid article { display: flex; min-height: 180px; flex-direction: column; padding: 19px; border: 1px solid #dce5eb; border-radius: 14px; background: #f9fbfc; }
.autoservice-external-review-grid article > span { color: #8a9ca8; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.autoservice-external-review-grid article > p { color: #3c586a; line-height: 1.55; }
.autoservice-external-review-grid footer { display: grid; gap: 6px; margin-top: auto; }
.autoservice-external-review-grid footer a { color: #b72e29; font-size: 12px; font-weight: 800; }

@media (max-width: 980px) {
  .autoservice-map-layout { grid-template-columns: 1fr; }
  .autoservice-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .autoservice-external-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .autoservice-map-layout iframe { min-height: 330px; }
  .autoservice-gallery, .autoservice-listing-links { grid-template-columns: 1fr; }
  .autoservice-rating-grid, .autoservice-external-review-grid { grid-template-columns: 1fr; }
  .autoservice-gallery img { height: 210px; }
}

.vin-attachment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.vin-attachment-list a {
  display: inline-flex;
  max-width: 100%;
  padding: 4px 9px;
  border: 1px solid rgba(53, 201, 160, .35);
  border-radius: 999px;
  background: rgba(53, 201, 160, .08);
  color: #dffcf3;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[hidden] {
  display: none !important;
}

/* Client redesign layer — shared pages outside the new search/home shell */
:root {
  --page: #f3f6fb;
  --panel: #ffffff;
  --panel-strong: #f8fbff;
  --line: #dce5ef;
  --line-strong: #b7c8d9;
  --text: #162033;
  --muted: #66758b;
  --blue: #0e63c7;
  --blue-dark: #084a98;
  --green: #0c8a55;
  --red: #bf2f24;
  --yellow: #f4bd2f;
  --ink: #101b2b;
  --shadow: 0 12px 36px rgba(18, 35, 58, .08);
  font-family: Inter, Arial, Helvetica, sans-serif;
}

body:not(.v2-page) {
  background:
    radial-gradient(circle at 8% -8%, rgba(14, 99, 199, .10), transparent 28rem),
    radial-gradient(circle at 88% 0%, rgba(30, 210, 143, .08), transparent 24rem),
    var(--page);
  color: var(--text);
}

body:not(.v2-page) a {
  color: var(--blue);
}

.site-header {
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 28px rgba(18, 35, 58, .06);
  backdrop-filter: blur(14px);
}

.header-main {
  grid-template-columns: 250px minmax(360px, 1fr) auto;
  min-height: 76px;
}

.brand img {
  width: 48px;
  height: 48px;
}

.brand-name {
  color: var(--text);
  letter-spacing: -.02em;
}

.brand-sub {
  color: var(--muted);
}

.header-search {
  border-color: var(--blue);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(14, 99, 199, .12);
}

.header-search select,
.header-search input,
.header-search button,
.search-history-link {
  min-height: 50px;
}

.header-search button {
  font-weight: 900;
}

.search-history-link {
  background: var(--panel-strong);
  color: var(--blue);
}

.quick-link {
  min-height: 50px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(18, 35, 58, .05);
}

.quick-link:hover {
  border-color: var(--blue);
  background: var(--panel-strong);
  box-shadow: 0 10px 24px rgba(14, 99, 199, .10);
}

.main-nav {
  border-top: 1px solid rgba(220,229,239,.75);
  background: rgba(255,255,255,.78);
}

.main-nav .shell {
  gap: 4px;
  overflow-x: auto;
  flex-wrap: nowrap;
}

.main-nav a {
  margin: 8px 0;
  padding: 9px 13px;
  border: 0;
  border-radius: 999px;
  color: #33445c;
  font-size: 13px;
  font-weight: 850;
}

.main-nav a:hover,
.main-nav a[aria-current="page"] {
  background: var(--blue-soft, #e8f2ff);
  color: var(--blue);
  border: 0;
}

.page {
  padding: 28px 0 52px;
}

.page-title {
  margin-bottom: 18px;
  color: var(--text);
  font-size: clamp(26px, 3vw, 42px);
  letter-spacing: -.045em;
}

.panel,
.catalog-link,
.metric,
.finance-item,
.notice,
.table-wrap {
  border-radius: 18px;
  border-color: var(--line);
  box-shadow: var(--shadow);
}

.panel {
  overflow: hidden;
}

.panel-header {
  min-height: 58px;
  padding: 16px 18px;
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.panel-header h1,
.panel-header h2,
.panel-header h3 {
  letter-spacing: -.02em;
}

.panel-body {
  padding: 18px;
}

.field input,
.field select,
.field textarea,
.filter-chip,
.brand-choice,
.mode-tabs button,
.filter-chips button {
  border-radius: 12px;
}

.btn {
  min-height: 42px;
  border-radius: 999px;
  font-weight: 900;
}

.btn.primary {
  box-shadow: 0 10px 24px rgba(14, 99, 199, .18);
}

.notice {
  background: #fff;
}

.catalog-link {
  border-radius: 16px;
  min-height: 86px;
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.catalog-link:hover {
  box-shadow: 0 14px 30px rgba(14, 99, 199, .12);
}

.table-wrap {
  border-radius: 18px;
}

th {
  background: #f6f9fd;
  color: #526171;
}

tbody tr:hover {
  background: #f8fbff;
}

.legal-panel {
  max-width: 980px;
}

.legal-content {
  font-size: 15px;
  line-height: 1.58;
}

.legal-lead {
  margin-top: 0;
  color: #41536d;
  font-size: 17px;
}

.legal-section {
  padding: 12px 0;
}

.legal-section h2 {
  margin: 0 0 10px;
  letter-spacing: -.02em;
}

.legal-list {
  display: grid;
  gap: 8px;
  margin: 0;
}

.footer {
  background: transparent;
}

.footer-shell {
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

@media (max-width: 1100px) {
  .header-main {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .header-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .shell {
    padding: 0 12px;
  }

  .header-search {
    grid-template-columns: 96px minmax(0,1fr) 52px;
    border-radius: 18px;
  }

  .header-search .search-history-link {
    display: none;
  }

  .header-search button {
    font-size: 0;
    position: relative;
  }

  .header-search button::before {
    content: "→";
    font-size: 24px;
  }

  .header-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-link {
    min-height: 44px;
  }

  .page {
    padding-top: 20px;
  }

  .panel-body,
  .panel-header {
    padding: 14px;
  }
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background: var(--page);
  color: var(--text);
  font-size: 14px;
  line-height: 1.42;
}

a {
  color: var(--blue);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

.shell {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 18px;
}

.site-header {
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 2px 10px rgba(16, 24, 32, 0.05);
  position: sticky;
  top: 0;
  z-index: 20;
}

.topline {
  display: none;
}

.header-main {
  display: grid;
  grid-template-columns: 230px minmax(360px, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 78px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  min-width: 0;
}

.brand:hover {
  text-decoration: none;
}

.brand img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.brand-name {
  font-size: 22px;
  font-weight: 800;
  color: #0f2942;
  white-space: nowrap;
}

.brand-sub {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  margin-top: -2px;
}

.header-search {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) auto 124px;
  border: 2px solid var(--blue);
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  min-width: 0;
}

.header-search select,
.header-search input {
  border: 0;
  min-height: 44px;
  padding: 0 12px;
  outline: none;
  background: #fff;
}

.header-search select {
  border-right: 1px solid var(--line);
  color: var(--muted);
}

.header-search button {
  border: 0;
  background: var(--blue);
  color: #fff;
  font-weight: 700;
}

.header-search button:hover {
  background: var(--blue-dark);
}

.search-history-link {
  min-height: 44px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid var(--line);
  color: var(--blue);
  background: rgba(21, 101, 192, .08);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.search-history-link:hover,
.search-history-link:focus {
  background: rgba(21, 101, 192, .16);
  text-decoration: none;
}

.notification-list{display:grid;gap:12px}.notification-card{border:1px solid var(--line,#d9e1e8);border-radius:12px;padding:16px;background:#fff}.notification-card.is-new{border-left:5px solid #16a085}.notification-card>div{display:flex;justify-content:space-between;gap:12px}.notification-card time{color:#667;font-size:12px}.notification-card p{margin:10px 0;white-space:pre-wrap}.notification-card.is-read{opacity:.78}

.header-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(78px, auto));
  gap: 8px;
  align-items: center;
}

.quick-link {
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel-strong);
  color: var(--text);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
}

button.quick-link {
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

.quick-link:hover {
  border-color: var(--blue);
  text-decoration: none;
}

.quick-link strong {
  font-size: 13px;
  line-height: 1.1;
}

.quick-link span {
  color: var(--muted);
  font-size: 11px;
}

.main-nav {
  border-top: 1px solid var(--line);
}

.main-nav .shell {
  display: flex;
  align-items: center;
  gap: 2px;
  overflow: visible;
  flex-wrap: wrap;
}

.main-nav a {
  display: block;
  padding: 12px 14px;
  color: var(--text);
  font-weight: 700;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
}

.main-nav a:hover,
.main-nav a[aria-current="page"] {
  color: var(--blue);
  border-bottom-color: var(--yellow);
  text-decoration: none;
}

.page {
  padding: 22px 0 44px;
}

.layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
}

.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: var(--shadow);
}

.panel-header {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.panel-header h1,
.panel-header h2,
.panel-header h3 {
  margin: 0;
  font-size: 18px;
}

.panel-body {
  padding: 16px;
}

.page-title {
  margin: 0 0 14px;
  font-size: 26px;
  color: #0f2942;
}

.section-title {
  margin: 0 0 10px;
  font-size: 18px;
}

.muted {
  color: var(--muted);
}

.hint {
  color: var(--muted);
  font-size: 12px;
}

.status-line {
  min-height: 22px;
  color: var(--muted);
}

.status-line.error {
  color: var(--red);
}

.status-line.ok {
  color: var(--green);
}

.form-grid {
  display: grid;
  gap: 12px;
}

.form-grid.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.field {
  display: grid;
  gap: 6px;
}

.field label {
  color: var(--muted);
  font-weight: 700;
  font-size: 12px;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  padding: 8px 10px;
  background: #fff;
  color: var(--text);
  outline: none;
}

.field textarea {
  min-height: 92px;
  resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(21, 101, 192, 0.12);
}

.btn {
  min-height: 38px;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  padding: 8px 13px;
  background: #fff;
  color: var(--text);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.btn:hover {
  border-color: var(--blue);
  text-decoration: none;
}

.btn.primary {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.btn.primary:hover {
  background: var(--blue-dark);
}

.btn.warning {
  background: #fff7df;
  border-color: #e3b736;
  color: #614500;
}

.btn.danger {
  background: #fff1f0;
  border-color: #e2a19d;
  color: var(--red);
}

.account-security-panel{margin-top:18px}.account-security-panel .panel-header>div{display:grid;gap:3px}.account-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-security-grid h3{margin:0 0 9px;font-size:15px}.account-security-list{display:grid;gap:8px}.account-security-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.account-security-item.current{border-color:rgba(55,184,132,.48);background:rgba(55,184,132,.07)}.account-security-item.revoked{opacity:.68}.account-security-item>div:first-child{display:grid;gap:3px;min-width:0}.account-security-item strong,.account-security-item span,.account-security-item small{overflow-wrap:anywhere}.account-security-item span,.account-security-item small{color:var(--muted);font-size:12px}.account-security-item-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}.account-security-current,.account-security-revoked{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(55,184,132,.16);color:var(--success)!important;font-weight:800}.account-security-revoked{background:rgba(255,104,118,.12);color:var(--danger)!important}.account-security-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.account-security-footer span{max-width:720px;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:840px){.account-security-grid{grid-template-columns:1fr}.account-security-footer{align-items:stretch;flex-direction:column}.account-security-footer .btn{width:100%}}
@media(max-width:520px){.account-security-item{align-items:stretch;flex-direction:column}.account-security-item-actions{justify-content:stretch}.account-security-item-actions .btn{flex:1}.account-security-current,.account-security-revoked{justify-content:center}}
.account-marketing-panel{margin-top:18px}.account-marketing-panel .panel-header>div{display:grid;gap:3px}.account-marketing-form{display:grid;gap:12px}.account-marketing-form .consent-check{margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.account-marketing-actions{display:flex;flex-wrap:wrap;gap:10px}.account-marketing-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.account-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-recommendation{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:11px;color:inherit;text-decoration:none;background:rgba(255,255,255,.025)}.account-recommendation:hover{border-color:rgba(56,189,248,.5)}.account-recommendation span,.account-recommendation small{color:var(--muted)}
@media(max-width:700px){.account-recommendations{grid-template-columns:1fr}.account-marketing-actions .btn{flex:1}}

.btn.small {
  min-height: 30px;
  padding: 5px 9px;
  font-size: 12px;
}

.btn:disabled,
.btn.is-disabled {
  background: #eef2f5;
  color: #8793a1;
  border-color: var(--line);
  cursor: not-allowed;
  pointer-events: none;
}

.notice {
  border: 1px solid #ccd8e4;
  background: #f7fafc;
  border-radius: 6px;
  padding: 12px 14px;
  color: var(--muted);
}

.notice.warning {
  border-color: #e3c66e;
  background: #fff9e8;
  color: #604a08;
}

.notice.error {
  border-color: #dfaaa7;
  background: #fff4f3;
  color: var(--red);
}

.search-desk {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 18px;
  align-items: start;
}

.promo-slider {
  min-height: 310px;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: #111820;
}

.promo-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-size: cover;
  background-position: center;
  transition: opacity 420ms ease;
  display: flex;
  align-items: flex-end;
}

.promo-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16, 24, 32, 0.82), rgba(16, 24, 32, 0.2));
}

.promo-slide.is-active {
  opacity: 1;
}

.promo-slide-plain {
  background: linear-gradient(135deg, #101820, #214567 55%, #caa736);
}

.promo-copy {
  position: relative;
  max-width: 610px;
  padding: 34px;
  color: #fff;
}

.promo-copy h1,
.promo-copy h2 {
  margin: 0 0 8px;
  font-size: 34px;
  line-height: 1.05;
}

.promo-copy p {
  margin: 0;
  color: #e5edf5;
  font-size: 16px;
}

.promo-controls {
  position: absolute;
  left: 34px;
  bottom: 18px;
  display: flex;
  gap: 8px;
  z-index: 2;
}

.promo-controls button {
  width: 34px;
  height: 5px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.45);
}

.promo-controls button[aria-pressed="true"] {
  background: var(--yellow);
}

.search-box {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 160px 136px;
  gap: 10px;
}

.search-box .field {
  gap: 4px;
}

.search-box .btn {
  align-self: end;
}

.mode-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.mode-tabs button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  border-radius: 5px;
  padding: 7px 10px;
  font-weight: 700;
}

.mode-tabs button[aria-pressed="true"] {
  background: #e8f1fb;
  border-color: var(--blue);
  color: var(--blue);
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.buyer-link-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalog-link {
  min-height: 72px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 12px;
  color: var(--text);
  display: grid;
  align-content: center;
  gap: 3px;
}

.catalog-link:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 16px rgba(21, 101, 192, 0.12);
  text-decoration: none;
}

.catalog-link strong {
  font-size: 14px;
}

.catalog-link span {
  color: var(--muted);
  font-size: 12px;
}

.split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.metric-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.metric {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 12px;
}

.metric span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.metric strong {
  display: block;
  margin-top: 4px;
  font-size: 20px;
}

.metric.primary {
  border-color: rgba(21, 101, 192, 0.35);
  background: #f8fbff;
}

.account-profile-panel {
  margin-bottom: 14px;
}

.account-profile-card {
  display: grid;
  grid-template-columns: 64px minmax(240px, 1.25fr) minmax(360px, 1.75fr) auto;
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.account-profile-avatar {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: linear-gradient(135deg, #0e63c7, #153e75);
  color: #fff;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: .02em;
  box-shadow: 0 12px 28px rgba(14, 99, 199, .18);
}

.account-profile-main,
.account-profile-details div {
  min-width: 0;
}

.account-profile-main {
  display: grid;
  gap: 4px;
}

.account-profile-main span,
.account-profile-details span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.account-profile-main strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 22px;
  line-height: 1.15;
  text-overflow: ellipsis;
}

.account-profile-main small {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-profile-details {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(190px, 1.2fr) minmax(150px, .9fr);
  gap: 10px;
  min-width: 0;
}

.account-profile-details div {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fbff;
}

.account-profile-details strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-profile-logout {
  min-width: 104px;
  border-color: #f0c9c6;
  color: var(--red);
  white-space: nowrap;
}

.account-profile-actions {
  display: grid;
  gap: 7px;
  min-width: 132px;
}

.account-profile-actions .btn {
  width: 100%;
  white-space: nowrap;
}

.account-profile-password {
  border-color: #c8ddec;
  color: #315a7d;
}

.account-password-modal .account-service-modal-card {
  width: min(540px, 100%);
}

.account-password-form {
  grid-template-columns: 1fr;
}

.account-password-form .field small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
}

.account-password-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.account-password-actions .btn {
  flex: 1 1 180px;
}

.balance-status-notice {
  margin-top: 0;
}

.finance-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.finance-item {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel-strong);
  padding: 12px;
}

.finance-item span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.finance-item strong {
  display: block;
  margin-top: 4px;
  font-size: 16px;
}

.balance-sync-notice {
  margin-top: 0;
}

.balance-panel-actions,
.balance-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.balance-filters {
  margin-bottom: 12px;
}

.muted-text {
  color: var(--muted);
  font-size: 13px;
}

.filter-chip {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  min-height: 34px;
  padding: 7px 10px;
}

.filter-chip:hover,
.filter-chip.active {
  border-color: var(--blue);
  color: var(--blue);
}

.filter-chip.active {
  background: #eef5ff;
}

.finance-amount {
  font-weight: 800;
  white-space: nowrap;
}

.finance-amount.positive {
  color: var(--green);
}

.finance-amount.negative {
  color: var(--red);
}

.return-amount {
  font-weight: 850;
  white-space: nowrap;
}

.return-photo-link {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafc;
}

.return-photo-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

th,
td {
  padding: 10px 11px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

th {
  background: #f2f6fa;
  color: #435063;
  font-size: 12px;
  text-transform: uppercase;
}

tbody tr:hover {
  background: #f9fbfd;
}

.price {
  font-weight: 800;
  white-space: nowrap;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  border-radius: 999px;
  padding: 2px 8px;
  background: #eef2f5;
  color: #526171;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.badge.ok {
  background: #e6f5ed;
  color: var(--green);
}

.badge.warn {
  background: #fff5d9;
  color: #795700;
}

.delivery-status-cell,
.order-position-terms span {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.delivery-delay-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  max-width: 260px;
  line-height: 1.2;
}

.delivery-delay-chip small {
  color: inherit;
  font-size: 11px;
  font-weight: 600;
  opacity: .86;
}

.badge.blocked {
  background: #fff1f0;
  color: var(--red);
}

.status-badge {
  border: 1px solid transparent;
}

.status-badge.status-ok {
  background: #e8f7ef;
  border-color: #b7e3c9;
  color: #107a42;
}

.status-badge.status-bad {
  background: #fff0f0;
  border-color: #f0b9b5;
  color: #b3261e;
}

.status-badge.status-warn {
  background: #fff6dc;
  border-color: #ead389;
  color: #855f00;
}

.status-badge.status-neutral {
  background: #eef2f5;
  border-color: #d7dee6;
  color: #526171;
}

.article-link {
  border: 0;
  background: transparent;
  color: var(--blue);
  padding: 3px 0;
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.article-link:hover,
.article-link:focus {
  color: var(--blue-dark);
}

.offer-name-cell {
  max-width: 360px;
}

.offer-name-text {
  display: inline-block;
  max-width: min(360px, 38vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}

.brand-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.brand-choice {
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--text);
  border-radius: 5px;
  padding: 8px 10px;
  font-weight: 700;
  max-width: min(220px, 100%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-choice[aria-pressed="true"] {
  border-color: var(--blue);
  background: #e8f1fb;
  color: var(--blue);
}

.auto-resolve-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}

.auto-resolve-notice span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.auto-resolve-notice small {
  color: var(--muted);
  font-weight: 500;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .brand-list {
    gap: 6px;
  }

  .brand-choice {
    flex: 1 1 calc(50% - 6px);
    max-width: 100%;
  }

  .auto-resolve-notice {
    align-items: stretch;
    flex-direction: column;
  }
}

.filters {
  display: grid;
  grid-template-columns: 130px 150px minmax(160px, 1fr) 180px;
  gap: 10px;
  align-items: end;
}

.search-status {
  margin-bottom: 8px;
}

.results-panel {
  margin-top: 10px;
}

.offer-filters {
  grid-template-columns: minmax(280px, 1.5fr) minmax(130px, .7fr) minmax(180px, .9fr) minmax(150px, .7fr);
  margin-bottom: 10px;
}

.filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.filter-chips button {
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  min-height: 36px;
  padding: 0 12px;
  font-weight: 800;
  cursor: pointer;
}

.filter-chips button[aria-pressed="true"] {
  border-color: var(--blue);
  background: #e8f1fb;
  color: var(--blue);
}

.search-progress {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
  border: 1px solid rgba(21, 101, 192, .65);
  border-radius: 6px;
  background: #101820;
  color: #d8ebff;
  box-shadow: 0 0 0 3px rgba(21, 101, 192, .10);
  padding: 10px 12px;
  font-weight: 800;
}

.search-progress[hidden] {
  display: none;
}

.search-progress i {
  position: relative;
  display: block;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
}

.search-progress i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--search-progress, 7%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue), #67b7ff);
  transition: width .28s ease;
}

.order-card-row td {
  padding: 0;
  background: #fff;
}

.order-summary-row.order-tone-a td,
.order-card-row.order-tone-a td {
  background: rgba(21, 101, 192, 0.07);
}

.order-summary-row.order-tone-b td,
.order-card-row.order-tone-b td {
  background: rgba(27, 142, 204, 0.10);
}

.order-summary-row.order-tone-a:hover td {
  background: rgba(21, 101, 192, 0.11);
}

.order-summary-row.order-tone-b:hover td {
  background: rgba(27, 142, 204, 0.14);
}

.order-summary-row td {
  vertical-align: middle;
}

.order-summary-row .return-chip-row {
  justify-content: flex-start;
}

.order-summary-row .btn.small {
  min-height: 30px;
  padding: 5px 10px;
}

.order-card-row td::before {
  display: none;
}

.order-card {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.order-card-positions-only {
  padding-top: 4px;
}

.order-positions-row td {
  border-top: 0;
  padding-bottom: 12px;
}

.order-card-head,
.order-card-meta,
.order-position {
  display: grid;
  gap: 8px;
}

.order-card-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.order-card-head span,
.order-position span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}

.order-card-meta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  color: #435063;
  font-size: 13px;
}

.order-positions {
  display: grid;
  gap: 8px;
}

.order-position {
  grid-template-columns: minmax(0, 1.7fr) minmax(128px, .55fr) minmax(170px, .75fr) minmax(112px, .45fr);
  align-items: start;
  border-top: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px;
}

.order-position.order-tone-a {
  background: rgba(255, 255, 255, 0.56);
  border-color: rgba(21, 101, 192, 0.16);
}

.order-position.order-tone-b {
  background: rgba(255, 255, 255, 0.48);
  border-color: rgba(27, 142, 204, 0.18);
}

.order-position-main strong,
.order-position-terms strong {
  display: block;
}

.order-position-terms,
.order-position-status,
.order-position-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.order-position-actions {
  justify-content: flex-end;
}

.order-position .order-position-terms > span,
.order-detail-table .delivery-status-cell,
.orders-table .delivery-status-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.order-position .order-position-terms > span {
  color: var(--muted);
}

.return-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.page-headline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}

.page-headline .page-title {
  margin-bottom: 6px;
}

.page-lead {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.45;
}

.return-summary-cards {
  margin-bottom: 16px;
}

.return-help-panel {
  margin-top: 16px;
}

.return-flow-list {
  margin: 0;
  padding-left: 22px;
  color: var(--text);
  font-weight: 700;
  line-height: 1.6;
}

.return-chip-row {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-width: 0;
}

.return-info-wrap {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

.return-policy-chip,
.return-status-chip,
.return-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 26px;
  width: 26px;
  min-width: 26px;
  max-width: 26px;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: #fff;
  color: var(--blue);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.return-policy-chip span:last-child,
.return-status-chip span:last-child,
.return-action-button span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.return-chip-icon {
  width: auto;
  height: auto;
  display: inline-grid;
  place-items: center;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  flex: 0 0 auto;
}

.order-position .return-info-wrap,
.order-position .return-chip-row {
  display: inline-flex;
  color: inherit;
  font-size: inherit;
  margin-top: 0;
}

.order-position .return-chip-icon,
.order-position .return-action-button span {
  display: inline-grid;
  color: inherit;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  margin-top: 0;
}

.return-policy-chip-returnable,
.return-status-chip-accepted {
  background: #f2fbf6;
  color: #0b7a46;
}

.return-policy-chip-conditional,
.return-status-chip-review {
  background: #fff8df;
  color: #9a6a00;
}

.return-policy-chip-unknown {
  background: #f5f7fa;
  color: #5f6b7a;
}

.return-policy-chip-non_returnable,
.return-policy-chip-expired,
.return-status-chip-rejected {
  background: #fff2f2;
  color: #b3261e;
}

.return-action-button {
  width: 26px;
  min-width: 26px;
  max-width: 26px;
  background: #eef6ff;
  color: var(--blue);
  cursor: pointer;
}

.return-action-button:hover,
.return-action-button:focus-visible,
.return-policy-chip:focus-visible,
.return-status-chip:focus-visible {
  border-color: var(--blue-dark);
  box-shadow: 0 0 0 3px rgba(10, 92, 170, .12);
  outline: none;
}

.return-info-popover {
  position: fixed;
  left: 12px;
  top: 12px;
  right: auto;
  bottom: auto;
  z-index: 10000;
  width: auto;
  min-width: 160px;
  max-width: min(280px, calc(100vw - 32px));
  padding: 9px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: #101820;
  color: #fff;
  box-shadow: 0 12px 28px rgba(16, 24, 32, .22);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  white-space: normal;
  pointer-events: none;
  overflow-wrap: anywhere;
}

.return-info-popover[hidden] {
  display: none;
}

.return-status {
  display: inline-flex;
  max-width: 132px;
}

.return-request-form {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0;
  background: #fbfcfd;
}

.return-request-form summary {
  cursor: pointer;
  color: var(--blue);
  font-weight: 800;
  min-height: 28px;
  padding: 5px 8px;
  list-style: none;
}

.return-request-form summary::-webkit-details-marker {
  display: none;
}

.return-request-form form {
  display: grid;
  gap: 10px;
  padding: 10px;
  border-top: 1px solid var(--line);
}

.return-request-button {
  white-space: nowrap;
}

.return-modal-open {
  overflow: hidden;
}

.return-modal[hidden] {
  display: none;
}

.return-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 18px;
}

.return-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 32, 48, .48);
}

.return-modal-panel {
  position: relative;
  width: min(680px, 100%);
  max-height: min(720px, calc(100vh - 36px));
  overflow: auto;
  display: grid;
  gap: 16px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  box-shadow: 0 24px 64px rgba(20, 32, 48, .28);
}

.return-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.return-modal-head strong {
  display: block;
  font-size: 20px;
}

.return-modal-head span,
.return-modal-product span,
.return-modal-product small {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-top: 3px;
}

.return-modal-product {
  display: grid;
  gap: 2px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel-strong);
}

.return-file-picker {
  position: relative;
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px dashed var(--blue);
  border-radius: 6px;
  background: #f4f9ff;
  cursor: pointer;
}

.return-file-picker input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.return-file-picker span {
  color: var(--blue);
  font-weight: 800;
}

.return-file-picker strong {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.return-modal-note {
  padding: 10px 12px;
  border: 1px solid #ecd387;
  border-radius: 6px;
  background: #fff9e7;
  color: #745500;
  font-size: 13px;
  font-weight: 700;
}

.return-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  font-weight: 700;
  color: var(--muted);
}

.checkbox-row input {
  width: 16px;
  height: 16px;
}

.empty-state {
  min-height: 160px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  color: var(--muted);
  text-align: center;
  padding: 28px;
}

.side-list {
  display: grid;
  gap: 8px;
}

.side-item {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 6px;
  padding: 10px;
  display: grid;
  gap: 3px;
  color: var(--text);
}

.side-item strong {
  font-size: 13px;
}

.side-item span {
  color: var(--muted);
  font-size: 12px;
}

button.side-item {
  text-align: left;
  cursor: pointer;
}

.logout-account-btn {
  border-color: #f0c9c6;
}

.logout-account-btn strong {
  color: var(--red);
}

.actions-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.api-box {
  background: #101820;
  color: #d5e8f8;
  border-radius: 6px;
  padding: 12px;
  overflow: auto;
  min-height: 220px;
  font-size: 12px;
}

.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  max-width: 430px;
  z-index: 50;
  display: grid;
  gap: 8px;
}

.toast-item {
  background: #fff;
  border: 1px solid var(--line-strong);
  border-left: 4px solid var(--blue);
  box-shadow: var(--shadow);
  border-radius: 6px;
  padding: 12px 14px;
}

.toast-item.error {
  border-left-color: var(--red);
}

.toast-item.warning {
  border-left-color: var(--yellow);
}

.pwa-install {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 49;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: min(360px, calc(100vw - 28px));
  padding: 8px;
  border: 1px solid rgba(14, 99, 199, .24);
  border-radius: 14px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 14px 34px rgba(16, 24, 32, .16);
  backdrop-filter: blur(10px);
}

.pwa-install[hidden] {
  display: none !important;
}

.pwa-install__text {
  min-width: 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pwa-install__action,
.pwa-install__close {
  display: inline-grid;
  place-items: center;
  border: 0;
  font: inherit;
  cursor: pointer;
}

.pwa-install__action {
  min-height: 34px;
  padding: 0 13px;
  border-radius: 10px;
  background: var(--blue);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.pwa-install__close {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #f0f5fb;
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
}

.pwa-install__action:hover,
.pwa-install__close:hover {
  filter: brightness(.97);
}


.footer-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, auto));
  align-items: center;
  justify-content: end;
  gap: 8px;
}

.footer-links a {
  color: var(--muted);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 9px;
  border: 1px solid transparent;
  border-radius: 6px;
  white-space: nowrap;
}

.footer-links a:hover {
  color: var(--blue);
  border-color: var(--line);
  background: var(--panel-strong);
  text-decoration: none;
}

.site-map-content {
  display: grid;
  gap: 20px;
}

.site-map-section {
  display: grid;
  gap: 10px;
}

.site-map-section h2 {
  margin: 0;
  color: #0f2942;
  font-size: 18px;
}

.section-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.section-link {
  min-height: 74px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 11px 12px;
  color: var(--text);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.section-link:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 16px rgba(21, 101, 192, 0.12);
  text-decoration: none;
}

.section-link strong {
  font-size: 14px;
  line-height: 1.25;
}

.section-link span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.consent-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 18px;
}

.consent-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16, 24, 32, .58);
}

.consent-modal-panel {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(16, 24, 32, .28);
  padding: 18px;
  display: grid;
  gap: 14px;
}

.consent-modal-panel h2 {
  margin: 0;
  color: #0f2942;
  font-size: 20px;
}

.consent-modal-panel p {
  margin: 0;
  color: var(--muted);
}

.consent-modal-list {
  display: grid;
  gap: 9px;
}

.consent-modal-actions {
  display: flex;
  justify-content: flex-end;
}

.footer {
  border-top: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  padding: 20px 0;
}


.footer-shell {
  display: grid;
  gap: 16px;
}

.footer-brand {
  display: grid;
  gap: 3px;
}

.footer-brand strong {
  color: #0f2942;
  font-size: 16px;
}

.footer-brand span {
  color: var(--muted);
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.footer-col {
  display: grid;
  align-content: start;
  gap: 7px;
}

.footer-col h2 {
  margin: 0 0 4px;
  color: var(--text);
  font-size: 13px;
}

.footer-col a {
  color: var(--muted);
  font-size: 13px;
}

.legal-panel {
  max-width: 980px;
}

.legal-content {
  display: grid;
  gap: 18px;
}

.legal-lead {
  margin: 0;
  color: var(--text);
  font-size: 16px;
}

.legal-section {
  display: grid;
  gap: 9px;
}

.legal-section h2 {
  margin: 0;
  color: #0f2942;
  font-size: 18px;
}

.legal-section p {
  margin: 0;
}

.legal-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 7px;
}

.legal-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.consent-stack {
  display: grid;
  gap: 8px;
  margin: 8px 0 10px;
}

.consent-check {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.consent-check input {
  margin-top: 2px;
}

.cookie-notice {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 80;
  max-width: 920px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 24, 32, .18);
  padding: 12px 14px;
  color: var(--muted);
}

.cookie-notice p {
  margin: 0;
}

@media (max-width: 1040px) {
  .header-main {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 0;
  }

  .header-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .search-desk,
  .layout,
  .footer-grid,
  .legal-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 800px) {
  .pwa-install {
    left: 12px;
    right: 12px;
    bottom: calc(78px + env(safe-area-inset-bottom));
    justify-content: space-between;
    border-radius: 12px;
  }

  .pwa-install__text {
    font-size: 12px;
  }

  .pwa-install__action {
    min-height: 36px;
    padding: 0 14px;
  }
}

/* The home hero is intentionally direct: search first, without numbered onboarding steps. */
.ecosystem-hero.ecosystem-hero-simple {
  grid-template-columns: minmax(0, 1fr);
  min-height: 420px;
  align-content: center;
}

/* Public search suggestions: local catalog only, no supplier fan-out. */
.header-search-wrap{position:relative;min-width:0}.article-search-suggestions{position:absolute;z-index:80;top:calc(100% + 7px);left:0;right:0;overflow:hidden;border:1px solid #cbd8e3;border-radius:12px;background:#fff;box-shadow:0 18px 40px rgba(15,34,50,.2)}.article-search-suggestions[hidden]{display:none}.article-search-suggestions button{display:grid;width:100%;gap:2px;padding:10px 14px;border:0;border-bottom:1px solid #e5ebf0;background:#fff;color:#183044;text-align:left;cursor:pointer}.article-search-suggestions button:last-child{border-bottom:0}.article-search-suggestions button:hover,.article-search-suggestions button[aria-selected="true"]{background:#eef5fb}.article-search-suggestions strong{font-size:14px}.article-search-suggestions span{overflow:hidden;color:#5a7082;font-size:12px;text-overflow:ellipsis;white-space:nowrap}

/* Main ViantAvto ecosystem page. The home page is an orientation layer, not a service landing. */
.ecosystem-home{padding-top:22px;background:linear-gradient(180deg,#f3f7fa 0,#fff 520px)}.ecosystem-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:34px;min-height:500px;padding:clamp(28px,5vw,64px);border:1px solid #d9e3ea;border-radius:26px;background:linear-gradient(135deg,rgba(3,7,22,.98),rgba(20,35,92,.96));color:#fff;box-shadow:0 20px 60px rgba(8,26,39,.16)}.ecosystem-kicker,.ecosystem-section-head>span,.ecosystem-service-promo>div>span,.ecosystem-account>div>span,.autoservice-eyebrow,.autoservice-section-head span,.autoservice-booking-copy>span,.autoservice-hub-hero>span{color:#e5534c;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ecosystem-hero h1{max-width:850px;margin:14px 0 16px;font-size:clamp(38px,5.5vw,68px);line-height:1.02;letter-spacing:-.035em}.ecosystem-hero-copy>p{max-width:760px;margin:0;color:#d7e2ea;font-size:clamp(17px,2vw,21px);line-height:1.55}.ecosystem-search{display:grid;grid-template-columns:125px minmax(180px,1fr) auto;max-width:760px;margin-top:28px;padding:5px;border-radius:14px;background:#fff}.ecosystem-search select,.ecosystem-search input,.ecosystem-search button{min-width:0;min-height:54px;border:0;font:inherit}.ecosystem-search select{padding:0 12px;border-right:1px solid #dbe3e9;background:#fff;color:#264156}.ecosystem-search input{padding:0 16px;background:#fff;color:#10283a}.ecosystem-search button{padding:0 24px;border-radius:10px;background:#e33732;color:#fff;font-weight:900;cursor:pointer}.ecosystem-search .search-history-link{align-self:center;color:#496173;font-size:12px}.ecosystem-hero-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:17px}.ecosystem-hero-links a{color:#fff;font-size:13px;font-weight:750;text-underline-offset:4px}.ecosystem-hero-visual{display:flex;flex-direction:column;justify-content:center;gap:12px}.ecosystem-hero-visual article{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.ecosystem-hero-visual article>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:#e33732;color:#fff;font-weight:900}.ecosystem-hero-visual div{display:grid;gap:4px}.ecosystem-hero-visual strong{font-size:17px}.ecosystem-hero-visual small{color:#c9d7e0;line-height:1.4}.ecosystem-promise{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:18px 0 70px;overflow:hidden;border:1px solid #dce5eb;border-radius:14px;background:#dce5eb}.ecosystem-promise span{padding:15px;background:#fff;color:#314b5f;font-size:13px;font-weight:800;text-align:center}.ecosystem-promise span:before{content:'✓';margin-right:8px;color:#2b9362}.ecosystem-directions{margin-bottom:70px}.ecosystem-section-head{max-width:760px;margin-bottom:24px}.ecosystem-section-head h2{margin:8px 0 8px;color:#142c3d;font-size:clamp(30px,4vw,44px);letter-spacing:-.025em}.ecosystem-section-head p{margin:0;color:#607586;font-size:16px;line-height:1.55}.ecosystem-direction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ecosystem-direction-grid>a{display:flex;min-height:270px;flex-direction:column;padding:24px;border:1px solid #dae4eb;border-radius:18px;background:#fff;color:#142c3d;text-decoration:none;box-shadow:0 8px 26px rgba(18,45,64,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.ecosystem-direction-grid>a:hover{transform:translateY(-3px);border-color:#a9c0d0;box-shadow:0 15px 34px rgba(18,45,64,.11)}.ecosystem-direction-grid>a.is-service{border-color:#efaaa6;background:linear-gradient(145deg,#fff,#fff3f2)}.ecosystem-direction-number{color:#93a5b2;font-size:12px;font-weight:900}.ecosystem-direction-grid h3{margin:38px 0 10px;font-size:22px}.ecosystem-direction-grid p{margin:0 0 22px;color:#627788;line-height:1.5}.ecosystem-direction-grid strong{margin-top:auto;color:#b92b27;font-size:13px}.ecosystem-service-promo{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:28px;align-items:center;margin-bottom:22px;padding:clamp(28px,5vw,54px);border-radius:24px;background:#102c3e;color:#fff}.ecosystem-service-promo h2{max-width:760px;margin:9px 0 12px;font-size:clamp(29px,4vw,43px);letter-spacing:-.025em}.ecosystem-service-promo p{max-width:720px;margin:0;color:#c9d8e2;font-size:16px;line-height:1.55}.ecosystem-promo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.ecosystem-service-promo .btn.secondary{border-color:#91a5b2;background:transparent;color:#fff}.ecosystem-service-promo aside{padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.07)}.ecosystem-service-promo aside>strong{font-size:18px}.ecosystem-service-promo ul{display:grid;gap:10px;margin:14px 0 0;padding-left:20px;color:#d5e1e8;line-height:1.45}.ecosystem-account{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:center;margin:0 0 70px;padding:34px;border:1px solid #dce5eb;border-radius:20px;background:#f7fafc}.ecosystem-account h2{margin:7px 0;font-size:28px}.ecosystem-account p{margin:0;color:#627788;line-height:1.5}.ecosystem-account-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.ecosystem-account-links a{padding:11px 14px;border:1px solid #cddae3;border-radius:10px;background:#fff;color:#223e52;font-weight:800;text-decoration:none}

/* Public autoservice hub and individual advertising pages. */
.autoservice-public-page,.autoservice-hub{padding:18px 0 70px;background:#f5f8fa}.autoservice-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:30px;overflow:hidden;padding:clamp(28px,5vw,60px);border-radius:25px;background:linear-gradient(125deg,#0b2435 0,#163f55 100%);color:#fff}.autoservice-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,42,.93),rgba(7,28,42,.72)),var(--service-hero,none) center/cover;opacity:.78}.autoservice-hero>*{position:relative}.autoservice-hero h1{margin:12px 0;font-size:clamp(37px,5vw,61px);line-height:1.04;letter-spacing:-.035em}.autoservice-hero-copy>p{max-width:720px;margin:0;color:#d5e1e8;font-size:18px;line-height:1.55}.autoservice-offer{display:inline-flex;margin-top:16px;padding:8px 11px;border-radius:9px;background:#fff1d8;color:#704b0c}.autoservice-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.autoservice-hero .btn.secondary{border-color:#9bb0bd;background:transparent;color:#fff}.autoservice-hero-facts{display:grid;gap:0;margin:0;padding:6px 22px;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:rgba(255,255,255,.08)}.autoservice-hero-facts div{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.13)}.autoservice-hero-facts div:last-child{border:0}.autoservice-hero-facts dt{margin-bottom:4px;color:#adc0cc;font-size:11px;font-weight:850;text-transform:uppercase}.autoservice-hero-facts dd{margin:0;color:#fff;font-weight:750;line-height:1.4}.autoservice-hero-facts a{color:#fff}.autoservice-intro{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:28px;margin:20px 0;padding:30px;border:1px solid #dbe5eb;border-radius:18px;background:#fff}.autoservice-intro h2,.autoservice-intro p{margin:0}.autoservice-intro p{color:#536b7d;font-size:17px;line-height:1.65}.autoservice-section{margin-top:20px;padding:clamp(24px,4vw,42px);border:1px solid #dce5eb;border-radius:20px;background:#fff}.autoservice-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:22px}.autoservice-section-head h2{margin:6px 0 0;font-size:clamp(27px,4vw,38px);letter-spacing:-.02em}.autoservice-section-head>p{max-width:480px;margin:0;color:#617789;line-height:1.5}.autoservice-work-grid,.autoservice-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.autoservice-work-grid article,.autoservice-review-grid article{display:flex;min-height:170px;flex-direction:column;padding:20px;border:1px solid #dce5eb;border-radius:14px;background:#f9fbfc}.autoservice-work-grid h3{margin:0 0 8px;font-size:18px}.autoservice-work-grid p,.autoservice-review-grid p{margin:0 0 18px;color:#5c7282;line-height:1.5}.autoservice-work-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.autoservice-work-grid button{border:0;background:transparent;color:#b72e29;font-weight:850;cursor:pointer}.autoservice-benefits>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.autoservice-benefits article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;padding:18px;border-radius:13px;background:#eff6f2}.autoservice-benefits article>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#2c9865;color:#fff}.autoservice-benefits p{margin:3px 0 0;color:#345567;line-height:1.45}.autoservice-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;counter-reset:service-step}.autoservice-process li{list-style:none;padding:20px;border-left:3px solid #e33732;border-radius:0 12px 12px 0;background:#f7fafb;counter-increment:service-step}.autoservice-process li span:after{content:'Шаг ' counter(service-step);color:#8a9ca8;font-size:11px;font-weight:900;text-transform:uppercase}.autoservice-process p{margin:11px 0 0;color:#345063;line-height:1.5}.autoservice-booking-section{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:36px;background:#112e40;color:#fff}.autoservice-booking-copy h2{margin:8px 0 13px;font-size:clamp(29px,4vw,42px)}.autoservice-booking-copy p,.autoservice-booking-copy li{color:#cbd9e1;line-height:1.5}.autoservice-booking-copy ul{display:grid;gap:8px;padding-left:20px}.autoservice-booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px;border-radius:16px;background:#fff;color:#183044}.autoservice-booking-form .field{display:grid;gap:6px}.autoservice-booking-form label{font-size:13px;font-weight:800}.autoservice-booking-form input,.autoservice-booking-form select,.autoservice-booking-form textarea{box-sizing:border-box;width:100%;min-height:46px;border:1px solid #bdccd7;border-radius:9px;background:#fff;color:#122a3b;padding:10px 11px;font:inherit}.autoservice-booking-form textarea{min-height:108px;resize:vertical}.autoservice-booking-form .span-2{grid-column:1/-1}.autoservice-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.autoservice-consent{display:flex!important;gap:9px;align-items:flex-start;color:#425b6d;font-weight:500!important;line-height:1.4}.autoservice-consent input{flex:0 0 18px;width:18px!important;min-height:18px!important;margin-top:2px}.autoservice-booking-result{display:none;padding:12px;border-radius:9px}.autoservice-booking-result.is-pending,.autoservice-booking-result.is-success,.autoservice-booking-result.is-error{display:grid;gap:4px}.autoservice-booking-result.is-pending{background:#eef4f8;color:#365469}.autoservice-booking-result.is-success{background:#e4f5ea;color:#16633a}.autoservice-booking-result.is-error{background:#ffe9e6;color:#952b25}.autoservice-review-grid strong{color:#e39a18;letter-spacing:.08em}.autoservice-review-grid span{margin-top:auto;color:#6d8291;font-size:13px}.autoservice-faq{display:grid;gap:8px}.autoservice-faq details{padding:16px 18px;border:1px solid #dce5eb;border-radius:12px}.autoservice-faq summary{color:#1c394d;font-weight:850;cursor:pointer}.autoservice-faq p{margin:12px 0 0;color:#5c7282;line-height:1.55}.autoservice-mobile-cta{display:none}.autoservice-hub-hero{margin-bottom:20px;padding:40px;border-radius:22px;background:#102e41;color:#fff}.autoservice-hub-hero h1{margin:8px 0;font-size:clamp(36px,5vw,58px)}.autoservice-hub-hero p{max-width:720px;margin:0;color:#c9d7e0;font-size:17px;line-height:1.55}.autoservice-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.autoservice-hub-grid article{display:flex;min-height:300px;flex-direction:column;padding:28px;border:1px solid #dce5eb;border-radius:18px;background:#fff}.autoservice-hub-grid article>span{color:#e33732;font-size:12px;font-weight:900;text-transform:uppercase}.autoservice-hub-grid h2{margin:10px 0;font-size:28px}.autoservice-hub-grid p{color:#5e7485;line-height:1.5}.autoservice-hub-grid dl{display:grid;gap:10px;margin:10px 0 22px}.autoservice-hub-grid dl div{display:grid;gap:3px}.autoservice-hub-grid dt{color:#8193a0;font-size:11px;font-weight:850;text-transform:uppercase}.autoservice-hub-grid dd{margin:0;color:#253f52}.autoservice-hub-grid .btn{align-self:flex-start;margin-top:auto}

@media(max-width:980px){.ecosystem-hero{grid-template-columns:1fr}.ecosystem-hero-visual{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ecosystem-hero-visual article{grid-template-columns:1fr}.ecosystem-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecosystem-service-promo,.autoservice-hero,.autoservice-booking-section{grid-template-columns:1fr}.autoservice-work-grid,.autoservice-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.autoservice-benefits>div:last-child{grid-template-columns:1fr}.autoservice-process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ecosystem-home{padding-top:10px}.ecosystem-hero{min-height:0;padding:26px 18px;border-radius:18px}.ecosystem-hero h1{font-size:36px}.ecosystem-search{grid-template-columns:105px minmax(0,1fr)}.ecosystem-search button{grid-column:1/-1;min-height:48px}.ecosystem-hero-visual{grid-template-columns:1fr}.ecosystem-hero-visual article{grid-template-columns:44px minmax(0,1fr);padding:13px}.ecosystem-promise{grid-template-columns:1fr 1fr;margin-bottom:46px}.ecosystem-direction-grid{grid-template-columns:1fr}.ecosystem-direction-grid>a{min-height:220px}.ecosystem-direction-grid h3{margin-top:24px}.ecosystem-service-promo,.ecosystem-account{grid-template-columns:1fr;padding:25px 19px}.ecosystem-account-links{justify-content:flex-start}.ecosystem-account-links a{flex:1 1 120px;text-align:center}.autoservice-public-page,.autoservice-hub{padding-top:8px;padding-bottom:90px}.autoservice-hero{padding:27px 19px;border-radius:18px}.autoservice-hero h1{font-size:36px}.autoservice-intro{grid-template-columns:1fr;padding:22px}.autoservice-section{padding:22px 16px}.autoservice-section-head{display:grid}.autoservice-work-grid,.autoservice-review-grid,.autoservice-process{grid-template-columns:1fr}.autoservice-booking-form{grid-template-columns:1fr;padding:17px 13px}.autoservice-booking-form .span-2{grid-column:auto}.autoservice-hub-hero{padding:27px 20px}.autoservice-hub-grid{grid-template-columns:1fr}.autoservice-mobile-cta{position:fixed;z-index:70;right:10px;bottom:74px;left:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:7px;border:1px solid #cbd7df;border-radius:13px;background:#fff;box-shadow:0 10px 35px rgba(12,34,49,.23)}.autoservice-mobile-cta a{display:grid;min-height:44px;place-items:center;border-radius:9px;background:#e33732;color:#fff;font-weight:900;text-decoration:none}.autoservice-mobile-cta a+ a{background:#173d53}.article-search-suggestions{right:-3px;left:-3px}}

@media (max-width: 800px) {
  .footer-compact {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .footer-links {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }

  .footer-links a {
    white-space: normal;
  }

  .main-nav .shell { overflow-x: auto; flex-wrap: nowrap; }
  .consent-modal { align-items: end; padding: 0; }
  .consent-modal-panel { width: 100%; max-height: calc(100vh - 24px); border-radius: 8px 8px 0 0; }
  .consent-modal-actions { display: grid; }
  .consent-modal-actions .btn { width: 100%; }

  html,
  body {
    overflow-x: hidden;
  }

  .shell {
    padding: 0 12px;
    max-width: 100%;
  }

  .header-search,
  .search-box,
  .cookie-notice,
  .form-grid.cols-2,
  .form-grid.cols-3,
  .split-grid,
  .finance-grid,
  .metric-row,
  .catalog-grid {
    grid-template-columns: 1fr;
  }

  .search-history-link {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .filters,
  .offer-filters {
    grid-template-columns: 1fr;
  }

  .header-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-link-grid {
    grid-template-columns: 1fr;
  }

  .page-title {
    font-size: 22px;
  }

  .panel-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .page {
    padding-top: 14px;
  }

  .header-main {
    gap: 10px;
  }

  .header-search {
    order: 3;
  }

  .filter-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    max-width: 100%;
  }

  .filter-chips button {
    white-space: nowrap;
  }

  .order-card-head,
  .order-card-meta,
  .order-position {
    grid-template-columns: 1fr;
  }

  .order-position-actions {
    justify-content: flex-start;
  }

  .return-modal {
    align-items: end;
    padding: 0;
  }

  .return-modal-panel {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 8px 8px 0 0;
    padding: 16px;
  }

  .return-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .return-modal-actions .btn {
    width: 100%;
  }

  .return-info-popover {
    max-width: min(300px, calc(100vw - 32px));
  }

  .return-policy-badge[data-tooltip]:hover::after,
  .return-policy-badge[data-tooltip]:focus-visible::after {
    display: none;
  }

  .table-wrap {
    overflow: visible;
    max-width: 100%;
  }

  .table-wrap table,
  .table-wrap thead,
  .table-wrap tbody,
  .table-wrap tr,
  .table-wrap td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .table-wrap thead {
    display: none;
  }

  .table-wrap tr {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    margin-bottom: 10px;
    padding: 10px;
  }

  .table-wrap td {
    border: 0;
    padding: 7px 0;
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    word-break: break-word;
  }

  .table-wrap td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
  }

  .table-wrap td.price,
  .table-wrap .price {
    font-size: 20px;
  }

	  .table-wrap .btn {
	    min-height: 42px;
	    width: 100%;
	  }

	  .offer-name-cell {
	    max-width: 100%;
	  }

	  .offer-name-text {
	    max-width: 100%;
	  }

  .order-card-row td {
    display: block;
  }

  .group-toggle-row td {
    display: block;
  }

  .group-toggle-row td::before {
    content: "";
  }

  .group-toggle-row .hint {
    display: block;
    margin: 6px 0 0;
  }
}

/* DG grouped results and public warehouse masking */
.group-toggle-row td {
  background: #f7fafc;
  padding: 8px 11px;
}

.group-toggle-row .hint {
  margin-left: 8px;
}

.group-toggle-btn {
  min-width: 148px;
}

.result-section-row td {
  padding: 13px 11px 8px;
  border-bottom: 2px solid #d9e4ee;
  background: #eef5fa;
}

.result-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.result-section-heading strong {
  color: #172b3d;
  font-size: 15px;
}

.result-section-heading span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.ucats-part-cell {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 220px;
}

@media (max-width: 800px) {
  body[data-page="catalog"] .table-wrap td {
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: start;
  }

  body[data-page="catalog"] .table-wrap td[colspan] {
    display: block;
  }

  body[data-page="catalog"] .table-wrap td[colspan]::before {
    content: "";
    display: none;
  }

  body[data-page="catalog"] .ucats-part-cell {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    align-items: flex-start;
  }

  body[data-page="catalog"] .ucats-part-cell > span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body[data-page="catalog"] .ucats-part-image {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  body[data-page="catalog"] .table-wrap td[data-label="Действие"] .btn {
    width: 100%;
    justify-content: center;
  }
}

.ucats-part-image {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  overflow: hidden;
  border: 1px solid #d8e3ec;
  border-radius: 8px;
  background: #f1f6fa;
}

.ucats-part-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ucats-part-image-fallback {
  color: #1769aa;
}

.ucats-part-image-fallback svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Return policy badges */
.return-policy-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  max-width: 132px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  cursor: default;
  flex-shrink: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.return-policy-badge[data-tooltip]:hover::after,
.return-policy-badge[data-tooltip]:focus-visible::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  z-index: 90;
  width: max-content;
  max-width: min(260px, calc(100vw - 32px));
  padding: 8px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: #101820;
  color: #fff;
  box-shadow: 0 12px 28px rgba(16, 24, 32, .22);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  white-space: normal;
  pointer-events: none;
}

.return-policy-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  flex: 0 0 auto;
}

.return-policy-returnable {
  color: #16804f;
  background: #e6f4ec;
}

.return-policy-conditional {
  color: #b08a00;
  background: #fdf3d0;
}

.return-policy-non_returnable {
  color: #b3261e;
  background: #fce4e4;
}

.return-policy-unknown {
  color: #687586;
  background: #eef1f4;
}

.return-policy-expired {
  color: #687586;
  background: #eef1f4;
  text-decoration: line-through;
}

.col-icon {
  width: 56px;
  text-align: center;
}

.supply-indicator-cell {
  min-width: 112px;
}

.public-supply-code,
.public-supply-reliability,
.public-supply-compact {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  white-space: nowrap;
}

.public-supply-detail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 4px;
  min-width: 24px;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.public-supply-detail:focus-visible {
  outline: 3px solid rgba(10, 92, 170, .18);
  outline-offset: 2px;
  border-radius: 999px;
}

.public-supply-code {
  min-height: 24px;
  padding: 3px 9px;
  border: 1px solid #c9d7e6;
  border-radius: 999px;
  background: #f8fbff;
  color: #22354f;
  font-size: 12px;
  font-weight: 900;
  gap: 6px;
}

.public-supply-code-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-supply-reliability {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.public-supply-compact {
  display: inline-flex;
  gap: 6px;
  min-width: 0;
}

.public-supply-compact strong {
  color: #15243a;
  font-size: 12px;
  line-height: 1.1;
}

.public-supply-compact span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.1;
}

.public-supply-quality,
.public-supply-compact .public-supply-quality {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid #cad6e4;
  background: #eef3fa;
  color: #506177;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
}

.public-supply-probability {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: #eafaf2;
  color: #168552;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
}

.public-supply-quality.official,
.public-supply-compact .public-supply-quality.official {
  width: 24px;
  min-width: 24px;
  height: 24px;
  border-color: #f0c85a;
  background: linear-gradient(180deg, #fff7cf 0%, #f8d76c 100%);
  color: #8a5b00;
  font-size: 12px;
  box-shadow: 0 2px 7px rgba(176, 122, 0, .22);
}

.public-supply-quality.good,
.public-supply-quality.own,
.public-supply-compact .public-supply-quality.good,
.public-supply-compact .public-supply-quality.own {
  border-color: #8fd9b4;
  background: #eafaf2;
  color: #168552;
}

.public-supply-quality.warn,
.public-supply-compact .public-supply-quality.warn {
  border-color: #f3c469;
  background: #fff6db;
  color: #9a6700;
}

.public-supply-quality.muted,
.public-supply-quality.info,
.public-supply-compact .public-supply-quality.muted,
.public-supply-compact .public-supply-quality.info {
  border-color: #cdd7e4;
  background: #f5f7fa;
  color: #687586;
}

.offer-name-extra {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
  vertical-align: middle;
}

.offer-name-extra:empty {
  display: none;
}

.col-photo,
.offer-photo-cell {
  width: 44px;
  min-width: 44px;
  text-align: center;
}

.offer-photo-cell {
  padding-left: 4px;
  padding-right: 4px;
}

.condition-chip,
.offer-photo-thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.condition-chip-used {
  border: 1px solid #b45309;
  background: #fff7ed;
  color: #9a3412;
}

.offer-photo-thumb {
  width: 34px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  gap: 0;
  border: 1px solid #b9c8d6;
  border-radius: 8px;
  background: #f7fafc;
  color: var(--blue);
  cursor: pointer;
  max-width: none;
  overflow: hidden;
}

.offer-photo-thumb img {
  width: 100%;
  height: 100%;
  flex: 0 0 100%;
  border-radius: 7px;
  object-fit: cover;
  background: #eef2f5;
  box-shadow: inset 0 0 0 1px rgba(15, 41, 66, .08);
}

.offer-photo-thumb span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.offer-photo-thumb:hover,
.offer-photo-thumb:focus-visible {
  border-color: var(--blue);
  background: #e8f1fb;
  outline: none;
  box-shadow: 0 0 0 3px rgba(10, 92, 170, .12);
}

.article-cell-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  max-width: none;
}

.product-card-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  min-width: 22px;
  height: 22px;
  border: 1px solid #b8cbe0;
  border-radius: 999px;
  background: #f7fbff;
  color: var(--blue);
  font-size: 13px;
  font-weight: 950;
  font-style: italic;
  line-height: 1;
  cursor: pointer;
}

.product-card-trigger:hover,
.product-card-trigger:focus-visible {
  border-color: var(--blue);
  background: #e8f1fb;
  outline: none;
  box-shadow: 0 0 0 3px rgba(10, 92, 170, .12);
}

.product-card-trigger.is-loading,
.product-card-trigger:disabled {
  opacity: .65;
  cursor: wait;
}

.product-card-modal-open {
  overflow: hidden;
}

.product-card-modal {
  position: fixed;
  inset: 0;
  z-index: 145;
  display: grid;
  place-items: center;
  padding: 18px;
}

.product-card-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 24, 35, .62);
  backdrop-filter: blur(2px);
}

.product-card-modal-dialog {
  position: relative;
  width: min(820px, 100%);
  max-height: min(780px, calc(100vh - 36px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0,0,0,.35);
  overflow: hidden;
}

.product-card-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.product-card-modal-content {
  min-height: 0;
  overflow: auto;
  padding: 14px;
}

.product-card-modal-hero {
  display: grid;
  grid-template-columns: minmax(170px, 260px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.product-card-modal-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
  gap: 8px;
}

.product-card-modal-image {
  aspect-ratio: 1.15;
  border: 1px solid #d7e4f0;
  border-radius: 10px;
  background: #f7fafc;
  padding: 6px;
  cursor: pointer;
  overflow: hidden;
}

.product-card-modal-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-card-modal-main {
  min-width: 0;
}

.product-card-modal-eyebrow {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.product-card-modal-main h2 {
  margin: 5px 0 6px;
  color: #0f2942;
  font-size: 22px;
  line-height: 1.18;
}

.product-card-modal-category,
.product-card-modal-note {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.42;
}

.product-card-modal-section {
  margin-top: 16px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.product-card-modal-section h3 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 10px;
  color: #203047;
  font-size: 15px;
}

.product-card-modal-section h3 span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.product-card-conformity { border-color: #b9d9ca; background: #f5fbf8; }
.product-card-conformity > p { margin: 0; color: #315b48; line-height: 1.55; }
.product-card-conformity-list { display: grid; gap: 8px; }
.product-card-conformity-list a { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid #b9d9ca; border-radius: 9px; color: #174f38; background: #fff; text-decoration: none; }
.product-card-conformity-list a:hover { border-color: #4a9c77; }
.product-card-conformity-list span,.product-card-conformity-list small { color: #5b766a; }

.product-card-modal-params {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin: 0;
}

.product-card-modal-params div {
  border: 1px solid #dbe6f1;
  border-radius: 9px;
  background: #f8fbff;
  padding: 8px 10px;
}

.product-card-modal-params dt {
  margin: 0 0 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.product-card-modal-params dd {
  margin: 0;
  color: #203047;
  font-size: 13px;
  font-weight: 850;
}

.product-card-modal-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.product-card-modal-chips span {
  border: 1px solid #dbe6f1;
  border-radius: 999px;
  background: #fff;
  padding: 5px 9px;
  color: #526171;
  font-size: 12px;
  font-weight: 800;
}

.product-card-fitment-list {
  display: grid;
  gap: 8px;
}

.product-card-fitment-brand {
  border: 1px solid #dbe6f1;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.product-card-fitment-brand summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 9px 11px;
  cursor: pointer;
  list-style: none;
}

.product-card-fitment-brand summary::-webkit-details-marker {
  display: none;
}

.product-card-fitment-brand summary::after {
  content: "›";
  flex: 0 0 auto;
  color: var(--blue);
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
  transform: rotate(90deg);
  transition: transform .15s ease;
}

.product-card-fitment-brand[open] summary::after {
  transform: rotate(-90deg);
}

.product-card-fitment-brand summary strong {
  min-width: 0;
  color: #0f2942;
  font-size: 13px;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-card-fitment-brand summary span {
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.product-card-fitment-brand[open] summary {
  border-bottom: 1px solid #e5edf5;
  background: #f8fbff;
}

.product-card-fitment-models {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.product-card-fitment-model {
  border: 1px solid #e3ebf3;
  border-radius: 9px;
  background: #fbfdff;
  overflow: hidden;
}

.product-card-fitment-model summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 38px;
  padding: 8px 10px;
  color: #203047;
  cursor: pointer;
  font-size: 13px;
  list-style: none;
}

.product-card-fitment-model summary::-webkit-details-marker {
  display: none;
}

.product-card-fitment-model summary::after {
  content: "›";
  flex: 0 0 auto;
  color: #3c6f9f;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  transform: rotate(90deg);
  transition: transform .15s ease;
}

.product-card-fitment-model[open] summary::after {
  transform: rotate(-90deg);
}

.product-card-fitment-model summary strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-card-fitment-model summary span {
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.product-card-fitment-mods {
  display: grid;
  gap: 6px;
  padding: 0 10px 10px;
}

.product-card-fitment-mod {
  display: grid;
  gap: 2px;
  border-top: 1px dashed #dce6ef;
  padding-top: 6px;
}

.product-card-fitment-mod:first-child {
  border-top: 0;
  padding-top: 0;
}

.product-card-fitment-mod strong {
  color: #203047;
  font-size: 12px;
}

.product-card-fitment-mod span,
.product-card-fitment-empty {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.product-card-fitment-empty {
  margin: 0;
}

@media (max-width: 720px) {
  .product-card-modal {
    padding: 10px;
  }

  .product-card-modal-dialog {
    max-height: calc(100vh - 20px);
    border-radius: 10px;
  }

  .product-card-modal-hero {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .product-card-modal-gallery {
    grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
  }

  .product-card-modal-main h2 {
    font-size: 18px;
  }

  .product-card-modal-params {
    grid-template-columns: 1fr;
  }

  .product-card-fitment-brand summary {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .product-card-fitment-brand summary span {
    width: 100%;
    margin-left: 0;
    white-space: normal;
  }

  .product-card-fitment-model summary {
    display: grid;
    gap: 2px;
  }

  .product-card-fitment-model summary strong,
  .product-card-fitment-model summary span {
    white-space: normal;
  }
}

.offer-image-modal-open {
  overflow: hidden;
}

.offer-image-modal {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: grid;
  place-items: center;
  padding: 18px;
}

.offer-image-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 24, 35, .62);
  backdrop-filter: blur(2px);
}

.offer-image-dialog {
  position: relative;
  width: min(860px, 100%);
  max-height: min(760px, calc(100vh - 36px));
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0,0,0,.35);
}

.offer-image-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.offer-image-head strong,
.offer-image-head span {
  display: block;
}

.offer-image-head span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}

.offer-image-frame {
  position: relative;
  min-height: 220px;
  max-height: min(560px, calc(100vh - 190px));
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #0f1724;
  overflow: hidden;
}

.offer-image-main {
  display: block;
  width: 100%;
  height: 100%;
  max-height: min(560px, calc(100vh - 190px));
  object-fit: contain;
}

.offer-image-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 42px;
  height: 54px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #0f2942;
  font-size: 34px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
}

.offer-image-nav[hidden] {
  display: none;
}

.offer-image-prev {
  left: 12px;
}

.offer-image-next {
  right: 12px;
}

.offer-image-nav:hover,
.offer-image-nav:focus-visible {
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255,255,255,.26), 0 8px 24px rgba(0,0,0,.24);
}

.offer-image-thumbs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 1px;
}

.offer-image-thumb-select {
  width: 58px;
  height: 48px;
  flex: 0 0 58px;
  border: 2px solid transparent;
  border-radius: 7px;
  padding: 0;
  background: #eef2f5;
  cursor: pointer;
  overflow: hidden;
}

.offer-image-thumb-select[aria-pressed="true"] {
  border-color: var(--blue);
}

.offer-image-thumb-select img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.warehouse-info-modal-open {
  overflow: hidden;
}

.warehouse-info-modal {
  position: fixed;
  inset: 0;
  z-index: 148;
  display: grid;
  place-items: center;
  padding: 18px;
}

.warehouse-info-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 20, 35, .52);
  backdrop-filter: blur(3px);
}

.warehouse-info-dialog {
  position: relative;
  z-index: 1;
  width: min(460px, calc(100vw - 24px));
  max-height: calc(100vh - 28px);
  overflow: auto;
  border: 1px solid rgba(185, 203, 224, .9);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(8, 20, 35, .26);
  padding: 18px;
}

.warehouse-info-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.warehouse-info-head div {
  min-width: 0;
}

.warehouse-info-head strong,
.warehouse-info-head span {
  display: block;
}

.warehouse-info-head strong {
  color: var(--text);
  font-size: 18px;
  font-weight: 950;
}

.warehouse-info-head span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.warehouse-info-icon {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid #cdd7e4;
  background: #f5f7fa;
  color: #687586;
  font-size: 16px;
  font-weight: 950;
}

.warehouse-info-icon.official {
  border-color: #f0c85a;
  background: linear-gradient(180deg, #fff7cf 0%, #f8d76c 100%);
  color: #8a5b00;
  box-shadow: 0 4px 14px rgba(176, 122, 0, .22);
}

.warehouse-info-icon.good,
.warehouse-info-icon.own {
  border-color: #8fd9b4;
  background: #eafaf2;
  color: #168552;
}

.warehouse-info-icon.warn {
  border-color: #f3c469;
  background: #fff6db;
  color: #9a6700;
}

.warehouse-info-probability {
  border: 1px solid #d8e4f0;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fbff, #f2f7fc);
  padding: 14px;
  margin-bottom: 12px;
}

.warehouse-info-probability span,
.warehouse-info-probability p {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.warehouse-info-probability strong {
  display: block;
  margin: 4px 0 10px;
  color: var(--text);
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
}

.warehouse-info-meter {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe8f3;
}

.warehouse-info-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #22c55e, #0e63c7);
}

.warehouse-info-probability p {
  margin: 10px 0 0;
  line-height: 1.45;
}

.warehouse-info-list {
  display: grid;
  gap: 8px;
  margin: 0;
}

.warehouse-info-list div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 12px;
  background: #f7fafc;
  border: 1px solid #e1eaf3;
}

.warehouse-info-list dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.warehouse-info-list dd {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

.results-panel.is-awaiting-brand .offer-filters {
  display: none;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mobile-menu-button,
.mobile-bottom-nav,
.mobile-results {
  display: none;
}

.brand-choice {
  display: grid;
  gap: 2px;
  text-align: left;
}

.brand-choice-name {
  font-size: 14px;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-choice-desc,
.brand-choice-meta {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-choice[aria-pressed="true"] .brand-choice-desc,
.brand-choice[aria-pressed="true"] .brand-choice-meta {
  color: var(--blue-dark);
}

@media (max-width: 800px) {
  body[data-page="search"] .results-panel .panel-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  body[data-page="search"] #searchProgress {
    order: 0;
  }

  body[data-page="search"] #mobileResults {
    order: 2;
  }

  body[data-page="search"] .offer-filters {
    order: 1;
    margin-top: 2px;
    margin-bottom: 0;
  }

  body[data-page="search"] .results-panel .table-wrap {
    order: 3;
  }

		.search-brand-panel { margin-bottom: 10px; }
		body.mobile-auto-brand-resolved .search-brand-panel { display: none; }

  body {
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }

  .site-header {
    z-index: 60;
  }

  .header-main {
    grid-template-columns: 40px minmax(0, 1fr) 44px;
    grid-template-areas: "menu search brand";
    gap: 8px;
    min-height: 60px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .mobile-menu-button {
    grid-area: menu;
    display: inline-grid;
    place-items: center;
    align-self: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--line-strong);
    border-radius: 6px;
    background: #fff;
    color: var(--text);
    padding: 0;
  }

  .mobile-menu-button span:not(.visually-hidden) {
    display: block;
    width: 18px;
    height: 2px;
    margin: 2px 0;
    border-radius: 999px;
    background: currentColor;
  }

  .brand {
    grid-area: brand;
    justify-content: center;
    min-width: 0;
  }

  .brand img {
    width: 40px;
    height: 40px;
  }

  .brand > span {
    display: none;
  }

  .header-search {
    grid-area: search;
    order: initial;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px 42px;
    min-width: 0;
    border-width: 1px;
    border-radius: 6px;
  }

  .header-search input,
  .header-search select {
    min-height: 40px;
    padding: 0 8px;
  }

  .header-search input {
    order: 1;
    font-size: 14px;
  }

  .header-search select {
    order: 2;
    width: 64px;
    border-right: 0;
    border-left: 1px solid var(--line);
    color: var(--blue);
    font-size: 12px;
    font-weight: 800;
    padding-left: 6px;
    padding-right: 4px;
  }

  .header-search button {
    position: relative;
    order: 3;
    width: 42px;
    min-height: 40px;
    font-size: 0;
    display: grid;
    place-items: center;
  }

  .header-search button::before {
    content: "";
    width: 13px;
    height: 13px;
    border: 2px solid #fff;
    border-radius: 50%;
  }

  .header-search button::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 2px;
    right: 11px;
    bottom: 11px;
    border-radius: 999px;
    background: #fff;
    transform: rotate(45deg);
  }

  .search-history-link {
    display: none;
  }

  .header-actions {
    display: none;
  }

  .main-nav {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    z-index: 55;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line-strong);
    background: #fff;
    box-shadow: 0 14px 28px rgba(16, 24, 32, .18);
  }

  body.mobile-menu-open .main-nav {
    display: block;
  }

  .main-nav .shell {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    max-height: calc(100vh - 132px);
    overflow-y: auto;
    padding: 8px 12px;
  }

  .main-nav a {
    min-height: 42px;
    padding: 10px 8px;
    border: 0;
    border-radius: 6px;
    white-space: normal;
  }

  .main-nav a[aria-current="page"] {
    background: #e8f1fb;
    color: var(--blue);
  }

  .mobile-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: calc(62px + env(safe-area-inset-bottom));
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line-strong);
    background: #fff;
    box-shadow: 0 -8px 24px rgba(16, 24, 32, .14);
  }

  .mobile-bottom-nav a {
    display: grid;
    place-items: center;
    gap: 1px;
    min-width: 0;
    min-height: 50px;
    border-radius: 6px;
    color: var(--text);
    text-align: center;
    text-decoration: none;
  }

  .mobile-bottom-nav a[aria-current="page"] {
    background: #e8f1fb;
    color: var(--blue);
  }

  .mobile-bottom-nav strong {
    font-size: 12px;
    line-height: 1.1;
  }

  .mobile-bottom-nav span {
    max-width: 100%;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-page="index"] .promo-slider {
    margin-top: 2px;
  }

  body[data-page="index"] .catalog-grid {
    gap: 8px;
  }

  body[data-page="index"] .catalog-link {
    min-height: 62px;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    align-content: center;
    column-gap: 10px;
    border-color: var(--blue-dark);
    background: var(--blue);
    color: #fff;
  }

  body[data-page="index"] .catalog-link::before {
    content: "";
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 6px;
    background: rgba(255, 255, 255, .16);
  }

  body[data-page="index"] .catalog-link strong,
  body[data-page="index"] .catalog-link span {
    grid-column: 2;
    min-width: 0;
  }

  body[data-page="index"] .catalog-link strong {
    color: #fff;
    font-size: 14px;
  }

  body[data-page="index"] .catalog-link span {
    color: #d8ebff;
    font-size: 11px;
  }

  body[data-page="index"] .buyer-home-panel .catalog-link {
    border-color: var(--line);
    background: #fff;
    color: var(--text);
  }

  body[data-page="index"] .buyer-home-panel .catalog-link::before {
    border-color: rgba(21, 101, 192, .24);
    background: #e8f1fb;
  }

  body[data-page="index"] .buyer-home-panel .catalog-link strong {
    color: var(--text);
  }

  body[data-page="index"] .buyer-home-panel .catalog-link span {
    color: var(--muted);
  }

  .brand-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .brand-choice {
    width: 100%;
    max-width: none;
    min-height: 62px;
    border-radius: 6px;
    padding: 10px 12px;
  }

  .brand-choice-name {
    font-size: 15px;
  }

  .brand-choice-desc {
    white-space: normal;
  }

  .results-panel .table-wrap {
    display: none;
  }

  .mobile-results {
    display: grid;
    gap: 12px;
  }

  .mobile-empty-state {
    display: grid;
    gap: 4px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    padding: 14px;
  }

  .mobile-empty-state strong {
    font-size: 15px;
  }

  .mobile-empty-state span {
    color: var(--muted);
    font-size: 13px;
  }

  .mobile-result-section {
    display: grid;
    gap: 10px;
  }

  .mobile-result-section h3 {
    margin: 2px 0 0;
    color: #435063;
    font-size: 13px;
    text-transform: uppercase;
  }

  .mobile-result-section h3 span {
    margin-left: 5px;
    color: var(--muted);
    font-size: 11px;
    text-transform: none;
  }

  .mobile-section-empty {
    border: 1px dashed #cbd8e3;
    border-radius: 6px;
    background: #f7fafc;
    color: var(--muted);
    padding: 11px 12px;
    font-size: 12px;
  }

  .mobile-result-card {
    display: grid;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(23, 39, 56, 0.06);
    padding: 10px;
  }

  .mobile-result-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
  }

  .mobile-result-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
  }

  .mobile-result-title strong {
    color: #0f2942;
    font-size: 15px;
  }

  .mobile-result-title .offer-photo-thumb-group {
    width: 32px;
    height: 28px;
    min-height: 28px;
    flex: 0 0 32px;
    border-radius: 7px;
  }

  .mobile-result-title .offer-photo-thumb-group img {
    border-radius: 6px;
  }

  .mobile-article-link {
    max-width: 100%;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .mobile-result-count {
    justify-self: end;
    border-radius: 999px;
    background: #eef2f5;
    color: #526171;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
  }

  .mobile-result-desc {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
  }

  .mobile-result-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .mobile-result-summary span {
    min-height: 30px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #f7fafc;
    padding: 6px 8px;
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
    text-align: center;
  }

  .mobile-offer-list {
    display: grid;
    gap: 7px;
  }

  .mobile-offer-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px minmax(92px, auto);
    gap: 8px;
    align-items: center;
    border-top: 1px solid var(--line);
    padding-top: 8px;
  }

  .mobile-offer-info {
    min-width: 0;
    display: grid;
    gap: 2px;
  }

  .mobile-offer-info strong {
    min-width: 0;
    color: #0f2942;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-offer-info small {
    color: var(--muted);
    font-size: 11px;
  }

  .mobile-supply-line {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #0f2942;
    font-size: 11px;
    font-weight: 800;
  }

  .mobile-supply-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-supply-line .condition-chip {
    min-height: 20px;
    padding: 2px 6px;
    font-size: 10px;
    flex: 0 0 auto;
  }

  .mobile-offer-return {
    display: flex;
    justify-content: center;
  }

  .mobile-offer-return .return-info-popover {
    max-width: min(300px, calc(100vw - 32px));
  }

  .mobile-offer-buy {
    display: grid;
    gap: 4px;
    justify-items: end;
  }

  .mobile-offer-price {
    color: var(--text);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
  }

  .mobile-offer-buy .btn {
    min-height: 32px;
    min-width: 88px;
    padding: 0 9px;
  }

  .mobile-offer-pack {
    color: var(--muted);
    font-size: 10px;
  }

  .mobile-group-toggle-btn {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--blue);
    border-radius: 6px;
    background: #e8f1fb;
    color: var(--blue);
    font-weight: 800;
  }

  .mobile-group-toggle-btn span {
    margin-left: 8px;
    color: var(--muted);
    font-size: 11px;
  }

  .mobile-hidden-hint {
    color: var(--muted);
    font-size: 11px;
    text-align: center;
  }
}

/* Final client redesign overrides. Kept at EOF so older page rules cannot override the new visual layer. */
:root {
  --page: #f3f6fb;
  --panel: #ffffff;
  --panel-strong: #f8fbff;
  --line: #dce5ef;
  --line-strong: #b7c8d9;
  --text: #162033;
  --muted: #66758b;
  --blue: #0e63c7;
  --blue-dark: #084a98;
  --green: #0c8a55;
  --red: #bf2f24;
  --yellow: #f4bd2f;
  --ink: #101b2b;
  --shadow: 0 12px 36px rgba(18, 35, 58, .08);
  font-family: Inter, Arial, Helvetica, sans-serif;
}

body:not(.v2-page) {
  background:
    radial-gradient(circle at 8% -8%, rgba(14, 99, 199, .10), transparent 28rem),
    radial-gradient(circle at 88% 0%, rgba(30, 210, 143, .08), transparent 24rem),
    var(--page);
  color: var(--text);
}

body:not(.v2-page) a { color: var(--blue); }
.site-header { background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); box-shadow: 0 8px 28px rgba(18, 35, 58, .06); backdrop-filter: blur(14px); }
.header-main { grid-template-columns: 250px minmax(360px, 1fr) auto; min-height: 76px; }
.brand img { width: 48px; height: 48px; }
.brand-name { color: var(--text); letter-spacing: -.02em; }
.brand-sub { color: var(--muted); }
.header-search { border-color: var(--blue); border-radius: 999px; box-shadow: 0 12px 30px rgba(14, 99, 199, .12); }
.header-search select, .header-search input, .header-search button, .search-history-link { min-height: 50px; }
.header-search button { font-weight: 900; }
.search-history-link { background: var(--panel-strong); color: var(--blue); }
.quick-link { min-height: 50px; border-radius: 14px; background: #fff; box-shadow: 0 6px 18px rgba(18, 35, 58, .05); }
.quick-link:hover { border-color: var(--blue); background: var(--panel-strong); box-shadow: 0 10px 24px rgba(14, 99, 199, .10); }
.main-nav { border-top: 1px solid rgba(220,229,239,.75); background: rgba(255,255,255,.78); }
.main-nav .shell { gap: 4px; overflow-x: auto; flex-wrap: nowrap; }
.main-nav a { margin: 8px 0; padding: 9px 13px; border: 0; border-radius: 999px; color: #33445c; font-size: 13px; font-weight: 850; }
.main-nav a:hover, .main-nav a[aria-current="page"] { background: #e8f2ff; color: var(--blue); border: 0; }
.page { padding: 28px 0 52px; }
.page-title { margin-bottom: 18px; color: var(--text); font-size: clamp(26px, 3vw, 42px); letter-spacing: -.045em; }
.panel, .catalog-link, .metric, .finance-item, .notice, .table-wrap { border-radius: 18px; border-color: var(--line); box-shadow: var(--shadow); }
.panel { overflow: hidden; }
.panel-header { min-height: 58px; padding: 16px 18px; background: linear-gradient(180deg, #fff, #f8fbff); }
.panel-header h1, .panel-header h2, .panel-header h3 { letter-spacing: -.02em; }
.panel-body { padding: 18px; }
.field input, .field select, .field textarea, .filter-chip, .brand-choice, .mode-tabs button, .filter-chips button { border-radius: 12px; }
.btn { min-height: 42px; border-radius: 999px; font-weight: 900; }
.btn.primary { box-shadow: 0 10px 24px rgba(14, 99, 199, .18); }
.notice { background: #fff; }
.catalog-link { min-height: 86px; border-radius: 16px; background: linear-gradient(180deg, #fff, #f8fbff); }
.catalog-link:hover { box-shadow: 0 14px 30px rgba(14, 99, 199, .12); }
.table-wrap { border-radius: 18px; }
th { background: #f6f9fd; color: #526171; }
tbody tr:hover { background: #f8fbff; }
.legal-panel { max-width: 980px; }
.legal-content { font-size: 15px; line-height: 1.58; }
.legal-lead { margin-top: 0; color: #41536d; font-size: 17px; }
.legal-section { padding: 12px 0; }
.legal-section h2 { margin: 0 0 10px; letter-spacing: -.02em; }
.legal-list { display: grid; gap: 8px; margin: 0; }
.footer { background: transparent; }
.footer-shell { border-top: 1px solid var(--line); padding-top: 18px; }

@media (max-width: 1100px) {
  .header-main { grid-template-columns: 1fr; gap: 12px; padding-top: 12px; padding-bottom: 12px; }
  .header-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .shell { padding: 0 12px; }
  .header-search { grid-template-columns: 96px minmax(0,1fr) 52px; border-radius: 18px; }
  .header-search .search-history-link { display: none; }
  .header-search button { font-size: 0; position: relative; }
  .header-search button::before { content: "→"; font-size: 24px; }
  .header-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-link { min-height: 44px; }
  .page { padding-top: 20px; }
  .panel-body, .panel-header { padding: 14px; }
}

.offer-buy-control {
  display: inline-grid;
  grid-template-columns: 62px auto;
  gap: 6px;
  align-items: center;
  justify-content: end;
}

.offer-cart-qty {
  display: block;
  min-width: 0;
}

.offer-cart-qty input {
  width: 62px;
  min-height: 34px;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  background: #fff;
  color: var(--text);
  font-weight: 900;
  text-align: center;
}

.offer-cart-qty input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(14, 99, 199, .12);
}

.table-wrap .offer-buy-control .btn,
.mobile-offer-buy .offer-buy-control .btn {
  width: auto;
}

.mobile-offer-buy-control {
  justify-self: end;
}

.account-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 16px;
  margin-top: 16px;
}

.account-control-panel {
  grid-column: 1 / -1;
}

.account-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.account-action-card {
  display: grid;
  gap: 4px;
  min-height: 86px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(18, 35, 58, .05);
}

.account-action-card.primary {
  border-color: rgba(14, 99, 199, .35);
  background: linear-gradient(180deg, #f8fbff, #eaf3ff);
}

.account-action-card strong {
  color: var(--text);
  font-size: 16px;
}

.account-action-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.account-action-card small {
  color: var(--muted);
  font-size: 12px;
}

.account-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0 12px;
}

.account-section-head h2 {
  margin: 0;
  color: var(--text);
  font-size: 22px;
}

.account-section-head p {
  margin: 4px 0 0;
  color: var(--muted);
}

.account-section-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.service-workspace {
  display: grid;
  gap: 12px;
}

.service-workspace-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(18, 35, 58, .04);
}

.service-workspace-head h2 {
  margin: 0;
  color: var(--text);
  font-size: 17px;
  line-height: 1.2;
}

.service-workspace-body {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.account-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(18, 35, 58, .05);
}

.account-panel h3 {
  margin: 0;
  color: var(--text);
  font-size: 17px;
}

.service-panel-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.service-panel-section-head h3 {
  margin: 0;
}

.service-panel-section-head span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.account-list {
  display: grid;
  gap: 8px;
}

.account-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(120px, .45fr);
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-strong);
}

.account-list-item strong,
.account-list-item b {
  display: block;
  color: var(--text);
  overflow-wrap: anywhere;
}

.account-list-item span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.account-list-item small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.service-job-item {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .75fr) minmax(110px, .45fr) minmax(260px, .75fr);
}

.service-appointment-row {
  grid-template-columns: minmax(150px, .55fr) minmax(0, .75fr) minmax(0, 1fr) minmax(260px, .8fr);
}

.service-schedule-panel {
  gap: 10px;
}

.service-schedule-load {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.service-schedule-load span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel-strong);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.15;
}

.service-schedule-load b {
  color: var(--text);
  overflow-wrap: anywhere;
}

.service-schedule-bays {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.service-bay-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid rgba(30, 85, 180, .24);
  border-radius: 999px;
  background: rgba(30, 85, 180, .08);
  color: var(--text);
  font: inherit;
  line-height: 1.1;
  text-align: left;
}

button.service-bay-chip {
  cursor: pointer;
}

button.service-bay-chip:hover {
  border-color: rgba(30, 85, 180, .42);
  background: rgba(30, 85, 180, .13);
}

.service-bay-chip.is-paused {
  border-color: var(--line);
  background: var(--panel-strong);
  color: var(--muted);
}

.service-bay-chip b {
  color: var(--text);
  font-size: 12px;
  white-space: nowrap;
}

.service-bay-chip span {
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}

.service-schedule-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr));
  gap: 10px;
  min-width: 0;
}

.service-schedule-block {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.service-schedule-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.service-schedule-subhead b {
  color: var(--text);
  font-size: 13px;
}

.service-schedule-subhead span,
.service-schedule-more {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.service-schedule-row {
  grid-template-columns: minmax(0, 1fr) minmax(130px, .34fr) minmax(150px, .38fr) minmax(150px, auto);
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
}

.service-schedule-row > div,
.service-schedule-main,
.service-schedule-meta,
.service-schedule-time,
.service-schedule-actions {
  min-width: 0;
}

.service-schedule-main strong {
  font-size: 13px;
  line-height: 1.2;
}

.service-schedule-main span,
.service-schedule-main small,
.service-schedule-meta span,
.service-schedule-time span {
  font-size: 11px;
  line-height: 1.25;
}

.service-schedule-meta b,
.service-schedule-time b {
  font-size: 12px;
  line-height: 1.2;
}

.service-schedule-actions .service-job-actions {
  justify-content: flex-end;
  gap: 5px;
}

.service-schedule-actions .service-mini-btn {
  min-height: 28px;
  padding: 5px 8px;
  font-size: 11px;
}

.service-suppliers-panel {
  gap: 10px;
}

.service-members-panel {
  gap: 10px;
}

.service-work-catalog-panel {
  gap: 10px;
}

.service-work-catalog-summary,
.service-work-catalog-kpi {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
  min-width: 0;
}

.service-work-catalog-summary span,
.service-work-catalog-kpi span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fbfe;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.service-work-catalog-summary b,
.service-work-catalog-kpi b {
  color: var(--text);
  font-size: 13px;
}

.service-work-catalog-sample {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.service-work-catalog-sample span {
  max-width: 100%;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  margin-bottom: 16px;
}

.service-page-head > div {
  min-width: 0;
}

.service-page-head .page-title {
  margin-bottom: 4px;
}

.service-work-catalog-page {
  gap: 12px;
  min-width: 0;
}

.service-work-catalog-page-shell,
.service-work-catalog-page-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.service-work-catalog-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.service-work-catalog-toolbar > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.service-work-catalog-toolbar strong {
  color: var(--text);
  font-size: 15px;
}

.service-work-catalog-toolbar span {
  color: var(--muted);
  font-size: 12px;
}

.service-work-catalog-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(130px, .7fr)) minmax(150px, auto);
  gap: 8px;
  align-items: end;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fbfe;
}

.service-work-catalog-filters label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
}

.service-work-catalog-filters input,
.service-work-catalog-filters select {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-size: 12px;
}

.service-work-catalog-filter-actions,
.service-work-catalog-work-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  min-width: 0;
}

.service-work-catalog-page-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(150px, .45fr) minmax(160px, .5fr) minmax(140px, auto);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.service-work-catalog-page-row > div,
.service-work-catalog-work-main,
.service-work-catalog-work-price,
.service-work-catalog-work-tags {
  min-width: 0;
}

.service-work-catalog-work-main,
.service-work-catalog-work-price,
.service-work-catalog-work-tags {
  display: grid;
  gap: 3px;
}

.service-work-catalog-work-main strong,
.service-work-catalog-work-price b {
  color: var(--text);
  font-size: 13px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.service-work-catalog-work-main span,
.service-work-catalog-work-main small,
.service-work-catalog-work-price span,
.service-work-catalog-work-price small,
.service-work-catalog-work-tags span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.service-work-catalog-work-tags span {
  width: fit-content;
  max-width: 100%;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fbfe;
}

.service-work-catalog-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 6px 0 2px;
  color: var(--muted);
  font-size: 12px;
}

.service-work-catalog-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.service-work-catalog-edit-form textarea {
  min-height: 92px;
}

.service-statement-panel {
  gap: 10px;
}

.service-statement-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.service-statement-kpi {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-statement-content {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.service-statement-block {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.service-statement-block h4 {
  margin: 0;
  color: var(--text);
  font-size: 14px;
}

.service-statement-list {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.service-statement-row {
  display: grid;
  grid-template-columns: minmax(120px, .55fr) minmax(0, 1fr) minmax(130px, .5fr);
  gap: 10px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.service-statement-row div {
  min-width: 0;
}

.service-statement-row b,
.service-statement-row span,
.service-statement-row a {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.service-statement-row b,
.service-statement-row a {
  color: var(--text);
  font-size: 12px;
}

.service-statement-row span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.service-work-filter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.service-work-filter input {
  min-width: 0;
}

.service-member-row {
  grid-template-columns: minmax(0, 1fr) minmax(135px, .48fr) minmax(170px, .65fr) minmax(170px, .58fr);
  padding: 9px 10px;
}

.service-work-catalog-row {
  grid-template-columns: minmax(0, 1fr) minmax(130px, .48fr) minmax(170px, .62fr) minmax(170px, .58fr);
  padding: 9px 10px;
}

.service-supplier-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 9px 10px;
}

.service-waiting-material-row {
  grid-template-columns: minmax(0, 1fr) minmax(145px, .45fr) minmax(150px, .48fr) minmax(150px, .42fr);
  padding: 9px 10px;
}

.service-operations-row {
  grid-template-columns: minmax(0, 1fr) minmax(110px, .32fr) minmax(190px, .58fr) minmax(150px, .38fr);
  padding: 9px 10px;
}

.service-day-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.service-day-card {
  display: grid;
  min-width: 0;
  min-height: 78px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(18, 35, 58, .04);
}

.service-day-card:hover {
  border-color: var(--blue);
  background: var(--panel-strong);
}

.service-day-card.is-hot {
  border-color: rgba(220, 38, 38, .32);
  background: linear-gradient(180deg, #fff, #fff7f7);
}

.service-day-card span,
.service-day-card small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-day-card strong {
  min-width: 0;
  margin: 3px 0;
  overflow: hidden;
  font-size: 20px;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-operations-row.is-overdue {
  border-color: rgba(220, 38, 38, .28);
  background: rgba(254, 242, 242, .72);
}

.service-operations-row.is-warning {
  border-color: rgba(245, 158, 11, .28);
  background: rgba(255, 251, 235, .72);
}

.service-operations-filter {
  display: grid;
  gap: 8px;
  margin: 8px 0 10px;
}

.service-operations-filter .filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.service-operations-filter .filter-chip {
  min-height: 30px;
  padding: 6px 10px;
  font-size: .86rem;
}

.service-operations-filter .filter-chip span {
  color: var(--muted);
}

.service-operations-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}

.service-operations-search input {
  min-width: 0;
  height: 36px;
  border-radius: 12px;
  border: 1px solid var(--line);
  padding: 0 12px;
  background: #fff;
}

.service-waiting-material-row.is-overdue {
  border-color: rgba(220, 38, 38, .28);
  background: rgba(254, 242, 242, .72);
}

.service-maintenance-row {
  grid-template-columns: minmax(0, 1fr) minmax(115px, .36fr) minmax(190px, .62fr) minmax(180px, .5fr);
  padding: 9px 10px;
}

.service-maintenance-row.is-overdue {
  border-color: rgba(220, 38, 38, .28);
  background: rgba(254, 242, 242, .72);
}

.service-maintenance-row.is-warning {
  border-color: rgba(245, 158, 11, .28);
  background: rgba(255, 251, 235, .72);
}

.service-waiting-material-row > div {
  min-width: 0;
}

.service-waiting-material-row .service-job-actions {
  align-self: center;
}

.service-supplier-state {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(102, 112, 133, .12);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.15;
}

.service-supplier-state.ready {
  background: rgba(0, 160, 110, .12);
  color: #087350;
}

.service-supplier-state.setup {
  background: rgba(255, 176, 0, .18);
  color: #8a5a00;
}

.service-supplier-state.draft {
  background: rgba(111, 66, 193, .12);
  color: #5731a4;
}

.service-muted-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(102, 112, 133, .12);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
}

.service-job-materials {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
  min-width: 0;
  padding-top: 2px;
}

.service-material-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, .35fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .62);
}

.service-material-main,
.service-material-meta {
  min-width: 0;
}

.service-material-main b {
  display: block;
  color: var(--text);
  font-size: 13px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.service-material-main span,
.service-material-meta span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.service-material-meta {
  text-align: right;
}

.service-job-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.service-mini-btn {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.1;
  white-space: nowrap;
}

.service-stock-panel {
  display: grid;
  gap: 10px;
}

.service-stock-filter {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(150px, 220px) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.service-stock-filter input,
.service-stock-filter select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 9px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.service-stock-kpi {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.service-stock-row {
  grid-template-columns: minmax(0, 1.15fr) minmax(150px, .55fr) minmax(170px, .65fr) minmax(120px, auto);
}

.service-stock-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.service-stock-actions span {
  display: inline-block;
  margin: 0;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(102, 112, 133, .1);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.15;
}

.service-stock-details {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-strong);
  overflow: hidden;
}

.service-stock-details summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--text);
  font-weight: 900;
}

.service-stock-more-list {
  padding: 0 10px 10px;
}

.service-stock-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0 12px 12px;
}

.service-stock-details-grid h4 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 13px;
}

.service-stock-mini-list {
  display: grid;
  gap: 6px;
}

.service-stock-mini-row {
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.service-stock-mini-row b,
.service-stock-mini-row span {
  display: block;
  overflow-wrap: anywhere;
}

.service-stock-mini-row b {
  color: var(--text);
  font-size: 12px;
}

.service-stock-mini-row span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.service-order-readiness {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.service-order-readiness.ready {
  border-left: 4px solid var(--green);
}

.service-order-readiness.blocked {
  border-left: 4px solid var(--red);
}

.service-order-readiness.attention {
  border-left: 4px solid var(--yellow);
}

.service-order-readiness-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.service-order-readiness-head strong,
.service-order-readiness-head span,
.service-order-readiness p,
.service-order-readiness small {
  overflow-wrap: anywhere;
}

.service-order-readiness-head span,
.service-order-readiness small {
  color: var(--muted);
  font-size: 12px;
}

.service-order-readiness p {
  margin: 0;
  color: var(--text);
}

.service-readiness-row.blocked {
  border-left: 3px solid var(--red);
}

.service-readiness-row.warning {
  border-left: 3px solid var(--yellow);
}

.service-quality-compact-items {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.service-quality-compact-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content auto;
  gap: 6px;
  align-items: center;
  min-width: 0;
  padding-top: 6px;
  border-top: 1px dashed var(--line);
}

.service-quality-compact-row span,
.service-quality-compact-row b {
  min-width: 0;
  overflow-wrap: anywhere;
}

.service-quality-compact-row b {
  font-size: 11px;
  color: var(--muted);
}

.service-panel-modal-open {
  overflow: hidden;
}

.service-panel-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 16px;
}

.service-panel-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(13, 24, 38, .48);
  backdrop-filter: blur(5px);
}

.service-panel-modal-card {
  position: relative;
  width: min(560px, 100%);
  max-height: min(88vh, 680px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 26px 90px rgba(18, 35, 58, .24);
}

.service-wide-modal-card {
  width: min(900px, 100%);
}

.service-panel-modal-card-wide {
  width: min(840px, calc(100vw - 32px));
}

.service-order-detail-modal-card {
  width: min(1180px, calc(100vw - 32px));
}

.service-order-detail-modal-card .service-panel-modal-body {
  padding: 16px;
}

.service-order-detail-modal-card .service-order-detail-kpi.account-action-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
}

.service-order-detail-modal-card .service-order-detail-kpi .account-action-card {
  min-height: 70px;
  padding: 12px;
}

.service-order-detail-modal-card .service-order-detail-kpi .account-action-card strong {
  font-size: 15px;
}

.service-order-detail-modal-card .service-order-detail-kpi .account-action-card span,
.service-order-detail-modal-card .service-order-detail-kpi .account-action-card small {
  font-size: 12px;
  line-height: 1.25;
}

.service-order-detail-modal-card .service-order-detail-section {
  min-width: 0;
}

.service-order-state-and-next {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(280px, 1.2fr);
  gap: 10px;
}

.service-order-state-card,
.service-order-next-card {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fbfd;
}

.service-order-next-card {
  border-color: rgba(12, 138, 85, .28);
  background: rgba(12, 138, 85, .07);
}

.service-order-state-card > span,
.service-order-next-card > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.service-order-state-card strong {
  color: var(--text);
  font-size: 18px;
}

.service-order-state-card small,
.service-order-next-card small {
  color: var(--muted);
  line-height: 1.35;
}

.service-order-next-card .service-order-primary-action {
  justify-self: start;
  min-width: 210px;
}

.service-order-next-complete {
  color: var(--green);
  font-size: 16px;
}

.service-order-next-blocked {
  color: #9b4b12;
  font-size: 14px;
}

.service-flow-branches {
  display: grid;
  gap: 4px;
  min-width: 0;
  margin-top: 5px;
}

.service-flow-branch {
  display: grid;
  gap: 1px;
  min-width: 0;
  padding: 5px 7px;
  border: 1px solid rgba(44, 62, 80, .12);
  border-radius: 7px;
  background: rgba(255, 255, 255, .72);
}

.service-flow-branch b,
.service-flow-branch small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.service-flow-branch b {
  font-size: 11px;
}

.service-flow-branch.is-blocked {
  border-color: rgba(184, 91, 20, .28);
  background: rgba(255, 245, 230, .82);
}

.service-more-actions {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.service-more-actions > summary {
  padding: 10px 12px;
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.service-more-actions-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 12px 12px;
}

.service-order-detail-disclosure {
  padding: 0 !important;
  overflow: hidden;
}

.service-order-detail-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  color: var(--text);
  font-weight: 850;
  cursor: pointer;
  list-style-position: inside;
}

.service-order-detail-disclosure > summary small {
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
}

.service-order-detail-disclosure[open] > summary {
  border-bottom: 1px solid var(--line);
  background: #f7fafc;
}

.service-order-detail-disclosure-body {
  padding: 12px;
}

.service-panel-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}

.service-panel-modal-head strong,
.service-panel-modal-head span {
  display: block;
}

.service-panel-modal-head strong {
  color: var(--text);
  font-size: 17px;
}

.service-panel-modal-head span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.service-panel-modal-body {
  padding: 14px;
}

.service-panel-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.service-panel-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.service-panel-form .wide,
.service-panel-form-actions,
.service-panel-form .status-line {
  grid-column: 1 / -1;
}

.service-panel-form input,
.service-panel-form select,
.service-panel-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 11px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.service-panel-form textarea {
  resize: vertical;
}

.service-modal-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-bottom: 10px;
}

.service-modal-search input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 11px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.service-customers-compact-list {
  max-height: min(44vh, 360px);
  overflow: auto;
  padding-right: 2px;
}

.service-order-receipt-compact-list {
  max-height: min(52vh, 430px);
  overflow: auto;
  padding-right: 2px;
}

.service-customer-row {
  grid-template-columns: minmax(0, 1.2fr) minmax(150px, .7fr) minmax(120px, .45fr) minmax(110px, auto);
}

.service-order-receipt-row {
  grid-template-columns: minmax(0, 1.05fr) minmax(180px, .85fr) minmax(120px, .45fr) minmax(110px, auto);
}

.service-modal-create {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-strong);
  overflow: hidden;
}

.service-modal-create summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--text);
  font-weight: 900;
}

.service-modal-create .service-panel-form {
  padding: 0 12px 12px;
}

.service-day-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.service-day-check {
  display: inline-flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 5px !important;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fbff;
  color: var(--text) !important;
  font-size: 12px !important;
  white-space: nowrap;
}

.service-day-check input {
  width: auto;
  min-width: 0;
  padding: 0;
}

.service-create-order-form textarea {
  min-height: 68px;
}

.service-order-detail-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.service-work-lookup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  min-width: 0;
}

.service-work-norm-modal-card {
  width: min(760px, calc(100vw - 32px));
}

.service-work-norm-picker,
.service-work-norm-picker > *,
.service-work-norm-step-head,
.service-work-norm-search,
.service-work-norm-search label,
.service-work-norm-choices,
.service-work-norm-vehicle-candidates,
.service-work-norm-vehicle-choice,
.service-work-norm-vehicle-copy {
  min-width: 0;
}

.service-work-norm-picker {
  display: grid;
  gap: 12px;
}

.service-work-norm-step-head {
  display: grid;
  gap: 4px;
}

.service-work-norm-step-head strong {
  color: var(--text);
  font-size: 16px;
}

.service-work-norm-step-head span {
  color: var(--muted);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.service-work-norm-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

.service-work-norm-search label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.service-work-norm-search input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 11px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.service-work-norm-choices {
  display: grid;
  gap: 8px;
  max-height: min(46vh, 390px);
  overflow: auto;
  padding-right: 2px;
}

.service-work-norm-choice {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) max-content;
  align-items: center;
  gap: 10px !important;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--text) !important;
  cursor: pointer;
}

.service-work-norm-choice input {
  width: auto !important;
  margin: 0;
}

.service-work-norm-choice span,
.service-work-norm-choice strong,
.service-work-norm-choice small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.service-work-norm-choice strong {
  font-size: 13px;
}

.service-work-norm-choice small {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 500;
  line-height: 1.35;
}

.service-work-norm-choice > b {
  color: var(--green);
  white-space: nowrap;
}

.service-work-norm-choice.disabled {
  opacity: .58;
  cursor: not-allowed;
}

.service-work-norm-vehicle-candidates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: min(48vh, 420px);
  overflow: auto;
  padding: 1px 2px 1px 1px;
}

.service-work-norm-vehicle-choice {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px !important;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--text) !important;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.service-work-norm-vehicle-choice:hover {
  border-color: rgba(24, 138, 80, .42);
  background: #fbfffc;
}

.service-work-norm-vehicle-choice:has(input:checked) {
  border-color: var(--green);
  background: rgba(24, 138, 80, .06);
  box-shadow: 0 0 0 2px rgba(24, 138, 80, .12);
}

.service-work-norm-vehicle-choice input {
  width: auto !important;
  margin: 3px 0 0;
}

.service-work-norm-vehicle-copy,
.service-work-norm-vehicle-copy strong,
.service-work-norm-vehicle-copy span,
.service-work-norm-vehicle-copy small {
  display: block;
  overflow-wrap: anywhere;
}

.service-work-norm-vehicle-copy strong {
  font-size: 14px;
  line-height: 1.3;
}

.service-work-norm-vehicle-copy span {
  margin-top: 4px;
  line-height: 1.35;
}

.service-work-norm-vehicle-copy small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.service-work-norm-state .btn {
  margin-top: 8px;
}

.service-job-add-form textarea {
  min-height: 68px;
}

.service-part-search-form {
  margin-bottom: 10px;
}

.service-offer-compact-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.service-offer-compact-row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(120px, .55fr) minmax(130px, .55fr) minmax(118px, .45fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.service-offer-part,
.service-offer-source-wrap,
.service-offer-qty,
.service-offer-actions,
.service-offer-price {
  min-width: 0;
}

.service-offer-part b,
.service-offer-part span,
.service-offer-source-wrap small,
.service-offer-qty b,
.service-offer-qty span,
.service-offer-actions small {
  display: block;
  overflow-wrap: anywhere;
}

.service-offer-part b,
.service-offer-qty b {
  color: var(--text);
  font-size: 13px;
  line-height: 1.2;
}

.service-offer-part span,
.service-offer-source-wrap small,
.service-offer-qty span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.service-offer-source {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(38, 132, 255, .1);
  color: #1556a5;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.service-offer-source.service_stock {
  background: rgba(0, 160, 110, .12);
  color: #087350;
}

.service-offer-source.our_consignment,
.service-offer-source.our_stock {
  background: rgba(255, 176, 0, .18);
  color: #8a5a00;
}

.service-offer-source.service_supplier {
  background: rgba(111, 66, 193, .12);
  color: #5731a4;
}

.service-offer-pill {
  display: inline-flex;
  width: fit-content;
  margin-top: 4px;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(102, 112, 133, .1);
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}

.service-offer-price {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.service-offer-price input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 7px 8px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.service-offer-actions {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.service-panel-form-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

@media (max-width: 980px) {
  .service-job-item,
  .service-appointment-row,
  .service-member-row,
  .service-work-catalog-row,
  .service-supplier-row,
  .service-operations-row,
  .service-waiting-material-row,
  .service-maintenance-row,
  .service-statement-row,
  .service-schedule-row {
    grid-template-columns: 1fr 1fr;
  }

  .service-schedule-columns {
    grid-template-columns: 1fr;
  }

  .service-work-catalog-filters,
  .service-work-catalog-page-row {
    grid-template-columns: 1fr 1fr;
  }

  .service-work-catalog-filters .wide,
  .service-work-catalog-work-main,
  .service-work-catalog-work-actions {
    grid-column: 1 / -1;
  }

  .service-work-catalog-work-actions {
    justify-content: flex-start;
  }

  .service-job-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .service-stock-kpi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-statement-kpi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-stock-row {
    grid-template-columns: 1fr 1fr;
  }

  .service-offer-compact-row {
    grid-template-columns: minmax(0, 1fr) minmax(120px, .6fr);
  }

  .service-offer-actions {
    justify-items: start;
  }

  .service-stock-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .service-operations-search {
    grid-template-columns: 1fr;
  }

  .service-stock-details-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .service-job-item,
  .service-appointment-row,
  .service-member-row,
  .service-work-catalog-row,
  .service-supplier-row,
  .service-operations-row,
  .service-waiting-material-row,
  .service-maintenance-row,
  .service-statement-row,
  .service-schedule-row {
    grid-template-columns: 1fr;
  }

  .service-job-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-material-row {
    grid-template-columns: 1fr;
  }

  .service-material-meta {
    text-align: left;
  }

  .service-mini-btn {
    width: 100%;
    white-space: normal;
  }

  .service-panel-section-head,
  .account-section-actions,
  .service-statement-actions,
  .service-stock-filter {
    display: grid;
    grid-template-columns: 1fr;
  }

  .account-section-actions .btn,
  .service-statement-actions .btn {
    width: 100%;
  }

  .service-stock-kpi,
  .service-statement-kpi,
  .service-work-catalog-kpi,
  .service-stock-row {
    grid-template-columns: 1fr;
  }

  .service-page-head,
  .service-work-catalog-toolbar,
  .service-work-catalog-filters,
  .service-work-catalog-page-row,
  .service-work-catalog-filter-actions,
  .service-work-catalog-work-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .service-page-head .btn,
  .service-work-catalog-toolbar .btn,
  .service-work-catalog-filter-actions .btn,
  .service-work-catalog-work-actions .btn,
  .service-work-catalog-more .btn {
    width: 100%;
  }

  .service-work-catalog-more {
    display: grid;
    grid-template-columns: 1fr;
    text-align: center;
  }

  .service-panel-modal {
    align-items: end;
    padding: 0;
  }

  .service-panel-modal-card {
    width: 100%;
    max-height: min(86vh, 680px);
    border-radius: 18px 18px 0 0;
  }

  .service-order-detail-modal-card {
    width: 100%;
  }

  .service-panel-modal-head {
    display: grid;
  }

  .service-panel-modal-head .btn {
    width: 100%;
  }

  .service-panel-form {
    grid-template-columns: 1fr;
  }

  .service-modal-search,
  .service-customer-row,
  .service-order-receipt-row {
    grid-template-columns: 1fr;
  }

  .service-customers-compact-list,
  .service-order-receipt-compact-list {
    max-height: 280px;
  }

  .service-work-lookup {
    grid-template-columns: 1fr;
  }

  .service-work-norm-modal-card {
    width: 100%;
  }

  .service-work-norm-search {
    grid-template-columns: 1fr;
  }

  .service-work-norm-search .btn {
    width: 100%;
  }

  .service-work-norm-choice {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .service-work-norm-choice > b {
    grid-column: 2;
  }

  .service-work-norm-vehicle-candidates {
    grid-template-columns: 1fr;
    max-height: min(52vh, 390px);
  }

  .service-order-detail-actions .btn,
  .service-work-lookup .btn {
    width: 100%;
  }

  .service-panel-form-actions .btn {
    width: 100%;
  }

  .service-quality-compact-row {
    grid-template-columns: 1fr;
  }

  .service-offer-compact-row {
    grid-template-columns: 1fr;
  }

  .service-offer-actions,
  .service-offer-actions .btn {
    width: 100%;
    justify-items: stretch;
  }
}

.account-report-list {
  display: grid;
  gap: 10px;
}

.account-garage-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.account-garage-form .account-garage-comment,
.account-garage-form .account-garage-actions,
.account-garage-form .account-garage-primary {
  grid-column: 1 / -1;
}

.account-garage-primary {
  align-items: center;
}

.account-garage-actions,
.account-garage-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.account-garage-list {
  display: grid;
  gap: 12px;
}

.account-garage-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel-strong);
}

.account-garage-card.primary {
  border-color: rgba(14, 99, 199, .35);
  box-shadow: 0 10px 28px rgba(14, 99, 199, .10);
}

.account-garage-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.account-garage-card-head strong,
.account-garage-card-head span {
  display: block;
}

.account-garage-card-head span,
.account-garage-meta,
.account-garage-history span {
  color: var(--muted);
  font-size: 13px;
}

.garage-primary-badge {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e8f2ff;
  color: var(--blue);
  font-size: 12px;
}

.account-garage-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.account-garage-meta span {
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
}

.account-garage-history {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.account-garage-history > div {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.account-garage-history a {
  display: grid;
  gap: 2px;
}

.account-service-panel {
  min-width: 0;
}

.account-service-orders,
.account-service-group {
  display: grid;
  gap: 10px;
}

.account-service-group > strong {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.account-service-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(150px, .55fr) auto;
  gap: 8px 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.account-service-row:last-child {
  border-bottom: 0;
}

.account-service-row > div {
  min-width: 0;
}

.account-service-row b,
.account-service-row span,
.account-service-row strong {
  display: block;
}

.account-service-row b,
.account-service-row strong {
  color: var(--text);
}

.account-service-row span {
  color: var(--muted);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-service-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.account-service-row-actions > span {
  align-self: center;
  color: var(--text);
  font-weight: 850;
}

.account-service-modal-open {
  overflow: hidden;
}

.account-service-modal[hidden] {
  display: none;
}

.account-service-modal {
  position: fixed;
  inset: 0;
  z-index: 1220;
  display: grid;
  place-items: center;
  padding: 16px;
}

.account-service-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(13, 24, 38, .50);
  backdrop-filter: blur(5px);
}

.account-service-modal-card {
  position: relative;
  width: min(820px, 100%);
  max-height: min(88vh, 760px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(18, 35, 58, .24);
}

.account-service-modal-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.account-service-modal-head strong,
.account-service-modal-head span {
  display: block;
}

.account-service-modal-head strong {
  color: var(--text);
  font-size: 17px;
}

.account-service-modal-head span,
.account-service-muted {
  color: var(--muted);
  font-size: 13px;
}

.account-service-modal-body {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.account-service-detail-head {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr;
  gap: 10px;
}

.account-service-detail-head > div,
.account-service-note,
.account-service-detail-grid section {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-strong);
}

.account-service-detail-head span,
.account-service-note strong {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.account-service-detail-head strong,
.account-service-note span {
  display: block;
  margin-top: 4px;
  color: var(--text);
}

.account-service-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.account-service-detail-grid h3 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 15px;
}

.account-service-detail-row,
.account-service-mini-row {
  display: grid;
  gap: 2px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.account-service-detail-row:last-child,
.account-service-mini-row:last-child {
  border-bottom: 0;
}

.account-service-detail-row span,
.account-service-mini-row span {
  min-width: 0;
  color: var(--text);
  overflow-wrap: anywhere;
}

.account-service-detail-row b,
.account-service-mini-row b {
  color: var(--muted);
  font-size: 12px;
}

.account-service-detail-row small {
  color: var(--muted);
  font-weight: 800;
}

.account-service-file {
  display: block;
  padding: 7px 0;
  border-bottom: 1px solid var(--line);
}

.account-service-doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.account-attention-list,
.account-search-list {
  display: grid;
  gap: 10px;
}

.account-attention-item,
.account-search-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 3px 10px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(18, 35, 58, .045);
}

.account-attention-item strong,
.account-search-item strong {
  color: var(--text);
  min-width: 0;
}

.account-attention-item small,
.account-search-item span,
.account-search-item small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.account-attention-item small {
  grid-column: 2 / 3;
  line-height: 1.35;
}

.account-attention-item b {
  grid-row: 1 / span 2;
  grid-column: 3;
  color: var(--brand);
  font-size: 13px;
  white-space: nowrap;
}

.account-attention-dot {
  grid-row: 1 / span 2;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--muted);
  box-shadow: 0 0 0 4px rgba(100, 116, 139, .12);
}

.account-attention-item.ok .account-attention-dot {
  background: #159447;
  box-shadow: 0 0 0 4px rgba(21, 148, 71, .14);
}

.account-attention-item.warn .account-attention-dot {
  background: #d97706;
  box-shadow: 0 0 0 4px rgba(217, 119, 6, .14);
}

.account-attention-item.danger .account-attention-dot {
  background: #dc2626;
  box-shadow: 0 0 0 4px rgba(220, 38, 38, .14);
}

.account-search-item {
  grid-template-columns: minmax(110px, .7fr) minmax(0, 1fr) auto;
}

.account-search-item small {
  white-space: nowrap;
}

.account-report-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.account-report-row:last-child {
  border-bottom: 0;
}

.account-report-row span,
.account-report-row small {
  color: var(--muted);
  font-weight: 750;
}

.account-report-row strong {
  color: var(--text);
  font-size: 18px;
}

.account-report-row small {
  grid-column: 1 / -1;
  font-size: 12px;
}

.account-act-form {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.account-act-form .btn {
  min-height: 44px;
  white-space: nowrap;
}

.account-act-hint {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
}

.account-recent-orders {
  display: grid;
  gap: 8px;
}

.account-recent-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.account-recent-order:last-child {
  border-bottom: 0;
}

.account-recent-order strong {
  color: var(--text);
}

.account-recent-order span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.account-recent-order b {
  grid-row: 1 / span 2;
  grid-column: 2;
  color: var(--text);
}

@media (max-width: 1100px) {
  .account-profile-card {
    grid-template-columns: 64px minmax(0, 1fr) auto;
  }

  .account-profile-details {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.vin-parts-field textarea {
  min-height: 150px;
  resize: vertical;
}

.vin-ocr-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, .8fr);
  gap: 12px 16px;
  padding: 16px;
  border: 1px solid rgba(36, 137, 199, .28);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(232, 247, 255, .84), rgba(255, 255, 255, .94));
}

.vin-ocr-copy {
  display: grid;
  gap: 5px;
  align-content: start;
}

.vin-ocr-copy strong { color: var(--text); font-size: 16px; }
.vin-ocr-copy span { color: var(--muted); font-size: 13px; line-height: 1.5; }
.vin-ocr-picker { margin: 0; }
.vin-ocr-consent,
.vin-ocr-actions,
.vin-ocr-results { grid-column: 1 / -1; }

.vin-ocr-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.vin-ocr-results {
  display: grid;
  gap: 9px;
}

.vin-ocr-candidate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 12px;
  background: #fff;
}

.vin-ocr-candidate-main { display: grid; gap: 3px; min-width: 0; }
.vin-ocr-candidate-main strong { color: var(--text); overflow-wrap: anywhere; letter-spacing: .035em; }
.vin-ocr-candidate-main span,
.vin-ocr-warning { color: var(--muted); font-size: 12px; line-height: 1.4; }
.vin-ocr-warning { grid-column: 1 / -1; color: #8a5a00; }
.vin-ocr-decoded-vehicle { grid-template-columns: 1fr; }
.vin-ocr-vehicle-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 14px;
  margin: 0;
}
.vin-ocr-vehicle-details div { display: grid; gap: 2px; }
.vin-ocr-vehicle-details dt { color: var(--muted); font-size: 11px; }
.vin-ocr-vehicle-details dd { margin: 0; color: var(--text); font-size: 13px; overflow-wrap: anywhere; }

@media (max-width: 720px) {
  .vin-ocr-card { grid-template-columns: 1fr; padding: 13px; }
  .vin-ocr-candidate { grid-template-columns: 1fr; }
  .vin-ocr-candidate .btn { width: 100%; }
}

.vin-history-list {
  display: grid;
  gap: 10px;
}

.vin-history-item {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(220px, 1.4fr);
  gap: 10px 16px;
  align-items: start;
  padding: 12px 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}

.vin-history-item div {
  display: grid;
  gap: 3px;
}

.vin-history-item strong,
.vin-history-item b {
  color: var(--text);
  font-size: 14px;
}

.vin-history-item span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.vin-history-item p {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 8px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
  color: var(--text);
  line-height: 1.45;
}

@media (max-width: 720px) {
  .vin-history-item {
    grid-template-columns: 1fr;
  }
}

.supply-indicator-cell .public-supply-reliability {
  display: flex;
}

/* Search result layout guard: filters can reveal rows with wider qty/price
   combinations, but buy controls must never stretch the table/card or body. */
body[data-page="search"] {
  overflow-x: visible;
}

body[data-page="search"] .results-panel,
body[data-page="search"] .results-panel .panel-body,
body[data-page="search"] .mobile-results,
body[data-page="search"] .mobile-result-section,
body[data-page="search"] .mobile-result-card,
body[data-page="search"] .mobile-offer-list,
body[data-page="search"] .mobile-offer-row,
body[data-page="search"] .mobile-offer-info,
body[data-page="search"] .mobile-offer-buy,
body[data-page="search"] .offer-buy-control {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

body[data-page="search"] .table-wrap td[data-label="Действие"] {
  width: 150px;
  max-width: 150px;
}

body[data-page="search"] .results-panel .table-wrap {
  max-width: 100%;
  overflow-x: visible;
}

body[data-page="search"] .results-panel table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

body[data-page="search"] .results-panel th,
body[data-page="search"] .results-panel td {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding-left: 6px;
  padding-right: 6px;
}

body[data-page="search"] .results-panel th:nth-child(1),
body[data-page="search"] .results-panel td:nth-child(1) {
  width: 116px;
}

body[data-page="search"] .results-panel th:nth-child(2),
body[data-page="search"] .results-panel td:nth-child(2) {
  width: 42px;
}

body[data-page="search"] .results-panel th:nth-child(3),
body[data-page="search"] .results-panel td:nth-child(3) {
  width: 136px;
}

body[data-page="search"] .results-panel th:nth-child(4),
body[data-page="search"] .results-panel td:nth-child(4) {
  width: auto;
}

body[data-page="search"] .results-panel th:nth-child(5),
body[data-page="search"] .results-panel td:nth-child(5) {
  width: 116px;
}

body[data-page="search"] .results-panel th:nth-child(6),
body[data-page="search"] .results-panel td:nth-child(6) {
  width: 118px;
}

body[data-page="search"] .results-panel th:nth-child(7),
body[data-page="search"] .results-panel td:nth-child(7) {
  width: 78px;
}

body[data-page="search"] .results-panel th:nth-child(8),
body[data-page="search"] .results-panel td:nth-child(8) {
  width: 86px;
}

body[data-page="search"] .results-panel th:nth-child(9),
body[data-page="search"] .results-panel td:nth-child(9) {
  width: 48px;
  text-align: center;
}

body[data-page="search"] .results-panel th:nth-child(10),
body[data-page="search"] .results-panel td:nth-child(10) {
  width: 150px;
}

body[data-page="search"] .results-panel th:nth-child(2),
body[data-page="search"] .results-panel td:nth-child(2),
body[data-page="search"] .results-panel th:nth-child(10),
body[data-page="search"] .results-panel td:nth-child(10) {
  padding-left: 3px;
  padding-right: 3px;
}

body[data-page="search"] .results-panel .offer-name-text,
body[data-page="search"] .results-panel .supply-indicator-cell,
body[data-page="search"] .results-panel .badge,
body[data-page="search"] .results-panel .price {
  min-width: 0;
  max-width: 100%;
}

body[data-page="search"] .results-panel .offer-name-cell {
  min-width: 0;
  max-width: none;
}

body[data-page="search"] .results-panel .offer-name-text {
  display: block;
  width: 100%;
  max-width: 100%;
}

body[data-page="search"] .results-panel .article-cell-actions {
  min-width: 0;
  max-width: none;
}

body[data-page="search"] .results-panel .supply-indicator-cell {
  min-width: 0;
}

body[data-page="search"] .results-panel .public-supply-code {
  max-width: 100%;
  min-width: 0;
  padding-left: 6px;
  padding-right: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page="search"] .results-panel td:nth-child(6) .badge {
  width: 100%;
  padding-left: 4px;
  padding-right: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page="search"] .results-panel .offer-name-text,
body[data-page="search"] .results-panel .mobile-supply-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-page="search"] .results-panel .article-link {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="search"] .table-wrap .offer-buy-control {
  display: grid;
  grid-template-columns: 46px 92px;
  width: 144px;
  max-width: 144px;
  justify-content: end;
}

body[data-page="search"] .table-wrap .offer-cart-qty input {
  width: 46px;
  padding-left: 2px;
  padding-right: 2px;
}

body[data-page="search"] .table-wrap .offer-buy-control .btn {
  width: 92px;
  min-width: 0;
  min-height: 34px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-page="search"] .brand-rule-highlight {
  --brand-rule-color: #fff3bf;
}

body[data-page="search"] tr.brand-rule-highlight {
  background: color-mix(in srgb, var(--brand-rule-color) 14%, transparent);
  box-shadow: inset 3px 0 var(--brand-rule-color);
}

body[data-page="search"] tr.brand-rule-highlight td:first-child strong,
body[data-page="search"] .mobile-result-card.brand-rule-highlight .mobile-result-title strong {
  color: #7a4f00;
  font-weight: 900;
}

body[data-page="search"] .brand-rule-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  margin-left: 6px;
  padding: 2px 7px;
  border: 1px solid color-mix(in srgb, var(--brand-rule-color) 70%, rgba(15,23,42,.16));
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand-rule-color) 42%, #fff);
  color: #5c3b00;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
  vertical-align: middle;
}

body[data-page="search"] .mobile-result-card.brand-rule-highlight,
body[data-page="search"] .mobile-offer-row.brand-rule-highlight {
  background: color-mix(in srgb, var(--brand-rule-color) 16%, #fff);
  border-color: color-mix(in srgb, var(--brand-rule-color) 66%, rgba(15,23,42,.12));
  box-shadow: inset 3px 0 var(--brand-rule-color);
}

@media (min-width: 801px) and (max-width: 1100px) {
  .header-main {
    grid-template-columns: 176px minmax(280px, 1fr) minmax(250px, auto) !important;
    gap: 10px !important;
    min-height: 68px;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .brand {
    min-width: 0;
  }

  .brand img {
    width: 42px;
    height: 42px;
  }

  .brand-name {
    font-size: 18px;
  }

  .brand-sub {
    font-size: 11px;
  }

  .header-search {
    grid-template-columns: 86px minmax(0, 1fr) 76px !important;
    min-width: 0;
    border-radius: 18px;
    box-shadow: 0 8px 20px rgba(14, 99, 199, .10);
  }

  .header-search .search-history-link {
    display: none;
  }

  .header-search select,
  .header-search input,
  .header-search button {
    min-height: 44px;
  }

  .header-search select {
    padding-left: 10px;
    padding-right: 8px;
  }

  .header-search button {
    min-width: 76px;
    padding-left: 12px;
    padding-right: 12px;
    white-space: nowrap;
  }

  .header-actions {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(56px, 1fr)) !important;
    gap: 6px;
    min-width: 0;
  }

  .quick-link {
    min-width: 0;
    min-height: 44px;
    padding: 6px 7px;
    border-radius: 10px;
  }

  .quick-link strong {
    font-size: 12px;
  }

  .quick-link span {
    font-size: 10px;
  }

  body[data-page="search"] .results-panel th,
  body[data-page="search"] .results-panel td {
    padding-left: 5px;
    padding-right: 5px;
  }

  body[data-page="search"] .results-panel th:nth-child(1),
  body[data-page="search"] .results-panel td:nth-child(1) {
    width: 94px;
  }

  body[data-page="search"] .results-panel th:nth-child(2),
  body[data-page="search"] .results-panel td:nth-child(2) {
    width: 36px;
  }

  body[data-page="search"] .results-panel th:nth-child(3),
  body[data-page="search"] .results-panel td:nth-child(3) {
    width: 112px;
  }

  body[data-page="search"] .results-panel th:nth-child(5),
  body[data-page="search"] .results-panel td:nth-child(5) {
    width: 108px;
  }

  body[data-page="search"] .results-panel th:nth-child(6),
  body[data-page="search"] .results-panel td:nth-child(6) {
    width: 102px;
  }

  body[data-page="search"] .results-panel th:nth-child(7),
  body[data-page="search"] .results-panel td:nth-child(7) {
    width: 72px;
  }

  body[data-page="search"] .results-panel th:nth-child(8),
  body[data-page="search"] .results-panel td:nth-child(8) {
    width: 82px;
  }

  body[data-page="search"] .results-panel th:nth-child(9),
  body[data-page="search"] .results-panel td:nth-child(9) {
    width: 44px;
  }

  body[data-page="search"] .results-panel th:nth-child(10),
  body[data-page="search"] .results-panel td:nth-child(10) {
    width: 128px;
  }

  body[data-page="search"] .table-wrap .offer-buy-control {
    grid-template-columns: 38px 80px;
    width: 122px;
    max-width: 122px;
  }

  body[data-page="search"] .table-wrap .offer-cart-qty input {
    width: 38px;
  }

  body[data-page="search"] .table-wrap .offer-buy-control .btn {
    width: 80px;
    padding-left: 6px;
    padding-right: 6px;
  }
}

@media (min-width: 721px) and (max-width: 960px) {
  body[data-page="search"] .results-panel .table-wrap {
    overflow-x: auto;
  }

  body[data-page="search"] .results-panel table {
    min-width: 980px;
  }
}

@media (max-width: 720px) {
  body[data-page="search"] {
    overflow-x: hidden;
  }

  .offer-buy-control {
    grid-template-columns: 70px minmax(88px, auto);
    justify-content: stretch;
  }

  .offer-cart-qty input {
    width: 70px;
    min-height: 42px;
  }

  .mobile-offer-buy-control {
    width: 100%;
  }

  body[data-page="search"] .mobile-offer-row {
    grid-template-columns: minmax(0, 1fr) 28px 116px;
    gap: 6px;
    max-width: 100%;
    overflow: hidden;
  }

  body[data-page="search"] .mobile-offer-return {
    width: 28px;
    min-width: 0;
  }

  body[data-page="search"] .mobile-offer-buy {
    width: 116px;
    max-width: 116px;
    justify-items: stretch;
  }

  body[data-page="search"] .mobile-offer-price {
    display: block;
    max-width: 116px;
    overflow: hidden;
    text-align: right;
    text-overflow: ellipsis;
  }

  body[data-page="search"] .mobile-offer-buy-control {
    grid-template-columns: 46px 66px;
    gap: 4px;
    width: 116px;
    max-width: 116px;
    justify-self: stretch;
  }

  body[data-page="search"] .mobile-offer-buy-control .offer-cart-qty input {
    width: 46px;
    min-height: 34px;
    padding-left: 2px;
    padding-right: 2px;
  }

  body[data-page="search"] .mobile-offer-buy-control .btn {
    width: 66px;
    min-width: 0;
    min-height: 34px;
    padding-left: 5px;
    padding-right: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .account-dashboard,
  .account-action-grid,
  .account-act-form,
  .account-secondary-layout {
    grid-template-columns: 1fr;
  }

  .account-section-head,
  .account-list-item {
    grid-template-columns: 1fr;
    display: grid;
  }

  .service-workspace-head {
    align-items: flex-start;
    grid-template-columns: 1fr;
    display: grid;
  }

  .account-action-card {
    min-height: 74px;
  }

  .account-recent-order {
    grid-template-columns: 1fr;
  }

  .account-service-row,
  .account-service-detail-head,
  .account-service-detail-grid {
    grid-template-columns: 1fr;
  }

  .account-service-row-actions {
    justify-content: flex-start;
  }

  .account-service-modal {
    align-items: end;
    padding: 0;
  }

  .account-service-modal-card {
    width: 100%;
    max-height: calc(100vh - 20px);
    border-radius: 16px 16px 0 0;
  }

  .account-service-modal-head {
    align-items: flex-start;
  }

  .account-attention-item,
  .account-search-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .account-attention-item b,
  .account-search-item small {
    grid-row: auto;
    grid-column: 2;
    white-space: normal;
  }

  .account-search-item span {
    grid-column: 2;
  }

  .account-recent-order b {
    grid-row: auto;
    grid-column: 1;
  }

  .account-profile-card {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
  }

  .account-profile-avatar {
    width: 52px;
    height: 52px;
    border-radius: 15px;
    font-size: 17px;
  }

  .account-profile-main strong {
    font-size: 19px;
  }

  .account-profile-details {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .account-profile-actions {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .account-profile-logout {
    width: 100%;
  }
}

@media (max-width: 800px) {
  .header-main {
    grid-template-columns: 40px minmax(0, 1fr) 44px !important;
    grid-template-areas: "menu search brand";
    gap: 8px;
  }

  .header-search {
    grid-area: search;
    grid-template-columns: minmax(0, 1fr) 64px 44px !important;
    min-width: 0;
    overflow: hidden;
    border-width: 1px;
    border-radius: 6px !important;
    box-shadow: none;
  }

  .header-search input {
    order: 1;
    min-width: 0;
    min-height: 42px;
    height: 42px;
    font-size: 14px;
  }

  .header-search select {
    order: 2;
    width: 64px;
    min-width: 64px;
    min-height: 42px;
    height: 42px;
    border-right: 0;
    border-left: 1px solid var(--line);
    color: var(--blue);
    font-size: 12px;
    font-weight: 800;
  }

  .header-search button {
    order: 3;
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    min-width: 44px;
    min-height: 42px;
    height: 42px;
    padding: 0;
    border-radius: 0;
    font-size: 0;
    line-height: 1;
  }

  .header-search button::before {
    content: "";
    position: static;
    display: block;
    width: 14px;
    height: 14px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: transparent;
    transform: none;
  }

  .header-search button::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: block;
    width: 8px;
    height: 2px;
    border-radius: 999px;
    background: #fff;
    transform: rotate(45deg);
  }
}

body[data-page="service"] .service-stock-kpi {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 6px;
}

body[data-page="service"] .account-action-grid {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 6px;
}

body[data-page="service"] .account-action-card {
  min-height: 58px;
  padding: 9px 10px;
  border-radius: 12px;
  box-shadow: none;
}

body[data-page="service"] .account-action-card strong {
  font-size: 14px;
  line-height: 1.15;
}

body[data-page="service"] .account-action-card span,
body[data-page="service"] .account-action-card small {
  font-size: 10px;
  line-height: 1.2;
}

body[data-page="service"] .service-stock-kpi .account-action-card {
  min-height: 58px;
  padding: 9px 10px;
  border-radius: 12px;
  box-shadow: none;
}

body[data-page="service"] .service-stock-kpi .account-action-card strong {
  font-size: 14px;
  line-height: 1.15;
}

body[data-page="service"] .service-stock-kpi .account-action-card span,
body[data-page="service"] .service-stock-kpi .account-action-card small {
  font-size: 10px;
  line-height: 1.2;
}

@media (max-width: 720px) {
  body[data-page="service"] .account-panel {
    gap: 8px;
    margin-top: 10px;
    padding: 10px;
    border-radius: 14px;
  }

  body[data-page="service"] .service-panel-section-head span {
    font-size: 11px;
    line-height: 1.25;
  }

  body[data-page="service"] .service-suppliers-panel .service-panel-section-head span,
  body[data-page="service"] .service-stock-head-panel .service-panel-section-head span {
    display: none;
  }

  body[data-page="service"] .service-supplier-row {
    grid-template-columns: minmax(0, 1fr) minmax(104px, auto);
    gap: 6px 8px;
    padding: 7px 8px;
    align-items: center;
  }

  body[data-page="service"] .service-supplier-row > div:nth-child(2),
  body[data-page="service"] .service-supplier-row > div:nth-child(3) {
    grid-column: 1;
  }

  body[data-page="service"] .service-supplier-row > div:nth-child(3) {
    display: none;
    min-width: 0;
  }

  body[data-page="service"] .service-supplier-row > div:nth-child(2) span,
  body[data-page="service"] .service-supplier-row > div:nth-child(3) span,
  body[data-page="service"] .service-supplier-row > div:first-child span {
    display: none;
  }

  body[data-page="service"] .service-supplier-row .service-job-actions {
    grid-column: 2;
    grid-row: 1 / span 3;
    grid-template-columns: 1fr;
    align-self: center;
    gap: 4px;
  }

  body[data-page="service"] .service-supplier-row .service-mini-btn {
    min-height: 22px;
    padding: 3px 7px;
    border-radius: 8px;
    font-size: 10.5px;
  }

  body[data-page="service"] .service-stock-filter {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  body[data-page="service"] .service-stock-filter input {
    grid-column: 1 / -1;
  }

  body[data-page="service"] .service-work-filter {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }

  body[data-page="service"] .service-work-filter input {
    grid-column: 1 / -1;
  }

  body[data-page="service"] .service-stock-filter .btn,
  body[data-page="service"] .service-stock-filter select {
    width: 100%;
  }

  body[data-page="service"] .service-stock-kpi {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="service"] .service-stock-head-panel .notice.warning {
    display: none;
  }

  body[data-page="service"] .service-stock-kpi .account-action-card {
    min-height: 46px;
    padding: 6px 7px;
  }

  body[data-page="service"] .notice {
    padding: 8px 9px;
    font-size: 11px;
    line-height: 1.25;
  }
}

body[data-page="service"] {
  background: #eef2f5;
}

body[data-page="service"] .page {
  padding-top: 18px;
}

body[data-page="service"] .shell {
  box-sizing: border-box;
  width: min(100%, 1440px);
  max-width: 1440px;
}

body[data-page="service"] .service-workspace-head {
  display: none;
}

body[data-page="service"] .service-workspace,
body[data-page="service"] .service-workspace-body {
  gap: 12px;
}

body[data-page="service"] .account-panel {
  margin-top: 0;
  padding: 14px;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(18, 35, 58, .05);
}

.service-command-center {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(16, 24, 32, .18);
  border-radius: 8px;
  background: linear-gradient(135deg, #101820 0%, #203142 68%, #6f5a18 100%);
  color: #fff;
  box-shadow: 0 18px 42px rgba(18, 35, 58, .16);
}

.service-command-main {
  min-width: 0;
}

.service-command-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 5px;
  padding: 3px 8px;
  border: 1px solid rgba(244, 189, 47, .45);
  border-radius: 999px;
  background: rgba(244, 189, 47, .12);
  color: #ffe8a8;
  font-size: 11px;
  font-weight: 850;
}

.service-command-center h2 {
  margin: 0;
  color: #fff;
  font-size: 26px;
  line-height: 1.1;
}

.service-command-center p {
  margin: 6px 0 0;
  color: #d9e4ee;
  font-size: 13px;
  line-height: 1.35;
}

.service-command-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.service-command-center .btn.secondary {
  border-color: rgba(255, 255, 255, .32);
  background: rgba(255, 255, 255, .12);
  color: #fff;
}

.service-command-metrics {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.service-command-finance {
  grid-column: 1 / -1;
  max-width: 360px;
}

.service-command-center .account-action-card {
  min-height: 72px;
  border-color: rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.service-command-center .account-action-card strong {
  color: #fff;
  font-size: 20px;
}

.service-command-center .account-action-card span,
.service-command-center .account-action-card small {
  color: #dbe6ef;
  font-size: 11px;
}

.service-command-finance .account-action-card {
  border-color: rgba(244, 189, 47, .4);
  background: rgba(244, 189, 47, .12);
}

.service-view-rail {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 8px;
  border: 1px solid rgba(185, 197, 209, .75);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 22px rgba(18, 35, 58, .06);
  backdrop-filter: blur(10px);
}

.service-view-tabs,
.service-view-external {
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
}

.service-view-external {
  margin-left: auto;
}

.service-view-rail a {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 7px 10px;
  border-radius: 7px;
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.service-view-rail a:hover,
.service-view-rail a.active {
  background: #edf4fb;
  color: var(--blue-dark);
}

.service-view-rail a[role="tab"].active {
  box-shadow: inset 0 0 0 1px rgba(30, 92, 143, .2);
}

.service-view-rail a span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 19px;
  height: 19px;
  margin-left: 5px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(30, 92, 143, .12);
  color: var(--blue-dark);
  font-size: 10px;
}

.service-view-rail .service-view-link {
  border-left: 1px solid var(--line);
}

.service-workspace-tabs,
.service-workspace-pane,
.service-tab-stack {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.service-workspace-pane[hidden] {
  display: none !important;
}

.service-workbench-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(300px, .62fr);
  gap: 12px;
  align-items: start;
}

.service-workbench-main,
.service-workbench-side,
.service-secondary-dock {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.service-workbench-side {
  align-content: start;
}

.service-workbench-side > .service-jobs-panel,
.service-workbench-side .service-job-list,
.service-workbench-side .service-job-item {
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 721px) {
  .service-workbench-side .service-job-item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-workbench-side .service-job-item > div:nth-child(3),
  .service-workbench-side .service-job-item > .service-job-actions {
    grid-column: 1 / -1;
  }

  .service-workbench-side .service-material-row {
    grid-template-columns: minmax(0, 1fr) minmax(92px, .55fr);
  }

  .service-workbench-side .service-material-row > .service-mini-btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

.service-workbench-side .service-waiting-material-row {
  grid-template-columns: minmax(0, 1fr) minmax(82px, auto);
  gap: 8px 10px;
}

.service-workbench-side .service-waiting-material-row > div:first-child {
  grid-column: 1;
  grid-row: 1;
}

.service-workbench-side .service-waiting-material-row > div:nth-child(2),
.service-workbench-side .service-waiting-material-row > div:nth-child(3) {
  grid-column: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 3px 8px;
}

.service-workbench-side .service-waiting-material-row > div:nth-child(2) b,
.service-workbench-side .service-waiting-material-row > div:nth-child(3) b,
.service-workbench-side .service-waiting-material-row > div:nth-child(2) span,
.service-workbench-side .service-waiting-material-row > div:nth-child(3) span {
  margin-top: 0;
}

.service-workbench-side .service-waiting-material-row .service-job-actions {
  grid-column: 2;
  grid-row: 1 / span 3;
  display: grid;
  grid-template-columns: 1fr;
  align-self: center;
  justify-content: stretch;
  gap: 5px;
}

.service-workbench-side .service-waiting-material-row .service-mini-btn {
  justify-content: center;
  min-height: 28px;
  padding: 5px 8px;
}

.service-secondary-dock {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-secondary-dock > .service-schedule-panel {
  grid-column: 1 / -1;
}

.service-secondary-dock > .service-stock-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
}

.service-order-row {
  grid-template-columns: minmax(220px, 1.25fr) minmax(145px, .55fr) minmax(110px, .4fr) minmax(210px, .8fr);
  align-items: center;
}

.service-order-row-main,
.service-order-current-state,
.service-order-row-money,
.service-order-next-action {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.service-order-row-main strong,
.service-order-row-main span,
.service-order-row-main small,
.service-order-current-state b,
.service-order-current-state small,
.service-order-row-money b,
.service-order-row-money span,
.service-order-next-action small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.service-order-row-main span,
.service-order-row-main small,
.service-order-current-state span,
.service-order-current-state small,
.service-order-row-money span,
.service-order-next-action > span,
.service-order-next-action small {
  color: var(--muted);
  font-size: 11px;
}

.service-order-current-state > span,
.service-order-next-action > span {
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.service-order-current-state b {
  color: var(--text);
  font-size: 14px;
}

.service-order-next-action .btn,
.service-order-next-action > a {
  justify-self: start;
  margin-top: 2px;
}

.service-progressive-list {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.service-progressive-list > summary {
  padding: 10px 12px;
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.service-progressive-list > .account-list {
  padding: 0 10px 10px;
}

.service-part-workbench {
  border-color: rgba(244, 189, 47, .52);
  background: #fffdf5;
}

.service-part-workbench-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.service-part-workbench-grid > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.service-part-workbench-grid > div.is-hot {
  border-color: rgba(191, 47, 36, .32);
  background: #fff4f3;
}

.service-part-workbench-grid strong,
.service-part-workbench-grid span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-part-workbench-grid strong {
  color: var(--text);
  font-size: 20px;
  line-height: 1.1;
}

.service-part-workbench-grid span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.service-part-workbench-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}

.service-part-workbench-actions select {
  min-width: 0;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.service-customer-lookup {
  position: relative;
  z-index: 3;
}

.service-autocomplete {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 2px);
  z-index: 30;
  display: grid;
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(18, 35, 58, .18);
}

.service-autocomplete-row {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.service-autocomplete-row:hover {
  background: #f2f7fc;
}

.service-autocomplete-row strong,
.service-autocomplete-row span,
.service-autocomplete-row small,
.service-selected-customer strong,
.service-selected-customer span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-autocomplete-row span,
.service-autocomplete-row small {
  color: var(--muted);
  font-size: 11px;
}

.service-autocomplete-empty,
.service-selected-customer {
  padding: 9px 10px;
  color: var(--muted);
  font-size: 12px;
}

.service-selected-customer {
  display: grid;
  gap: 2px;
  border: 1px solid rgba(12, 138, 85, .24);
  border-radius: 8px;
  background: rgba(12, 138, 85, .07);
}

.service-selected-customer strong {
  color: var(--text);
}

@media (max-width: 1120px) {
  .service-workbench-grid,
  .service-secondary-dock {
    grid-template-columns: 1fr;
  }

  .service-workbench-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-workbench-side > .account-panel {
    align-content: start;
  }

  .service-order-row {
    grid-template-columns: minmax(0, 1fr) minmax(140px, .45fr);
  }

  .service-order-row-money {
    grid-column: 1;
  }

  .service-order-next-action {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 720px) {
  body[data-page="service"] .page {
    padding-top: 10px;
  }

  body[data-page="service"] .account-panel {
    border-radius: 8px;
  }

  .service-command-center {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .service-command-center h2 {
    font-size: 22px;
  }

  .service-command-actions,
  .service-part-workbench-actions,
  .service-workbench-side {
    grid-template-columns: 1fr;
  }

  .service-command-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-command-actions .btn,
  .service-part-workbench-actions .btn,
  .service-part-workbench-actions select {
    width: 100%;
  }

  .service-command-actions [data-service-order-create] {
    grid-column: 1 / -1;
  }

  .service-command-metrics,
  .service-part-workbench-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-view-rail {
    display: grid;
    top: 0;
    margin-inline: -4px;
    overflow: visible;
    border-radius: 0;
  }

  .service-view-tabs,
  .service-view-external {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin-left: 0;
  }

  .service-view-rail a {
    align-items: center;
    justify-content: center;
    min-width: 0;
    text-align: center;
    white-space: normal;
  }

  .service-view-rail .service-view-link {
    border-left: 0;
  }

  .service-order-row,
  .service-order-state-and-next {
    grid-template-columns: 1fr;
  }

  .service-order-row-money,
  .service-order-next-action {
    grid-column: auto;
    grid-row: auto;
  }

  .service-order-next-action .btn,
  .service-order-next-action > a,
  .service-order-next-card .service-order-primary-action,
  .service-more-actions-menu .btn,
  .service-more-actions-menu > a {
    width: 100%;
  }

  .service-more-actions-menu {
    display: grid;
    grid-template-columns: 1fr;
  }
}

body[data-page="service_approval"] .page {
  padding-top: 22px;
}

.service-approval-shell {
  display: grid;
  gap: 14px;
  max-width: 980px;
  margin: 0 auto;
}

.service-approval-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(12, 27, 40, .96), rgba(8, 18, 29, .96));
}

.service-approval-head h1,
.service-approval-block h2,
.service-approval-modal h2,
.service-approval-result h1 {
  margin: 0;
}

.service-approval-head p,
.service-approval-modal p,
.service-approval-muted {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.service-approval-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid rgba(55, 202, 160, .42);
  border-radius: 999px;
  background: rgba(55, 202, 160, .1);
  color: #bdf7e8;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
}

.service-approval-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.service-approval-summary > div,
.service-approval-total,
.service-approval-note,
.service-approval-block {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(8, 18, 29, .72);
}

.service-approval-summary > div {
  padding: 10px 12px;
}

.service-approval-summary span,
.service-approval-row-public span,
.service-approval-total span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.service-approval-summary strong,
.service-approval-row-public strong,
.service-approval-total strong {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.service-approval-note {
  padding: 12px 14px;
  color: #dceaf4;
  line-height: 1.45;
}

.service-approval-block {
  overflow: hidden;
}

.service-approval-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}

.service-approval-block-head h2 {
  font-size: 16px;
}

.service-approval-block-head span {
  color: #bdf7e8;
  font-weight: 900;
  white-space: nowrap;
}

.service-approval-list {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.service-approval-row-public {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(90px, .35fr));
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(142, 190, 224, .18);
  border-radius: 12px;
  background: rgba(8, 26, 43, .55);
}

.service-approval-row-public b {
  color: #eef8ff;
  overflow-wrap: anywhere;
}

.service-approval-row-public small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.service-approval-empty {
  padding: 14px;
  color: var(--muted);
}

.service-approval-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
}

.service-approval-total strong {
  color: #bdf7e8;
  font-size: 22px;
}

.service-approval-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.service-approval-actions .btn,
.service-approval-form-actions .btn,
.service-approval-modal-head .btn,
.service-approval-result .btn {
  min-height: 40px;
  border-radius: 10px;
}

.service-approval-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(0, 0, 0, .62);
}

.service-approval-modal {
  width: min(620px, 100%);
  max-height: min(720px, calc(100dvh - 32px));
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #0c1722;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .42);
  overflow: hidden;
}

.service-approval-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.service-approval-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 14px 16px 16px;
}

.service-approval-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
}

.service-approval-form input,
.service-approval-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #08121c;
  color: var(--text);
  padding: 9px 10px;
}

.service-approval-form textarea {
  resize: vertical;
}

.service-approval-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.service-approval-result {
  display: grid;
  gap: 12px;
  max-width: 720px;
  margin: 0 auto;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(8, 18, 29, .78);
}

.service-approval-result.ok {
  border-color: rgba(55, 202, 160, .44);
}

.service-approval-result.warn {
  border-color: rgba(244, 189, 88, .46);
}

@media (max-width: 760px) {
  .service-approval-head,
  .service-approval-total,
  .service-approval-modal-head {
    display: grid;
  }

  .service-approval-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-approval-row-public {
    grid-template-columns: 1fr 1fr;
  }

  .service-approval-row-public > div:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 430px) {
  .service-approval-summary,
  .service-approval-row-public {
    grid-template-columns: 1fr;
  }

  .service-approval-actions .btn,
  .service-approval-form-actions .btn {
    width: 100%;
  }
}

.cart-service-transfer {
  margin-top: 12px;
}

.cart-service-transfer-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(11, 127, 171, .24);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(11, 127, 171, .10), rgba(255, 255, 255, .72));
}

.cart-service-transfer-card strong,
.cart-service-transfer-card span {
  display: block;
}

.cart-service-transfer-card span {
  color: var(--muted);
  font-size: 13px;
  margin-top: 2px;
}

.cart-service-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
}

.cart-service-modal-card {
  max-width: 820px;
}

.cart-service-form,
.cart-service-existing,
.cart-service-new {
  display: grid;
  gap: 12px;
}

.cart-service-form label {
  display: grid;
  gap: 5px;
  font-size: 13px;
  color: var(--muted);
}

.cart-service-form input,
.cart-service-form select,
.cart-service-form textarea {
  width: 100%;
  min-width: 0;
}

.cart-service-target,
.cart-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cart-service-target label,
.cart-service-check {
  display: flex !important;
  align-items: center;
  gap: 8px;
  color: var(--text) !important;
}

.cart-service-target input,
.cart-service-check input {
  width: auto;
}

.cart-service-results {
  display: grid;
  gap: 6px;
  max-height: 170px;
  overflow: auto;
}

.cart-service-result {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 8px 10px;
  text-align: left;
  cursor: pointer;
}

.cart-service-result:hover {
  border-color: rgba(11, 127, 171, .55);
  box-shadow: 0 8px 22px rgba(11, 127, 171, .10);
}

.cart-service-result strong,
.cart-service-result span {
  display: block;
}

.cart-service-result span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}

.cart-service-status {
  min-height: 18px;
  font-size: 13px;
}

.cart-service-status.error {
  color: #b91c1c;
}

.cart-service-status.loading {
  color: #0b7fab;
}

.cart-qty-control {
  display: inline-grid;
  grid-template-columns: 32px 56px 32px;
  align-items: center;
  gap: 4px;
  min-width: 128px;
}

.cart-qty-control .btn {
  width: 32px;
  min-width: 32px;
  height: 32px;
  padding: 0;
  justify-content: center;
}

.cart-qty-input {
  width: 56px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 10px;
  text-align: center;
  font-weight: 700;
}

@media (max-width: 760px) {
  .cart-service-transfer-card,
  .cart-service-target,
  .cart-service-grid {
    grid-template-columns: 1fr;
  }

  .cart-service-transfer-card {
    display: grid;
  }

  .cart-service-transfer-card .btn,
  .cart-service-form .actions-row .btn {
    width: 100%;
  }

  .cart-qty-control {
    grid-template-columns: 36px minmax(58px, 1fr) 36px;
    width: 100%;
  }

  .cart-qty-control .btn {
    width: 36px;
  }

  .cart-qty-input {
    width: 100%;
  }
}

/* Client command center refresh — 2026-07-12 */
.vehicle-context { border-top: 1px solid #dbe7f2; background: #eef6ff; color: #23415e; }
.vehicle-context .shell { min-height: 38px; display: flex; align-items: center; gap: 8px; font-size: 13px; }
.vehicle-context strong { color: #0f2942; }
.vehicle-context small { color: #58738d; }
.vehicle-context a { margin-left: auto; font-weight: 800; }
.command-home { padding-top: 24px; }
.home-command-hero { display: grid; gap: 22px; border: 1px solid #cbdced; border-radius: 18px; background: linear-gradient(135deg, #071a2c 0%, #123c63 58%, #1769a8 100%); box-shadow: 0 22px 54px rgba(12,48,78,.18); padding: clamp(24px,5vw,58px); color: #fff; }
.home-command-copy { max-width: 860px; display: grid; gap: 12px; }
.home-eyebrow { color: #9ed4ff; font-size: 12px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.home-command-copy h1 { max-width: 920px; margin: 0; font-size: clamp(30px,5vw,54px); line-height: 1.04; letter-spacing: -.035em; }
.home-command-copy p { max-width: 790px; margin: 0; color: #d8eaff; font-size: clamp(15px,2vw,19px); line-height: 1.55; }
.home-command-search { display: grid; grid-template-columns: minmax(0,1fr) 160px 210px; gap: 8px; max-width: 980px; }
.home-command-search input,.home-command-search select,.home-command-search button { min-height: 54px; border-radius: 9px; }
.home-command-search input,.home-command-search select { border: 1px solid rgba(255,255,255,.45); background: #fff; padding: 0 15px; }
.home-search-modes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.home-search-modes a { display: grid; gap: 5px; min-height: 90px; border: 1px solid rgba(255,255,255,.24); border-radius: 10px; background: rgba(255,255,255,.09); padding: 16px; color: #fff; }
.home-search-modes a:hover,.home-search-modes a:focus-visible { background: rgba(255,255,255,.17); }
.home-search-modes span { color: #cce4f8; font-size: 13px; line-height: 1.4; }
.home-process-panel { margin-top: 18px; }
.home-workspaces .catalog-link { min-height: 92px; }
.home-workspaces .catalog-link::before { display: none; }
.home-workspaces .catalog-link { grid-template-columns: 1fr; }

/* Public ecosystem surfaces sit above the legacy buyer theme declared later in
   this file. Keep links readable on their dark panels at every breakpoint. */
body:not(.v2-page) .ecosystem-hero-links a,
body:not(.v2-page) .autoservice-hero-facts a,
body:not(.v2-page) .autoservice-hero-actions a,
body:not(.v2-page) .ecosystem-service-promo a,
body:not(.v2-page) .autoservice-mobile-cta a {
  color: #fff;
}
.checkout-summary-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.checkout-summary-head div { display: grid; gap: 3px; }
.checkout-summary-head b { color: #0c5b98; font-size: 22px; }
.checkout-summary-list { display: grid; gap: 8px; margin-top: 14px; }
.checkout-summary-list > div { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid #e3ebf2; padding-top: 9px; }
.checkout-summary-list span { display: grid; gap: 2px; }

.checkout-loyalty {
  display: grid;
  gap: 14px;
  border: 1px solid #b9d7ee;
  border-radius: 14px;
  padding: 16px;
  background: linear-gradient(135deg, #f4faff 0%, #eef7ff 100%);
}

.checkout-loyalty[hidden] { display: none; }
.checkout-loyalty-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.checkout-loyalty-head > div { display: grid; gap: 3px; }
.checkout-loyalty-head span,.checkout-loyalty-controls .hint { color: #557083; }
.checkout-loyalty-head > b { color: #0c5b98; text-align: right; }
.checkout-loyalty-controls { display: grid; gap: 7px; }
.checkout-loyalty-controls > div { display: flex; align-items: stretch; gap: 8px; }
.checkout-loyalty-controls input { width: min(220px, 100%); }
.checkout-loyalty-confirm { border-top: 1px solid #cfe2f1; padding-top: 12px; }
.loyalty-account-panel .panel-header > div { display: grid; gap: 3px; }
.loyalty-account-summary { margin-bottom: 16px; }
.loyalty-account-summary .finance-item:first-child { border-color: #9cc9e8; background: #f1f9ff; }
.loyalty-history td:nth-child(2) { min-width: 230px; }
.loyalty-history td:nth-child(2) > span { display: block; margin-top: 3px; }
.loyalty-history td:last-child { white-space: nowrap; }

@media (max-width: 620px) {
  .checkout-loyalty-head { display: grid; }
  .checkout-loyalty-head > b { text-align: left; }
  .checkout-loyalty-controls > div { display: grid; }
  .checkout-loyalty-controls input,.checkout-loyalty-controls .btn { width: 100%; }
}
.order-payment { display: grid; gap: 2px; margin-top: 5px; font-size: 11px; }
.order-payment strong { color: #49657e; }
.order-payment.ok strong { color: #167246; }
.order-payment.blocked strong { color: #a33a2c; }
.order-payment small { max-width: 280px; color: #657c91; }
.order-detail-overview { display: grid; gap: 16px; border: 1px solid #cdddec; border-radius: 12px; background: #f7fbff; padding: 18px; }
.order-next-action { display: grid; gap: 4px; border-left: 4px solid #4782b3; padding-left: 14px; }
.order-next-action.ok { border-color: #1d9360; }.order-next-action.warn { border-color: #d79a25; }.order-next-action.danger { border-color: #bf4336; }
.order-next-action span,.order-detail-facts span { color: #668097; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.order-next-action strong { color: #102e48; font-size: 20px; }.order-next-action small { color: #506d86; }
.order-detail-facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 10px; }
.order-detail-facts > div { display: grid; align-content: start; gap: 5px; border: 1px solid #dce7f0; border-radius: 8px; background: #fff; padding: 11px; }
.order-detail-timeline h3 { margin: 0 0 9px; font-size: 15px; }
.order-timeline { display: grid; gap: 8px; margin: 0; padding: 0 0 0 18px; }
.order-timeline li { padding-left: 4px; }.order-timeline li b,.order-timeline li span,.order-timeline li small { display: block; }.order-timeline li span,.order-timeline li small { color: #637b91; font-size: 12px; }
.product-card-commercial { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; border: 1px solid #c9dceb; border-radius: 10px; background: #f3f9ff; padding: 14px; }
.product-card-commercial > div { display: grid; gap: 3px; }.product-card-commercial span { color: #647d93; font-size: 11px; font-weight: 800; text-transform: uppercase; }.product-card-commercial strong { color: #102e48; }
.product-card-commercial p,.product-card-commercial .btn { grid-column: 1/-1; }.product-card-commercial .warning { margin: 0; border-left: 3px solid #d58f1f; padding-left: 10px; color: #7a5214; font-size: 12px; }
.condition-chip-risk { background: #fff0d6; color: #8b5105; white-space: normal; }
.support-modal,.vin-conversation-modal { position: fixed; inset: 0; z-index: 140; display: grid; place-items: center; padding: 18px; }
.support-card,.vin-conversation-card { position: relative; z-index: 1; width: min(680px,100%); max-height: calc(100vh - 36px); overflow: auto; border: 1px solid #c5d7e6; border-radius: 12px; background: #fff; box-shadow: 0 22px 62px rgba(9,35,57,.28); }
.support-card > header,.vin-conversation-card > header { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: 14px; align-items: center; border-bottom: 1px solid #dbe6ee; background: #fff; padding: 15px 18px; }
.support-card > header div,.vin-conversation-card > header div { display: grid; gap: 2px; }.support-card > header span,.vin-conversation-card > header span { color: #687f94; font-size: 12px; }
.support-card form,.vin-conversation-card form { display: grid; gap: 13px; padding: 18px; }.vin-conversation-body { display: grid; gap: 9px; padding: 18px; background: #f6f9fc; }
.dg-assistant-launcher{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:125;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 16px;border:1px solid #0c5e91;border-radius:999px;background:linear-gradient(135deg,#083d61,#0b6da7);color:#fff;box-shadow:0 12px 32px rgba(6,62,98,.32);font:800 14px/1 inherit;cursor:pointer}.cookie-notice~.dg-assistant-launcher{bottom:calc(112px + env(safe-area-inset-bottom))}.dg-assistant-launcher span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.16);font-size:17px}.dg-assistant-launcher:focus-visible{outline:3px solid #f4a949;outline-offset:3px}.dg-chat-card{display:grid;grid-template-rows:auto minmax(180px,1fr) auto;width:min(720px,100%);height:min(760px,calc(100dvh - 36px));overflow:hidden}.dg-chat-loading,.dg-chat-empty,.dg-chat-closed{padding:24px;color:#5c7488;text-align:center}.dg-chat-history{display:flex;flex-direction:column;gap:10px;overflow:auto;padding:18px;background:#f3f7fa;scrollbar-gutter:stable}.dg-chat-message{align-self:flex-start;width:min(82%,560px);padding:11px 13px;border:1px solid #c9d9e5;border-radius:14px 14px 14px 4px;background:#fff;color:#173348;box-shadow:0 3px 10px rgba(9,51,78,.06)}.dg-chat-message.is-mine{align-self:flex-end;border-color:#93c2df;border-radius:14px 14px 4px 14px;background:#e5f4fd}.dg-chat-message header{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:11px;color:#647f92}.dg-chat-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.dg-chat-speech{margin-top:8px;padding:4px 8px;border:1px solid #9bbdd3;border-radius:7px;background:#f3f9fd;color:#174f70;font:700 12px/1.2 inherit;cursor:pointer}.dg-chat-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dg-chat-attachments a,.dg-chat-attachments span{padding:5px 8px;border-radius:7px;background:rgba(7,91,142,.09);font-size:12px}.dg-chat-compose{display:grid!important;grid-template-columns:1fr auto;gap:8px!important;padding:14px!important;border-top:1px solid #d6e3ec;background:#fff}.dg-chat-compose textarea{grid-column:1/-1;width:100%;resize:vertical;max-height:170px}.dg-chat-file{display:flex;align-items:center;min-width:0;cursor:pointer;color:#41667e;font-size:13px}.dg-chat-file input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dg-chat-file span{text-decoration:underline}.dg-chat-voice.is-recording{border-color:#a42d2d;background:#ffe7e7;color:#811d1d;animation:dg-chat-recording 1s ease-in-out infinite}.dg-chat-compose-actions{display:flex;justify-content:flex-end;gap:8px}.dg-chat-intro{padding:18px 18px 0}.dg-chat-intro p{margin:6px 0 0;color:#5f788b}.dg-chat-start{overflow:auto}@keyframes dg-chat-recording{50%{box-shadow:0 0 0 4px rgba(164,45,45,.14)}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:680px){.dg-assistant-launcher{display:none}.dg-chat-card{height:calc(100dvh - 18px);border-radius:10px}.support-modal{padding:9px}.dg-chat-message{width:92%}.dg-chat-compose{grid-template-columns:1fr!important}.dg-chat-compose-actions{display:grid;grid-template-columns:1fr 1fr}.dg-chat-compose-actions .btn{width:100%}}
.dg-chat-message.has-specialist-result{width:min(96%,620px);padding:12px}.dg-chat-specialist-result{display:grid;gap:10px}.dg-chat-vehicle,.dg-chat-clarification,.dg-chat-part-option,.dg-chat-evidence{display:grid;gap:6px;border:1px solid #d5e2eb;border-radius:10px;background:#f8fbfd;padding:11px}.dg-chat-vehicle span,.dg-chat-part-option header span{color:#657e91;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.dg-chat-vehicle small{color:#637b8f}.dg-chat-clarification{border-color:#e5c47b;background:#fff9e9}.dg-chat-clarification p{margin:0}.dg-chat-part-option{background:#fff}.dg-chat-part-option.is-confirmed{border-color:#83c8a3}.dg-chat-part-option.is-candidate{border-color:#e3bd71}.dg-chat-part-option>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0;color:inherit}.dg-chat-part-option>header div{display:grid;gap:3px}.dg-chat-part-option>header strong{font-size:15px}.dg-chat-part-option>header b{white-space:nowrap;color:#0a6a48}.dg-chat-option-facts{display:flex;flex-wrap:wrap;gap:5px}.dg-chat-option-facts span{border-radius:999px;background:#edf4f8;padding:4px 7px;color:#48667c;font-size:11px}.dg-chat-part-option p{color:#294a61;font-size:13px}.dg-chat-option-warning{border-left:3px solid #d08a18;padding-left:8px;color:#79510f;font-size:12px}.dg-chat-part-option .btn{justify-self:start}.dg-chat-evidence summary{cursor:pointer;font-weight:800;color:#315a76}.dg-chat-evidence div{display:grid;gap:5px}.dg-chat-evidence a,.dg-chat-evidence span{overflow-wrap:anywhere;font-size:12px}.dg-chat-result-summary{border-left:3px solid #3284b9;padding-left:9px;color:#25475f}.dg-chat-activity{align-self:flex-start;display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;width:min(92%,560px);border:1px solid #8fc5e4;border-radius:14px 14px 14px 4px;background:#edf8ff;padding:13px;color:#173d57;box-shadow:0 5px 16px rgba(8,75,116,.08)}.dg-chat-activity>div{display:grid;gap:3px}.dg-chat-activity small{color:#59778d}.dg-chat-activity-spinner{width:18px;height:18px;border:3px solid #b9dff5;border-top-color:#0b71aa;border-radius:50%;animation:dg-chat-spin .85s linear infinite}.dg-chat-activity-steps{display:grid;grid-template-columns:repeat(var(--assistant-stage-count,5),minmax(0,1fr));gap:4px;margin-top:6px}.dg-chat-activity-steps i{height:4px;border-radius:999px;background:#c9dce8}.dg-chat-activity-steps i.is-done{background:#3b9a6e}.dg-chat-activity-steps i.is-current{background:#1679b2;animation:dg-chat-pulse 1.2s ease-in-out infinite}@keyframes dg-chat-spin{to{transform:rotate(360deg)}}@keyframes dg-chat-pulse{50%{opacity:.42}}@media(max-width:680px){.dg-chat-message.has-specialist-result,.dg-chat-activity{width:100%}.dg-chat-part-option>header{display:grid}.dg-chat-part-option>header b{white-space:normal}}@media(prefers-reduced-motion:reduce){.dg-chat-activity-spinner,.dg-chat-activity-steps i.is-current{animation:none}}
.dg-chat-offer-asof{color:#61798b;font-size:11px}
.dg-chat-activity-progress{height:7px;overflow:hidden;border-radius:999px;background:#cfe4f0}.dg-chat-activity-progress span{display:block;height:100%;min-width:5%;border-radius:inherit;background:linear-gradient(90deg,#0a70aa,#31a3d1);transition:width .35s ease}.dg-chat-activity[data-assistant-activity]{position:relative}.dg-chat-activity[data-assistant-activity]::after{content:"";position:absolute;inset:-1px;border:1px solid rgba(22,121,178,.25);border-radius:inherit;animation:dg-chat-activity-glow 1.6s ease-in-out infinite;pointer-events:none}@keyframes dg-chat-activity-glow{50%{box-shadow:0 0 0 5px rgba(22,121,178,.08)}}@media(prefers-reduced-motion:reduce){.dg-chat-activity-progress span{transition:none}.dg-chat-activity[data-assistant-activity]::after{animation:none}}
.dg-chat-activity-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.dg-chat-activity-choice{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff2c9;color:#835600;font-weight:900}.dg-chat-activity-actions .btn{min-height:34px}
.vin-conversation-body article,.vin-conversation-request { display: grid; gap: 4px; border: 1px solid #dce6ee; border-radius: 8px; background: #fff; padding: 11px; }.vin-conversation-body article.manager { border-color: #a8cee9; background: #eef8ff; }.vin-conversation-body article small { color: #71869a; }
.vehicle-catalog-context { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; border: 1px solid #c8ddec; border-radius: 8px; background: #edf7ff; padding: 11px 13px; }.vehicle-catalog-context span { color: #5d768c; }.vehicle-catalog-context a { margin-left: auto; }
.ucats-bundle-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; border: 1px solid #d8e4ed; border-radius: 8px; background: #f8fbfd; padding: 10px 12px; }
.cookie-actions { display: flex; gap: 8px; }.return-file-picker small { display: block; color: #6d8295; font-size: 10px; }
@media (max-width:800px) {
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .mobile-bottom-nav { grid-template-columns: repeat(5,minmax(0,1fr)); padding-left: 3px; padding-right: 3px; }.mobile-bottom-nav a,.mobile-bottom-nav .dg-assistant-mobile-nav { min-width:0;min-height:54px;padding:3px 1px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;text-align:center;cursor:pointer;display:grid;place-items:center;gap:1px }.mobile-bottom-nav .dg-assistant-mobile-nav{background:#e8f1fb;color:var(--blue)}.mobile-bottom-nav strong { font-size: 10px; }.mobile-bottom-nav span { font-size: 8px; }
  .home-command-hero { border-radius: 12px; padding: 22px 16px; }.home-command-search { grid-template-columns: 1fr 110px; }.home-command-search button { grid-column: 1/-1; }.home-search-modes { grid-template-columns: 1fr; }.home-search-modes a { min-height: 70px; }
  .vehicle-context .shell { min-height: 44px; flex-wrap: wrap; padding-top: 5px; padding-bottom: 5px; }.vehicle-context small { display: none; }
  .checkout-summary-list > div,.checkout-summary-head { align-items: flex-start; }.checkout-summary-list > div { display: grid; }.product-card-commercial { grid-template-columns: 1fr; }.product-card-commercial p,.product-card-commercial .btn { grid-column: auto; }
  .cookie-notice { left: 8px; right: 8px; bottom: calc(72px + env(safe-area-inset-bottom)); grid-template-columns: 1fr; }.cookie-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .offer-filters { overflow: visible; flex-wrap: wrap; }.offer-filters > * { min-height: 44px; }.return-action-button,.return-policy-chip,.icon-btn { min-width: 44px; min-height: 44px; }
  .vehicle-catalog-context,.ucats-bundle-actions { align-items: flex-start; flex-direction: column; }.vehicle-catalog-context a { margin-left: 0; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
.account-panel-collapsed { display: none; }
.account-dashboard.show-all-panels .account-panel-collapsed { display: block; }
.account-show-more { width: 100%; min-height: 48px; }
.checkout-registration-consents {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.cart-item-unavailable {
  opacity: .72;
}
.cart-item-unavailable .cart-qty-control {
  pointer-events: none;
}
/* Unified description search hint */
.header-search-wrap {
  position: relative;
  z-index: 72;
  min-width: 0;
}
.header-search-wrap > .header-search {
  width: 100%;
}
.description-search-suggestion {
  position: absolute;
  top: calc(100% + 7px);
  left: 12px;
  right: 12px;
  z-index: 4;
  display: grid;
  gap: 2px;
  min-height: 58px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 14px;
  background: rgba(12,35,57,.82);
  box-shadow: 0 16px 38px rgba(7,25,42,.24);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 10px 16px;
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.description-search-suggestion[hidden] { display: none; }
.description-search-suggestion:hover,
.description-search-suggestion:focus-visible {
  background: rgba(10,50,82,.94);
  outline: 2px solid rgba(116,190,248,.72);
  outline-offset: 2px;
}
.description-search-suggestion strong { font-size: 14px; }
.description-search-suggestion span { color: #c9e4f8; font-size: 11px; }
@media (max-width:800px) {
  .header-search-wrap { grid-area: search; }
  .header-search-wrap > .header-search { grid-area: auto; }
  .description-search-suggestion { left: 0; right: 0; top: calc(100% + 5px); min-height: 54px; }
}

/* Search filters: every control follows its readable content width. */
body[data-page="search"] .offer-filter-duration .filter-chips button {
  flex: 0 0 auto;
  width: max-content;
  max-width: none;
  padding-inline: 10px;
  white-space: nowrap;
}

@media (max-width:800px) {
  body[data-page="search"] .offer-filter-duration .filter-chips {
    flex-wrap: wrap;
    overflow-x: visible;
    padding-bottom: 0;
  }
}

@media (min-width:1100px) {
  body[data-page="search"] .offer-filters-four {
    grid-template-columns: max-content minmax(150px, .8fr) minmax(215px, 1.1fr) minmax(175px, .9fr);
    gap: 10px;
  }

  body[data-page="search"] .offer-filters-three {
    grid-template-columns: max-content minmax(215px, 1.1fr) minmax(175px, .9fr);
    gap: 10px;
  }

  body[data-page="search"] .offer-filters > .field,
  body[data-page="search"] .offer-filters select {
    min-width: 0;
    width: 100%;
  }

  body[data-page="search"] .offer-filter-duration .filter-chips {
    flex-wrap: nowrap;
    gap: 4px;
  }

  body[data-page="search"] .offer-filter-duration .filter-chips button {
    min-width: max-content;
  }

  body[data-page="search"] .offer-filter-brand select,
  body[data-page="search"] .offer-filter-supply select,
  body[data-page="search"] .offer-filter-sort select {
    padding-inline: 9px 24px;
  }
}

@media (min-width:801px) and (max-width:1099px) {
  body[data-page="search"] .offer-filters-four {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="search"] .offer-filters-three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="search"] .offer-filter-duration {
    grid-column: 1 / -1;
  }

  body[data-page="search"] .offer-filter-duration .filter-chips {
    flex-wrap: wrap;
  }
}

/* Product card: catalog information first, supply terms second. */
.product-card-modal-dialog {
  width: min(1080px, 100%);
  max-height: min(880px, calc(100vh - 36px));
}

/* Permanent server-rendered product page. */
.product-page { padding-top: 22px; }
.product-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; color: #657b8f; font-size: 13px; }
.product-breadcrumbs a { color: var(--blue); text-decoration: none; }
.product-page-card { display: grid; gap: 18px; }
.product-page-hero { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.25fr) minmax(250px, .7fr); gap: 18px; align-items: start; }
.product-page-gallery,.product-page-summary,.product-page-offer,.product-page-section { border: 1px solid #d8e3ec; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(15,41,66,.06); }
.product-page-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding: 12px; min-height: 330px; }
.product-page-image { display: block; overflow: hidden; min-height: 72px; border: 1px solid #dce6ee; border-radius: 10px; background: #f4f7f9; }
.product-page-image.is-primary { grid-column: 1/-1; min-height: 240px; }
.product-page-image img { width: 100%; height: 100%; min-height: inherit; object-fit: contain; display: block; }
.product-page-image-empty { grid-column: 1/-1; min-height: 300px; display: grid; place-content: center; gap: 8px; padding: 28px; text-align: center; color: #62788b; background: linear-gradient(145deg,#f7fafc,#edf3f7); border-radius: 10px; }
.product-page-image-empty span { font-size: 22px; font-weight: 900; color: #24465f; }
.product-page-summary { padding: clamp(20px,3vw,34px); }
.product-page-eyebrow { display: block; margin-bottom: 8px; color: #57748e; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.product-page-summary h1 { margin: 0; color: #102e48; font-size: clamp(28px,4vw,46px); line-height: 1.08; }
.product-page-category { margin: 12px 0 0; color: #577086; font-size: 16px; }
.product-page-identity { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 22px 0; }
.product-page-identity div { padding: 12px; border-radius: 10px; background: #f3f8fc; }
.product-page-identity dt { color: #668096; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.product-page-identity dd { margin: 5px 0 0; color: #112f49; font-weight: 900; overflow-wrap: anywhere; }
.product-page-description { color: #36536b; line-height: 1.65; }
.product-page-updated { color: #73899a; }
.product-page-offer { display: grid; gap: 11px; padding: 22px; position: sticky; top: 14px; }
.product-page-offer > span { color: #687f92; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.product-page-offer > strong { color: #0c6a44; font-size: 27px; }
.product-page-offer p { margin: 0 0 5px; color: #536c80; line-height: 1.5; }
.product-page-offer .btn { width: 100%; justify-content: center; }
.product-page-section { padding: clamp(20px,3vw,30px); }
.product-page-section h2 { margin: 0 0 18px; color: #102e48; font-size: 23px; }
.product-page-parameters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid #dce6ee; border-radius: 12px; background: #dce6ee; }
.product-page-parameters div { display: grid; grid-template-columns: minmax(130px,.8fr) minmax(160px,1.2fr); gap: 14px; padding: 13px 15px; background: #fff; }
.product-page-parameters dt { color: #637b90; }
.product-page-parameters dd { margin: 0; color: #183b57; font-weight: 800; overflow-wrap: anywhere; }
.product-page-empty-note,.product-page-fitment-empty { margin: 0; padding: 16px; border-left: 4px solid #d39b2a; border-radius: 8px; background: #fff8e8; color: #694d16; line-height: 1.55; }
.product-page-fitment-empty .btn { margin-top: 12px; }
.product-page-fitment { display: grid; gap: 10px; }
.product-page-fitment > details { border: 1px solid #d8e3ec; border-radius: 12px; background: #f8fbfd; }
.product-page-fitment > details > summary { display: flex; justify-content: space-between; gap: 12px; padding: 15px; cursor: pointer; }
.product-page-fitment > details > summary span { color: #657d90; font-size: 13px; }
.product-page-fitment > details > div { display: grid; gap: 12px; padding: 0 15px 15px; }
.product-page-fitment section { padding: 13px; border-radius: 9px; background: #fff; }
.product-page-fitment h3 { margin: 0 0 8px; color: #234861; font-size: 16px; }
.product-page-fitment ul { margin: 0; padding-left: 20px; color: #526b7f; line-height: 1.55; }
.product-page-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.product-page-chips span { padding: 8px 11px; border-radius: 999px; background: #edf5fb; color: #244b67; font-weight: 800; }
.product-page-link { text-decoration-thickness: 2px; }
.product-card-permanent-link { align-self: start; margin-top: 12px; }
.product-card-modal-description { max-width: 72ch; margin: 10px 0 0; color: #405d73; line-height: 1.6; white-space: pre-line; }
@media (max-width: 980px) {
  .product-page-hero { grid-template-columns: minmax(260px,.9fr) minmax(320px,1.1fr); }
  .product-page-offer { grid-column: 1/-1; position: static; grid-template-columns: 1fr 1fr; align-items: center; }
  .product-page-offer > span,.product-page-offer > strong,.product-page-offer > p { grid-column: 1/-1; }
  .product-page-parameters { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .product-page { padding-top: 12px; }
  .product-page-hero { grid-template-columns: 1fr; gap: 12px; }
  .product-page-gallery { min-height: 260px; }
  .product-page-image.is-primary { min-height: 210px; }
  .product-page-summary h1 { font-size: 30px; }
  .product-page-identity,.product-page-offer { grid-template-columns: 1fr; }
  .product-page-parameters div { grid-template-columns: 1fr; gap: 5px; }
  .product-page-fitment > details > summary { display: grid; }
}

.product-card-modal-content {
  padding: 22px;
}

.product-card-modal-hero {
  grid-template-columns: minmax(420px, 1.2fr) minmax(300px, .8fr);
  gap: 26px;
}

.product-card-modal-hero-no-image {
  grid-template-columns: minmax(0, 1fr);
}

.product-card-modal-gallery {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.product-card-modal-image {
  aspect-ratio: 1;
  min-width: 0;
  padding: 8px;
}

.product-card-modal-image-primary {
  grid-column: 1 / -1;
  aspect-ratio: 4 / 3;
  min-height: 350px;
  border-color: #c8d9e8;
  background: #fff;
  padding: 16px;
}

.product-card-modal-image-primary img {
  object-position: center;
}

.product-card-modal-image-thumb {
  min-height: 82px;
}

.product-card-modal-main {
  align-self: center;
}

.product-card-modal-main h2 {
  margin: 8px 0 10px;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.12;
}

.product-card-modal-category {
  color: #49657e;
  font-size: 15px;
}

.product-card-modal-note {
  margin-top: 14px;
  color: #415b72;
  font-size: 14px;
}

.product-card-identity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.product-card-identity > div {
  display: grid;
  gap: 4px;
  border: 1px solid #d9e5ef;
  border-radius: 10px;
  background: #f8fbfd;
  padding: 10px 12px;
}

.product-card-identity span {
  color: #6a8093;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.product-card-identity strong {
  min-width: 0;
  color: #17324a;
  overflow-wrap: anywhere;
}

.product-card-primary-section {
  margin-top: 22px;
  border: 1px solid #ccdeec;
  border-radius: 12px;
  background: #f5faff;
  padding: 16px;
}

.product-card-primary-section h3 {
  font-size: 17px;
}

.product-card-fitment-missing p {
  margin: 0 0 12px;
  color: #526c82;
  line-height: 1.45;
}

.product-card-commercial {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(360px, auto);
  align-items: center;
  gap: 14px 22px;
  margin-top: 20px;
  border: 1px solid #dce6ee;
  border-radius: 10px;
  background: #fafcfd;
  padding: 12px 14px;
  color: #516b80;
}

.product-card-commercial-head {
  display: grid;
  gap: 3px;
}

.product-card-commercial-head strong {
  color: #2a4359;
  font-size: 13px;
}

.product-card-commercial-head span {
  font-size: 11px;
  line-height: 1.35;
}

.product-card-commercial dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(100px, 1fr));
  gap: 8px;
  margin: 0;
}

.product-card-commercial dl > div {
  display: grid;
  gap: 2px;
  border-left: 1px solid #dce6ee;
  padding-left: 10px;
}

.product-card-commercial dt {
  color: #75899a;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.product-card-commercial dd {
  margin: 0;
  color: #2d485f;
  font-size: 13px;
  font-weight: 850;
}

.product-card-commercial .warning {
  grid-column: 1 / -1;
}

@media (max-width:720px) {
  .product-card-modal-content {
    padding: 14px;
  }

  .product-card-modal-hero,
  .product-card-modal-hero-no-image {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .product-card-modal-gallery {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  .product-card-modal-image-primary {
    min-height: 0;
    padding: 10px;
  }

  .product-card-modal-image-thumb {
    min-height: 58px;
    padding: 4px;
  }

  .product-card-modal-main {
    align-self: start;
  }

  .product-card-modal-main h2 {
    font-size: 23px;
  }

  .product-card-identity {
    margin-top: 14px;
  }

  .product-card-primary-section {
    margin-top: 16px;
    padding: 13px;
  }

  .product-card-commercial {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .product-card-commercial dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.service-accounting-page{display:grid;gap:16px;padding-bottom:36px}.service-accounting-nav,.service-accounting-tabs{display:flex;gap:8px;overflow:auto;scrollbar-width:thin}.service-accounting-nav a,.service-accounting-nav>span,.service-accounting-tabs button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid #cedae5;border-radius:10px;background:#fff;color:#304b61;padding:10px 14px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.service-accounting-nav .current,.service-accounting-tabs .current{border-color:#e33732;background:#e33732;color:#fff}.service-accounting-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:16px;border-bottom:1px solid #e0e8ef}.service-accounting-toolbar>div{display:grid;gap:4px}.service-accounting-toolbar>div>strong{font-size:19px}.service-accounting-toolbar>div>span{color:#6c7f8e}.service-accounting-toolbar form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.service-accounting-toolbar label{display:grid;gap:4px;color:#617384;font-size:12px;font-weight:750}.service-accounting-toolbar input{min-height:42px;border:1px solid #cad6e0;border-radius:8px;padding:6px 9px;background:#fff;color:#183044}.service-accounting-tabs{padding:14px 16px;border-bottom:1px solid #e0e8ef}.service-accounting-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}.service-accounting-metric{display:grid;gap:5px;min-width:0;padding:14px;border:1px solid #dbe5ec;border-radius:12px;background:#f8fbfd}.service-accounting-metric span,.service-accounting-metric small{color:#617786}.service-accounting-metric strong{font-size:21px;overflow-wrap:anywhere}.service-accounting-metric.primary{border-color:#e33732;background:#fff2f1}.service-accounting-metric.warning{border-color:#e3b34b;background:#fff9ea}.service-accounting-section{padding:16px}.service-accounting-section>h2{margin:0 0 14px}.service-accounting-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.service-accounting-section-head h2,.service-accounting-section-head p{margin:0}.service-accounting-section-head p{margin-top:4px;color:#617786}.service-accounting-explain{margin:0 16px 16px;padding:16px;border:1px solid #dbe5ec;border-radius:12px;background:#f8fbfd}.service-accounting-explain h2{margin:0 0 10px}.service-accounting-explain p,.service-accounting-explain ol{margin:0;color:#40586b;line-height:1.55}.service-accounting-list{display:grid;gap:9px}.service-accounting-list article{display:grid;grid-template-columns:1fr minmax(130px,.45fr) minmax(180px,.7fr);gap:12px;padding:13px;border:1px solid #dbe5ec;border-radius:10px}.service-accounting-list article>div{display:grid;gap:3px}.service-accounting-list span{color:#617786;font-size:12px}.service-accounting-state{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eaf0f4;color:#385064;font-weight:750}.service-accounting-state.available,.service-accounting-state.paid{background:#e5f6eb;color:#19683a}.service-accounting-state.awaiting_order_payment{background:#fff4d9;color:#795512}.service-accounting-state.missing_cost{background:#ffe8e5;color:#9f2f26}
@media(max-width:900px){.service-accounting-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.service-accounting-toolbar{align-items:stretch;flex-direction:column}.service-accounting-toolbar form{display:grid;grid-template-columns:1fr 1fr}.service-accounting-toolbar form .btn{width:100%}.service-accounting-list article{grid-template-columns:1fr 1fr}.service-accounting-list article>div:last-child{grid-column:1/-1}}
@media(max-width:620px){.service-accounting-page{gap:10px}.service-accounting-metrics{grid-template-columns:1fr 1fr;padding:10px}.service-accounting-metric{padding:11px}.service-accounting-metric strong{font-size:17px}.service-accounting-toolbar,.service-accounting-tabs,.service-accounting-section{padding:10px}.service-accounting-toolbar form{grid-template-columns:1fr}.service-accounting-section-head{display:grid}.service-accounting-section-head .btn{width:100%}.service-accounting-list article{grid-template-columns:1fr}.service-accounting-list article>div:last-child{grid-column:auto}.service-accounting-table table,.service-accounting-table tbody,.service-accounting-table tr,.service-accounting-table td{display:block;width:100%}.service-accounting-table thead{display:none}.service-accounting-table tr{margin-bottom:10px;padding:10px;border:1px solid #dbe5ec;border-radius:10px}.service-accounting-table td{display:grid;grid-template-columns:minmax(105px,36%) minmax(0,1fr);gap:8px;padding:6px 0;border:0}.service-accounting-table td:before{content:attr(data-label);color:#6c7f8e;font-size:10px;font-weight:800;text-transform:uppercase}}

/* Owner accounting pages must shrink below the min-content width of their tabs and forms. */
.service-accounting-page{grid-template-columns:minmax(0,1fr);min-width:0;width:100%}
.service-accounting-page>*,.service-accounting-page .account-panel,.service-accounting-toolbar,.service-accounting-toolbar>*,.service-accounting-toolbar form,.service-accounting-toolbar label,.service-accounting-tabs,.service-accounting-nav,.service-accounting-section{min-width:0;max-width:100%}
.service-accounting-toolbar input{min-width:0;max-width:100%;width:100%}
@media(max-width:620px){.service-accounting-nav,.service-accounting-tabs{flex-wrap:wrap;overflow-x:visible}.service-accounting-nav>*,.service-accounting-tabs button{flex:1 1 140px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}}

.service-search-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:14px 16px;border:1px solid #efaaa6;border-radius:12px;background:#fff5f4}.service-search-context>div{display:grid;gap:4px;min-width:0}.service-search-context strong{color:#8d2723;font-size:16px}.service-search-context span{color:#536a7b;line-height:1.4}
@media(max-width:620px){.service-search-context{align-items:stretch;flex-direction:column}.service-search-context .btn{width:100%}}

.storefront-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:24px 0;padding:28px;border-radius:20px;background:linear-gradient(135deg,#eef5ff,#fff);border:1px solid #dce7f5}.storefront-hero h1{margin:.35rem 0 .5rem;font-size:clamp(1.8rem,4vw,3rem)}.storefront-hero p{max-width:720px;margin:0;color:#506176}.storefront-summary{display:grid;min-width:150px;text-align:right}.storefront-summary strong{font-size:2.2rem;color:#164f96}.storefront-summary span{color:#64748b}.storefront-feedback{min-height:1.5rem;margin:0 0 16px;color:#475569}.storefront-feedback[data-kind="success"]{color:#147a47}.storefront-feedback[data-kind="error"]{color:#b42318}.storefront-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.storefront-product{display:flex;min-width:0;flex-direction:column;padding:20px;border:1px solid #dce4ee;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(21,42,71,.06)}.storefront-product-identity{display:flex;justify-content:space-between;gap:12px;color:#596b80}.storefront-product-identity strong{color:#17263a}.storefront-product h2{font-size:1.05rem;line-height:1.4;margin:14px 0;overflow-wrap:anywhere}.storefront-product dl{display:grid;gap:8px;margin:auto 0 18px}.storefront-product dl div{display:flex;justify-content:space-between;gap:12px}.storefront-product dt{color:#64748b}.storefront-product dd{margin:0;font-weight:700}.storefront-product-action{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.storefront-product-action label{display:grid;gap:5px;font-size:.8rem;color:#64748b}.storefront-product-action input{width:76px;padding:9px;border:1px solid #cbd5e1;border-radius:9px}.storefront-more{display:flex;justify-content:center;margin:24px 0}@media(max-width:900px){.storefront-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.storefront-hero{align-items:flex-start;flex-direction:column;padding:20px}.storefront-summary{text-align:left}.storefront-grid{grid-template-columns:1fr}.storefront-product-action{align-items:stretch;flex-direction:column}.storefront-product-action input{width:100%;box-sizing:border-box}}

/* Service pages keep consent and assistant controls in the document flow.
   They must never cover work orders, accounting cards, or service actions. */
body[data-page^="service"] .cookie-notice.cookie-notice-inline {
  position: static;
  inset: auto;
  z-index: auto;
  width: 100%;
  max-width: none;
  margin: 0 0 16px;
  box-shadow: none;
}

body[data-page^="service"] .header-actions .dg-assistant-launcher-inline {
  position: static;
  inset: auto;
  z-index: auto;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 6px;
  box-shadow: none;
}

body[data-page^="service"] .header-actions .dg-assistant-launcher-inline span {
  width: 22px;
  height: 22px;
  font-size: 15px;
}

@media (max-width: 800px) {
  body[data-page^="service"] .header-actions .dg-assistant-launcher-inline {
    display: none;
  }

  body[data-page^="service"] .cookie-notice.cookie-notice-inline {
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 10px;
  }
}
