@layer reset, base, shell, components, public, admin, responsive;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body, h1, h2, h3, p, dl, dd, ol, ul { margin: 0; }
  img { display: block; max-width: 100%; }
  button, input, select, textarea { font: inherit; }
}

@layer base {
  :root {
    --brand-blue: #1a4b9a;
    --brand-orange: #f06c24;
    --navy-950: #061d38;
    --navy-900: #082f5b;
    --navy-800: #0b447d;
    --blue-700: var(--brand-blue);
    --blue-100: #e8f2fb;
    --orange-700: #a64008;
    --orange-rail: #bf4d0f;
    --orange-600: var(--brand-orange);
    --orange-500: var(--brand-orange);
    --orange-100: #fff0e4;
    --ink: #122033;
    --ink-soft: #405168;
    --muted: #66768a;
    --line: #cbd5df;
    --line-dark: #9baaba;
    --paper: #fff;
    --blueprint: #f2f6f9;
    --success: #167247;
    --success-bg: #eaf7f0;
    --danger: #b4232c;
    --danger-bg: #fff0f1;
    --warning: #8a4b0f;
    --shadow: 0 14px 34px rgba(6, 29, 56, .09), 0 2px 7px rgba(6, 29, 56, .05);
    --radius: 8px;
    --content: 1320px;
    --font-ui: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --font-technical: "Bahnschrift", "DIN Alternate", "Arial Narrow", sans-serif;
  }
  html { color-scheme: light; background: var(--blueprint); }
  body { min-width: 320px; background: var(--blueprint); color: var(--ink); font-family: var(--font-ui); font-size: 16px; line-height: 1.55; }
  ::selection { background: var(--brand-orange); color: var(--navy-950); }
  :focus-visible { outline: 3px solid var(--brand-orange); outline-offset: 3px; }
  a { color: var(--blue-700); text-decoration-thickness: 1px; text-underline-offset: .2em; }
  button, input, select, textarea { accent-color: var(--orange-600); caret-color: var(--orange-600); }
  h1, h2, h3 { font-family: var(--font-technical); letter-spacing: -.025em; line-height: 1.12; text-wrap: balance; }
  h1 { font-size: clamp(2.1rem, 4vw, 4.7rem); }
  h2 { font-size: clamp(1.35rem, 2vw, 2rem); }
  h3 { font-size: 1.08rem; }
  p { max-width: 72ch; }
  code, .product-code, .passport-sku, .spec-list dd, .table td, .table th { font-variant-numeric: tabular-nums; }
  .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; }
  .skip-link { position: fixed; left: 1rem; top: 1rem; z-index: 100; transform: translateY(-180%); background: var(--paper); color: var(--navy-950); padding: .75rem 1rem; border: 2px solid var(--orange-500); font-weight: 800; }
  .skip-link:focus { transform: translateY(0); }
  .muted { color: var(--muted); }
}

