:root{--accent:#c92331;--accent-dark:#a81723;--accent-soft:#fff0f1;--green:#579665;--gold:#d99d17;--bg:#f6f7f9;--surface:#fff;--surface-2:#f2f4f7;--text:#171717;--muted:#626873;--line:#d7dde5;--shadow:0 12px 34px rgba(45,20,25,.07);--sidebar:#18191c;--sidebar-text:#f4f5f7;--radius:18px;color-scheme:light}
[data-theme=dark]{--bg:#111215;--surface:#191b20;--surface-2:#22252b;--text:#f4f4f5;--muted:#afb3bc;--line:#343840;--shadow:0 14px 36px rgba(0,0,0,.28);--sidebar:#0c0d0f;--accent-soft:#351a1e;color-scheme:dark}
*{box-sizing:border-box}[hidden]{display:none!important}html{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit;color:inherit}.skip-link{position:fixed;left:12px;top:-60px;background:var(--surface);padding:12px;z-index:100;color:var(--text)}.skip-link:focus{top:12px}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:var(--sidebar-text);padding:28px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--accent);font-size:21px;font-weight:900}.brand strong{display:block;font-size:15px;letter-spacing:.04em}.brand small{display:block;font-size:10px;letter-spacing:.16em;opacity:.62;margin-top:4px}.sidebar nav{display:grid;gap:7px;margin-top:25px}.nav-link{display:flex;align-items:center;gap:12px;color:#cdd0d5;text-decoration:none;padding:13px 14px;border-radius:11px;font-weight:700;font-size:14px}.nav-link:hover,.nav-link.active{color:#fff;background:rgba(201,35,49,.2)}.nav-link.active{box-shadow:inset 3px 0 var(--accent)}.nav-link span{width:22px;text-align:center}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:20px 9px 0;font-size:12px;color:#e4e5e8}.sidebar-foot small{display:block;color:#9ba0a8;margin:7px 0 0 16px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#52aa69;margin-right:7px}.page-shell{min-width:0}.topbar{height:74px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 30px;position:sticky;top:0;z-index:15}.topbar>div{display:flex;flex-direction:column}.topbar-kicker{font-size:9px;letter-spacing:.16em;color:var(--accent);font-weight:850}.topbar strong{font-size:16px}.theme-toggle,.icon-button{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:9px 12px;cursor:pointer}.theme-toggle{margin-left:auto;display:flex;align-items:center;gap:8px}.menu-button{display:none}.content{padding:34px;max-width:1800px;margin:0 auto}footer{padding:10px 34px 26px;color:var(--muted);font-size:11px;letter-spacing:.04em}footer span{color:var(--accent);padding:0 5px}.page-heading,.build-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px}.eyebrow{font-size:12px;font-weight:850;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}.page-heading h1,.build-header h1{font-size:34px;line-height:1.08;margin:8px 0 7px;letter-spacing:-.04em}.page-heading p,.build-header p,.panel p,.performer-panel p{color:var(--muted);margin:0;line-height:1.55}.sample-badge{border:1px solid #f1c5ca;background:var(--accent-soft);color:var(--accent-dark);padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800}.panel,.performer-panel,.details-panel{background:linear-gradient(135deg,var(--surface) 72%,color-mix(in srgb,var(--surface) 94%,var(--accent)));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:26px 30px;margin:20px 0}.panel h2,.performer-panel h2{font-size:25px;margin:7px 0 5px;letter-spacing:-.025em}.control-panel{display:flex;justify-content:space-between;align-items:end;gap:25px}.controls{display:flex;gap:14px}.controls label,.date-tool,.custom-range label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}select,input[type=search],input[type=date]{min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:0 13px;outline:none}select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.search-control input{min-width:280px}.metric-grid{display:grid;gap:18px;margin:18px 0}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:20px 22px;box-shadow:0 9px 26px rgba(25,30,40,.055);min-height:116px}.metric-label{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:13px}.metric-value{font-size:30px;line-height:1;font-weight:850;letter-spacing:-.035em}.metric-grid.compact .metric-card{min-height:0}.split-layout{display:grid;grid-template-columns:2fr 1fr;gap:20px}.split-layout>.panel{margin:0}.caption{font-size:12px;color:var(--muted);margin:8px 0 24px}.state-card,.status-banner{padding:15px 17px;border:1px solid var(--line);border-radius:12px;margin:18px 0}.loading-state{background:var(--surface-2);color:var(--muted)}.error-state{background:var(--accent-soft);border-color:#efbec4;color:var(--accent-dark)}.success-state{background:color-mix(in srgb,var(--green) 12%,var(--surface));border-color:color-mix(in srgb,var(--green) 35%,var(--line));color:var(--green)}.warning-state{background:color-mix(in srgb,var(--gold) 11%,var(--surface));border-color:color-mix(in srgb,var(--gold) 35%,var(--line));color:#946b0d}.empty-state{padding:26px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:13px;background:var(--surface-2)}.table-wrap{width:100%;overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.055em;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid var(--line)}tbody tr:hover{background:var(--surface-2)}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--surface-2);font-size:11px;font-weight:750}.bar-chart{height:260px;display:flex;align-items:end;gap:8px;padding:24px 4px 4px;border-bottom:1px solid var(--line);overflow:hidden}.bar-group{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;min-width:10px}.bar{width:100%;max-width:34px;background:linear-gradient(var(--accent),var(--accent-dark));border-radius:6px 6px 0 0;min-height:2px}.bar-group small{font-size:9px;color:var(--muted);margin-top:6px;white-space:nowrap}.build-header{align-items:center}.build-actions{display:flex;align-items:end;justify-content:flex-end;gap:11px;flex-wrap:wrap}.date-tool select{min-width:190px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:0 16px;font-weight:780;font-size:13px;text-decoration:none;color:var(--text);cursor:pointer}.button:hover{border-color:var(--accent);color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button:disabled{opacity:.48;cursor:not-allowed}.custom-range{display:flex;justify-content:flex-end;align-items:end;gap:12px;margin:-8px 0 18px}.performer-panel{padding:30px;margin:28px 0}.performer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}.performer-card{min-height:170px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:14px;padding:19px 20px}.performer-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}.performer-person{display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:850}.performer-name{font-size:16px;font-weight:850}.performer-role{font-size:11px;color:var(--muted);margin-top:4px}.performer-builds{color:var(--green);font-size:21px;font-weight:850;text-align:right}.performer-builds small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.performer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--line);padding-top:14px}.performer-stats small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:800}.performer-stats strong{font-size:13px}.queue-panel{padding:30px}.order-note{font-size:12px!important;margin-top:8px!important}.build-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.build-card{min-height:420px;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:14px;padding:24px 26px;box-shadow:0 8px 22px rgba(25,30,40,.05);color:var(--muted);font-size:14px;line-height:1.45}.build-card.dragging{opacity:.45}.build-card.drag-over{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent)}.build-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.rank-wrap{display:flex;align-items:center;gap:11px}.drag-handle{width:37px;height:35px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--accent);display:grid;place-items:center;font-size:18px;cursor:grab}.rank{min-width:37px;height:35px;padding:0 9px;border-radius:20px;background:var(--surface-2);display:grid;place-items:center;font-size:15px;font-weight:850}.build-count{color:var(--green);font-size:16px;font-weight:850}.customer-line{font-size:11px;font-weight:850;letter-spacing:.06em;color:var(--accent);text-transform:uppercase;margin-bottom:8px}.build-title{font-size:21px;line-height:1.2;font-weight:850;color:var(--text);margin-bottom:12px}.build-meta strong{color:var(--text)}.price-row{display:flex;justify-content:space-between;gap:12px;margin:5px 0 22px}.serial-row{display:flex;align-items:center;gap:10px;margin-bottom:20px}.serial-label{font-size:10px;font-weight:850;letter-spacing:.06em}.serial-value{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:4px 10px;font-size:12px;font-weight:750}.build-age strong{color:var(--gold)}.build-divider{border-top:1px solid var(--line);margin:18px 0 14px}.build-category{color:var(--accent);margin-bottom:5px}.build-sales{font-size:12px}.build-sales strong{color:var(--text)}.details-panel{margin:20px 0;padding:0 22px}.details-panel summary{cursor:pointer;padding:18px 0;font-weight:800}.toast-region{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:9px}.toast{background:var(--text);color:var(--surface);padding:12px 15px;border-radius:10px;box-shadow:var(--shadow);font-size:13px}.toast.error{background:var(--accent-dark);color:#fff}
@media(max-width:1250px){.performer-grid{grid-template-columns:repeat(2,1fr)}.build-grid{grid-template-columns:repeat(2,1fr)}.metric-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:left .2s}.sidebar.open{left:0}.menu-button{display:block}.content{padding:24px 18px}.topbar{padding:0 18px}.page-heading,.build-header,.control-panel{display:block}.build-actions,.controls,.custom-range{justify-content:flex-start;margin-top:18px}.split-layout{grid-template-columns:1fr}.build-grid,.performer-grid{grid-template-columns:1fr}.build-card{min-height:0}}
@media(max-width:560px){.metric-grid.four,.metric-grid.three{grid-template-columns:1fr}.build-actions,.controls,.custom-range{display:grid;grid-template-columns:1fr}.button,.date-tool select,.search-control input{width:100%;min-width:0}.theme-label{display:none}.performer-stats{grid-template-columns:1fr}.content{padding:20px 13px}}
@media print{.sidebar,.topbar,.build-actions,.custom-range,#build-status,#queue-metrics,#performer-panel,.order-note,footer,.details-panel{display:none!important}.app-shell{display:block}.content{padding:0}.queue-panel{border:0;box-shadow:none;padding:0}.build-grid{grid-template-columns:repeat(2,1fr)}.build-card{break-inside:avoid;box-shadow:none;min-height:0}.page-shell{display:block}}
.kiosk-page{min-height:100vh}.kiosk-topbar{height:78px;display:flex;align-items:center;gap:24px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15}.kiosk-brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.kiosk-brand strong{display:block;font-size:15px;letter-spacing:.04em}.kiosk-brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em;margin-top:4px}.kiosk-live{margin-left:auto;display:flex;align-items:center;font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.05em}.kiosk-topbar .theme-toggle{margin-left:0}.kiosk-content{max-width:1900px;margin:0 auto;padding:30px}.kiosk-heading{margin-bottom:22px}
@media(max-width:900px){.kiosk-topbar{padding:0 16px}.kiosk-live{display:none}.kiosk-content{padding:22px 16px}.kiosk-heading{display:block}}
@media print{.kiosk-topbar{display:none!important}.kiosk-content{padding:0}}
@page{size:landscape;margin:7mm}
@media print{
  html,body{background:#fff!important;color:#111!important;font-size:9px}
  .content,.kiosk-content{max-width:none!important;margin:0!important;padding:0!important}
  .build-header{display:block!important;margin:0 0 5mm!important}
  .build-header h1{font-size:21px!important;margin:2px 0!important}
  .build-header .eyebrow{font-size:8px!important}
  .build-header p{font-size:9px!important}
  .queue-panel{margin:0!important;padding:0!important;background:#fff!important}
  .queue-panel>.eyebrow{font-size:8px!important}
  .queue-panel>h2{font-size:17px!important;margin:2px 0 4mm!important}
  .queue-panel>p{display:none!important}
  .build-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3mm!important;margin:0!important}
  .build-card{min-height:0!important;padding:3mm!important;border-left-width:3px!important;border-radius:6px!important;box-shadow:none!important;font-size:8px!important;line-height:1.22!important;break-inside:avoid;page-break-inside:avoid}
  .build-card-top{margin-bottom:2mm!important}
  .drag-handle{display:none!important}
  .rank-wrap{gap:0!important}
  .rank{min-width:24px!important;height:22px!important;padding:0 5px!important;font-size:9px!important}
  .build-count{font-size:9px!important}
  .customer-line{font-size:7px!important;margin-bottom:1mm!important}
  .build-title{font-size:12px!important;line-height:1.12!important;margin-bottom:1.5mm!important}
  .build-meta{font-size:8px!important}
  .price-row{margin:1mm 0 2mm!important;font-size:8px!important}
  .serial-row{gap:1.5mm!important;margin-bottom:2mm!important}
  .serial-label{font-size:6.5px!important}
  .serial-value{font-size:7.5px!important;padding:1px 5px!important}
  .build-age{font-size:8px!important}
  .build-divider{margin:2mm 0!important}
  .build-category{font-size:8px!important;margin-bottom:1mm!important}
  .build-sales{font-size:7.5px!important}
}
/* Service schedule: scrollable technician columns with compact job cards. */
.service-controls .controls{flex-wrap:wrap;align-items:end}.service-controls .search-control input{min-width:200px}.service-controls .button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}
.service-board-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:28px 0 16px}.service-board-heading h2{margin:6px 0 0;font-size:25px}.service-board-heading .caption{margin:0}
.service-board{display:flex;gap:18px;overflow-x:auto;align-items:stretch;padding:2px 2px 20px;scrollbar-gutter:stable;scroll-snap-type:x proximity}.service-board:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.service-lane{flex:0 0 290px;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:15px;padding:16px;scroll-snap-align:start}.service-lane-header{padding:0 0 15px;border-bottom:1px solid var(--line);margin-bottom:15px}.service-lane-header>div{display:flex;justify-content:space-between;gap:8px;align-items:start}.service-lane-header h3{font-size:20px;line-height:1.2;margin:0;overflow-wrap:anywhere}.service-lane-header .badge{white-space:nowrap}.service-lane-header p{font-size:12px;color:var(--muted);margin:10px 0 5px}.service-lane-header>strong{font-size:12px;color:var(--text)}
.service-lane-jobs{display:grid;gap:12px}.service-job{background:var(--surface);border:1px solid var(--line);border-left:4px solid #487bba;border-radius:10px;padding:13px;overflow-wrap:anywhere}.service-job.overdue{border-left-color:var(--accent)}.service-job.completed{border-left-color:var(--green);background:color-mix(in srgb,var(--surface) 95%,var(--green))}.service-job-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.service-job-top>.badge{font-size:10px}.service-job h4{font-size:15px;margin:13px 0;line-height:1.4}.service-job-facts{margin:0 0 12px;font-size:12px}.service-job-facts>div{display:grid;grid-template-columns:55px 1fr;gap:5px;margin:7px 0}.service-job-facts dt{color:var(--muted)}.service-job-facts dd{margin:0}.service-job-status{line-height:1.4;border-radius:7px}.service-completed-label{font-size:11px;color:var(--muted);margin:10px 0}.service-job-work{border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:12px}.service-job-work summary{cursor:pointer;color:var(--muted)}.service-job-work p{line-height:1.6;white-space:pre-wrap}
@media(max-width:560px){.service-controls .controls{display:grid;grid-template-columns:1fr 1fr}.service-controls label{min-width:0}.service-controls select,.service-controls input{width:100%;min-width:0}.service-controls .search-control{grid-column:1/-1}.service-board-heading{display:block}.service-board-heading .caption{display:block;margin-top:10px}.service-lane{flex-basis:min(290px,85vw)}}
@media print{.service-controls{display:none}.service-board{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.service-lane{break-inside:avoid}.service-job{break-inside:avoid}}
#sales-chart .sales-date-label{display:flex;flex-direction:column;align-items:center;flex-shrink:0;line-height:1.35;min-height:26px}
#sales-chart .sales-date-label span:first-child{font-weight:700;font-size:10px}
.nav-sub-link{margin-left:22px;font-size:12px;padding:10px 14px;border-left:1px solid #45474c;border-radius:0 9px 9px 0}
.warranty-age{display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:10px;margin:10px 0 14px}.warranty-age strong{font-size:15px;color:var(--text)}.warranty-age span{font-size:11px;color:var(--muted)}
