/* Reference-aligned shared chrome. Business projections and visibility fences
   remain in their original controllers; no hidden/inert content is exposed. */
:root { --reference-blue:#1a80b6; --reference-charcoal:#101419; --reference-line:#dce5eb; }
body.admin-shell { --paper:#f3f6f8; --surface:#fff; --ink:#172b3b; --muted:#617483; --line:var(--reference-line); --radius:10px; --page-title-size:24px; background:var(--paper); font-size:14px; line-height:1.5; }
.admin-shell .app-frame { grid-template-columns:236px minmax(0,1fr); gap:0; padding:0; max-width:none; margin:0; min-height:100dvh; }
.admin-shell .page-background { display:block; min-width:0; padding:0 26px; }
.admin-shell .admin-sidebar { top:0; height:100dvh; padding:0 10px 12px; background:var(--reference-charcoal); border:0; border-right:1px solid #292f38; border-radius:0; scrollbar-width:thin; scrollbar-color:#49515d transparent; }
.admin-shell .sidebar-brand { min-height:62px; padding:10px 10px 12px; border-bottom:1px solid #29313b; margin:0 0 10px; }
.admin-shell .brand { font-size:18px; font-weight:650; letter-spacing:-.03em; gap:9px; }
.admin-shell .brand-mark { width:28px; height:32px; color:#03a9f4; }
.admin-shell .brand-sub { font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#8e9aa9; margin-top:3px; }
.admin-shell .admin-navigation[data-product-navigation] { gap:3px; }
.admin-shell .admin-navigation .product-nav-group { border:0; padding:0; margin-top:9px; }
.admin-shell .admin-navigation .product-nav-group > summary { min-height:30px; padding:5px 10px; border-radius:4px; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#8f9ba9; }
.admin-shell .admin-navigation .product-nav-group[open] > summary { color:#9da9b8; }
.admin-shell .admin-navigation .product-nav-items { border:0; margin:0; padding:0; gap:1px; }
.admin-shell .admin-navigation a { min-height:36px; padding:7px 10px; border-radius:5px; gap:10px; font-size:12px; font-weight:500; line-height:1.45; color:#c1c9d3; box-shadow:none; }
.admin-shell .admin-navigation .product-nav-group[data-nav-group="web"] .product-nav-items a { padding-left:10px; }
.admin-shell .admin-navigation a > [aria-hidden="true"] { width:16px; font-size:14px; color:#8e9aab; }
.admin-shell .admin-navigation a > .work-nav-icon-wide { width:24px; font-size:11px; letter-spacing:0; }
.admin-shell .admin-navigation a[aria-current="page"] { background:#203452; color:#e8f4fb; box-shadow:inset 2px 0 #03a9f4; }
.admin-shell .admin-navigation .work-nav-count { min-width:21px; padding:1px 5px; border:0; background:#ffffff10; font-size:10px; color:#bac9df; }
.admin-shell .sidebar-bottom { margin-top:18px; padding:10px 8px 0; border-top:1px solid #29313b; }
.admin-shell .sidebar-link { min-height:32px; padding:5px 0; font-size:11px; color:#aebccd; }
.admin-shell .sidebar-bottom .sidebar-caption { margin:7px 0; font-size:11px; color:#cad4e0; }
.admin-shell .internal-role-labels { font-size:10px; color:#8d9cad; margin-top:2px; }
.admin-shell .sidebar-logout { min-height:34px; padding:5px 9px; border:1px solid #36414f; background:transparent; font-size:11px; }
.admin-shell #logout-message:empty { margin:0; }
.admin-shell .admin-toolbar { min-height:58px; padding:6px 26px; margin:0 -26px 18px; width:calc(100% + 52px); border:0; border-bottom:1px solid var(--line); border-radius:0; background:#fff; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.admin-shell .admin-toolbar .journey-identity-main { flex:1 1 160px; gap:0; line-height:1.4; }
.admin-shell .admin-toolbar .journey-identity-main strong { font-size:12px; font-weight:600; }
.admin-shell .admin-toolbar .journey-identity-main small { font-size:10px; color:var(--muted); }
.admin-shell .reference-portal-link { display:inline-flex; align-items:center; min-height:36px; padding:5px 8px; font-size:11px; font-weight:500; color:#536171; text-decoration:none; }
.admin-shell .admin-toolbar > .button,
.admin-shell .admin-toolbar .admin-quick-create > .button { min-height:36px; padding:7px 12px; font-size:12px; }
.admin-shell .quick-create-dialog { border-radius:6px; }
.reference-help.help-toolbar { padding:0; align-items:center; flex-wrap:wrap; gap:6px; }
.reference-help :is(.help-toggle,.screen-guide-toggle) { min-height:36px; padding:6px 9px; border-radius:6px; font-size:11px; line-height:1.4; box-shadow:none; }
.reference-help .help-toggle[aria-pressed="false"],
.reference-help .screen-guide-toggle { border-color:var(--reference-line); background:transparent; color:#536171; }
.admin-shell #main { padding-top:0; }
body.admin-shell :is(.admin-intro,.intro,.work-heading,.production-heading,.finance-heading,.numbering-heading,.web-heading,.bench-heading) { margin-block:0 14px; }
body.admin-shell :is(.admin-intro,.intro,.work-heading,.production-heading,.finance-heading,.numbering-heading,.web-heading,.bench-heading) h1 { font-size:24px; font-weight:600; line-height:1.2; letter-spacing:-.035em; margin-block:0 6px; }
body.admin-shell :is(.admin-intro,.intro,.work-heading,.production-heading,.finance-heading,.numbering-heading,.web-heading,.bench-heading) .eyebrow { font-size:10px; margin-block:0 4px; }
.admin-shell :is(.panel,.order-search,.web-admin .product-web-area) { border-radius:10px; }
.admin-shell .button { font-size:12px; min-height:44px; padding:8px 12px; }
.admin-shell :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border-radius:6px; }
.admin-shell .site-footer { margin-top:28px; padding-block:14px; border-top:1px solid var(--line); font-size:11px; }
.admin-shell .site-footer p { margin:3px 0 0; font-size:11px; }
.admin-shell .site-footer nav { gap:12px; }
.admin-shell .mode-strip { border-radius:6px; margin-bottom:12px; }
.admin-shell .mode-strip .wrap { padding-block:5px; font-size:11px; }
.client-review-notice { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; padding:8px 16px; border:1px solid #dce4f0; border-radius:7px; background:#f0f4fa; color:#405166; font-size:12px; line-height:1.5; }
.admin-shell .client-review-notice { margin-bottom:12px; }
.public-shell .client-review-notice { margin:8px auto 0; width:calc(100% - 48px); max-width:1440px; }
/* The list filter already supplies its panel; avoid nesting another tall card. */
.admin-shell .reference-list-filters .order-search { padding:0; border:0; background:transparent; box-shadow:none; }
.admin-shell .reference-records > .entity-kanban-tools { margin-block:8px; }

/* One brand header. Marketing navigation is replaced by workspace navigation
   on account, offer, order and inquiry pages, never stacked above it. */
.public-shell .product-public-header { width:100%; max-width:none; min-height:76px; height:auto; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px 28px; align-items:center; padding:12px max(24px,calc((100vw - 1280px)/2)); background:var(--reference-charcoal); color:#e8edf4; border:0; border-bottom:1px solid #2a323c; }
.public-shell .product-public-header .brand { color:#f0f4fa; min-height:44px; font-size:20px; letter-spacing:-.04em; gap:9px; white-space:nowrap; }
.public-shell .product-public-header .brand-mark { width:28px; height:34px; color:#03a9f4; }
.public-shell .product-public-header .brand-sub { color:#929fb1; display:block; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.public-shell .product-public-header .product-company-menu { grid-column:auto; min-width:0; }
.public-shell .product-public-header .product-company-navigation { padding:0; border:0; justify-content:center; gap:2px 10px; align-items:center; font-size:12px; }
.public-shell .product-company-navigation a { color:#b7c2d1; text-decoration:none; min-height:40px; display:inline-flex; align-items:center; padding:7px 3px; }
.public-shell .product-company-navigation a[aria-current="page"] { background:transparent; color:#fff; border-radius:0; box-shadow:inset 0 -2px #03a9f4; }
.product-public-header .product-public-actions { gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.public-shell .product-public-header .public-calculator { min-height:40px; padding:9px 13px; border-radius:6px; background:var(--blue-dark); border-color:var(--blue-dark); color:#fff; font-size:12px; line-height:1.4; gap:7px; }
.public-shell .product-public-header .public-calculator:hover { background:#176e9b; border-color:#176e9b; color:#fff; }
.product-public-header :is(.reference-account-link,.reference-website-link) { min-height:40px; display:inline-flex; align-items:center; font-size:12px; color:#c7d1df; text-decoration:none; }
.public-shell .customer-header .customer-navigation { width:auto; margin:0; padding:0; border:0; gap:2px 16px; display:flex; flex-wrap:wrap; }
.public-shell .customer-header .customer-navigation a { min-height:40px; padding:8px 0; color:#bbc6d5; font-size:12px; font-weight:500; text-decoration:none; white-space:nowrap; }
.public-shell .customer-header .customer-navigation a[aria-current="page"] { background:transparent; color:#fff; border:0; border-radius:0; box-shadow:inset 0 -2px #03a9f4; }
.public-shell .reference-context-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; padding-block:8px; min-height:0; }
.public-shell .reference-context-bar:has(.reference-help:only-child) { justify-content:flex-end; }
.public-shell .reference-context { display:flex; align-items:center; gap:6px 12px; flex-wrap:wrap; font-size:11px; }
.public-shell .reference-context strong { font-size:12px; font-weight:600; }
.public-shell .reference-context small { font-size:10px; }
.public-shell .reference-context .text-link { min-height:36px; display:inline-flex; align-items:center; font-size:11px; }
.public-shell .reference-help { margin-left:auto; }
.public-shell .public-footer { margin-top:32px; padding-block:22px; gap:16px; }
.public-shell .public-footer p { margin:5px 0 0; font-size:12px; }
.public-shell .public-footer nav { gap:14px; font-size:12px; }
.public-shell .product-public-header :is(a,summary):focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
@media(hover:hover) {
  .admin-shell .admin-navigation a:not([aria-current="page"]):hover { background:#202934; color:#fff; }
  .admin-shell .admin-navigation a[aria-current="page"]:hover { background:#284165; }
  .admin-shell .admin-navigation .product-nav-group > summary:hover { background:#ffffff07; color:#d3dcea; }
  .public-shell .product-company-navigation a:hover,
  .public-shell .customer-header .customer-navigation a:hover,
  .product-public-header :is(.reference-account-link,.reference-website-link):hover { color:#fff; }
}
@media(max-width:1199px) and (min-width:641px) {
  .public-shell .product-public-header { grid-template-columns:auto minmax(0,1fr); gap:4px 18px; padding-block:10px 0; }
  .product-public-header .product-public-actions { grid-column:2; grid-row:1; }
  .public-shell .product-public-header :is(.product-company-menu,.customer-navigation) { grid-column:1 / -1; grid-row:2; }
  .public-shell .product-public-header .product-company-navigation { justify-content:flex-start; }
  .public-shell .customer-header .customer-navigation { padding-bottom:4px; }
}
@media(max-width:959px) {
  .admin-shell .app-frame { display:block; padding:0; }
  .admin-shell .page-background { padding-inline:16px; }
  .admin-shell .admin-toolbar { margin:0 -16px 14px; width:calc(100% + 32px); padding:6px 16px; gap:6px 10px; }
  .admin-shell .admin-toolbar .journey-identity-main { flex:1 1 130px; }
  .admin-shell .admin-sidebar { inset:0 auto 0 0; width:min(280px,calc(100vw - 36px)); height:100dvh; border-radius:0; }
  .admin-shell .admin-navigation a { min-height:44px; }
  .admin-shell .admin-navigation .product-nav-group > summary { min-height:44px; }
  .admin-shell .sidebar-link,.admin-shell .sidebar-logout { min-height:44px; }
  .admin-shell .admin-toolbar .reference-help { order:5; flex:1 1 auto; justify-content:flex-start; }
  .admin-shell .reference-portal-link { order:6; min-height:44px; }
  .admin-shell .admin-toolbar > .button,.admin-shell .admin-toolbar .admin-quick-create > .button { min-height:44px; }
  .admin-shell .button { min-height:44px; }
  .reference-help :is(.help-toggle,.screen-guide-toggle) { min-height:44px; }
}
@media(max-width:640px) {
  .public-shell .product-public-header { grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; min-height:0; padding:8px 16px 4px; }
  .public-shell .product-public-header .brand { font-size:17px; gap:6px; }
  .public-shell .product-public-header .brand-mark { width:23px; height:29px; }
  .public-shell .product-public-header .brand-sub { font-size:8px; }
  .product-public-header .product-public-actions { gap:8px; grid-column:2; grid-row:1; }
  .product-public-header :is(.reference-account-link,.reference-website-link) { font-size:11px; min-height:44px; }
  .public-shell .product-public-header .public-calculator { min-height:44px; padding:8px 10px; font-size:11px; }
  .public-shell .product-public-header .product-company-menu { grid-column:1 / -1; grid-row:2; }
  .public-shell .product-company-menu > summary { min-height:44px; padding:6px 0; color:#d8e1ee; border:0; border-radius:0; font-size:12px; }
  .public-shell .product-company-navigation { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:start; }
  .public-shell .product-company-navigation a { white-space:normal; min-height:44px; padding:7px 3px; }
  .public-shell .customer-header .customer-navigation { grid-row:2; grid-column:1 / -1; width:100%; min-width:0; flex-wrap:nowrap; overflow-x:auto; gap:18px; padding-block:0 2px; scrollbar-width:thin; }
  .public-shell .customer-header .customer-navigation a { min-height:44px; flex:0 0 auto; font-size:12px; }
  .public-shell .reference-context-bar { padding-block:4px; gap:0 10px; }
  .public-shell .reference-context { gap:4px 8px; }
  .public-shell .reference-help { margin-left:0; }
  .public-shell .reference-help :is(.help-toggle,.screen-guide-toggle) { font-size:10px; padding-inline:8px; }
  /* The guide stylesheet is inserted later; keep both public/customer controls
     together without overriding hidden/actor visibility or their focus rules. */
  .public-shell.customer-space .reference-context-bar,
  .public-shell.company-space:is([data-page="public"],[data-page="contact"],[data-page="calculator"]) .reference-context-bar { display:grid; grid-template-columns:minmax(0,1fr); row-gap:4px; }
  .public-shell.customer-space .reference-help.help-toolbar,
  .public-shell.company-space:is([data-page="public"],[data-page="contact"],[data-page="calculator"]) .reference-help.help-toolbar { width:100%; min-width:0; flex-wrap:nowrap; justify-content:flex-start; gap:6px; }
  .public-shell.customer-space .reference-help :is(.help-toggle,.screen-guide-toggle),
  .public-shell.company-space:is([data-page="public"],[data-page="contact"],[data-page="calculator"]) .reference-help :is(.help-toggle,.screen-guide-toggle) { min-height:44px; min-width:0; padding:6px 8px; font-size:12px; line-height:1.3; white-space:normal; }
  .public-shell.customer-space .reference-help .help-toggle,
  .public-shell.company-space:is([data-page="public"],[data-page="contact"],[data-page="calculator"]) .reference-help .help-toggle { flex:0 0 auto; }
  .public-shell.customer-space .reference-help .screen-guide-toggle,
  .public-shell.company-space:is([data-page="public"],[data-page="contact"],[data-page="calculator"]) .reference-help .screen-guide-toggle { flex:1 1 0; }
  .public-shell .product-public-header:has(.reference-account-link) .product-public-actions { column-gap:7px; }
  .public-shell .product-public-header:has(.reference-account-link) .public-calculator { grid-column:2; }
  .admin-shell .page-background #main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { font-size:16px; }
  body.admin-shell :is(.admin-intro,.intro,.work-heading,.production-heading,.finance-heading,.numbering-heading,.web-heading,.bench-heading) h1 { font-size:24px; }
  body.admin-shell[data-page="work-job"] .job-heading .job-relations { width:100%; flex-wrap:nowrap; overflow-x:auto; gap:16px; scrollbar-width:thin; }
  body.admin-shell[data-page="work-job"] .job-heading .job-relations a { flex:0 0 auto; flex-wrap:nowrap; white-space:nowrap; }
}
@media(max-width:380px) {
  .admin-shell .admin-toolbar .journey-identity-main { flex-basis:100px; }
  .public-shell .product-public-header { column-gap:8px; padding-inline:12px; }
  .public-shell .product-public-header .brand { font-size:15px; }
  .product-public-header .product-public-actions { gap:4px; }
  .product-public-header .reference-account-link { font-size:10px; }
  .public-shell .product-public-header .public-calculator { padding-inline:7px; font-size:10px; }
  .admin-shell .reference-portal-link { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .admin-shell .admin-sidebar,.admin-shell .admin-navigation a { transition:none; }
}