@layer shell {
  .shell { min-height: 100vh; display: flex; flex-direction: column; }
  .shell-public .container, .shell-dealer .container { width: min(var(--content), calc(100% - 48px)); }
  .shell-public.route-category .container { width: min(1560px, calc(100% - 48px)); }
  .shell-admin .container { width: min(1440px, calc(100% - 48px)); }
  .container { margin-inline: auto; padding-block: 34px 80px; flex: 1; }
  .header-width { width: min(var(--content), calc(100% - 48px)); margin-inline: auto; }
  .utility-strip { background: var(--navy-950); color: #dceafb; font-size: .78rem; letter-spacing: .025em; }
  .utility-strip .header-width { min-height: 38px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 1rem; }
  .utility-strip nav { display: flex; gap: 1.2rem; align-items: center; }
  .utility-strip a { color: #fff; font-weight: 700; text-decoration: none; }
  .public-utility-links { justify-self: start; white-space: nowrap; }
  .public-utility-links a { display: inline-flex; align-items: center; min-height: 38px; }
  .public-utility-links a:hover, .public-utility-links a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
  .utility-title { white-space: nowrap; text-align: center; }
  .public-utility-actions { justify-self: end; display: flex; align-items: center; gap: 1.2rem; }
  .locale-switcher { gap: 2px !important; padding: 2px; border: 1px solid #557592; border-radius: 20px; }
  .locale-switcher a { min-width: 55px; min-height: 30px; display: inline-flex; gap: 4px; align-items: center; justify-content: center; padding: 2px 7px; letter-spacing: .04em; border-radius: 18px; font-size: .9rem; }
  .locale-switcher .locale-code { font-size: .68rem; }
  .locale-switcher a:hover, .locale-switcher a:focus-visible { background: #fff; color: var(--navy-950); }
  .locale-switcher a[aria-current="page"] { background: var(--brand-orange); color: var(--navy-950); }
  .utility-strip .utility-dealer-login { display: inline-flex; align-items: center; min-height: 30px; padding: 3px 15px; border-radius: 999px; background: var(--brand-orange); color: var(--navy-950); }
  .utility-strip .utility-dealer-login:hover, .utility-strip .utility-dealer-login:focus-visible { background: #fff; color: var(--navy-950); }
  .signed-in { color: #a9c4df; }
  .masthead { min-height: 104px; display: grid; grid-template-columns: 255px minmax(300px, 1fr) 260px; gap: 34px; align-items: center; }
  .site-header { background: var(--paper); border-bottom: 1px solid #a94a0d; }
  .public-brand, .admin-brand { display: flex; align-items: center; color: var(--navy-900); text-decoration: none; }
  .public-brand { position: relative; }
  .public-logo { width: min(220px, 100%); height: auto; }
  .brand-mark { width: 45px; height: 42px; display: inline-grid; grid-template-columns: 1fr 1fr; gap: 4px; transform: skewX(-11deg); flex: 0 0 auto; }
  .brand-mark i { display: block; background: var(--brand-blue); }
  .brand-mark i:last-child { background: var(--brand-orange); margin-top: 13px; }
  .global-search { display: flex; border: 2px solid var(--navy-800); background: var(--paper); min-width: 0; }
  .global-search:focus-within { box-shadow: 0 0 0 3px rgba(240, 108, 36, .24); border-color: var(--brand-orange); }
  .global-search input { min-width: 0; flex: 1; border: 0; min-height: 49px; padding: 0 16px; outline: none; }
  .global-search button, .passport-search button { border: 0; background: var(--navy-900); color: #fff; padding: 0 22px; font-weight: 800; cursor: pointer; }
  .global-search button:hover, .passport-search button:hover { background: var(--brand-orange); color: var(--navy-950); }
  .account-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .account-actions a { color: var(--ink); text-decoration: none; border-left: 1px solid var(--line); padding: 5px 0 5px 15px; }
  .account-actions span, .account-actions strong { display: block; }
  .account-actions span { color: var(--muted); font-size: .75rem; }
  .account-actions strong { font-size: .9rem; }
  .account-actions .cart-link strong { color: var(--orange-700); }
  .category-rail { position: relative; background: var(--orange-rail); }
  .category-rail .header-width { min-height: 45px; display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: thin; }
  .category-rail a { color: #fff; display: inline-flex; align-items: center; padding: 0 18px; font-size: .88rem; font-weight: 800; text-decoration: none; white-space: nowrap; border-right: 1px solid rgba(255,255,255,.3); }
  .category-rail a:hover, .category-rail a:focus-visible, .category-rail a.is-active, .category-rail a[aria-current="page"] { background: var(--navy-900); color: #fff; }
  .category-rail .catalog-trigger { min-width: 116px; }
  .site-footer { background: var(--navy-950); color: #cbdcef; margin-top: auto; }
  .footer-grid { width: min(var(--content), calc(100% - 48px)); margin: auto; display: grid; grid-template-columns: minmax(170px, 240px) minmax(0, 1fr); align-items: start; gap: clamp(30px, 7vw, 110px); padding: 30px 0 36px; }
  .site-footer h2 { color: #fff; font-size: .92rem; text-transform: uppercase; letter-spacing: .09em; margin-bottom: 12px; }
  .site-footer a { color: #d9e7f5; }
  .footer-partner-logos { display: flex; flex-direction: column; align-items: center; gap: 18px; }
  .footer-partner-logos a { display: inline-block; width: 140px; line-height: 0; }
  .footer-partner-logos img { width: 140px; height: 112px; object-fit: contain; }
  .footer-pages { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
  .footer-pages h2 { margin: 0 0 12px; }
  .footer-pages a { display: block; width: fit-content; padding: 5px 0; line-height: 1.35; text-underline-offset: 3px; }
  .admin-topbar { display: flex; align-items: center; gap: 24px; padding: 12px 22px; background: var(--navy-950); color: #fff; position: sticky; top: 0; z-index: 20; }
  .admin-brand { color: #fff; gap: 9px; font-family: var(--font-technical); font-weight: 900; text-decoration: none; white-space: nowrap; }
  .admin-brand .brand-mark { width: 25px; height: 24px; gap: 2px; }
  .admin-brand .brand-mark i:last-child { margin-top: 7px; }
  .admin-brand small { color: #adc0d5; font-weight: 500; }
  .admin-nav { display: flex; gap: 4px; align-items: center; overflow-x: auto; }
  .admin-nav a { color: #dbe8f5; padding: 7px 9px; text-decoration: none; border-radius: 4px; font-size: .83rem; white-space: nowrap; }
  .admin-nav a:hover { background: #183f67; color: #fff; }
}

@layer components {
  .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border: 1px solid var(--line-dark); border-radius: 4px; padding: .65rem 1rem; background: var(--paper); color: var(--navy-900); font-weight: 800; text-decoration: none; cursor: pointer; }
  .btn:hover { border-color: var(--navy-800); background: var(--blue-100); }
  .btn.primary { background: var(--brand-orange); border-color: var(--brand-orange); color: var(--navy-950); }
  .btn.primary:hover { background: var(--navy-900); border-color: var(--navy-900); color: #fff; }
  .btn.danger { color: #fff; background: var(--danger); border-color: var(--danger); }
  .btn.wide { width: 100%; }
  .field { display: grid; gap: 7px; color: var(--ink-soft); font-weight: 750; font-size: .88rem; }
  .field > span { display: block; }
  input, select, textarea { width: 100%; min-height: 44px; border: 1px solid var(--line-dark); border-radius: 3px; background: var(--paper); color: var(--ink); padding: .65rem .75rem; }
  textarea { min-height: 108px; resize: vertical; }
  input:hover, select:hover, textarea:hover { border-color: var(--navy-800); }
  input:focus, select:focus, textarea:focus { border-color: var(--orange-600); box-shadow: 0 0 0 3px rgba(244,119,33,.2); outline: none; }
  input::placeholder, textarea::placeholder { color: #66768a; opacity: 1; }
  .card, .hero, .category-hero { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(20px, 3vw, 34px); box-shadow: var(--shadow); margin-bottom: 22px; }
  .card h1, .hero h1 { margin-bottom: 14px; }
  .card h2 { margin: 26px 0 12px; }
  .card h2:first-child { margin-top: 0; }
  .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; align-items: end; }
  .form { max-width: 540px; margin-inline: auto; }
  .form-wide { max-width: 920px; }
  .form form, .login-form { display: grid; gap: 17px; }
  .inline-form, .action-row { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
  .check-field, .checkbox-field { display: flex; gap: 8px; align-items: center; }
  .check-field input, .checkbox-field input { width: auto; min-height: auto; }
  .badge, .status-pill { display: inline-flex; align-items: center; padding: .3rem .55rem; border-radius: 3px; background: var(--blue-100); color: var(--navy-800); font-size: .74rem; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }
  .status-completed, .status-active, .status-published, .qa-approved { color: var(--success); background: var(--success-bg); }
  .status-draft { color: var(--warning); background: #fff7e8; }
  .status-failed, .qa-rejected { color: var(--danger); background: var(--danger-bg); }
  .status-running, .status-queued, .qa-pending { color: var(--warning); background: #fff7e8; }
  .alert, .success-alert { border: 1px solid #e6a2a8; background: var(--danger-bg); color: #7f1720; padding: 13px 15px; border-radius: 4px; margin: 14px 0; }
  .success-alert { border-color: #91c8aa; background: var(--success-bg); color: #105a39; }
  .table-scroll { overflow-x: auto; }
  .table { width: 100%; border-collapse: collapse; background: var(--paper); }
  .table th, .table td { text-align: left; padding: 12px 13px; border-bottom: 1px solid var(--line); vertical-align: top; }
  .table thead th { background: var(--navy-900); color: #fff; font-family: var(--font-technical); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
  .table tbody tr:nth-child(even) { background: #f7f9fb; }
  .table tbody tr:hover { background: var(--blue-100); }
  .metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin: 0 0 22px; }
  .metric-card { display: grid; gap: 5px; background: var(--paper); border: 1px solid var(--line); padding: 18px; color: var(--ink); text-decoration: none; }
  .metric-card span { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
  .metric-card strong { font: 800 1.55rem/1 var(--font-technical); color: var(--navy-900); }
  .metric-alert { border-color: #d99; }
  .status-metrics { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 24px; }
  .status-metrics a { border: 1px solid var(--line); padding: 10px; text-decoration: none; }
  .status-metrics span, .status-metrics strong { display: block; }
  .breadcrumbs { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; min-height: 28px; margin-bottom: 24px; color: var(--muted); font-size: .84rem; }
  .breadcrumbs a { color: var(--ink-soft); }
  .breadcrumbs strong { color: var(--navy-900); }
  .section-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 22px; }
  .section-heading h1, .section-heading h2 { margin-bottom: 7px; }
  .section-heading p { color: var(--muted); }
  .empty-state { border: 1px dashed var(--line-dark); background: var(--paper); min-height: 250px; display: grid; place-items: center; align-content: center; gap: 12px; text-align: center; padding: 38px; }
  .empty-state p { color: var(--muted); }
  .danger-text { color: var(--danger); font-weight: 750; }
  .text-link { font-weight: 850; text-decoration: none; }
  .text-link span { color: var(--orange-600); margin-left: 4px; }
  hr { border: 0; border-top: 1px solid var(--line); margin: 28px 0; }
  .relationship-admin-list { display: grid; gap: 10px; }
  .relationship-admin-row { display: flex; gap: 14px; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 12px; }
  .inline-delete { display: inline; }
  .link-danger, .text-button { border: 0; background: transparent; color: var(--danger); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 4px; font-weight: 750; }
  .status-history { border-left: 1px solid var(--line-dark); margin: 18px 0; padding-left: 26px; }
  .status-history li { padding: 6px 0; }
  .template-editor { min-height: 300px; font-family: ui-monospace, monospace; }
  .credential-url { font-family: ui-monospace, monospace; }
}

@layer public {
  .managed-content-article { max-width: 920px; margin-inline: auto; padding: clamp(24px, 5vw, 58px); background: var(--paper); border: 1px solid var(--line-dark); box-shadow: var(--shadow); }
  .managed-content-article > header { padding-bottom: 24px; border-bottom: 3px solid var(--navy-900); }
  .managed-content-article h1 { margin-top: 0; }
  .managed-content-summary { margin-top: 14px; color: var(--ink-soft); font-size: 1.08rem; }
  .managed-content-body { margin-top: 28px; color: var(--ink-soft); }
  .managed-content-body .align-left, .product-description .align-left { text-align: left; }
  .managed-content-body .align-center, .product-description .align-center { text-align: center; }
  .managed-content-body .align-right, .product-description .align-right { text-align: right; }
  .managed-content-body table, .product-description table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
  .managed-content-body th, .managed-content-body td, .product-description th, .product-description td { border: 1px solid var(--line-dark); padding: 8px 10px; }
  .managed-content-body img, .product-description img { max-width: 100%; height: auto; }
  .contact-map { margin: 0 0 18px; border: 1px solid var(--line-dark); background: var(--blueprint); }
  .contact-map iframe { display: block; width: 100%; height: clamp(250px, 32vw, 350px); border: 0; }
  .managed-contact-page .managed-content-body a[href="https://g.page/GEVAX?share"] { display: flex; align-items: center; justify-content: center; gap: 12px; width: max-content; max-width: 100%; min-height: 48px; margin-inline: auto; margin-block: 18px 30px; padding: 10px 22px; border: 2px solid var(--navy-950); border-radius: 4px; background: var(--brand-orange); color: var(--navy-950); font-weight: 850; letter-spacing: .025em; text-decoration: none; box-shadow: 0 6px 16px rgba(6,29,56,.16); transition: background-color .18s ease, color .18s ease, transform .18s ease; }
  .managed-contact-page .managed-content-body a[href="https://g.page/GEVAX?share"]::after { content: ''; display: block; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
  .managed-contact-page .managed-content-body a[href="https://g.page/GEVAX?share"]:hover { background: var(--navy-950); color: #fff; transform: translateY(-2px); }
  .managed-contact-page .managed-content-body a[href="https://g.page/GEVAX?share"]:focus-visible { outline: 3px solid var(--brand-orange); outline-offset: 3px; }
  .managed-content-body h2, .managed-content-body h3 { margin: 28px 0 10px; color: var(--navy-950); }
  .managed-content-body p, .managed-content-body ul, .managed-content-body ol { margin-top: 14px; }
  .blog-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 18px; }
  .blog-card { min-height: 250px; display: flex; flex-direction: column; gap: 14px; padding: 24px; background: var(--paper); border: 1px solid var(--line-dark); }
  .blog-card h2 a { color: var(--navy-950); text-decoration: none; }
  .blog-card > p:not(.badge) { color: var(--muted); }
  .blog-card .text-link { margin-top: auto; }
  .home-intro { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(410px, .88fr); border: 1px solid var(--line-dark); background-color: #f8fafc; background-image: linear-gradient(#dfe7ee 1px, transparent 1px), linear-gradient(90deg, #dfe7ee 1px, transparent 1px); background-size: 28px 28px; box-shadow: var(--shadow); margin-bottom: 58px; }
  .home-search-panel { background: var(--navy-900); color: #fff; padding: clamp(32px, 4vw, 52px); display: flex; flex-direction: column; justify-content: flex-start; }
  .home-search-panel h1 { max-width: 15ch; font-size: clamp(2.65rem, 4.4vw, 4.35rem); margin-bottom: 20px; }
  .home-search-panel > p { color: #c9ddf0; max-width: 58ch; font-size: 1.08rem; }
  .passport-search { margin-top: 26px; }
  .passport-search > label { display: block; margin-bottom: 7px; color: #fff; font-weight: 800; }
  .passport-search > div { display: flex; }
  .passport-search input { border: 0; border-radius: 0; min-height: 54px; flex: 1; }
  .passport-search button { background: var(--brand-orange); color: var(--navy-950); min-width: 138px; }
  .task-steps { list-style: none; padding: 0; margin-top: 22px; display: flex; gap: 10px 22px; flex-wrap: wrap; color: #dceafa; font-size: .81rem; font-weight: 750; }
  .task-steps span { display: inline-grid; place-items: center; width: 22px; height: 22px; border: 1px solid #84a9cb; margin-right: 6px; color: #fff; }
  .featured-passport { margin: 18px; align-self: center; background: var(--paper); border: 1px solid var(--navy-900); position: relative; min-width: 0; }
  .passport-index { min-height: 43px; background: var(--brand-orange); color: var(--navy-950); padding: 7px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .passport-index span { font: 800 .72rem var(--font-technical); text-transform: uppercase; letter-spacing: .08em; }
  .passport-index strong { font: 850 .78rem var(--font-technical); overflow-wrap: anywhere; text-align: right; }
  .featured-media { aspect-ratio: 16 / 9; display: grid; place-items: center; padding: 18px; border-bottom: 1px solid var(--line); background: #fff; }
  .featured-media img { width: 100%; height: 100%; object-fit: contain; }
  .featured-copy { padding: 20px; }
  .featured-copy h2 { font-size: 1.35rem; margin: 4px 0 14px; }
  .featured-copy dl { margin-bottom: 18px; border-top: 1px solid var(--line); }
  .featured-copy dl div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: .78rem; }
  .featured-copy dt { color: var(--muted); }
  .featured-copy dd { text-align: right; font-weight: 800; }
  .home-product-section { margin: 30px 0 46px; }
  .home-product-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 16px; padding-bottom: 13px; border-bottom: 3px solid var(--navy-900); }
  .home-product-heading h2 { color: var(--navy-950); font-size: clamp(1.35rem,2vw,1.8rem); }
  .home-product-heading > div > p:last-child { margin-top: 5px; color: var(--muted); font-size: .88rem; }
  .home-product-kicker { color: var(--orange-700); font: 850 .72rem var(--font-technical); text-transform: uppercase; letter-spacing: .08em; }
  .home-carousel-controls { display: flex; gap: 7px; }
  .home-carousel-controls button { width: 44px; min-height: 44px; padding: 0; display: grid; place-items: center; color: #fff; background: var(--navy-900); border: 0; font: 0/1 Arial,sans-serif; }
  .home-carousel-controls button::before { font-size: 1.65rem; font-weight: 900; line-height: 1; }
  .home-carousel-controls [data-carousel-prev]::before { content: '‹'; }
  .home-carousel-controls [data-carousel-next]::before { content: '›'; }
  .home-carousel-controls button:hover { color: var(--navy-950); background: var(--brand-orange); }
  .home-carousel-controls button:disabled { opacity: .35; cursor: default; }
  .home-product-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 64px) / 5); gap: 16px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; scrollbar-color: var(--brand-blue) var(--blue-100); padding-bottom: 8px; }
  .home-product-track .product-card { scroll-snap-align: start; border: 1px solid var(--line); }
  .home-product-track .product-card-media { padding: 12px; }
  .home-product-track .product-card-body { padding: 13px; }
  .home-product-track .product-card h2 { font-size: .9rem; }
  .home-product-track .product-card-body > p:not(.product-code) { -webkit-line-clamp: 2; }
  .media-placeholder { width: 100%; height: 100%; min-height: 150px; display: grid; place-items: center; align-content: center; gap: 8px; background-color: #f4f7fa; background-image: linear-gradient(#dce5ed 1px, transparent 1px), linear-gradient(90deg, #dce5ed 1px, transparent 1px); background-size: 20px 20px; color: var(--navy-800); }
  .media-placeholder > span { font: 900 1.75rem var(--font-technical); letter-spacing: -.05em; }
  .media-placeholder small { max-width: 90%; overflow-wrap: anywhere; font: 750 .72rem var(--font-technical); }
  .category-directory { margin-bottom: 30px; }
  .directory-count { color: var(--navy-800); font: 800 .85rem var(--font-technical); border-bottom: 2px solid var(--orange-500); padding-bottom: 4px; }
  .category-links { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
  .category-link { min-height: 145px; display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-content: start; padding: 24px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); background: var(--paper); color: var(--ink); text-decoration: none; }
  .category-link:hover { background: var(--blue-100); }
  .category-link h3 { color: var(--navy-900); margin-bottom: 7px; }
  .category-link p { color: var(--muted); font-size: .86rem; }
  .category-arrow { color: var(--orange-600); font-size: 1.35rem; line-height: 1; }
  .search-results { margin-top: 10px; }
  .category-facet-root { position: relative; }
  .category-statusbar { min-height: 44px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; border-bottom: 1px solid var(--line-dark); }
  .facet-status { min-height: 44px; display: flex; align-items: center; padding: 6px 10px; color: var(--ink-soft); font-size: .82rem; font-weight: 700; }
  .facet-status:empty { display: none; }
  .facet-status[data-state="error"] { color: #7d1d1d; background: #fff0f0; }
  .category-facet-root::before { content: ''; position: absolute; z-index: 3; top: 0; left: 0; width: 100%; height: 3px; background: var(--brand-orange); opacity: 0; transform: scaleX(0); transform-origin: left; pointer-events: none; }
  .category-facet-root .filter-panel, .category-facet-root .category-results { transition: opacity .16s ease-out; }
  .category-facet-root[aria-busy="true"]::before { opacity: 1; transform: scaleX(1); }
  .category-facet-root[aria-busy="true"] .filter-panel, .category-facet-root[aria-busy="true"] .category-results { opacity: .68; }
  .category-index { display: inline-flex; align-items: baseline; gap: 7px; white-space: nowrap; }
  .category-index span { color: var(--navy-900); text-transform: uppercase; letter-spacing: .06em; font: 800 .68rem var(--font-technical); }
  .category-index strong { color: var(--orange-700); font: 900 1.2rem/1 var(--font-technical); }
  .category-index small { color: var(--muted); font-size: .76rem; }
  .active-filter-strip { min-height: 48px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; background: var(--navy-900); color: #fff; padding: 8px 12px; margin-bottom: 18px; }
  .active-filter-strip > strong { font-size: .78rem; margin-right: 4px; }
  .active-filter-strip a { min-height: 44px; display: inline-flex; gap: 8px; align-items: center; color: var(--navy-950); background: #fff; padding: 7px 10px; text-decoration: none; font-size: .78rem; font-weight: 750; }
  .active-filter-strip b { color: var(--orange-600); font-size: 1rem; }
  .active-filter-strip .clear-filters { margin-left: auto; background: transparent; color: #fff; text-decoration: underline; }
  .category-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 20px; align-items: start; }
  .filter-panel { position: sticky; top: 18px; border: 1px solid var(--line-dark); background: var(--paper); }
  .mobile-filter-toggle, .mobile-filter-toggle[hidden] { display: none; }
  #category-filter-form { max-height: calc(100vh - 36px); display: grid; gap: 9px; padding: 12px; overflow-y: auto; scrollbar-color: var(--brand-blue) var(--blue-100); scrollbar-width: thin; }
  .filter-title { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 2px solid var(--navy-900); }
  .filter-title h2 { font-size: 1.08rem; }
  .filter-title span { min-width: 24px; height: 24px; display: grid; place-items: center; background: var(--brand-orange); color: var(--navy-950); font-weight: 800; font-size: .75rem; }
  .facet-groups { display: grid; gap: 8px; }
  .facet-group { min-width: 0; margin: 0; padding: 0; border: 1px solid var(--line); }
  .facet-group legend { width: 100%; padding: 7px 9px 6px; color: var(--navy-950); background: var(--blue-100); border-bottom: 1px solid var(--line); font: 850 .78rem/1.3 var(--font-technical); overflow-wrap: anywhere; }
  .facet-options { display: block; }
  .facet-option { min-height: 44px; display: grid; grid-template-columns: 18px minmax(0,1fr) auto; gap: 6px; align-items: center; padding: 4px 8px; border-bottom: 1px solid var(--line); cursor: pointer; font-size: .82rem; line-height: 1.35; }
  .facet-option:last-child { border-bottom: 0; }
  .facet-option:hover { background: #f7fafc; }
  .facet-option:has(input:checked) { color: var(--navy-950); background: #fff3ea; font-weight: 800; }
  .facet-option:has(input:disabled) { color: var(--muted); background: #f5f7f9; cursor: not-allowed; }
  .facet-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--brand-orange); }
  .facet-option span { min-width: 0; overflow-wrap: anywhere; }
  .facet-option small { min-width: 30px; padding: 2px 5px; color: var(--ink-soft); background: var(--blue-100); font: 800 .72rem var(--font-technical); text-align: center; }
  .facet-option input:disabled + span, .facet-option input:disabled ~ small { opacity: .68; }
  .facet-actions { display: grid; gap: 8px; padding-top: 3px; }
  .facet-actions .btn { min-height: 44px; }
  .results-toolbar { display: flex; justify-content: space-between; gap: 18px; align-items: center; border-top: 3px solid var(--navy-900); border-bottom: 1px solid var(--line); background: var(--paper); padding: 12px 15px; margin-bottom: 16px; }
  .results-toolbar p { color: var(--ink-soft); }
  .results-toolbar span { color: var(--muted); font-size: .8rem; }
  .compact-pagination { display: flex; align-items: center; gap: 5px; margin-left: auto; }
  .compact-pagination a { min-width: 58px; height: 34px; display: grid; place-items: center; padding-inline: 9px; color: #fff; background: var(--navy-900); text-decoration: none; font-size: .72rem; font-weight: 900; }
  .compact-pagination a:hover { background: var(--brand-orange); color: var(--navy-950); }
  .product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
  .category-results .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .category-results .product-card-media { padding: 12px; }
  .category-results .product-card:hover .product-card-media img { transform: none; }
  .category-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; margin-top: 24px; padding: 16px; background: var(--paper); border: 1px solid var(--line-dark); }
  .category-pagination a, .category-pagination .page-number { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 7px 11px; color: var(--navy-900); background: #fff; border: 1px solid var(--line-dark); text-decoration: none; font: 800 .8rem var(--font-technical); }
  .category-pagination a:hover { color: #fff; background: var(--navy-900); }
  .category-pagination .page-number[aria-current="page"] { color: var(--navy-950); background: var(--brand-orange); border-color: var(--brand-orange); }
  .category-pagination .page-step { min-width: 104px; }
  .category-pagination .page-gap { padding-inline: 4px; color: var(--muted); }
  .product-card { min-width: 0; display: flex; flex-direction: column; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .product-card-media { aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 20px; border-bottom: 1px solid var(--line); overflow: hidden; }
  .product-card-media img { min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform .35s cubic-bezier(.16,1,.3,1); }
  .product-card:hover .product-card-media img { transform: scale(1.035); }
  .product-card-body { padding: 17px; display: flex; flex-direction: column; flex: 1; }
  .product-code { color: var(--orange-700); font: 800 .73rem var(--font-technical); letter-spacing: .03em; overflow-wrap: anywhere; }
  .product-card h2 { font-size: 1rem; margin: 7px 0 9px; }
  .product-card h2 a { color: var(--navy-950); text-decoration: none; }
  .product-card-body > p:not(.product-code) { color: var(--muted); font-size: .83rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 14px; }
  .product-card .text-link { min-height: 44px; display: flex; align-items: center; justify-content: space-between; margin-top: auto; font-size: .82rem; padding-top: 9px; border-top: 1px solid var(--line); }
  .product-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .product-passport { background: var(--paper); border: 1px solid var(--line-dark); box-shadow: var(--shadow); }
  .product-layout { display: grid; grid-template-columns: minmax(370px, .9fr) minmax(0, 1.1fr); grid-template-rows: auto 1fr; }
  .product-media-column { grid-column: 1; grid-row: 1 / 3; min-width: 0; background: #f5f8fa; border-right: 1px solid var(--line-dark); }
  .product-identity { grid-column: 2; grid-row: 1; margin: clamp(25px, 4vw, 48px) clamp(25px, 4vw, 48px) 0; padding-bottom: 22px; border-bottom: 3px solid var(--navy-900); }
  .product-identity h1 { max-width: 34ch; margin: 9px 0 0; font-size: clamp(1.55rem, 2.45vw, 2.8rem); }
  .category-label { color: var(--brand-blue); font-size: .82rem; font-weight: 800; }
  .passport-sku { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; margin-top: 16px; }
  .passport-sku span { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; }
  .passport-sku strong { color: var(--orange-700); font-size: clamp(1.12rem, 1.7vw, 1.45rem); overflow-wrap: anywhere; }

  .verification-order { display: flex; flex-direction: column; justify-content: center; gap: 10px; margin-top: 24px; padding: 22px; color: #fff; background: var(--navy-900); border-top: 4px solid var(--brand-orange); }
  .verification-order > span { color: #ffb080; font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
  .verification-order h2 { color: #fff; font-size: 1.08rem; }
  .verification-order small { color: #c7d8e8; line-height: 1.45; }
  .verification-order .btn { min-height: 46px; align-self: stretch; }
  .verification-order .field { color: #fff; margin: 0; }
  .verification-order .add-cart-form { align-items: end; }
  .gallery { padding: clamp(20px, 3vw, 38px); background-color: #f5f8fa; background-image: linear-gradient(#e1e8ee 1px, transparent 1px), linear-gradient(90deg, #e1e8ee 1px, transparent 1px); background-size: 24px 24px; }
  .gallery-main { width: 100%; min-height: 0; aspect-ratio: 4 / 3; display: grid; place-items: center; position: relative; overflow: hidden; background: var(--paper); border: 1px solid var(--line-dark); padding: 26px; color: inherit; }
  a.gallery-main { cursor: pointer; text-decoration: none; }
  .gallery-main-image { min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: scale-down; object-position: center; transform-origin: var(--zoom-x,50%) var(--zoom-y,50%); transition: transform .18s ease-out; will-change: transform; }
  .drawing-corner { position: absolute; width: 35px; height: 35px; border-color: var(--orange-600); }
  .corner-a { top: 9px; left: 9px; border-top: 2px solid; border-left: 2px solid; }
  .corner-b { right: 9px; bottom: 9px; border-right: 2px solid; border-bottom: 2px solid; }
  .thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 10px; }
  .gallery-thumb { min-width: 44px; min-height: 44px; aspect-ratio: 1; display: block; padding: 5px; overflow: hidden; cursor: pointer; background: var(--paper); border: 1px solid var(--line); }
  .gallery-thumb img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
  .gallery-thumb.is-current, .gallery-thumb[aria-current="true"] { border: 2px solid var(--brand-orange); box-shadow: inset 0 0 0 1px var(--navy-900); }
  .gallery-viewer { position: fixed; inset: 0; z-index: 100; width: min(1440px,calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: hidden; color: #eef3f8; background: #202a35; border: 1px solid #697f92; border-radius: 12px; box-shadow: 0 24px 70px #0009; }
  .gallery-viewer::backdrop { background: rgba(9,20,32,.82); }
  .gallery-viewer-surface { height: calc(100dvh - 34px); display: grid; grid-template-rows: auto minmax(0,1fr); }
  .gallery-viewer-header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 20px 12px 24px; background: #202a35; border-bottom: 1px solid #52677c; }
  .gallery-viewer-header h2 { min-width: 0; margin: 0; font-size: clamp(1rem,1.5vw,1.25rem); line-height: 1.4; color: #f4f7fa; font-weight: 650; overflow-wrap: anywhere; }
  .gallery-viewer-control { min-width: 44px; min-height: 44px; padding: 8px 14px; color: #f4f7fa; background: #344b63; border: 1px solid #7590ab; border-radius: 8px; cursor: pointer; font-weight: 650; }
  .gallery-viewer-close { flex: 0 0 auto; max-width: 100%; white-space: nowrap; background: #405b77; }
  .gallery-viewer-control:hover { color: #fff; background: #2457a3; border-color: #a7c5ef; }
  .gallery-viewer-figure { min-height: 0; display: grid; grid-template-columns: auto minmax(0,1fr) auto; grid-template-rows: minmax(0,1fr) auto auto; gap: 14px; align-items: center; margin: 0; padding: 18px 24px; background: #f3f6fa; }
  .gallery-viewer-prev { grid-column: 1; grid-row: 1; }
  .gallery-viewer-figure > img { max-width: 100%; max-height: 100%; width: auto; height: auto; min-height: 0; grid-column: 2; grid-row: 1; justify-self: center; object-fit: contain; }
  .gallery-viewer-next { grid-column: 3; grid-row: 1; }
  .gallery-viewer-figure figcaption, .gallery-viewer-figure output { grid-column: 2; }
  .gallery-viewer-figure figcaption { grid-row: 2; width: 100%; color: #25384d; font-size: .9375rem; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
  .gallery-viewer-figure output { min-width: 58px; grid-row: 3; justify-self: center; color: #304b69; font: 650 .875rem var(--font-technical); text-align: center; }
  a.gallery-main.is-zoom-enabled { cursor: zoom-in; }
  .gallery-main-image.is-zoomed { transform: scale(1.16); }
  .passport-details { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; padding: 0 clamp(25px, 4vw, 48px) clamp(25px, 4vw, 48px); }
  .product-description { color: var(--ink-soft); font-size: 1.02rem; margin: 0 clamp(20px, 3vw, 38px) clamp(20px, 3vw, 38px); padding-top: 20px; border-top: 1px solid var(--line-dark); overflow-wrap: anywhere; }
  .spec-heading { scroll-margin-top: 18px; display: flex; justify-content: space-between; gap: 16px; align-items: end; margin-top: 32px; border-bottom: 3px solid var(--navy-900); padding-bottom: 9px; }
  .spec-list { margin-top: 0; }
  .spec-heading h2 { font-size: 1.35rem; }
  .spec-heading span { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
  .spec-list > div { display: grid; grid-template-columns: minmax(140px, .85fr) 1.15fr; gap: 18px; padding: 11px 9px; border-bottom: 1px solid var(--line); }
  .spec-list > div:nth-child(even) { background: #f5f8fa; }
  .spec-list dt { color: var(--muted); }
  .spec-list dd { color: var(--navy-950); font-weight: 800; text-align: right; overflow-wrap: anywhere; }

  .add-cart-form { display: flex; gap: 8px; align-items: end; flex: 0 0 auto; }
  .add-cart-form .quantity-input { width: 78px; }
  .related-products { margin-top: 52px; }
  .relationship-group { margin-top: 30px; }
  .relationship-group > h3 { border-bottom: 2px solid var(--navy-900); padding-bottom: 9px; margin-bottom: 12px; }
  .login-layout { min-height: 610px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(400px, .65fr); border: 1px solid var(--line-dark); background: var(--paper); box-shadow: var(--shadow); }
  .login-context { padding: clamp(34px, 6vw, 80px); background-color: var(--navy-900); background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 28px 28px; color: #fff; }
  .back-link { color: #d9e8f6; font-weight: 800; }
  .login-context h1 { max-width: 13ch; margin: 42px 0 20px; font-size: clamp(2.7rem, 5vw, 5.2rem); }
  .login-context > p { color: #c5d9eb; font-size: 1.05rem; }
  .login-context ol { list-style: none; padding: 0; margin-top: 52px; display: grid; gap: 0; border-top: 1px solid #3b6185; }
  .login-context li { display: grid; gap: 2px; padding: 13px 0; border-bottom: 1px solid #3b6185; }
  .login-context li span { color: #a9c5de; font-size: .85rem; }
  .login-card { align-self: center; padding: clamp(28px, 5vw, 58px); }
  .login-card-head { display: flex; align-items: center; gap: 17px; padding-bottom: 22px; border-bottom: 3px solid var(--navy-900); margin-bottom: 25px; }
  .login-card-head h2 { margin-bottom: 4px; }
  .login-card-head p { color: var(--muted); font-size: .84rem; }
  .account-note { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 18px; color: var(--muted); font-size: .85rem; }
  .account-note strong { display: block; color: var(--ink); }
  .cart-page { background: var(--paper); border: 1px solid var(--line-dark); padding: clamp(22px, 4vw, 42px); box-shadow: var(--shadow); }
  .cart-heading { border-bottom: 3px solid var(--navy-900); padding-bottom: 18px; }
  .cart-count-label { background: var(--navy-900); color: #fff; padding: 9px 12px; font-weight: 800; white-space: nowrap; }
  .cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 26px; align-items: start; }
  .cart-table code { color: var(--navy-900); font: 800 .83rem var(--font-technical); overflow-wrap: anywhere; }
  .cart-product-name { color: var(--ink); font-weight: 800; }
  .status-note { display: block; width: fit-content; margin-top: 6px; font-size: .72rem; font-weight: 800; }
  .status-ready { color: var(--success); }
  .status-ready::before { content: "●"; margin-right: 5px; }
  .status-closed { color: var(--danger); }
  .status-closed::before { content: "×"; margin-right: 5px; }
  .quantity-input { width: 82px; }
  .cart-summary { border: 1px solid var(--navy-900); border-top: 5px solid var(--orange-600); padding: 20px; background: var(--blue-100); }
  .cart-summary h2 { font-size: 1.2rem; margin-bottom: 13px; }
  .cart-summary dl { border-top: 1px solid #aec1d1; }
  .cart-summary dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #aec1d1; padding: 10px 0; }
  .cart-summary dd { font-weight: 900; color: var(--navy-900); }
  .cart-summary p { color: var(--ink-soft); font-size: .83rem; margin: 17px 0; }
  .cart-summary .btn { width: 100%; margin-top: 8px; }
  .cart-empty { min-height: 390px; }
  .empty-drawing { width: 110px; height: 75px; border: 2px solid var(--navy-800); border-top: 0; position: relative; transform: skewX(-5deg); }
  .empty-drawing::before { content: ""; position: absolute; width: 60px; border-top: 2px solid var(--navy-800); top: -15px; left: -15px; transform: rotate(13deg); }
  .empty-drawing span { position: absolute; width: 12px; height: 12px; border: 2px solid var(--orange-600); border-radius: 50%; bottom: -18px; }
  .empty-drawing span:first-child { left: 13px; }
  .empty-drawing span:nth-child(2) { right: 13px; }
  .empty-drawing span:last-child { width: 42px; border: 0; border-top: 1px dashed var(--line-dark); border-radius: 0; top: 22px; left: 32px; }
}

@layer admin {
  .managed-content-form { max-width: 1100px; }
  .managed-content-language { display: grid; gap: 18px; }
  .managed-content-editor { min-height: 340px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
  .html-editor-panel { min-width: 0; margin: 12px 0; border: 1px solid var(--line-dark); background: #fff; }
  .html-editor-panel > .field { padding: 10px 12px 0; }
  .html-editor-panel textarea { min-height: 180px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .86rem; font-weight: 400; line-height: 1.55; }
  .html-editor-panel .managed-content-editor { min-height: 340px; }
  .html-editor-toolbar { display: flex; flex-wrap: wrap; gap: 5px; padding: 8px; border-bottom: 1px solid var(--line); background: var(--blueprint); }
  .html-editor-action { width: auto; min-height: 44px; padding: 6px 9px; border: 1px solid var(--line-dark); background: #fff; color: var(--navy-900); cursor: pointer; font-size: .76rem; font-weight: 750; }
  .html-editor-action:hover, .html-editor-action:focus-visible { border-color: var(--brand-blue); background: var(--blue-100); }
  .html-editor-note { max-width: none; padding: 8px 12px; color: var(--ink-soft); font-size: .74rem; }
  .shell-admin { background: #e9eef3; }
  .admin-frame { min-height: 100vh; display: grid; grid-template-columns: 256px minmax(0, 1fr); }
  .admin-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; overflow-y: auto; background: var(--navy-950); color: #fff; border-right: 4px solid var(--orange-600); }
  .admin-brand { min-height: 92px; gap: 12px; padding: 20px 22px; color: #fff; border-bottom: 1px solid #29435f; }
  .admin-brand .brand-mark { flex: 0 0 auto; }
  .admin-brand > span:last-child { display: grid; font: 900 1.35rem var(--font-technical); letter-spacing: -.03em; }
  .admin-brand small { color: #9fb9d2; font: 750 .68rem var(--font-ui); letter-spacing: .05em; text-transform: uppercase; }
  .admin-nav { flex: 1 1 auto; min-height: 0; display: grid; align-content: start; gap: 20px; padding: 20px 14px 28px; overflow-y: auto; }
  .admin-nav-group { display: grid; gap: 3px; }
  .admin-nav-group > span { padding: 4px 10px 7px; color: #86a6c5; font: 800 .67rem var(--font-technical); letter-spacing: .11em; text-transform: uppercase; }
  .admin-nav a { min-height: 39px; display: flex; align-items: center; padding: 8px 10px; color: #dceafa; border: 1px solid transparent; text-decoration: none; font-weight: 700; }
  .admin-nav a:hover { background: #0d3b6a; color: #fff; }
  .admin-nav a[aria-current="page"] { background: #fff; color: var(--navy-950); border-color: #fff; position: relative; }
  .admin-nav a[aria-current="page"]::before { content: ""; position: absolute; left: -14px; width: 5px; height: 100%; background: var(--orange-500); }
  .admin-sidebar-footer { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #29435f; }
  .admin-sidebar-footer a { min-height: 48px; display: grid; place-items: center; color: #dceafa; text-decoration: none; font-size: .78rem; font-weight: 750; }
  .admin-sidebar-footer a + a { border-left: 1px solid #29435f; }
  .admin-workspace { min-width: 0; }
  .admin-commandbar { position: sticky; top: 0; z-index: 20; min-height: 72px; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 12px 28px; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line-dark); box-shadow: 0 5px 18px rgba(6,29,56,.06); }
  .admin-commandbar > div:first-child { display: grid; }
  .admin-commandbar > div:first-child span { color: var(--muted); font: 800 .68rem var(--font-technical); letter-spacing: .09em; text-transform: uppercase; }
  .admin-commandbar > div:first-child strong { color: var(--navy-950); font: 850 1.13rem var(--font-technical); }
  .admin-operator { text-align: right; display: grid; }
  .admin-operator span { color: var(--ink); font-weight: 800; }
  .admin-operator b { color: var(--success); font-size: .72rem; }
  .shell-admin .container { width: 100%; max-width: none; padding: 20px 28px; }
  .admin-page-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 4px 0 18px; border-bottom: 1px solid var(--line-dark); }
  .admin-page-head h1 { color: var(--navy-950); font-size: clamp(1.9rem, 3vw, 3rem); margin-bottom: 5px; }
  .shell-admin .admin-page-head h1 { font-size: clamp(1.5rem, 2vw, 2rem); }
  .admin-page-head p { color: var(--muted); }
  .admin-page-head > .action-row { justify-content: flex-end; padding-top: 2px; }
  .shell-admin .import-page-head { margin-bottom: 12px; padding-bottom: 12px; }
  .shell-admin .import-page-head ~ .card { padding: 18px 22px; margin-bottom: 12px; }
  .exception-strip { min-height: 48px; display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 14px 0; padding: 7px 12px; background: var(--success-bg); border: 1px solid var(--success); color: #0b5b37; }
  .exception-strip > div { display: grid; }
  .exception-strip span { font: 800 .67rem var(--font-technical); letter-spacing: .08em; text-transform: uppercase; }
  .exception-strip a { color: inherit; font-weight: 800; }
  .exception-strip.has-exception { background: var(--danger-bg); border-color: var(--danger); color: var(--danger); }
  .shell-admin .hero { display: flex; align-items: end; justify-content: space-between; gap: 14px; min-height: 0; padding: 15px 20px; border-radius: 0; border-color: var(--line-dark); border-top: 2px solid var(--navy-900); box-shadow: none; }
  .shell-admin .hero h1 { font-size: clamp(1.4rem, 1.9vw, 1.85rem); margin: 0; }
  .shell-admin .hero .badge { order: 2; }
  .shell-admin .card { border-radius: 0; box-shadow: none; border-color: var(--line-dark); }
  .shell-admin .card > h1 { font-size: clamp(1.4rem, 2vw, 1.9rem); }
  .shell-admin .card > h2:first-child { color: var(--navy-950); font-size: 1.16rem; padding-bottom: 8px; border-bottom: 2px solid var(--navy-900); }
  .shell-admin .card > h2:not(:first-child) { margin-top: 18px; }
  .shell-admin .orders-index > .badge { display: none; }
  .shell-admin .orders-index .section-heading { align-items: center; margin-bottom: 14px; }
  .shell-admin .orders-index .section-heading h1 { font-size: clamp(1.4rem, 2vw, 1.85rem); margin: 0; }
  .shell-admin .permission-matrix-card { padding: 18px 20px; }
  .permission-matrix-intro { margin-bottom: 14px; }
  .permission-matrix-intro h2 { margin: 0 0 4px; font-size: 1.2rem; }
  .permission-matrix-scroll { border: 1px solid var(--line-dark); }
  .shell-admin .admin-permission-matrix { min-width: 1040px; table-layout: fixed; }
  @media (max-width: 780px) { .shell-admin .admin-permission-matrix { min-width: 1220px; } }
  .admin-permission-matrix thead th:first-child, .admin-permission-matrix tbody th { width: 215px; }
  .admin-permission-matrix thead th:last-child, .admin-permission-matrix .permission-row-action { width: 105px; }
  .shell-admin .admin-permission-matrix thead th { padding: 10px 6px; text-align: center; white-space: normal; line-height: 1.25; }
  .shell-admin .admin-permission-matrix thead th:first-child { text-align: left; }
  .shell-admin .admin-permission-matrix tbody th { position: sticky; left: 0; z-index: 3; background: #fff; color: var(--ink); padding: 12px; text-align: left; border-bottom: 1px solid var(--line); box-shadow: 1px 0 0 var(--line-dark); }
  .admin-permission-matrix tbody th strong, .admin-permission-matrix tbody th small { display: block; overflow-wrap: anywhere; }
  .admin-permission-matrix tbody th small { margin: 2px 0 5px; font-weight: 500; color: var(--ink-soft); }
  .shell-admin .admin-permission-matrix td { padding: 3px; text-align: center; vertical-align: middle; }
  .permission-cell { min-height: 48px; display: grid; place-items: center; cursor: pointer; }
  .permission-cell:has(input:disabled) { cursor: not-allowed; }
  .permission-cell input[type="checkbox"] { width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: var(--brand-blue); }
  .shell-admin .admin-permission-matrix .permission-row-action { position: sticky; right: 0; z-index: 3; background: #fff; box-shadow: -1px 0 0 var(--line-dark); }
  .permission-row-action .btn { min-height: 44px; padding: 7px 10px; font-size: .78rem; }
  .shell-admin .admin-permission-matrix tbody tr:nth-child(even) th, .shell-admin .admin-permission-matrix tbody tr:nth-child(even) .permission-row-action { background: #f6f8fa; }
  .shell-admin .admin-permission-matrix tbody tr:hover th, .shell-admin .admin-permission-matrix tbody tr:hover .permission-row-action { background: var(--blue-100); }
  .shell-admin .metric-grid { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
  .shell-admin .metric-card { border-radius: 0; box-shadow: none; border-color: var(--line-dark); border-top: 4px solid var(--navy-900); background: var(--paper); }
  .shell-admin .metric-card strong { color: var(--navy-900); font: 900 2rem var(--font-technical); }
  .shell-admin .metric-card.metric-alert { border-top-color: var(--danger); }
  .shell-admin .compact-metrics { margin: 16px 0; gap: 12px; }
  .shell-admin .compact-metrics .metric-card { min-height: 105px; padding: 14px 16px; }
  .shell-admin .compact-metrics .metric-card span { display: grid; color: var(--ink-soft); font-weight: 800; }
  .shell-admin .compact-metrics .metric-card span small { color: var(--muted); font-weight: 600; }
  .shell-admin .compact-metrics .metric-card strong small { color: var(--muted); font: 750 .65rem var(--font-ui); text-transform: uppercase; }
  .shell-admin .operations-panel { padding: 20px; }
  .shell-admin .operations-panel .section-heading { margin-bottom: 12px; }
  .shell-admin .operations-panel .section-heading h2 { margin: 0 0 3px; }
  .shell-admin .operations-panel .section-heading p { color: var(--muted); font-size: .84rem; }
  .shell-admin .status-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-bottom: 20px; }
  .shell-admin .status-metrics a { min-height: 54px; justify-content: space-between; border-radius: 2px; background: #fff; }
  .shell-admin .status-metrics a:hover { border-color: var(--orange-600); }
  .shell-admin .status-metrics a::after { content: "→"; color: var(--orange-600); font-weight: 900; }
  .recent-heading { margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--line); }
  .dashboard-table { max-height: 310px !important; }
  .admin-empty { display: grid; gap: 3px; padding: 18px 4px; text-align: center; }
  .admin-empty span { color: var(--muted); font-size: .82rem; }
  .shell-admin .table-scroll { border: 1px solid var(--line-dark); max-height: min(68vh, 760px); overflow: auto; }
  .shell-admin .table { min-width: 760px; border-radius: 0; }
  .shell-admin .table th { position: sticky; top: 0; z-index: 2; background: var(--navy-900); color: #fff; font: 800 .74rem var(--font-technical); letter-spacing: .025em; }
  .shell-admin .table td { background: #fff; vertical-align: top; }
  .shell-admin .table tbody tr:nth-child(even) td { background: #f6f8fa; }
  .shell-admin .table tbody tr:hover td { background: var(--blue-100); }
  .shell-admin .grid { align-items: end; }
  .shell-admin .field { margin-bottom: 10px; }
  .shell-admin .field > span, .shell-admin .field { font-weight: 700; }
  .shell-admin .btn { border-radius: 3px; }
  .shell-admin .btn.primary { background: var(--navy-900); border-color: var(--navy-900); color: #fff; }
  .shell-admin .btn.primary:hover { background: var(--orange-600); border-color: var(--orange-600); color: var(--navy-950); }
  .shell-admin .btn.danger { margin-left: 10px; }
  .shell-admin .status-pill { border-radius: 2px; border: 1px solid currentColor; }
  .shell-admin .breadcrumbs { padding: 8px 12px; background: #fff; border: 1px solid var(--line); }
  .catalog-admin-tabs { display: flex; gap: 4px; margin-bottom: 12px; border-bottom: 2px solid var(--navy-900); overflow-x: auto; }
  .catalog-admin-tabs a { min-height: 42px; display: flex; align-items: center; padding: 8px 15px; color: var(--navy-900); background: #fff; border: 1px solid var(--line); border-bottom: 0; text-decoration: none; font-weight: 800; white-space: nowrap; }
  .catalog-admin-tabs a[aria-current="page"] { color: #fff; background: var(--navy-900); border-color: var(--navy-900); }
  .catalog-admin-summary { display: grid; grid-template-columns: repeat(3,minmax(130px,1fr)); gap: 8px; margin-bottom: 14px; }
  .shell-admin .catalog-admin-summary > div { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; background: #fff; border: 1px solid var(--line-dark); }
  .catalog-admin-summary span { color: var(--muted); font-size: .78rem; font-weight: 750; }
  .catalog-admin-summary strong { color: var(--navy-900); font: 900 1.35rem var(--font-technical); }
  .shell-admin .catalog-admin-page { padding: 18px 22px 22px; }
  .catalog-admin-page > .badge { display: none; }
  .catalog-admin-page > h1 { margin: 0 0 8px; color: var(--navy-950); font-size: clamp(1.35rem, 1.8vw, 1.75rem); }
  .catalog-admin-page > .muted { max-width: 90ch; margin-bottom: 12px; font-size: .82rem; line-height: 1.45; }
  .catalog-admin-page .catalog-list-head { margin: 6px 0 10px; }
  .catalog-admin-page .catalog-list-head h2, .catalog-admin-page .catalog-editor h2, .catalog-admin-page .feature-values > h2 { font-size: 1.15rem; }
  .catalog-structure-form { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--line-dark); }
  .catalog-structure-form > div:last-child { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; padding-top: 4px; }
  .catalog-list-title { margin: 0 0 12px !important; }
  .product-filterbar { display: grid; grid-template-columns: minmax(220px,1.6fr) repeat(3,minmax(140px,1fr)); gap: 10px; align-items: end; padding: 14px; margin: 14px 0 10px; background: #eef3f7; border: 1px solid var(--line-dark); }
  .product-filterbar .field { margin: 0; }
  .filter-actions { display: flex; gap: 7px; }
  .selection-bar { min-height: 48px; display: flex; align-items: center; gap: 14px; padding: 8px 12px; background: var(--navy-950); color: #fff; }
  .selection-bar > span:last-child { margin-left: auto; color: #b8cee2; font-size: .78rem; }
  .selection-bar .btn { min-height: 34px; padding: 5px 10px; }
  .selection-bar .btn:disabled { opacity: .52; cursor: not-allowed; }
  .product-operations-table { max-height: none !important; }
  .shell-admin .product-operations .section-heading { align-items: center; margin-bottom: 12px; }
  .shell-admin .product-operations .section-heading h1 { font-size: clamp(1.4rem, 2vw, 1.85rem); margin-bottom: 3px; }
  .shell-admin .product-operations .section-heading p { font-size: .82rem; }
  .product-operations-table .table { min-width: 1060px; table-layout: fixed; }
  .product-operations-table th:nth-child(1) { width: 42px; }
  .product-operations-table th:nth-child(2) { width: 130px; }
  .product-operations-table th:nth-child(3) { width: 185px; }
  .product-operations-table th:nth-child(4) { width: 250px; }
  .product-operations-table th:nth-child(5) { width: 155px; }
  .product-operations-table th:nth-child(6) { width: 82px; }
  .product-operations-table th:nth-child(7) { width: 145px; }
  .product-operations-table th:nth-child(8) { width: 140px; }
  .product-operations-table code { font-weight: 800; color: var(--navy-900); }
  .product-sku-cell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .product-name-cell strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.35; }
  .qa-reasons { display: block; margin-top: 5px; color: var(--ink-soft); font-size: .69rem; line-height: 1.3; }
  .product-action-column { position: sticky; right: 0; z-index: 2; border-left: 1px solid var(--line-dark); box-shadow: -5px 0 10px rgba(6,29,56,.05); }
  .product-operations-table thead .product-action-column { z-index: 5; background: var(--navy-900); }
  .coverage-line { color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
  .pagination { display: flex; justify-content: center; align-items: center; gap: 12px; padding-top: 16px; }
  .product-context-tabs { position: sticky; top: 72px; z-index: 18; display: flex; flex-wrap: wrap; align-items: center; gap: 3px; margin-bottom: 14px; padding: 8px; background: #fff; border: 1px solid var(--line-dark); box-shadow: 0 5px 16px rgba(6,29,56,.06); }
  .product-context-identity { width: min(350px,30vw); flex: 0 0 auto; padding: 5px 12px; border-right: 1px solid var(--line); overflow: hidden; }
  .product-context-identity strong, .product-context-identity span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .product-context-identity strong { color: var(--navy-950); font-size: .8rem; }
  .product-context-identity .product-context-name { overflow: visible; text-overflow: clip; white-space: normal; line-height: 1.25; }
  .product-context-identity span { margin-top: 2px; color: var(--muted); font: 750 .69rem var(--font-technical); }
  .product-context-tabs a { min-height: 38px; display: flex; align-items: center; padding: 7px 12px; color: var(--navy-900); text-decoration: none; font-weight: 800; white-space: nowrap; }
  .product-context-tabs a:hover { background: var(--navy-900); color: #fff; }
  .product-save-state { margin-left: auto; padding: 6px 9px; color: #356247; background: #edf7f0; border: 1px solid #b9d5c1; font-size: .72rem; font-weight: 800; white-space: nowrap; }
  .product-save-state.is-dirty { color: #854f00; background: #fff5df; border-color: #e7b969; }
  .product-editor-form > .grid:not(.feature-editor-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-editor-form .grid > label:has([name="name_tr"]), .product-editor-form .grid > label:has([name="slug_tr"]), .product-editor-form .grid > label:has([name="seo_title_tr"]), .product-editor-form .grid > label:has([name="name_en"]), .product-editor-form .grid > label:has([name="slug_en"]), .product-editor-form .grid > label:has([name="seo_title_en"]) { grid-column: 1 / -1; }
  .product-editor-form h2 { scroll-margin-top: 145px; padding-top: 14px; border-top: 1px solid var(--line); font-size: clamp(1.2rem, 1.5vw, 1.45rem); }
  .catalog-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 12px; }
  .catalog-list-head h2 { margin: 0; }
  .catalog-en { color: var(--ink-soft); font-size: .8rem; line-height: 1.5; }
  .catalog-missing-en { color: #854f00; background: #fff1d6; font-size: .72rem; }
  .catalog-values summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 750; white-space: nowrap; }
  .catalog-values[open] > div { max-width: 420px; display: flex; flex-wrap: wrap; gap: 5px; padding: 5px 0 12px; }
  .catalog-values .badge { white-space: normal; }
  .catalog-editor { margin-top: 18px; padding-top: 14px; border-top: 2px solid var(--line); scroll-margin-top: 120px; }
  .catalog-editor > h2 { margin-bottom: 12px; }
  .shell-admin #catalog-features-editor { margin: 0 0 18px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface, #fff); }
  .shell-admin .feature-values { margin: 16px 0 22px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; scroll-margin-top: 100px; }
  .shell-admin .feature-values > h2 { margin-bottom: 8px; }
  .shell-admin .feature-value-row { display: block; margin-top: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface, #fff); }
  .shell-admin .feature-value-delete { margin: 6px 0 18px; text-align: right; }
  .shell-admin .feature-value-delete .btn.danger { margin-left: 0; }
  .shell-admin .feature-value-add { border-style: dashed; }
  .shell-admin .feature-value-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,2fr) minmax(80px,.6fr) auto auto; align-items: end; gap: 12px; }
  .shell-admin .feature-value-grid > * { min-width: 0; }
  .shell-admin .feature-value-grid input, .shell-admin .feature-value-grid select { width: 100%; }
  .shell-admin .feature-value-grid .check-field { white-space: nowrap; padding-bottom: 12px; }
  @media (max-width: 1000px) { .shell-admin .feature-value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
  @media (max-width: 600px) { .shell-admin .feature-values, .shell-admin #catalog-features-editor { padding: 14px; } .shell-admin .feature-value-grid { grid-template-columns: 1fr; } .shell-admin .feature-value-grid .btn { width: 100%; } }
  .catalog-editor .grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shell-admin .catalog-scope-matrix { margin: 18px 0 28px; }
  .shell-admin .catalog-scope-matrix h2 { margin: 0 0 6px; font-size: 1.15rem; }
  .shell-admin .catalog-scope-matrix > .muted { max-width: 75ch; font-size: .82rem; }
  .shell-admin .catalog-scope-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); scrollbar-color: var(--line-dark) var(--paper); }
  .shell-admin .catalog-scope-scroll:focus-visible { outline: 2px solid var(--brand-orange); outline-offset: 2px; }
  .shell-admin .catalog-scope-scroll .table { width: max-content; min-width: 100%; }
  .shell-admin .catalog-scope-scroll th, .shell-admin .catalog-scope-scroll td { padding: 7px 9px; min-width: 72px; vertical-align: middle; }
  .shell-admin .catalog-scope-scroll th:first-child { min-width: 190px; position: sticky; left: 0; z-index: 1; }
  .shell-admin .catalog-scope-scroll thead th:first-child { background: var(--navy-900); color: var(--paper); z-index: 3; }
  .shell-admin .catalog-scope-scroll tbody th:first-child { background: var(--paper); color: var(--navy-950); }
  .shell-admin .catalog-scope-scroll td:nth-child(2) { min-width: 180px; }
  .shell-admin .catalog-scope-scroll th small, .shell-admin .catalog-scope-scroll td small { display: block; color: var(--ink-soft); font-size: .75rem; }
  .shell-admin .catalog-scope-modes { display: grid; gap: 3px; margin-top: 7px; font-size: .75rem; }
  .shell-admin .catalog-scope-modes label { display: flex; align-items: center; gap: 6px; min-height: 30px; cursor: pointer; }
  .shell-admin .catalog-scope-choice { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
  .shell-admin .catalog-scope-choice:has(input:focus-visible) { outline: 2px solid var(--brand-orange); outline-offset: 2px; }
  .shell-admin .catalog-scope-choice input[type="checkbox"], .shell-admin .catalog-scope-modes input[type="radio"], .shell-admin .catalog-new-scope input[type="radio"] { width: 19px; height: 19px; min-height: 0; padding: 0; margin: 0; accent-color: var(--navy-900); }
  .shell-admin .catalog-new-scope { grid-column: 1 / -1; border: 1px solid var(--line); padding: 12px; }
  .shell-admin .catalog-new-scope > label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-right: 18px; }
  .shell-admin .catalog-new-scope-options { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 8px 0; }
  .shell-admin .catalog-new-scope-options .catalog-scope-choice { justify-content: flex-start; gap: 6px; }
  .shell-admin .category-feature-select { grid-column: 1 / -1; min-width: 0; margin: 8px 0 2px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; }
  .shell-admin .category-feature-select legend { padding: 0 6px; color: var(--navy-950); font-weight: 800; }
  .shell-admin .category-feature-count { margin-left: 12px; color: var(--ink-soft); font-size: .78rem; font-weight: 600; white-space: nowrap; }
  .shell-admin .category-feature-select > .muted { margin: 0 0 12px; font-size: .78rem; }
  .shell-admin .category-feature-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 8px; max-height: 336px; overflow-y: auto; padding-right: 8px; scrollbar-color: var(--line-dark) var(--paper); }
  .shell-admin .category-feature-choice { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 4px; cursor: pointer; }
  .shell-admin .category-feature-choice:has(input:checked) { background: var(--blueprint); }
  .shell-admin .category-feature-choice:has(input:disabled) { color: var(--ink-soft); cursor: not-allowed; }
  .shell-admin .category-feature-choice:has(input:focus-visible) { outline: 2px solid var(--brand-orange); outline-offset: 2px; }
  .shell-admin .category-feature-choice input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; padding: 0; margin: 3px 0 0; accent-color: var(--navy-900); }
  .shell-admin .category-feature-choice span { min-width: 0; }
  .shell-admin .category-feature-choice strong { display: block; font-size: 1rem; line-height: 1.3; }
  .shell-admin .category-feature-choice small { display: block; color: var(--ink-soft); font-size: .78rem; overflow-wrap: anywhere; }
  .shell-admin .category-feature-help { margin-top: 12px; color: var(--ink-soft); font-size: .78rem; }
  .shell-admin .category-feature-help summary { color: var(--navy-900); font-weight: 800; cursor: pointer; }
  .shell-admin .category-feature-help p { max-width: 75ch; margin-top: 8px; }
  .catalog-editor .grid > .field:has([multiple]) { grid-column: 1 / -1; }
  @media (max-width: 780px) { .catalog-editor .grid, .shell-admin .category-feature-options { grid-template-columns: 1fr; } }
}

@layer responsive {
  @media (max-width: 1080px) {
    .admin-frame { grid-template-columns: 220px minmax(0, 1fr); }
    .shell-admin .container { padding: 22px; }
    .shell-admin .metric-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
    .shell-admin .status-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .admin-page-head { display: grid; }
    .admin-page-head > .action-row { justify-content: flex-start; padding-top: 4px; }
    .product-filterbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .filter-actions { grid-column: 1 / -1; }
    .product-context-tabs { top: 0; }
    .masthead { grid-template-columns: 220px 1fr; gap: 20px; padding-block: 18px; }
    .account-actions { grid-column: 1 / -1; justify-self: end; margin-top: -7px; }
    .home-intro { grid-template-columns: 1fr; }
    .featured-passport { width: min(620px, calc(100% - 52px)); justify-self: center; }
    .home-product-track { grid-auto-columns: calc((100% - 32px) / 3); }
    .category-links { grid-template-columns: repeat(2, 1fr); }
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .category-results .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-grid.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .product-layout { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
    .product-identity { grid-column: 1; grid-row: 1; }
    .product-media-column { grid-column: 1; grid-row: 2; border-right: 0; border-bottom: 1px solid var(--line-dark); }
    .passport-details { grid-column: 1; grid-row: 3; padding-top: 0; }
    .login-layout { grid-template-columns: 1fr 410px; }
  }

  @media (max-width: 780px) {
    .admin-frame { display: block; }
    .admin-sidebar { position: static; height: auto; border-right: 0; border-bottom: 4px solid var(--orange-600); }
    .admin-brand { min-height: 70px; }
    .admin-nav { display: flex; gap: 10px; overflow-x: auto; padding: 10px 14px 14px; }
    .admin-nav-group { min-width: 180px; }
    .admin-sidebar-footer { display: flex; }
    .admin-sidebar-footer a { flex: 1; }
    .admin-commandbar { position: static; padding: 10px 16px; }
    .admin-operator { display: none; }
    .shell-admin .container { padding: 16px 14px 44px; }
    .shell-admin .hero { display: grid; }
    .admin-page-head, .exception-strip { align-items: stretch; flex-direction: column; }
    .container, .header-width, .footer-grid { width: min(100% - 28px, var(--content)); }
    .shell-public.route-category .container { width: min(100% - 28px, 1560px); }
    .container { padding-block: 22px 54px; }
    .utility-strip .header-width { min-height: 44px; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
    .utility-title, .signed-in { display: none; }
    .public-utility-links { gap: 10px !important; }
    .public-utility-actions { gap: 10px; }
    .utility-strip nav { margin-left: 0; }
    .locale-switcher { flex: 0 0 auto; }
    .locale-switcher a { min-width: 44px; min-height: 34px; }
    .masthead { grid-template-columns: 1fr auto; min-height: auto; gap: 14px; padding-block: 15px; }
    .public-logo { width: 180px; }
    .brand-mark { width: 37px; height: 35px; }
    .global-search { grid-column: 1 / -1; grid-row: 2; }
    .global-search input { min-height: 47px; }
    .account-actions { grid-column: 2; grid-row: 1; margin: 0; }
    .account-actions a:first-child { display: none; }
    .account-actions { display: block; }
    .account-actions a { padding-left: 10px; }
    .category-rail .header-width { width: 100%; padding-left: 14px; }
    .category-rail .header-width { scroll-snap-type: x proximity; padding-right: 44px; }
    .category-rail a { scroll-snap-align: start; }
    .category-rail::after { content: '›'; position: absolute; z-index: 2; right: 0; top: 0; width: 44px; height: 45px; display: grid; place-items: center; color: #fff; background: linear-gradient(90deg,rgba(216,87,13,0),var(--orange-600) 48%); font-size: 1.4rem; font-weight: 900; pointer-events: none; }
    .category-rail .catalog-trigger { min-width: auto; }
    .admin-topbar { align-items: flex-start; flex-direction: column; gap: 8px; }
    .admin-nav { width: 100%; }
    .home-search-panel { padding: 36px 24px; }
    .home-search-panel h1, .login-context h1 { font-size: clamp(2.4rem, 11vw, 4rem); }
    .passport-search > div { display: grid; }
    .passport-search button { min-height: 50px; }
    .featured-passport { margin: 14px; width: calc(100% - 28px); }
    .home-product-track { grid-auto-columns: calc((100% - 16px) / 2); }
    .category-links { grid-template-columns: 1fr; }
    .category-link { min-height: 112px; padding: 18px; }
    .category-layout { grid-template-columns: 1fr; }
    .filter-panel { position: static; }
    .filter-panel.filters-enhanced .mobile-filter-toggle:not([hidden]) { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; color: #fff; background: var(--navy-900); border: 0; font-weight: 850; }
    .mobile-filter-toggle small { color: #fff; font-weight: 700; opacity: .78; }
    .filter-panel.filters-enhanced:not(.is-open) #category-filter-form { display: none; }
    #category-filter-form { max-height: none; grid-template-columns: 1fr; }
    .facet-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .filter-title, .filter-panel .muted, .facet-actions { grid-column: 1 / -1; }
    .product-grid, .product-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gallery-main { min-height: 320px; }
    .gallery-viewer { width: 100dvw; height: 100dvh; max-height: none; margin: 0; inset: 0; border: 0; }
    .gallery-viewer-surface { height: 100dvh; }
    .gallery-viewer-header { padding-top: max(8px,env(safe-area-inset-top)); padding-right: max(12px,env(safe-area-inset-right)); padding-left: max(16px,env(safe-area-inset-left)); }
    .gallery-viewer-figure { grid-template-rows: minmax(0,1fr) auto auto auto; padding: 12px max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
    .gallery-viewer-figure > img { grid-column: 1 / -1; grid-row: 1; }
    .gallery-viewer-figure figcaption { grid-column: 1 / -1; grid-row: 2; padding-inline: 0; }
    .gallery-viewer-figure output { width: 100%; grid-column: 1 / -1; grid-row: 3; }
    .gallery-viewer-prev { grid-column: 1; grid-row: 4; justify-self: start; }
    .gallery-viewer-next { grid-column: 3; grid-row: 4; justify-self: end; }

    .add-cart-form { width: 100%; }
    .add-cart-form .btn { flex: 1; }
    .login-layout { grid-template-columns: 1fr; }
    .login-context { padding: 36px 24px; }
    .login-context h1 { margin-top: 30px; }
    .login-context ol { margin-top: 32px; }
    .login-card { padding: 34px 24px; }
    .cart-layout { grid-template-columns: 1fr; }
    .cart-summary { order: -1; }
    .footer-grid { grid-template-columns: 1fr; gap: 16px; }
  }

  @media (max-width: 520px) {
    .utility-strip .header-width { grid-template-columns: 1fr; gap: 0; padding-block: 3px; }
    .public-utility-links a { min-height: 36px; }
    .public-utility-actions { justify-self: start; }
    body { font-size: 15px; }
    .global-search button { padding-inline: 13px; font-size: .78rem; }
    .public-logo { width: 150px; }
    .brand-mark { width: 31px; height: 31px; }
    .account-actions strong { font-size: .78rem; }
    .home-search-panel { padding: 28px 20px; }
    .home-search-panel h1, .login-context h1 { font-size: clamp(2.25rem, 10vw, 3rem); }
    .task-steps { display: grid; }
    .home-product-heading { align-items: start; }
    .home-product-track { grid-auto-columns: min(82%,280px); }
    .section-heading { display: grid; }
    .filter-panel form { grid-template-columns: 1fr; }
    .facet-groups { grid-template-columns: 1fr; }
    .filter-title, .filter-panel .muted, .facet-actions { grid-column: auto; }
    .results-toolbar { align-items: start; flex-direction: column; }
    .compact-pagination { width: 100%; justify-content: space-between; margin-left: 0; padding-top: 8px; border-top: 1px solid var(--line); }
    .compact-pagination a, .category-pagination a, .category-pagination .page-number { min-height: 44px; }
    .product-grid, .product-grid.compact { grid-template-columns: 1fr; }
    .category-results .product-grid { grid-template-columns: 1fr; }
    .product-card { display: grid; grid-template-columns: 116px minmax(0, 1fr); }
    .product-card-media { aspect-ratio: 1; padding: 10px; border-bottom: 0; border-right: 1px solid var(--line); }
    .product-card .media-placeholder { min-height: 95px; }
    .gallery-main { min-height: 250px; }
    .passport-details { padding: 23px; }
    .product-identity h1 { font-size: 1.35rem; line-height: 1.25; }
    .verification-order { margin-top: 20px; }
    .verification-order { padding: 16px; }
    .verification-order .add-cart-form { grid-template-columns: 90px minmax(0,1fr); }
    .gallery { padding: 14px; }
    .spec-list > div { grid-template-columns: 1fr; gap: 3px; }
    .spec-list dd { text-align: left; }
    .add-cart-form { display: grid; grid-template-columns: 90px 1fr; }
    .add-cart-form .quantity-input { width: 100%; }
    .cart-heading { align-items: start; }
    .cart-table thead { display: none; }
    .cart-table, .cart-table tbody, .cart-table tr, .cart-table td { display: block; width: 100%; }
    .cart-table tr { padding: 13px 0; border-bottom: 1px solid var(--line-dark); }
    .cart-table td { display: grid; grid-template-columns: 96px 1fr; border: 0; padding: 7px 4px; background: transparent; }
    .cart-table td::before { content: attr(data-label); color: var(--muted); font-size: .74rem; font-weight: 800; text-transform: uppercase; }
    .cart-table tbody tr:hover { background: transparent; }
    .footer-pages { grid-template-columns: 1fr; }
  }


  .footer-order-editor { max-width: 1100px; }
  .footer-order-editor form { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; margin-top: 16px; }
  .footer-order-editor .field { width: 170px; }
  .home-faq { margin: 48px 0 64px; border-top: 2px solid var(--navy-900); padding-top: 26px; }
  .home-faq-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 22px; }
  .home-faq-heading h2 { margin: 0 0 6px; color: var(--navy-900); font-size: clamp(1.45rem, 2.5vw, 2rem); }
  .home-faq-heading p { margin: 0; color: var(--muted); }
  .home-faq-heading > a { white-space: nowrap; font-weight: 700; text-underline-offset: 4px; }
  .home-faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; }
  .home-faq-list article { padding: 14px 0 16px; border-top: 1px solid var(--line); min-width: 0; }
  .home-faq-list h3 { margin: 0; font-size: 1.04rem; line-height: 1.4; }
  .home-faq-list h3 a { color: var(--navy-900); text-underline-offset: 3px; }
  .home-faq-list h3 a:hover { color: var(--brand-blue); }
  @media (max-width: 780px) { .home-faq-list { grid-template-columns: 1fr; } .home-faq-heading { align-items: start; flex-wrap: wrap; } }
  @media (max-width: 520px) { .home-faq { margin-top: 30px; } .home-faq-list article { padding: 15px 0; } }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .gallery-main-image { transition: none; }
    .category-facet-root .filter-panel, .category-facet-root .category-results, .category-facet-root::before { transition: none; }
  }

  @media print {
    .site-header, .site-footer, .breadcrumbs, .verification-order, .thumbs, .gallery-viewer { display: none !important; }
    body, .container { background: #fff; width: 100%; padding: 0; }
    .product-passport { box-shadow: none; border: 1px solid #000; }
  }
}
.product-image-editor-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}
.product-image-editor{min-width:0;display:flex;flex-direction:column;gap:.75rem}
.product-image-editor>img{display:block;width:100%;height:185px;object-fit:contain;background:var(--photo-surface,#f4f7fa);border-radius:.5rem}
.product-image-editor small{display:block;overflow-wrap:anywhere;color:var(--muted,#5b6b7a)}
.product-image-editor form{margin:0}
/* Bulk spreadsheet review keeps untrusted content bounded and scrollable. */
.bulk-review-scroll { max-width:100%; overflow-x:auto; }
.bulk-review-scroll .table { min-width:760px; }
.bulk-value { max-width:24rem; min-width:9rem; overflow-wrap:anywhere; white-space:pre-wrap; }
.bulk-value-full { margin-top:.5rem; white-space:normal; }
.bulk-value-full summary { cursor:pointer; color:var(--accent-text,#215d9a); }
.bulk-value-full pre { max-width:100%; max-height:18rem; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; margin:.5rem 0 0; }
.bulk-hash { overflow-wrap:anywhere; word-break:break-all; }
.bulk-confirm { margin-top:1.5rem; padding:1rem; border:1px solid var(--line,#d5dce4); border-radius:12px; }
.bulk-confirm form { display:grid; gap:1rem; }
