@font-face {
  font-family: "IBM Plex Sans";
  src: url("vendor/ibm-plex/IBMPlexSans-Regular.5aaadb685d3c.woff2") format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("vendor/ibm-plex/IBMPlexSans-Medium.02ec16345450.woff2") format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("vendor/ibm-plex/IBMPlexSans-SemiBold.51d76d33ef85.woff2") format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans Condensed";
  src: url("vendor/ibm-plex/IBMPlexSansCondensed-SemiBold.7291775918ac.woff2") format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("vendor/ibm-plex/IBMPlexMono-Regular.b51685c998a0.woff2") format('woff2');
  font-weight: 400;
  font-display: swap;
}

:root {
  --ink: #e6eefb;
  --muted: #a5b6ce;
  --line: #34445e;
  --surface: #17243a;
  --ground: #0b1222;
  --navy: #f1f6ff;
  --navy-soft: #182641;
  --cobalt: #94baff;
  --cobalt-hover: #c0daff;
  --cobalt-pale: #213753;
  --petrol: #0f7b82;
  --danger: #b4234b;
  --success: #20744a;
  --warning: #9b6511;
  --pale: #223550;
  --accent: var(--cobalt);
  --purple: var(--cobalt);
  --purple-dark: var(--navy);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--ground);
  color: var(--ink);
  font: 400 15px/1.5 "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
}
a { color: var(--cobalt); }
a:hover { color: var(--cobalt-hover); }
h1, h2, h3 {
  color: var(--navy);
  font-family: "IBM Plex Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  letter-spacing: -.012em;
}
h1 { font-size: clamp(1.9rem, 3vw, 2.35rem); }
h2 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
h3 { font-size: 1.15rem; }
code, .product-code, .workbench-detail-head h2 { font-family: "IBM Plex Mono", Consolas, monospace; }
.ui-icon { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }

/* Application shell */
.site-header {
  position: fixed;
  z-index: 20;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  height: 64px;
  min-height: 64px;
  flex-wrap: nowrap;
  padding: 0 24px;
  background: var(--navy);
  color: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,.08);
}
.wordmark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 180px;
  color: #fff;
  text-decoration: none;
}
.wordmark:hover { color: #fff; }
.wordmark .wordmark-mark {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 7px;
  background: var(--cobalt);
  color: #fff;
  font: 600 .8rem/1 "IBM Plex Mono", monospace;
  letter-spacing: -.06em;
}
.wordmark .wordmark-copy { color: #fff; display: grid; line-height: 1.1; }
.wordmark-copy strong { font-size: 1rem; font-weight: 600; }
.wordmark-copy small { margin-top: 3px; color: #aab9d1; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.identity {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  color: #dbe5f5;
  font-size: .84rem;
}
.identity-user, .identity-login, .text-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.identity-login { color: #fff; text-decoration: none; }
.identity form { margin: 0; }
.text-action {
  min-height: 32px;
  padding: 4px 8px;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #dbe5f5;
  font: inherit;
  cursor: pointer;
}
.text-action:hover, .text-action:focus-visible { background: rgba(255,255,255,.1); box-shadow: none; color: #fff; }
.menu-toggle { display: none; }

.site-nav {
  position: fixed;
  z-index: 15;
  top: 64px;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 204px;
  padding: 18px 12px;
  border-right: 1px solid var(--line);
  background: #fff;
}
.site-nav > a {
  background: transparent;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 42px;
  margin: 2px 0;
  padding: 0 11px;
  border-radius: 7px;
  color: #465570;
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
}
.site-nav > a:hover { background: #f0f3f8; color: var(--navy); }
.site-nav > a[aria-current="page"] { border-bottom: 0; background: var(--cobalt-pale); color: var(--cobalt); font-weight: 600; }
.site-nav > a[aria-current="page"] .ui-icon { stroke-width: 2.2; }
.site-nav-support {
  display: grid;
  gap: 5px;
  margin-top: auto;
  padding: 14px 11px 2px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .73rem;
}
.site-nav-support a { font-size: .78rem; text-decoration: none; }
main {
  min-height: calc(100vh - 64px);
  max-width: 1600px;
  width: calc(100% - 204px);
  margin-left: 204px;
  padding: 96px 32px 42px;
}
.site-footer {
  margin-left: 204px;
  padding: 18px 32px;
  border-top: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  font-size: .78rem;
}
.skip-link {
  position: fixed;
  z-index: 100;
  top: -4rem;
  left: 16px;
  padding: 8px 12px;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
}
.skip-link:focus { top: 10px; }
:focus-visible { outline: 3px solid #f1a630; outline-offset: 3px; }

/* Shared application surfaces and controls */
.catalog-head, .panel, .hero, .page-heading, .product-detail, .content-page,
.message-page, .auth-page, .directory > div, .metric, .hero-panel, .stats article,
.category-card, .split-details .detail-section, .account-card, .redeem-banner,
.product-evidence, .product-facts > section {
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  box-shadow: 0 1px 2px rgba(16,27,48,.04);
}
.panel, .catalog-head, .hero, .page-heading, .product-detail, .content-page,
.message-page, .auth-page { padding: 24px; }
.kicker, .eyebrow {
  margin: 0 0 5px;
  color: var(--cobalt);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .085em;
}
.filter-form, .admin-main .filter-form {
  border-color: var(--line);
  background: #fff;
  box-shadow: none;
}
input, select, textarea, .filter-form input, .filter-form select, .panel input, .panel select, .panel textarea {
  min-height: 40px;
  border-color: #c8d2e0;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
button, .button, .filter-form button, .load-more a {
  min-height: 38px;
  border-color: var(--cobalt);
  border-radius: 6px;
  background: var(--cobalt);
  box-shadow: none;
  color: #fff;
  font-weight: 600;
}
button:hover, .button:hover, .filter-form button:hover, .load-more a:hover { background: var(--cobalt-hover); border-color: var(--cobalt-hover); box-shadow: none; }
.button.secondary {
  border-color: #bdc9da;
  background: #fff;
  color: #33435d;
  box-shadow: none;
}
.button.secondary:hover { background: #f5f7fa; color: var(--navy); }
.message { border: 1px solid #b7c8ed; border-left: 4px solid var(--cobalt); background: #f4f7ff; color: #263a5b; }
.notice { background: #eef6ff; }.caution { border-left-color: #b7791f; background: #fff9ed; }
.table-wrap, .data-table-wrap { border: 1px solid var(--line); border-radius: 8px; background: #fff; }
th { background: #f6f8fb; color: #4a5c76; font-size: .78rem; font-weight: 600; }
tbody tr:hover { background: #f6f8fd; }
.admin-nav { border-color: var(--line); background: #fff; box-shadow: none; }
.admin-nav a { color: #43536d; }.admin-nav a:hover { background: #f1f4f9; color: var(--navy); }.admin-nav a[aria-current="page"] { background: var(--cobalt-pale); color: var(--cobalt); box-shadow: none; }
/* Status-specific rules remain owned by portal.css; no generic .badge override. */

button:disabled, .button:disabled { background: #edf1f7; border-color: #cbd4e1; color: #627089; cursor: not-allowed; box-shadow: none; }
input[type="checkbox"], input[type="radio"] { min-height: 0; }
.auth-page p:has(input[type="checkbox"]) { display: flex; align-items: center; gap: 8px; }
.auth-page p:has(input[type="checkbox"]) label { margin: 0; }
/* Home: the search is the first task, with real catalogue totals shown once. */
.home-search {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  gap: 40px;
  align-items: end;
  padding: clamp(28px, 5vw, 56px);
  border-radius: 10px;
  background: var(--navy);
  color: #f6f8fc;
}
.home-search h1 { max-width: 620px; margin: 0; color: #fff; font-size: clamp(2rem, 4vw, 2.85rem); line-height: 1.05; }
.home-search-copy > p:last-child { max-width: 590px; margin: 14px 0 0; color: #b7c6dc; font-size: 1rem; }
.home-search .eyebrow { color: #9eb9ff; }
.home-search-form label { display: block; margin-bottom: 7px; color: #dbe5f5; font-size: .82rem; font-weight: 600; }
.home-search-form > div { display: flex; }
.home-search-form input { min-width: 0; flex: 1; border: 0; border-radius: 6px 0 0 6px; }
.home-search-form button { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; border-radius: 0 6px 6px 0; }
.home-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 9px 9px;
  background: #fff;
}
.home-stats > div { display: flex; align-items: baseline; gap: 8px; min-height: 62px; padding: 14px 24px; border-right: 1px solid var(--line); }
.home-stats > div:last-child { border-right: 0; }.home-stats strong { font: 400 1.3rem/1 "IBM Plex Mono", monospace; color: var(--navy); }.home-stats span { color: var(--muted); font-size: .82rem; }
.redeem-banner { display: flex; justify-content: space-between; gap: 28px; margin-top: 28px; padding: 22px 24px; }.redeem-banner h2 { margin: 0; }.redeem-banner p { margin: 5px 0 0; color: var(--muted); }.redeem-banner form { display: grid; grid-template-columns: minmax(180px,1fr) auto auto; gap: 8px; align-items: end; }.redeem-banner label { display: block; margin-bottom: 5px; font-size: .78rem; color: var(--muted); } .redeem-code input { width: 100%; }.redeem-banner a { align-self: center; font-size: .86rem; }
.section-heading { display: flex; justify-content: space-between; gap: 16px; align-items: end; margin: 38px 0 14px; }.section-heading h2 { margin: 0; }.section-heading a { display: inline-flex; align-items: center; gap: 5px; font-size: .86rem; font-weight: 600; text-decoration: none; }
.category-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }.category-card { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 14px; color: var(--ink); text-decoration: none; }.category-card:hover { border-color: #afc2ea; background: #fafcff; }.category-card > .ui-icon { grid-column: 3; grid-row: 1 / 3; width: 16px; height: 16px; color: #90a0b7; }.category-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; background: var(--cobalt-pale); color: var(--cobalt); }.category-label { grid-column: 2; grid-row: 1; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }.category-card small { grid-column: 2; grid-row: 2; color: var(--muted); font-size: .76rem; }.product-grid { gap: 14px; }.product-card { border-color: var(--line); border-radius: 9px; box-shadow: none; }.product-card h2 { font-size: 1.08rem; }.product-brand { color: var(--cobalt); font-weight: 600; }

/* Catalog command surface and workbench */
.workspace-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 18px; }.workspace-heading h1 { margin: 0; }.workspace-description { max-width: 680px; margin: 6px 0 0; color: var(--muted); }.workspace-label { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; background: #eaf0fb; color: #3d5680; font-size: .78rem; font-weight: 600; }
.catalog-searchbar { margin-inline: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; top: 64px; z-index: 10; background: var(--ground); border-bottom-color: var(--line); }.catalog-workbench-search { position: sticky; z-index: 10; top: 64px; display: flex; align-items: center; min-height: 64px; margin: 0 0 18px; padding: 10px 14px; border: 1px solid #b9c8df !important; border-radius: 8px; background: #fff !important; box-shadow: 0 2px 7px rgba(16,27,48,.08); }.sticky-catalog-search { display: flex; align-items: stretch; }.catalog-workbench-search .sticky-catalog-search { max-width: none; gap: 0; }.search-icon { display: grid; flex: 0 0 40px; place-items: center; border: 1px solid #c8d2e0; border-right: 0; border-radius: 6px 0 0 6px; background: #fff; color: #71819a; }.search-icon .ui-icon { width: 18px; height: 18px; }.sticky-catalog-search input[type="search"] { min-width: 0; border-radius: 0; }.catalog-workbench-search .sticky-catalog-search input { background: #fff; }.sticky-catalog-search button { border-radius: 0 6px 6px 0; }.catalog-workbench-search .sticky-catalog-search button { background: var(--cobalt); }
.catalog-workbench-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }.catalog-workbench-head h1, .catalog-workbench-head .kicker { display: none; }.filter-heading { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: #4d5e77; font-size: .82rem; font-weight: 600; }.catalog-compact-filters { min-width: min(100%, 510px); }.catalog-compact-filters button { background: var(--cobalt); }
body:has(.catalog-workbench) main { width: calc(100% - 204px); max-width: 1600px; padding-top: 88px; }.catalog-workbench-grid { grid-template-columns: minmax(340px, 46fr) minmax(0, 54fr); gap: 16px; }.catalog-result-pane, .catalog-detail-pane { border-color: var(--line); border-radius: 9px; background: #fff; box-shadow: 0 1px 2px rgba(16,27,48,.04); }.catalog-detail-pane { position: static; max-height: none; overflow: visible; }.catalog-result-pane { min-height: auto; }.catalog-result-table th { background: #f6f8fb; color: #4a5c76; }.catalog-result-table td { font-size: .84rem; line-height: 1.4; }.catalog-result-row.is-selected { background: #edf3ff; box-shadow: inset 3px 0 var(--cobalt); }
.workbench-detail { padding: 18px; }.workbench-detail-head h2 { font-weight: 400; color: var(--navy); font-size: 1.35rem; }.workbench-actions .button { display: inline-flex; align-items: center; gap: .4rem; }.workbench-actions .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }.workbench-tabs { flex-wrap: wrap; gap: 6px; overflow: visible; margin: 0 0 16px; padding: 0 0 10px; border-bottom-color: var(--line); }.workbench-tabs button { min-height: 44px; border: 1px solid #c4d0df; border-radius: 6px; background: #fff; box-shadow: none; color: #3c4e69; font-size: .82rem; }.workbench-tabs button:hover { border-color: #94addd; background: #f4f7ff; color: var(--cobalt); }.workbench-tabs button[aria-selected="true"] { border-color: var(--cobalt); background: var(--cobalt); color: #fff; box-shadow: none; }
.workbench-image .source-image-wrap { border-color: var(--line); background: #f7f9fc; }.workbench-summary > div { min-height: 38px; border-bottom-color: #e5eaf1; }.workbench-summary dt, .workbench-properties dt { color: var(--muted); }.oem-search-link, .vehicle-summary-link, .vehicle-count-link { border-color: #b7c8e7; background: #f2f6ff; color: #264eac; }.oem-search-link:hover, .vehicle-summary-link:hover, .vehicle-count-link:hover { background: #e6eeff; }
.workbench-properties > div { min-height: 42px; border-bottom-color: #e2e8f0; }.workbench-properties dd small { color: var(--muted); }.catalog-detail-pane .data-table-wrap th, .catalog-detail-pane .data-table-wrap td { font-size: .8rem; }
.component-section { border-color: var(--line); border-radius: 8px; background: #f8fafc; box-shadow: none; }.component-card { border-color: var(--line); border-radius: 8px; background: #fff; box-shadow: none; }.component-card > a:focus-visible { outline-color: #f1a630; }.component-image, .component-image-placeholder { border-color: #d7e0eb; background: #f4f7fa; }.component-image .source-image-region { border-color: var(--cobalt); background: rgba(36,87,230,.12); }.component-info strong, .component-unavailable strong { color: var(--navy); }.component-info .component-brand { color: var(--cobalt); }.component-action { color: var(--cobalt); }.workbench-caution { border-left-color: #d09427; background: #fff9ed; }
.product-title h1 { font-family: "IBM Plex Mono", monospace; }.product-title em { background: var(--cobalt-pale); color: #264eac; }.product-facts dl > div { min-height: 42px; padding: .3rem 0; }.catalog-return-link { border-color: #c3cfdf; border-radius: 6px; background: #fff; }


.workbench-detail-head { display: block; }
.workbench-detail-head p { color: var(--cobalt); font-weight: 600; letter-spacing: .04em; }
.workbench-detail-head h2 { margin: 4px 0; }
.workbench-actions { justify-content: flex-start; gap: 6px; margin-top: 12px; }
.workbench-tabs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.workbench-tabs button { padding: 7px 4px; font-size: .76rem; line-height: 1.2; }
.catalog-result-table { min-width: 0; table-layout: fixed; }
.catalog-result-table th, .catalog-result-table td { overflow-wrap: anywhere; }
.catalog-result-table th { white-space: normal; }
.catalog-result-table th:nth-child(1) { width: 23%; }
.catalog-result-table th:nth-child(2) { width: 31%; }
.catalog-result-table th:nth-child(3) { width: 15%; }
.catalog-result-table th:nth-child(4) { width: 13%; }
.catalog-result-table th:nth-child(5) { width: 18%; }
.match-label { white-space: normal; }

/* Source-linked components retain their measured image and text geometry. */
.component-section { margin: 16px 0; padding: 16px; border: 1px solid var(--line); }
.component-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.component-heading h3 { margin: 0; }
.component-heading > span, .component-section > p { color: var(--muted); font-size: .78rem; }
.component-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.component-card { display: grid; grid-template-columns: 88px minmax(0,1fr); column-gap: .8rem; align-items: start; min-width: 0; min-height: 104px; padding: 10px; border: 1px solid var(--line); }
.component-card > a { display: grid; grid-column: 1 / -1; grid-template-columns: 88px minmax(0,1fr); column-gap: .8rem; color: inherit; text-decoration: none; }
.component-card > a:focus-visible { border-radius: 6px; outline: 3px solid #f1a630; outline-offset: 3px; }
.component-image, .component-image-placeholder { grid-column: 1; grid-row: 1; display: grid; width: 88px; min-height: 84px; place-items: center; overflow: hidden; border: 1px solid #d7e0eb; border-radius: 6px; }
.component-image img { display: block; width: 100%; height: 84px; object-fit: contain; }
.component-image.has-source-region { display: block; min-height: 0; overflow: visible; align-self: center; }
.component-image.has-source-region img { width: 100%; height: auto; max-height: none; object-fit: initial; }
.component-info { grid-column: 2; min-width: 0; align-self: center; }
.component-info strong { display: block; font: 400 1rem/1.4 'IBM Plex Mono', monospace; overflow-wrap: anywhere; }
.component-info .component-brand { display: block; margin-top: 2px; font-size: .82rem; font-weight: 600; }
.component-action { display: inline-flex; min-height: 30px; align-items: center; margin-top: 5px; font-size: .8rem; font-weight: 600; }
.component-card > a:hover .component-info strong { text-decoration: underline; }
.component-unavailable { grid-column: 2; align-self: center; color: var(--muted); font-size: .84rem; }
.component-unavailable strong { display: block; font-size: 1rem; }
.component-source { grid-column: 2; margin: 4px 0 0; color: var(--muted); font-size: .72rem; overflow-wrap: anywhere; }
.workbench-image img { height: auto; max-height: 260px; object-fit: contain; }
.workbench-summary > div { display: grid; grid-template-columns: minmax(120px,.8fr) minmax(0,1.8fr); align-items: start; gap: 10px; padding: 6px 0; border-bottom: 1px solid #e5eaf1; }
.workbench-summary dt { font-size: .78rem; }
.workbench-summary dd { margin: 0; }
.workbench-properties > div { display: grid; grid-template-columns: minmax(130px,.85fr) minmax(0,1.6fr); align-items: center; column-gap: 12px; padding: 5px 0; border-bottom: 1px solid #e2e8f0; }
.workbench-properties dt { font-size: .8rem; }
.workbench-properties dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.workbench-properties dd small { display: inline; margin-left: 7px; font-size: .72rem; font-weight: 400; }
.workbench-properties dd small::before { content: ' · Kaynak: '; }
.oem-search-link { display: inline-flex; align-items: center; min-height: 28px; margin: 1px 3px 1px 0; padding: 3px 8px; border: 1px solid #b7c8e7; border-radius: 5px; font-size: .82rem; text-decoration: none; }
.detail-tab-link { display: inline-flex; align-items: center; min-height: 30px; margin-top: 6px; font-size: .8rem; font-weight: 600; }
.site-header .identity { flex-basis: auto; }
.admin-shell { grid-template-columns: minmax(0,1fr); }
.admin-nav { position: static; display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px; padding: 8px; }
.admin-nav a { padding: 9px 14px; }
.product-facts dl > div { gap: 12px; align-items: center; }
.product-facts dt { font-size: .8rem; }
.product-facts dd { font-size: .88rem; overflow-wrap: anywhere; }
.product-facts dd small { font-size: .72rem; }
.catalog-return-link { padding: 6px 10px; }
.workbench-detail, .workbench-tabs { scroll-margin-top: 148px; }

@media (max-width: 1000px) {
  .site-header { padding: 0 16px; }.menu-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin-left: auto; padding: 6px 9px; border: 1px solid rgba(255,255,255,.26); border-radius: 6px; background: transparent; color: #fff; box-shadow: none; font-size: .82rem; }.menu-toggle:hover { background: rgba(255,255,255,.1); }.identity { margin-left: 12px; }.site-nav { position: fixed; top: 64px; right: 0; bottom: auto; left: 0; display: flex; width: auto; max-height: calc(100vh - 64px); padding: 12px 16px 16px; border-right: 0; border-bottom: 1px solid var(--line); box-shadow: 0 8px 18px rgba(16,27,48,.12); }.js .site-nav { display: none; }.js .site-nav.is-open { display: flex; }.site-nav-support { display: none; } main, .site-footer { margin-left: 0; } main, body:has(.catalog-workbench) main { width: 100%; } html:not(.js) .site-nav { position: static; margin-top: 64px; } html:not(.js) main { padding-top: 24px; } main { padding: 88px 20px 36px; }.site-footer { padding: 18px 20px; }
  .home-search { grid-template-columns: 1fr; gap: 24px; }.catalog-workbench-grid { grid-template-columns: 1fr; }.catalog-detail-pane { order: 0; }.catalog-result-pane { order: 1; }
}
@media (max-width: 640px) {
  body { font-size: 14px; }.site-header { min-height: 64px; }.wordmark { min-width: 0; }.wordmark-copy small { display: none; }.identity-user, .identity-login span, .text-action span { display: none; }.identity { gap: 3px; margin-left: 8px; }.text-action, .identity-login { min-width: 32px; justify-content: center; padding: 5px; }.menu-toggle span { display: none; }.menu-toggle { padding: 6px; }.site-nav { padding-inline: 12px; }
  main, body:has(.catalog-workbench) main { padding: 82px 12px 30px; }.site-footer { padding: 16px 12px; }.panel, .catalog-head, .hero, .page-heading, .product-detail, .content-page, .message-page, .auth-page { padding: 16px; }.home-search { margin-inline: -12px; border-radius: 0; padding: 28px 18px; }.home-stats { margin-inline: -12px; border-radius: 0; }.home-stats > div { min-height: 56px; padding: 10px 12px; gap: 4px; flex-direction: column; justify-content: center; }.home-stats strong { font-size: 1.05rem; }.home-stats span { font-size: .7rem; }.redeem-banner { display: grid; margin-top: 18px; padding: 18px; }.redeem-banner form { grid-template-columns: 1fr auto; }.redeem-banner form a { grid-column: 1 / -1; }.section-heading { margin-top: 28px; }.workspace-heading { display: grid; margin-bottom: 12px; }.workspace-label { justify-self: start; }.catalog-workbench-search { top: 64px; min-height: 58px; margin-inline: 0; padding: 8px; }.catalog-workbench-head { align-items: start; flex-wrap: wrap; }.catalog-compact-filters { min-width: 0; width: 100%; }.workbench-tabs button { flex: 1 1 132px; }.workbench-summary > div, .workbench-properties > div { grid-template-columns: 1fr; gap: 2px; }.component-card, .component-card > a { column-gap: .65rem; grid-template-columns: 80px minmax(0,1fr); }.component-image, .component-image-placeholder { width: 80px; }
}
@media (max-width: 640px) { .workbench-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); } .workbench-properties dd small { display: block; margin: 2px 0 0; } .admin-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); } .admin-nav a { padding: 8px 4px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }


/* Astra: dimensional automotive workspace. Source imagery remains untouched. */
body { background: radial-gradient(ellipse at 90% 0, #26325766, transparent 48%), radial-gradient(ellipse at 15% 80%, #13405233, transparent 42%), #0b1222; background-attachment: fixed; }
.site-header { background: rgba(10,17,31,.96); border-bottom: 1px solid #3e567052; box-shadow: 0 8px 30px #0003, inset 0 -1px 0 #8adfff0a; backdrop-filter: blur(18px); }
.wordmark .wordmark-mark { border: 1px solid #b6d9ff66; background: linear-gradient(145deg,#85dfff,#465fea 65%,#3343a5); color: #08162d; box-shadow: 0 4px 14px #345bc965, inset 0 1px 0 #e5faff; }
.wordmark-copy strong { color: #eff6ff; }.wordmark-copy small { color: #93accd; }
.site-nav { padding-top: 22px; background: linear-gradient(165deg,#152139e8,#0d1629f5 70%); border-right: 1px solid #47607a3d; box-shadow: 12px 0 35px #0002; backdrop-filter: blur(18px); }
.nav-section-label { padding: 0 12px 13px; color: #7b94b4; font-size: .61rem; font-weight: 600; letter-spacing: .16em; }
.site-nav > a { min-height: 46px; margin-block: 4px; color: #aabbd3; border: 1px solid transparent; }
.site-nav > a:hover { background: #5066901f; color: #eff7ff; border-color: #7893b033; }
.site-nav > a[aria-current="page"] { border: 1px solid #7493db66; background: linear-gradient(100deg,#4454a64d,#4e98a91a); color: #c7e6ff; box-shadow: 0 5px 15px #0002, inset 3px 0 0 #80daff, inset 0 1px 0 #b7dfff12; }
.site-nav > a[aria-current="page"] .ui-icon { color: #86deff; filter: drop-shadow(0 0 5px #60c9ff60); }
.site-nav-support { border-color: #7691b033; color: #839bbd; }.site-nav-support a { color: #b3c8e3; }
.site-footer { border-top-color: #607d9c2b; background: #0c142380; color: #8da4c3; }
.skip-link { background: #e2f5ff; color: #0b1a2d; }
.panel, .catalog-head, .hero, .page-heading, .product-detail, .content-page, .message-page, .auth-page, .directory > div, .metric, .hero-panel, .stats article, .category-card, .account-card, .redeem-banner, .product-evidence, .product-facts > section, .catalog-result-pane, .catalog-detail-pane {
  border: 1px solid #839fc533; border-radius: 14px;
  background: linear-gradient(145deg,rgba(31,45,69,.95),rgba(18,29,48,.98));
  box-shadow: 0 14px 35px #02071535, 0 3px 8px #0002, inset 0 1px 0 #d9ecff0b;
}
h1,h2,h3,.hero h1,.page-heading h1 { color: #eef5ff; }
.eyebrow,.kicker { color: #89c8ff; }
input,select,textarea,.filter-form input,.filter-form select,.panel input,.panel select,.panel textarea { background: #0d192c; color: #e7f1ff; border-color: #5b739455; box-shadow: inset 0 2px 5px #0002; color-scheme: dark; }
input::placeholder,textarea::placeholder { color: #93a8c5; opacity: 1; }
input:focus,select:focus,textarea:focus { border-color: #83cfff; }
button,.button,.filter-form button,.load-more a,.catalog-workbench-search .sticky-catalog-search button,.catalog-compact-filters button {
  border: 1px solid #9eb9ff70; border-radius: 8px; background: linear-gradient(145deg,#5369e8,#3f52c3); color: #fff;
  box-shadow: 0 5px 13px #12225366, inset 0 1px 0 #d1e0ff26; transition: background .15s,box-shadow .15s,border-color .15s;
}
button:hover,.button:hover,.filter-form button:hover,.load-more a:hover { border-color: #b9d5ff99; background: linear-gradient(145deg,#6076f0,#465ad0); box-shadow: 0 7px 19px #17357666, inset 0 1px 0 #d1e0ff33; color: #fff; }
.button.secondary { border-color: #7990b155; background: linear-gradient(145deg,#50698733,#30476026); color: #d6e9ff; box-shadow: 0 3px 8px #0002,inset 0 1px 0 #d1e0ff10; backdrop-filter: blur(10px); }
.button.secondary:hover { border-color: #88b6e3; background: #3c567755; color: #fff; }
.text-action { background: transparent; border: 0; box-shadow: none; color: #c5d8f1; text-decoration: none; }.text-action:hover { background: #fff1; box-shadow: none; }
button:disabled,.button:disabled { background: #24334a; border-color: #465872; color: #afbed3; box-shadow: inset 0 1px 0 #ffffff08; }
.message,.notice { background: #1c3452; border-color: #597ca6; color: #d0e5ff; }
.caution,.workbench-caution { border-left-color: #ecb85a; background: #332c20; color: #f1d49b; }
.error-summary { background: #482635; color: #ffd6df; }.errorlist { color: #ffb7c5; }
.filter-form,.admin-main .filter-form { background: #152138; border-color: #52698755; }.catalog-compact-filters { background: transparent; }
.table-wrap,.data-table-wrap,.catalog-table-wrap { background: #131f33; border-color: #4e64814d; border-radius: 9px; }
th,.catalog-result-table th { background: #0e1b2e; color: #a9c2e2; border-bottom-color: #435b7c77; }
td { border-bottom-color: #41547166; }.catalog-result-link { color: #e0ebfb; }
tbody tr:hover,.catalog-result-row:hover,.catalog-result-row:focus-within { background: #223957; }
.catalog-result-row.is-selected { background: linear-gradient(90deg,#284b695f,#3c4c782b); box-shadow: inset 3px 0 #7ddeff; }
.match-label { color: #a7e5f3; border-color: #507e91; background: #28546b33; }
.table-wrap td:last-child:has(.action-link) { background: #18283f; }
.admin-nav { border: 1px solid #6d85a53d; border-radius: 12px; background: #142139c9; box-shadow: 0 8px 24px #0002,inset 0 1px 0 #ffffff08; }
.admin-nav a { color: #b1c5df; }.admin-nav a:hover { color: #fff; background: #34496b55; }.admin-nav a[aria-current="page"] { background: linear-gradient(145deg,#4e65cb55,#31637733); color: #caf0ff; box-shadow: inset 0 0 0 1px #819cf155; }
.metric strong { color: #92dfff; }.audit-row { border-bottom-color: #4e64814d; }.directory li { border-color: #4e64814d; }
.badge { border: 1px solid #9aacc155; }.status-active,.status-usable,.status-available { color: #a4f2d3; background: #164d40; }.status-ending,.status-planned { background: #54411d; color: #ffe1a0; }.status-expired,.status-closed,.status-suspended,.status-revoked { background: #5c293e; color: #ffc2d4; }

/* Search-first automotive scene; the illustration never acts as product evidence. */
.home-search { position: relative; isolation: isolate; overflow: hidden; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0; align-items: center; min-height: 440px; padding: 38px 36px; border: 1px solid #7c9ac047; border-radius: 20px; background: radial-gradient(ellipse at 80% 45%,#294e7d59,transparent 60%),linear-gradient(135deg,#17263f,#111c31 65%,#172d43); box-shadow: 0 24px 60px #0004,inset 0 1px 0 #cae9ff17; }
.home-search::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(#6f9dc309 1px,transparent 1px),linear-gradient(90deg,#6f9dc309 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(90deg,transparent,#000); }
.home-search::after { content: ''; position: absolute; top: -2px; left: 12%; right: 15%; height: 1px; box-shadow: 0 0 30px 3px #6fbaff66; background: #a4dbff; pointer-events: none; }
.home-search-copy { position: relative; z-index: 2; }
.home-search .eyebrow { display: flex; align-items: center; gap: 8px; font-size: .66rem; letter-spacing: .16em; color: #9bd5ff; }
.signal-dot { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #80e5ef; box-shadow: 0 0 10px #80e5efaa; }
.home-search h1 { font-size: clamp(2.1rem,3.7vw,3.15rem); line-height: 1.05; color: #f2f7ff; }
.home-search h1 span { color: #92cdff; }
.home-search-copy > p:not(.eyebrow) { max-width: 380px; margin: 18px 0 23px; color: #adc0d9; font-size: .91rem; line-height: 1.65; }
.home-search-form { position: relative; max-width: 500px; }
.home-search-form label { margin-bottom: 8px; color: #d3e5fb; font-size: .8rem; }
.home-search-form > div { min-height: 48px; padding: 4px; border: 1px solid #89bbe166; border-radius: 10px; background: #0b172bc9; box-shadow: inset 0 2px 9px #0003,0 8px 25px #0002; }
.home-search-symbol { display: grid; flex: 0 0 31px; place-items: center; color: #84b7d7; }
.home-search-form input { min-height: 40px; padding: 8px 4px; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: .8rem; }
.home-search-form button { border-radius: 7px; padding: 8px 12px; font-size: .83rem; }
.home-route { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; font-size: .64rem; color: #94abc8; }.home-route i { color: #69b6dc; font-style: normal; }
.automotive-scene { position: relative; min-width: 0; align-self: stretch; display: grid; align-items: center; }
.automotive-scene img { width: 118%; max-width: none; height: auto; margin-left: -8%; filter: drop-shadow(0 18px 20px #0004); }
.scene-label { position: absolute; display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid #8bb8de4d; border-radius: 7px; color: #c9e4ff; background: linear-gradient(120deg,#34557577,#14283e99); box-shadow: 0 6px 20px #0003,inset 0 1px 0 #cbecff18; backdrop-filter: blur(12px); font: 400 .57rem/1.2 'IBM Plex Mono',monospace; letter-spacing: .02em; white-space: nowrap; }
.scene-label i { width: 4px; height: 4px; border-radius: 50%; background: #7be0ef; box-shadow: 0 0 7px #7be0ef; }
.scene-label-one { left: 1%; top: 19%; }.scene-label-two { right: -2%; top: 43%; }.scene-label-three { left: 5%; bottom: 9%; }
.scene-caption { position: absolute; bottom: -3px; left: 35%; color: #718cab; font: .53rem 'IBM Plex Mono',monospace; letter-spacing: .1em; }
.home-stats { gap: 14px; margin-top: 18px; border: 0; border-radius: 0; background: none; }
.home-stats > div { position: relative; min-height: 85px; padding: 19px 22px; border: 1px solid #7c9bb43b; border-radius: 12px; background: linear-gradient(135deg,#20344cb3,#162238ee); box-shadow: 0 8px 22px #0003,inset 0 1px 0 #b1d9ff0f; }
.home-stats > div:last-child { border-right: 1px solid #7c9bb43b; }.home-stats strong { color: #c2e8ff; font-size: 1.65rem; }.home-stats span { color: #9db5d0; }
.category-card { min-height: 83px; background: linear-gradient(135deg,#22344b88,#152137e8); transition: border-color .15s,box-shadow .15s; }
.category-card:hover { background: linear-gradient(135deg,#2b45618a,#1b2c46); border-color: #6baddc; box-shadow: 0 10px 24px #0003,inset 0 1px 0 #d1e0ff16; }
.category-icon { background: linear-gradient(145deg,#4a659655,#34728b22); color: #9adfff; border: 1px solid #6796b744; box-shadow: inset 0 1px 0 #fff1; }
.category-label { color: #d6e6fa; }.category-card small { color: #9ab0cc; }
.product-card { background: #17263d; border-color: #7894b73d; box-shadow: 0 8px 25px #0002; }.product-card a { color: #deecff; }

/* Dense data surfaces: contrast and focus take priority over translucent effects. */
.workspace-label { background: linear-gradient(120deg,#32527566,#36457855); border: 1px solid #81a4ce44; color: #b8dfff; box-shadow: inset 0 1px 0 #fff1; }
.catalog-searchbar,.catalog-workbench-search { background: #122139ed !important; border-color: #6c97ba80 !important; box-shadow: 0 9px 26px #0004,inset 0 1px 0 #bcdfff14; backdrop-filter: blur(20px); }
.catalog-workbench-search .sticky-catalog-search input,.sticky-catalog-search input { background: #0b182b; color: #e2f2ff; border-color: #60799b66; }
.search-icon { background: #0b182b; color: #88b9df; border-color: #60799b66; }.filter-heading { color: #aac1dc; }
.workbench-detail-head p { color: #90d4ff; }.workbench-detail-head h2 { color: #edf6ff; }
.workbench-tabs { border-bottom-color: #5b729252; gap: 6px; }
.workbench-tabs button { border: 1px solid #637c9e66; background: linear-gradient(140deg,#4d65802e,#33486122); color: #b9cee6; box-shadow: 0 3px 7px #0002,inset 0 1px 0 #ffffff0d; }
.workbench-tabs button:hover { background: #34527377; border-color: #8abbdc; color: #eef9ff; }
.workbench-tabs button[aria-selected="true"] { border-color: #94c7ef99; background: linear-gradient(135deg,#4f64d7,#34578c); color: #fff; box-shadow: 0 5px 14px #11205299,inset 0 1px 0 #d4efff30; }
.workbench-image .source-image-wrap { background: #f3f7fb; border: 1px solid #92aac277; box-shadow: 0 8px 20px #0003,inset 0 1px 0 #fff; }
.workbench-summary > div,.workbench-properties > div,.workbench-list li { border-bottom-color: #50678555; }
.workbench-summary dd,.workbench-properties dd { color: #dfeafa; }
.oem-search-link,.vehicle-summary-link,.vehicle-count-link { background: #28496766; border-color: #5d8caf; color: #a8dfff; }.oem-search-link:hover,.vehicle-summary-link:hover,.vehicle-count-link:hover { background: #36618488; color: #d3f2ff; }
.component-section { background: linear-gradient(145deg,#172d4780,#101c30aa); border-color: #6b91b455; box-shadow: inset 0 1px 0 #d1e0ff0a; }
.component-card { background: linear-gradient(135deg,#2a3f5988,#1a2942); border-color: #6687a455; box-shadow: 0 7px 16px #0002,inset 0 1px 0 #d1e0ff14; }
.component-image,.component-image-placeholder { background: #eef4fa; border-color: #819fb5; color: #334b67; }.component-info strong,.component-unavailable strong { color: #e8f3ff; }.component-info .component-brand,.component-action { color: #91d5ff; }
.product-title p { color: #98d6ff; }.product-title em,.tag { background: #2b4461; color: #b9deff; }.catalog-return-link { background: #29405a77; border-color: #7b9cbd55; color: #badeff; }
.refine,.empty-state { background: #263345; color: #d3e1f3; }.account-list > div { border-color: #516d8f55; }
@media(max-width:1100px) and (min-width:1001px) { .home-search { padding: 28px; }.home-search h1 { font-size: 2.2rem; }.scene-label { font-size: .5rem; padding: 6px; } }
@media(max-width:1000px) { .home-search { grid-template-columns: minmax(0,1fr) minmax(0,.9fr); padding: 32px; min-height: 410px; }.site-nav { background: #112038f5; }.nav-section-label { display: none; }.menu-toggle { background: #24354d88; border-color: #7b9ac255; }.menu-toggle:hover { background: #365077; } }
@media(max-width:700px) { .home-search { grid-template-columns: 1fr; min-height: 0; padding: 28px; gap: 4px; }.home-search-copy > p:not(.eyebrow) { max-width: 500px; }.automotive-scene { width: min(100%,420px); height: 260px; margin: 0 auto; }.automotive-scene img { width: 106%; margin-left: -3%; max-height: 290px; object-fit: contain; }.scene-label-one { top: 20%; left: 0; }.scene-label-two { top: 43%; right: 0; }.scene-label-three { bottom: 12%; }.scene-caption { bottom: 0; }.home-search h1 { font-size: 2.4rem; } }
@media(max-width:640px) { .home-search { margin-inline: 0; border-radius: 15px; padding: 25px 19px 16px; }.home-search h1 { font-size: 2.15rem; }.home-search .eyebrow { font-size: .56rem; letter-spacing: .11em; }.home-search-copy > p:not(.eyebrow) { font-size: .85rem; margin-block: 14px 18px; }.home-search-form input { font-size: .71rem; }.home-search-symbol { flex-basis: 24px; }.home-search-form button { padding-inline: 9px; }.home-search-form button .ui-icon { display: none; }.home-route { font-size: .57rem; gap: 7px; }.automotive-scene { height: 230px; }.scene-label { font-size: .5rem; padding: 6px; }.home-stats { margin: 12px 0 0; gap: 7px; }.home-stats > div { min-height: 76px; padding: 12px 9px; }.home-stats strong { font-size: 1.18rem; }.home-stats span { font-size: .64rem; }.workbench-tabs { gap: 5px; } }

/* Source-led exploration: the same visual system across all entry paths. */
.home-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px; }
.path-card { display:flex; align-items:center; gap:12px; padding:17px; border:1px solid #7094b747; border-radius:12px; background:linear-gradient(135deg,#27405777,#1c294166); box-shadow:0 8px 24px #0002,inset 0 1px 0 #fff1; text-decoration:none; }
.path-card > .ui-icon { margin-left:auto; flex-shrink:0; }.path-card h2 { margin:0 0 5px; font-size:1.12rem; color:#e5f2ff; }.path-card p { margin:0; font-size:.75rem; color:#a8bfd9; }.path-card:hover { border-color:#8bcaff; background:#2a425c99; }
.path-card .category-icon { flex-shrink:0; }.home-system-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.system-card { position:relative; display:flex; flex-direction:column; padding:22px 18px; border:1px solid #738fa63b; border-radius:14px; background:linear-gradient(145deg,#273b525c,#17243be6); text-decoration:none; overflow:hidden; }
.system-card::after { content:''; position:absolute; right:-30px; top:-30px; width:100px; height:100px; border:16px solid #7be8ff08; border-radius:50%; filter:blur(2px); pointer-events:none; }.system-card:hover { border-color:#659ccb; }.system-number { color:#7cbfea; font:.7rem 'IBM Plex Mono',monospace; }.system-card h3 { min-height:2.6em; margin:20px 0 10px; font-size:1.15rem; color:#e0efff; }.system-card p { color:#a7b9cf; font-size:.78rem; line-height:1.5; margin:0 0 20px; }.system-card small { margin-top:auto; color:#91d7f0; font-size:.74rem; }
.brand-gallery { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin-bottom:30px; }
.brand-gallery a { display:grid; gap:10px; padding:12px; border:1px solid #738fa63b; border-radius:12px; background:#17263b99; text-decoration:none; text-align:center; }.brand-gallery a:hover { border-color:#8bcaff; }.brand-logo { display:grid; place-items:center; height:68px; padding:12px; border:1px solid #a3b5cb55; border-radius:7px; background:#edf2f7; color:#293e58; box-shadow:0 3px 10px #0003; }.brand-logo img { max-width:100%; width:auto; max-height:44px; height:auto; object-fit:contain; }.brand-logo strong { font-size:.77rem; overflow-wrap:anywhere; }.brand-gallery small { color:#c0d2e7; font-size:.65rem; letter-spacing:.04em; }
.category-tree { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }.tree-group { border:1px solid #698ca94f; border-radius:14px; overflow:hidden; background:linear-gradient(145deg,#243a5277,#152238f0); box-shadow:0 10px 30px #0002,inset 0 1px 0 #fff1; scroll-margin-top:90px; }
.tree-group summary { display:flex; align-items:center; gap:14px; min-height:90px; padding:18px; cursor:pointer; border-bottom:1px solid #647e9740; }.tree-group summary::after { content:'＋'; color:#a9dcff; font-size:1.1rem; }.tree-group[open] summary::after { content:'−'; }.tree-group summary strong { display:block; font-size:1.05rem; color:#d7ebff; }.tree-group summary small { display:block; margin-top:5px; color:#a5bbd4; font-size:.73rem; }.tree-group summary b { margin-left:auto; color:#8fcef5; font: .8rem 'IBM Plex Mono',monospace; }.tree-group ul { list-style:none; padding:8px 18px 15px; margin:0; }.tree-group li a { display:flex; align-items:center; gap:10px; padding:11px 6px; min-height:44px; border-bottom:1px solid #52667c40; text-decoration:none; }.tree-group li:last-child a { border:0; }.tree-group li a span { color:#d6e5f5; }.tree-group li a small { margin-left:auto; color:#9eb4ce; white-space:nowrap; font-size:.72rem; }.tree-group li a:hover { background:#4d729822; }.coverage-note { margin-top:22px; }.coverage-note summary { cursor:pointer; color:#94cfff; padding:12px 0; }
.utility-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }.utility-columns > .panel { min-width:0; padding:24px; }.source-note { font-size:.79rem; line-height:1.65; color:#a5b8d0; }.reference-facts { margin:20px 0; }.reference-facts > div { display:grid; grid-template-columns:minmax(110px,.7fr) minmax(0,1fr); gap:14px; padding:9px 0; border-bottom:1px solid #61768b44; font-size:.85rem; }.reference-facts dt { color:#a9bfd8; }.reference-facts dd { margin:0; color:#edf5ff; overflow-wrap:anywhere; }
.vin-form p,.currency-form p { display:grid; gap:8px; margin:0 0 16px; }.vin-form p:has(input[type=checkbox]) { display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap; }.vin-form p:has(input[type=checkbox]) label { flex:1 1 220px; font-size:.8rem; line-height:1.5; }.vin-form input[type=checkbox] { width:18px; height:18px; min-height:18px; flex-shrink:0; margin-top:3px; }.vin-form #id_vin { font-family:'IBM Plex Mono',monospace; text-transform:uppercase; }.rate-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:26px 0; }.rate-pair > div { padding:18px; border:1px solid #80b4d644; border-radius:12px; background:linear-gradient(140deg,#39698544,#26416422); box-shadow:inset 0 1px 0 #fff1; }.rate-pair small { display:block; color:#a3c9e4; margin-bottom:10px; }.rate-pair strong { color:#acddff; font:500 clamp(1rem,2vw,1.75rem) 'IBM Plex Mono',monospace; }.conversion-result { display:block; padding:18px; margin-top:20px; background:#24524e77; border:1px solid #85d9d855; border-radius:10px; color:#b6f2e2; font:1.6rem 'IBM Plex Mono',monospace; overflow-wrap:anywhere; }
.resource-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.resource-card { display:flex; flex-direction:column; padding:22px; border:1px solid #809ab744; border-radius:14px; background:linear-gradient(145deg,#29415c88,#162237); text-decoration:none; }.resource-card > span { color:#87c8eb; font-size:.61rem; letter-spacing:.09em; }.resource-card h3 { margin:16px 0 10px; color:#e3efff; }.resource-card p { color:#aebed3; font-size:.81rem; line-height:1.6; }.resource-card small { margin-top:auto; color:#8fcfee; overflow-wrap:anywhere; }.resource-card:hover { border-color:#9bdfff; }
.vehicle-selector { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:24px; }.vehicle-selector label { display:grid; gap:8px; min-width:0; font-size:.8rem; }.vehicle-selector select { width:100%; min-width:0; }.vehicle-selector select:disabled { background:#1f2b3f; color:#899ab0; border-color:#4d627c66; }.selector-actions { grid-column:1/-1; display:flex; align-items:center; gap:20px; margin-top:8px; }.vehicle-definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.vehicle-record { display:flex; flex-direction:column; padding:22px; border:1px solid #7898b647; border-radius:14px; background:linear-gradient(135deg,#243c5377,#162138); }.vehicle-record-heading { display:flex; align-items:center; gap:12px; }.vehicle-record-heading h3 { margin:0 0 5px; color:#e3efff; font-size:1.1rem; }.vehicle-record-heading span { color:#9ec5df; font-size:.75rem; }.vehicle-record dl { flex:1; margin:17px 0; }.vehicle-record dl > div { display:grid; grid-template-columns:115px minmax(0,1fr); gap:10px; padding:7px 0; border-bottom:1px solid #677d8f33; font-size:.8rem; }.vehicle-record dt { color:#9db2cd; }.vehicle-record dd { margin:0; overflow-wrap:anywhere; }.vehicle-record .button { align-self:flex-start; }.record-pagination { display:flex; align-items:center; gap:20px; margin:24px 0; }.explorer-empty { margin-top:24px; padding:36px; text-align:center; }.explorer-empty > .ui-icon { width:48px; height:48px; color:#8ad6f3; }.vehicle-context { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 18px; margin:12px 0; border:1px solid #7ccad755; border-radius:10px; background:#21506155; }.vehicle-context > span { display:flex; gap:8px; align-items:center; color:#c5f1ff; }.vehicle-context a { margin-left:auto; }.vehicle-context small { width:100%; color:#a9c2d4; }
@media(max-width:1200px) { .home-paths { grid-template-columns:1fr; }.path-card { padding:14px 18px; }.home-system-grid,.resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.brand-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:700px) { .category-tree,.utility-columns,.vehicle-definition-grid { grid-template-columns:1fr; }.vehicle-selector { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px; }.utility-columns > .panel { padding:20px; }.brand-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.tree-group summary { padding:16px; gap:10px; }.tree-group summary strong { font-size:.95rem; }.selector-actions { flex-wrap:wrap; gap:14px; }.resource-card { padding:18px; } }
@media(max-width:420px) { .home-system-grid,.resource-grid { grid-template-columns:1fr; }.system-card h3 { min-height:0; }.vehicle-selector { grid-template-columns:1fr; }.brand-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }.tree-group .category-icon { display:none; }.vehicle-record dl > div { grid-template-columns:1fr; gap:4px; }.vehicle-context > span { flex-wrap:wrap; } }

.brand-logo-dark { background:#23364d; border-color:#9fbad044; }
.planned-category-tree { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:12px; align-items:start; }
.planned-category-tree > details { border:1px solid #6889aa44; border-radius:10px; padding:8px 16px; background:#1c2b4144; }
.planned-category-tree summary { font-size:.86rem; }.planned-category-tree ul { padding-left:20px; font-size:.82rem; color:#abc1d9; line-height:1.9; }

/* K147: owner-issued invitation and activation forms. */
.invite-share { margin-top:24px; padding:20px; border:1px solid var(--border, #475569); border-radius:14px; min-width:0; }
.invite-share input,.invite-share textarea { width:100%; max-width:100%; overflow-wrap:anywhere; margin:8px 0; }
.invite-share button { margin:4px 8px 8px 0; }
.auth-card .errorlist { color:#fecaca; padding-left:20px; }
.auth-card small { display:block; margin-top:6px; }

.invite-share label { display:block; margin-top:12px; font-weight:600; }

/* K148: complete isometric diorama, independent of the retired bearing layout. */
.home-search.home-harvest { grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); gap:24px; padding:32px; }
.catalog-harvest-scene { min-width:0; width:100%; margin:0; align-self:center; }
.harvest-art { position:relative; aspect-ratio:3/2; overflow:hidden; border-radius:14px; background:#0b1324; box-shadow:0 18px 35px #050d1e55; }
.harvest-art > img { display:block; width:100%; height:auto; margin:0; }
.catalog-harvest-scene figcaption { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:48px; padding:12px 3px 0; color:#c5d7eb; font:500 .64rem/1.5 'IBM Plex Mono',monospace; letter-spacing:.1em; }
.catalog-harvest-scene figcaption small { display:block; color:#849dbb; font-size:.52rem; letter-spacing:.08em; }
.harvest-motion { flex:none; min-height:36px; padding:7px 10px; border:1px solid #7ba0c54d; border-radius:7px; background:#14243c; color:#d3e7ff; font:500 .68rem/1.4 'IBM Plex Sans',sans-serif; letter-spacing:0; cursor:pointer; }
.harvest-motion:hover { background:#243c5e; }
.harvest-motion:focus-visible { outline:2px solid #93dfff; outline-offset:3px; }
.harvest-motion[hidden] { display:none; }
.harvest-papers { position:absolute; inset:0; pointer-events:none; }
.harvest-papers i { position:absolute; left:45%; top:53%; width:9px; height:12px; opacity:0; border:1px solid #d3cbb2; background:repeating-linear-gradient(0deg,#ece6cf 0 3px,#738490 3px 4px,#ece6cf 4px 6px); box-shadow:2px 2px 0 #0003; --dx:-70px; --dy:-80px; --turn:170deg; animation:harvest-paper-flight 5.8s steps(40,end) infinite; animation-play-state:paused; }
.harvest-papers i:nth-child(2) { left:48%; top:51%; width:7px; height:9px; --dx:-35px; --dy:-95px; --turn:-210deg; animation-delay:-1.8s; }
.harvest-papers i:nth-child(3) { left:51%; top:48%; width:8px; height:11px; --dx:55px; --dy:-90px; animation-delay:-3.4s; }
.harvest-papers i:nth-child(4) { left:66%; top:40%; width:6px; height:8px; --dx:48px; --dy:-65px; --turn:-160deg; animation-delay:-.8s; }
.harvest-papers i:nth-child(5) { left:70%; top:36%; width:8px; height:10px; --dx:32px; --dy:-68px; animation-delay:-2.7s; }
.harvest-papers i:nth-child(6) { left:43%; top:55%; width:6px; height:8px; --dx:-60px; --dy:-48px; --turn:-220deg; animation-delay:-4.5s; }
.is-animated .harvest-papers i { animation-play-state:running; }
@keyframes harvest-paper-flight {
  0%,100% { opacity:0; transform:translate(0,0) rotate(-25deg) scale(.6); }
  12% { opacity:.8; }
  70% { opacity:.65; }
  95% { opacity:0; transform:translate(var(--dx),var(--dy)) rotate(var(--turn)) scale(.85); }
}
@media(max-width:1050px) { .home-search.home-harvest { grid-template-columns:1fr; gap:22px; } .catalog-harvest-scene { max-width:680px; justify-self:center; } }
@media(max-width:640px) { .home-search.home-harvest { padding:25px 19px 16px; gap:22px; } .catalog-harvest-scene figcaption { gap:6px; letter-spacing:.04em; } .harvest-motion { font-size:.62rem; padding:7px; } .harvest-papers i { width:6px; height:8px; } }
@media(prefers-reduced-motion:reduce) { .harvest-papers i { animation:none; opacity:0; } }
