:root{--brand-red:#d3121b;--brand-red-hover:#b00e16;--brand-red-soft:#f6dcdd;--nav-red:#ff4d55;--nav:#0d0e0f;--nav-2:#1b1c1f;--nav-text:#b9bbbf;--nav-muted:#7d8086;--trim-hi:#d8f23a;--trim-silver:#c3c7cc;--trim-band:linear-gradient(180deg, var(--trim-hi) 0 30%, var(--trim-silver) 30% 70%, var(--trim-hi) 70%);--trim-vert:linear-gradient(90deg, var(--trim-hi) 0 30%, var(--trim-silver) 30% 70%, var(--trim-hi) 70%);--ink:#141414;--ink-2:#2a2b2e;--bg:#ecebe7;--surface:#f8f7f4;--surface-2:#f1f0ec;--text:#141414;--text-2:#3d3f43;--muted:#686a6f;--border:#d6d4ce;--border-strong:#b5b2aa;--invert-bg:#141414;--invert-fg:#f8f7f4;--life-green:#2f8a46;--life-green-soft:#e2efe4;--life-yellow:#a87d00;--life-yellow-soft:#f4ecd2;--life-orange:#c9690a;--life-orange-soft:#f6e3cf;--life-red:#c81e1e;--life-red-soft:#f6dcdc;--radius-sm:2px;--radius:2px;--radius-lg:3px;--shadow-sm:none;--shadow:none;--shadow-lg:0 24px 60px #00000047, 0 2px 6px #0000001f;--shadow-red:none;--font-display:"Big Shoulders Display", "Arial Narrow", system-ui, sans-serif;--font-body:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--font-cond:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--focus-ring:#141414;--ease:cubic-bezier(.2, .8, .2, 1);--fast:.12s;--med:.2s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--brand-red-soft:#4a1d20;--ink:#0d0e0f;--ink-2:#1b1c1f;--bg:#2b2d31;--surface:#33363b;--surface-2:#3a3d43;--text:#eeede9;--text-2:#d0d1d4;--muted:#a6a9af;--border:#474a50;--border-strong:#5d6168;--invert-bg:#eeede9;--invert-fg:#141414;--life-green:#5cc277;--life-green-soft:#24392b;--life-yellow:#e6b82e;--life-yellow-soft:#3d3622;--life-orange:#f08a24;--life-orange-soft:#43311f;--life-red:#ff6464;--life-red-soft:#4a2426;--focus-ring:#eeede9;--shadow-lg:0 24px 60px #00000080, 0 2px 6px #0000004d}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{margin:0;line-height:1.05}h1{font:900 40px/.95 var(--font-display);text-transform:uppercase;letter-spacing:.005em}h2{font:700 19px/1.15 var(--font-cond);text-transform:uppercase;letter-spacing:.08em}h3{font:700 16px/1.2 var(--font-cond);text-transform:uppercase;letter-spacing:.08em}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--brand-red);color:#fff}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mono{font-family:var(--font-mono)}.logo-tile{background:#fff;flex:none;place-items:center;display:inline-grid;overflow:hidden}.logo-tile img{object-fit:contain;width:100%;height:100%;display:block}.logo-lockup{width:150px;padding:6px 8px}.logo-lockup img{height:auto}.logo-mark{width:40px;height:40px;padding:3px}.logo-hero{width:min(240px,70%);padding:12px 16px}.logo-hero img{height:auto}.btn{--btn-bg:transparent;--btn-fg:var(--text);--btn-border:var(--text);--btn-hover-bg:var(--invert-bg);--btn-hover-fg:var(--invert-fg);--btn-hover-border:var(--invert-bg);border-radius:var(--radius-sm);border:1.5px solid var(--btn-border);background:var(--btn-bg);height:40px;color:var(--btn-fg);font:700 14px/1 var(--font-cond);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--btn-hover-bg);color:var(--btn-hover-fg);border-color:var(--btn-hover-border)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);transform:none}.btn-primary{--btn-bg:var(--brand-red);--btn-fg:#fff;--btn-border:var(--brand-red);--btn-hover-bg:#fff;--btn-hover-fg:var(--brand-red);--btn-hover-border:var(--brand-red)}.btn-dark{--btn-bg:var(--ink);--btn-fg:#fff;--btn-border:var(--ink);--btn-hover-bg:var(--brand-red);--btn-hover-fg:#fff;--btn-hover-border:var(--brand-red)}.btn-ghost{--btn-border:transparent}.btn-danger{--btn-fg:var(--life-red);--btn-border:var(--life-red);--btn-hover-bg:var(--life-red);--btn-hover-fg:#fff;--btn-hover-border:var(--life-red)}.btn-sm{height:32px;padding:0 11px;font-size:13px}.btn-block{width:100%}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.spinner-lg{width:28px;height:28px;color:var(--brand-red);border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:6px;display:grid}.field>span{font:700 12.5px var(--font-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.input{border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface);width:100%;height:42px;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:0 12px}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238a8c90' stroke-width='2'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.input:hover{border-color:var(--text-2)}.input:focus{border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--text) 14%, transparent);outline:none}.form{gap:16px;display:grid}.form-error,.form-ok{animation:pop var(--med) var(--ease);border-left:4px solid;padding:10px 12px;font-size:14px;font-weight:500}.form-error{background:var(--life-red-soft);color:var(--life-red)}.form-ok{background:var(--life-green-soft);color:var(--life-green)}.toggle{border-radius:var(--radius-sm);background:var(--border-strong);cursor:pointer;width:46px;height:26px;transition:background var(--med) var(--ease);border:0;flex:none;position:relative}.toggle:after{content:"";width:20px;height:20px;transition:transform var(--med) var(--ease);background:#fff;border-radius:1px;position:absolute;top:3px;left:3px}.toggle:hover{background:var(--muted)}.toggle[aria-checked=true]{background:var(--brand-red)}.toggle[aria-checked=true]:hover{background:var(--brand-red-hover)}.toggle[aria-checked=true]:after{transform:translate(20px)}.toggle:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:background var(--fast) var(--ease), color var(--fast) var(--ease)}.card-pad{padding:20px}.stack{gap:16px;display:grid}.row{align-items:center;gap:12px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.page{animation:rise var(--med) var(--ease);gap:20px;display:grid}.page-head{background:var(--trim-band) no-repeat left bottom / 100% 8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:22px;display:flex}.page-head p{font:500 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:8px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.auth{grid-template-columns:1.1fr 1fr;min-height:100dvh;display:grid}.auth-hero{background:var(--nav);color:#fff;flex-direction:column;justify-content:space-between;gap:32px;padding:48px 56px 48px 48px;display:flex;position:relative;overflow:hidden}.auth-hero:after{content:"";background:var(--trim-vert);width:10px;position:absolute;top:0;bottom:0;right:0}.auth-hero h1{max-width:13ch;font-size:54px}.auth-hero p{color:#ffffffb3;max-width:44ch;margin-top:14px;font-size:16px}.auth-hero .features{color:#ffffffdb;font:600 15px var(--font-cond);letter-spacing:.06em;text-transform:uppercase;gap:10px;margin-top:28px;display:grid}.auth-hero .features div{align-items:center;gap:10px;display:flex}.auth-hero .features svg{color:var(--nav-red);flex:none}.auth-main{place-items:center;padding:32px 20px;display:grid}.auth-card{width:100%;max-width:410px;animation:rise .3s var(--ease);border-top:6px solid var(--brand-red);padding:30px 32px 32px}.auth-card h2{font:900 32px/1 var(--font-display);letter-spacing:.01em;margin-bottom:6px}.dept-chip{background:var(--ink);color:#fff;font:700 13px var(--font-cond);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:18px;padding:0 10px 0 0;display:inline-flex}.dept-chip .chip-dot{background:var(--brand-red);color:#fff;place-items:center;width:28px;height:28px;display:grid;overflow:hidden}.dept-chip .chip-dot img{object-fit:cover;width:100%;height:100%}.linklike{color:var(--brand-red);cursor:pointer;text-underline-offset:3px;transition:text-decoration-color var(--fast) var(--ease);background:0 0;border:0;padding:0;font-size:14px;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.linklike:hover{text-decoration-color:currentColor}@media (width<=860px){.auth{grid-template-columns:1fr}.auth-hero{flex-direction:row;justify-content:flex-start;align-items:center;gap:16px;padding:20px 26px 20px 20px}.auth-hero:after{background:var(--trim-band);width:auto;height:8px;top:auto;left:0}.auth-hero .logo-hero{width:110px;padding:6px 8px}.auth-hero p{margin-top:6px;font-size:13.5px}.auth-hero h1{font-size:30px}.auth-hero .hero-extra{display:none}.auth-card{padding:22px 24px 24px}}.shell{grid-template-columns:236px 1fr;min-height:100dvh;display:grid}.sidebar{background:var(--nav);color:#fff;flex-direction:column;gap:0;height:100dvh;padding:18px 7px 16px 0;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar:after{content:"";background:var(--trim-vert);pointer-events:none;width:7px;position:fixed;top:0;bottom:0;left:229px}.sidebar .brand{padding:0 18px 18px}.sidebar .dept{font:500 10.5px var(--font-mono);color:var(--nav-muted);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #ffffff14;margin-bottom:6px;padding:0 20px 14px}.sidebar .dept strong{color:#fff;font:800 22px/1 var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin-top:4px;display:block}.nav-link{height:40px;color:var(--nav-text);font:600 15px var(--font-cond);letter-spacing:.06em;text-transform:uppercase;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);border-left:4px solid #0000;align-items:center;gap:11px;padding:0 16px;text-decoration:none;display:flex;position:relative}.nav-link svg{flex:none}.nav-link:hover{color:var(--nav);background:#fff}.nav-link.active{background:var(--nav-2);color:#fff;border-image:var(--trim-band) 1}.nav-link.active:hover{color:var(--nav);background:#fff}.nav-section{font:700 11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--nav-red);margin:16px 20px 6px}.nav-section:before{content:"// "}.sidebar .spacer{flex:1}.sidebar .user{color:#ffffffbf;border-top:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 12px 0 20px;font-size:13px;display:flex}.sidebar .user .avatar{background:var(--brand-red);color:#fff;width:30px;height:30px;font-size:12px}.sidebar .user .btn-ghost{--btn-fg:#fff;--btn-hover-bg:#fff;--btn-hover-fg:var(--nav);--btn-hover-border:#fff}.main{width:100%;min-width:0;max-width:1240px;padding:30px clamp(16px,3vw,40px) 48px}.topbar,.tabbar{display:none}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{z-index:20;padding:10px 14px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--nav);color:#fff;align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar:after{content:"";background:var(--trim-band);height:6px;position:absolute;bottom:0;left:0;right:0}.topbar .dept-name{min-width:0;font:800 21px/1 var(--font-display);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.topbar .btn-ghost{--btn-fg:#fff;--btn-hover-bg:#fff;--btn-hover-fg:var(--nav);--btn-hover-border:#fff}.main{padding:20px 16px calc(92px + env(safe-area-inset-bottom))}.page-head h1{font-size:34px}.tabbar{z-index:20;background:var(--nav);padding:10px 4px max(6px, env(safe-area-inset-bottom));grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar:before{content:"";background:var(--trim-band);height:5px;position:absolute;top:0;left:0;right:0}.tabbar a{color:var(--nav-text);font:700 11px var(--font-cond);letter-spacing:.08em;text-transform:uppercase;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);justify-items:center;gap:3px;padding:7px 2px 5px;text-decoration:none;display:grid}.tabbar a:hover{color:var(--nav);background:#fff}.tabbar a.active{color:#fff;background:var(--nav-2);box-shadow:inset 0 -3px 0 var(--nav-red)}}.stats{border:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;display:grid}.stat{border:0;border-left:1px solid var(--border);background:var(--surface);border-radius:0;gap:4px;padding:14px 16px 16px;display:grid;position:relative;overflow:hidden}.stats>.stat:first-child{background:var(--ink);color:#fff;border-left:0}.stats>.stat:first-child .label,.stats>.stat:first-child .hint{color:#a3a6ac}.stats>.stat:first-child .bar{background:var(--trim-hi)!important}.stat .label{font:600 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-left:14px}.stat .value{font:800 46px/1 var(--font-display)}.stat .hint{font:500 12px var(--font-body);color:var(--muted)}.stat .bar{width:8px;height:8px;position:absolute;top:18px;left:16px}.stat-link{transition:background var(--fast) var(--ease), color var(--fast) var(--ease)}.stat-link:hover{background:var(--invert-bg);color:var(--invert-fg)}.stat-link:hover .label,.stat-link:hover .hint,.stat-link:hover .value{color:var(--invert-fg)!important}.stats>.stat-link:first-child:hover{background:var(--brand-red)}.stats>.stat-link:first-child:hover .label,.stats>.stat-link:first-child:hover .hint,.stats>.stat-link:first-child:hover .value{color:#fff!important}@media (width<=640px){.stat{border-top:1px solid var(--border)}.stat .value{font-size:38px}}.list-row{border-top:1px solid var(--border);transition:background var(--fast) var(--ease), box-shadow var(--fast) var(--ease);align-items:center;gap:14px;padding:13px 18px;display:flex}.list-row:first-child{border-top:0}.list-row:hover{background:var(--surface-2);box-shadow:inset 4px 0 0 var(--brand-red)}.list-row .grow{flex:1;min-width:0}.list-row .title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.list-row .actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=640px){.list-row{flex-wrap:wrap}.list-row .actions{justify-content:flex-start;width:100%;padding-left:52px}}.avatar{width:36px;height:36px;font:700 14px var(--font-cond);letter-spacing:.04em;background:var(--ink);color:#fff;flex:none;place-items:center;display:grid}.badge{border-radius:var(--radius-sm);height:22px;font:700 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--text-2);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 7px;display:inline-flex}.badge-red{color:var(--life-red);border-color:currentColor}.badge-dark{background:var(--ink);border-color:var(--ink);color:#fff}.badge-green{color:var(--life-green);border-color:currentColor}.empty{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:48px 20px;display:grid}.empty svg{color:var(--border-strong)}.empty strong{color:var(--text);font:700 16px var(--font-cond);letter-spacing:.08em;text-transform:uppercase}.activity-row{border-top:1px solid var(--border);transition:background var(--fast) var(--ease);grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:13px 18px;display:grid}.activity-row:first-child{border-top:0}.activity-row:hover{background:var(--surface-2)}.activity-icon{background:var(--surface-2);border:1px solid var(--border);width:32px;height:32px;color:var(--text-2);place-items:center;display:grid}.activity-icon.del{background:var(--life-red-soft);color:var(--life-red);border-color:#0000}.activity-icon.add{background:var(--life-green-soft);color:var(--life-green);border-color:#0000}.activity-icon.rev{background:var(--ink);color:#fff;border-color:#0000}.diff{animation:pop var(--med) var(--ease);gap:4px;margin-top:10px;font-size:13px;display:grid}.diff div{grid-template-columns:150px 1fr;gap:10px;display:grid}.diff div>span:first-child{font:600 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.diff del{color:var(--life-red);opacity:.85;text-decoration:line-through}.diff ins{color:var(--life-green);text-decoration:none}@media (width<=640px){.activity-row{grid-template-columns:auto 1fr}.activity-row>:last-child{grid-column:2;justify-self:start}.diff div{grid-template-columns:1fr;gap:0}}.modal-backdrop{z-index:50;animation:fade var(--med) var(--ease);background:#0808099e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-top:6px solid var(--brand-red);width:100%;max-width:460px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);animation:rise .24s var(--ease);padding:22px 24px 24px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-head h2{font:900 26px/1 var(--font-display);letter-spacing:.01em}.modal-foot{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}.toasts{z-index:60;gap:8px;display:grid;position:fixed;bottom:20px;right:20px}.toast{background:var(--nav);color:#fff;box-shadow:var(--shadow-lg);animation:slide-in .26s var(--ease);align-items:center;gap:10px;padding:12px 16px 12px 22px;font-size:14px;font-weight:500;display:flex;position:relative}.toast:before{content:"";background:var(--trim-vert);width:6px;position:absolute;top:0;bottom:0;left:0}.toast.error:before{background:var(--nav-red)}.toast.error svg{color:var(--nav-red)}.toast.ok svg{color:#6fd38a}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=900px){.toasts{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom))}}.setting{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;display:flex}.setting:first-child{border-top:0}.setting .desc{color:var(--muted);font-size:13px}.center-screen{text-align:center;align-content:center;place-items:center;gap:16px;min-height:100dvh;padding:20px;display:grid}.mobile-only-links{display:none}@media (width<=900px){.mobile-only-links{display:block}}.logo-uploader{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.logo-preview{border:1.5px dashed var(--border-strong);background:#fff;flex:none;place-items:center;width:132px;height:88px;padding:8px;display:grid}.logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.btn.disabled{opacity:.55;pointer-events:none}.sidebar .dept-logo{object-fit:contain;background:#fff;max-width:100%;max-height:56px;margin:8px 0 2px;padding:6px;display:block}.dept-chip .chip-dot:has(img){background:#fff}.dept-chip .chip-dot img{object-fit:contain}.auth-hero{background:linear-gradient(180deg, #0d0e0fe6 0%, #0d0e0fb8 45%, #0d0e0fe6 100%), url(/brand/hero-gear.jpg) center 30% / cover no-repeat, var(--nav)}@media (width<=900px){.auth-hero{background:linear-gradient(90deg, #0d0e0feb 0%, #0d0e0fb3 100%), url(/brand/hero-gear.jpg) center 45% / cover no-repeat, var(--nav)}}.sidebar-hero{background:linear-gradient(180deg, #0d0e0fc7 0%, #0d0e0f99 55%, #0d0e0feb 100%), url(/brand/hero-gear.jpg) 40% 35% / cover no-repeat, var(--nav);margin:-18px 0 6px;padding:18px 0 0}.sidebar-hero .dept{color:#ffffffb8;text-shadow:0 1px 3px #0009;border-bottom:0;margin-bottom:0}.sidebar-hero .dept strong{text-shadow:0 2px 6px #000000b3}@media (width<=900px){.topbar{background:linear-gradient(90deg, #0d0e0fe6 0%, #0d0e0fa8 100%), url(/brand/hero-gear.jpg) center 42% / cover no-repeat, var(--nav)}.topbar .dept-name{text-shadow:0 2px 6px #000000b3}}.mono{font-family:var(--font-mono);letter-spacing:.01em}.serial{margin-left:4px;font-weight:600}.stat-link{color:inherit;text-decoration:none}.search{flex:1;min-width:220px;display:block;position:relative}.search>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search .input{padding-left:40px;padding-right:36px}.search-clear{background:var(--surface-2);width:26px;height:26px;color:var(--muted);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);border:0;place-items:center;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.search-clear:hover{background:var(--invert-bg);color:var(--invert-fg)}.toolbar{gap:10px;display:grid}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters .input{width:auto;min-width:140px;height:38px;font-size:14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1.5px solid var(--border-strong);background:var(--surface);height:32px;font:700 12.5px/1 var(--font-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);align-items:center;padding:0 12px;display:inline-flex}.chip:hover{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-fg)}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.chip.active:hover{background:var(--brand-red);border-color:var(--brand-red)}.life-badge{height:22px;font:700 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid;align-items:center;gap:6px;padding:0 7px;display:inline-flex;background:0 0!important}.life-badge .dot{width:7px;height:7px;display:inline-block}.list-button{border:0;border-top:1px solid var(--border);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;animation:rise .28s var(--ease) both;animation-delay:calc(var(--i,0) * 12ms);background:0 0;text-decoration:none}.list-button:first-child{border-top:0}.list-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.gear-row{padding-left:22px;position:relative}.gear-row:before{content:"";background:var(--life,var(--border));width:5px;position:absolute;top:0;bottom:0;left:0}.gear-row:hover{box-shadow:none}.gear-row:hover:before{width:8px}.gear-row-meta{text-align:right;justify-items:end;gap:6px;display:grid}@media (width<=640px){.gear-row{flex-wrap:wrap}.gear-row-meta{grid-auto-flow:column;justify-content:space-between;place-items:center start;width:100%}}.picker{gap:8px;display:grid}.picker-list{overscroll-behavior:contain;border:1.5px solid var(--border-strong);background:var(--surface);scroll-behavior:smooth;max-height:264px;overflow-y:auto}.picker-list.tall{max-height:min(52dvh,440px)}.picker-item{border:0;border-top:1px solid var(--border);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;align-items:center;gap:12px;padding:10px 12px;display:flex}.picker-item:first-child{border-top:0}.picker-item:hover{background:var(--invert-bg);color:var(--invert-fg)}.picker-item:hover .muted{color:inherit;opacity:.75}.picker-item.selected{background:var(--brand-red-soft);box-shadow:inset 4px 0 0 var(--brand-red)}.picker-item.selected>svg{color:var(--brand-red)}.picker-item:disabled{cursor:wait}.picker-item .grow{flex:1;min-width:0;display:grid}.picker-item .title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.avatar-sm{width:30px;height:30px;font-size:12px}.muted-avatar{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=600px){.grid-2,.grid-3{grid-template-columns:1fr}}.modal-wide{max-width:660px}.dropzone{border:2px dashed var(--border-strong);text-align:center;cursor:pointer;color:var(--text-2);transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease), color var(--fast) var(--ease);justify-items:center;gap:6px;padding:32px 20px;display:grid}.dropzone strong{font:700 15px var(--font-cond);letter-spacing:.08em;text-transform:uppercase}.dropzone:hover{border-color:var(--invert-bg);background:var(--invert-bg);color:var(--invert-fg)}.dropzone:hover .muted{color:inherit;opacity:.75}.dropzone svg{color:var(--brand-red)}.table-wrap{border:1px solid var(--border);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th,.table td{text-align:left;border-top:1px solid var(--border);white-space:nowrap;padding:8px 12px}.table th{border-top:0;border-bottom:1.5px solid var(--text);background:var(--surface-2);font:600 11px var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0;display:grid}.kv>div{gap:3px;display:grid}.kv dt{font:600 10.5px var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.kv dd{margin:0;font-weight:500}.kv .kv-wide{grid-column:1/-1}.gear-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:22px 22px 22px 30px;display:flex;position:relative;overflow:hidden}.gear-hero:before{content:"";background:var(--life);width:8px;position:absolute;top:0;bottom:0;left:0}.gear-hero .grow{flex:280px;min-width:0}.gear-hero h1{font:700 34px/1.05 var(--font-mono);text-transform:none;letter-spacing:0;overflow-wrap:anywhere;margin-top:4px}.hero-actions{flex-wrap:wrap}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}@media (width<=900px){.detail-grid{grid-template-columns:1fr}}.detail-grid h3,.chart-card h3,.log-head h3,.dash-card-head h3,.attn-card-head h3{align-items:center;gap:9px;display:flex}.detail-grid h3:before,.chart-card h3:before,.log-head h3:before,.dash-card-head h3:before{content:"";background:var(--trim-band);flex:none;width:5px;height:16px}.assignee{background:var(--surface-2);border-left:4px solid var(--ink);gap:2px;margin-top:12px;padding:14px;display:grid}.timeline{border-left:2px solid var(--border);gap:10px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.timeline li{display:grid;position:relative}.timeline li:before{content:"";background:var(--surface);border:2px solid var(--border-strong);width:10px;height:10px;position:absolute;top:6px;left:-20px}.timeline li:first-child:before{border-color:var(--brand-red);background:var(--brand-red)}.linked-list{gap:8px;margin-top:12px;display:grid}.linked-item{border:1px solid var(--border);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);align-items:center;gap:10px;padding:10px 12px;display:flex}.linked-item:hover{border-color:var(--text);box-shadow:inset 4px 0 0 var(--brand-red)}.linked-item .grow{min-width:0;color:inherit;flex:1}.linked-item .title{font-weight:600}.coming-inline{background:var(--surface-2);color:var(--muted);align-items:center;gap:12px;margin-top:12px;padding:14px;display:flex}.set-name{align-items:flex-end;gap:8px;padding-bottom:4px}.station-card{overflow:hidden}.station-head{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background var(--fast) var(--ease), box-shadow var(--fast) var(--ease);background:0 0;border:0;align-items:center;gap:14px;padding:14px 18px;display:flex}.station-head:hover{background:var(--surface-2);box-shadow:inset 4px 0 0 var(--brand-red)}.station-head .grow{flex:1;gap:2px;min-width:0;display:grid}.station-head .title{font:700 17px var(--font-cond);letter-spacing:.04em;text-transform:uppercase}.station-counts{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.station-body{border-top:1.5px solid var(--text);padding:6px 0 14px}.station-body h4{font:600 10.5px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:12px 18px 4px}.station-body>p,.station-body>.row{margin:6px 18px}@media (width<=640px){.station-head{flex-wrap:wrap}.station-counts{justify-content:flex-start;width:100%;padding-left:50px}}.loaner-controls{border-top:1px solid var(--border);gap:8px;margin-top:12px;padding-top:4px;display:grid}.textarea{resize:vertical;height:auto;min-height:84px;padding:10px 14px;line-height:1.5}.photo-picker,.photo-strip{flex-wrap:wrap;gap:8px;display:flex}.photo-strip{margin-top:10px}.photo-thumb{border:1.5px solid var(--border);background:var(--surface-2);cursor:pointer;width:72px;height:72px;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:0;position:relative;overflow:hidden}.photo-thumb:hover{border-color:var(--text);box-shadow:inset 0 -4px 0 var(--brand-red)}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-remove{color:#fff;cursor:pointer;width:22px;height:22px;transition:background var(--fast) var(--ease);background:#0d0e0fd1;border:0;place-items:center;display:grid;position:absolute;top:4px;right:4px}.photo-remove:hover{background:var(--brand-red)}.photo-add{border:2px dashed var(--border-strong);width:72px;height:72px;font:700 11px var(--font-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:border-color var(--fast) var(--ease), color var(--fast) var(--ease), background var(--fast) var(--ease);align-content:center;place-items:center;gap:2px;display:grid}.photo-add:hover{border-color:var(--invert-bg);color:var(--invert-fg);background:var(--invert-bg)}.lightbox{z-index:80;animation:fade var(--med) var(--ease);background:#08080af0;place-items:center;padding:56px 16px;display:grid;position:fixed;inset:0}.lightbox img{max-width:100%;max-height:calc(100dvh - 112px);box-shadow:var(--shadow-lg);animation:pop .26s var(--ease)}.lightbox-btn{color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);background:#ffffff0f;border:1.5px solid #ffffff59;place-items:center;display:grid;position:absolute}.lightbox-btn:hover{color:var(--nav);background:#fff;border-color:#fff}.lightbox-btn.close{top:12px;right:12px}.lightbox-btn.prev{top:50%;left:12px;transform:translateY(-50%)}.lightbox-btn.next{top:50%;right:12px;transform:translateY(-50%)}.lightbox-count{color:#ffffffb3;font:500 12px var(--font-mono);letter-spacing:.08em;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented.reasons{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.seg{border:1.5px solid var(--border-strong);background:var(--surface);min-width:92px;min-height:40px;line-height:1.2;font:700 13.5px var(--font-cond);letter-spacing:.07em;text-transform:uppercase;color:var(--text-2);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);flex:1;padding:8px 12px}.seg:hover{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-fg)}.seg.on{background:var(--ink);border-color:var(--ink);color:#fff}.seg.on.pass{background:var(--life-green);border-color:var(--life-green)}.seg.on.fail,.seg.on.retire{background:var(--life-red);border-color:var(--life-red)}.seg.on.needs_repair{background:var(--life-orange);border-color:var(--life-orange)}.seg.on:hover{box-shadow:inset 0 -4px 0 var(--brand-red)}.log-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.log-add{flex-wrap:wrap;gap:6px;display:flex}.log-list{gap:10px;margin-top:14px;display:grid}.log-entry{border:1px solid var(--border);background:var(--surface);animation:rise .3s var(--ease) both;transition:box-shadow var(--fast) var(--ease), border-color var(--fast) var(--ease);grid-template-columns:auto 1fr;gap:12px;padding:14px;display:grid}.log-entry:hover{border-color:var(--border-strong);box-shadow:inset 4px 0 0 var(--brand-red)}.log-icon{background:var(--surface-2);width:36px;height:36px;color:var(--text-2);border:1.5px solid;place-items:center;display:grid}.log-icon.inspection{color:#2a5bd7;background:#e8eefc}.log-icon.cleaning{color:#0f7f78;background:#e2f2f0}.log-icon.repair{color:var(--life-orange);background:var(--life-orange-soft)}.log-icon.flow_test{color:#6b45c9;background:#eee8fa}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .log-icon.inspection{color:#9db8ff;background:#2b3550}:root:not([data-theme=light]) .log-icon.cleaning{color:#6ed8ce;background:#23403e}:root:not([data-theme=light]) .log-icon.flow_test{color:#c0aaf7;background:#3a3150}}:root[data-theme=dark] .log-icon.inspection{color:#9db8ff;background:#2b3550}:root[data-theme=dark] .log-icon.cleaning{color:#6ed8ce;background:#23403e}:root[data-theme=dark] .log-icon.flow_test{color:#c0aaf7;background:#3a3150}.log-title{font:700 16px var(--font-cond);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.log-meta{font:500 12px var(--font-mono);color:var(--muted)}.log-notes{white-space:pre-wrap;margin-top:6px;font-size:14px}.log-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.outcome{height:22px;font:700 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid;align-items:center;padding:0 7px;display:inline-flex}.outcome.pass{color:var(--life-green)}.outcome.fail,.outcome.retire{color:var(--life-red)}.outcome.needs_repair,.outcome.open{color:var(--life-orange)}.outcome.closed{color:var(--muted)}.retired-banner{background:var(--nav);color:#fff;align-items:flex-start;gap:12px;padding:14px 16px 14px 22px;display:flex;position:relative}.retired-banner:before{content:"";background:var(--trim-vert);width:8px;position:absolute;top:0;bottom:0;left:0}.retired-banner strong{font:700 16px var(--font-cond);letter-spacing:.06em;text-transform:uppercase}.retired-banner svg{color:var(--nav-red);flex:none;margin-top:2px}.retired-banner p{color:#ffffffb8;font-size:14px}.check{border:1.5px solid var(--border);cursor:pointer;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);align-items:flex-start;gap:10px;padding:12px;display:flex}.check:hover{border-color:var(--text);box-shadow:inset 4px 0 0 var(--brand-red)}.check input{width:18px;height:18px;accent-color:var(--brand-red);margin-top:2px}.log-icon.issue{color:#141414;background:var(--trim-hi);border-color:var(--trim-hi)}.outcome.issue-open{background:var(--trim-hi);border-color:var(--trim-hi);color:#141414}.resolution{border-left:3px solid var(--life-green);background:var(--surface-2);margin-top:8px;padding:8px 10px;font-size:14px}.resolution .muted{font:600 10.5px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;display:block}.log-icon.issue-resolved{color:var(--muted);background:var(--surface-2);border-color:var(--border-strong)}.issue-box.repair-box:before{background:var(--life-orange)}.nav-badge{background:var(--brand-red);color:#fff;min-width:22px;height:20px;font:700 11px var(--font-mono);animation:pop var(--med) var(--ease);place-items:center;margin-left:auto;padding:0 6px;display:inline-grid}.tab-icon{place-items:center;display:grid;position:relative}.tabbar .nav-badge{border:2px solid var(--nav);min-width:17px;height:17px;margin:0;padding:0 4px;font-size:10px;position:absolute;top:-6px;left:12px}.attn-summary{flex-wrap:wrap;gap:8px;display:flex}.attn-chip{background:var(--surface);border:1.5px solid var(--border-strong);height:36px;color:var(--text);font:700 13px var(--font-cond);letter-spacing:.07em;text-transform:uppercase;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);align-items:center;gap:8px;padding:0 14px;text-decoration:none;display:inline-flex}.attn-chip:hover{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-fg)}.attn-chip strong{font:800 17px var(--font-display)}.attn-dot{width:9px;height:9px}.attn-dot.critical{background:var(--life-red)}.attn-dot.soon{background:var(--life-yellow)}.attn-card{scroll-margin-top:80px;overflow:hidden}.attn-card-head{border-bottom:1.5px solid var(--text);background:var(--surface-2);align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.attn-card-head .grow{flex:1;min-width:0}.attn-icon{background:var(--nav);width:34px;height:34px;color:var(--nav-red);flex:none;place-items:center;display:grid}.attn-reason{font:700 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid;flex:none;padding:3px 7px}.attn-reason.critical{color:var(--life-red)}.attn-reason.soon{color:var(--life-yellow)}@media (width<=640px){.attn-reason{white-space:normal}}.attn-more{border:0;border-top:1px solid var(--border);width:100%;height:44px;font:700 13px var(--font-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;justify-content:center;align-items:center;gap:6px;display:flex}.attn-more:hover{background:var(--invert-bg);color:var(--invert-fg)}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}@media (width<=960px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.dash-card-head{justify-content:space-between;align-items:center;gap:10px;padding:16px 18px 6px;display:flex}.dash-row{color:inherit;border-top:1px solid var(--border);transition:background var(--fast) var(--ease), box-shadow var(--fast) var(--ease);align-items:center;gap:12px;padding:10px 18px;text-decoration:none;display:flex}.dash-row:first-of-type{border-top:0}.dash-row:hover{background:var(--surface-2);box-shadow:inset 4px 0 0 var(--brand-red)}.dash-row .grow{flex:1;min-width:0}.dash-count{font-family:var(--font-display);text-align:right;min-width:32px;font-size:22px;font-weight:800}.life-bar{background:var(--surface-2);gap:2px;height:8px;margin-top:6px;display:flex;overflow:hidden}.life-bar span{height:100%;transition:width .6s var(--ease);display:block}.dash-empty{padding:8px 18px 18px}.dash-pad-bottom{padding-bottom:8px}.attn-dot.issue{background:var(--trim-hi);box-shadow:0 0 0 1.5px var(--text)}.attn-reason.issue{background:var(--trim-hi);border-color:var(--trim-hi);color:#141414;white-space:normal;text-align:right;max-width:60%;font:600 13px/1.3 var(--font-body);letter-spacing:0;text-transform:none;padding:4px 8px}.attn-card.issue .attn-card-head{border-bottom-color:var(--trim-hi);box-shadow:inset 0 -3px 0 var(--trim-hi)}.attn-card.issue .attn-icon{background:var(--trim-hi);color:#141414}.badge-issue{background:var(--trim-hi);border-color:var(--trim-hi);color:#141414}.gear-row.has-issue{box-shadow:inset -5px 0 0 var(--trim-hi)}.issue-box{background:var(--surface-2);gap:8px;padding:14px 14px 14px 18px;display:grid;position:relative}.issue-box:before{content:"";background:var(--trim-hi);width:6px;position:absolute;top:0;bottom:0;left:0}.issue-box+.issue-box{margin-top:8px}.dash-slot{min-width:0;display:grid}.dash-edit{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dash-edit-row{background:var(--surface);border:1.5px solid var(--border);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), opacity var(--fast) var(--ease);align-items:center;gap:12px;padding:10px 12px;display:flex}.dash-edit-row .grow{flex:1;min-width:0}.dash-edit-row .title{font-weight:600}.dash-edit-row:hover{border-color:var(--text)}.dash-edit-row.locked{background:var(--surface-2);border-style:dashed}.dash-edit-row.off .grow{opacity:.5}.dash-edit-row.dragging{border-color:var(--brand-red);box-shadow:inset 4px 0 0 var(--brand-red), var(--shadow-lg);z-index:1;position:relative}.dash-edit-handle{width:28px;height:36px;color:var(--muted);flex:none;place-items:center;display:grid}.dash-edit-handle.grab{cursor:grab;touch-action:none}.dash-edit-handle.grab:hover{color:var(--text);background:var(--surface-2)}.dash-edit-row.dragging .dash-edit-handle.grab{cursor:grabbing;color:var(--brand-red)}.dash-edit-moves{gap:2px;display:flex}@media (width<=640px){.dash-edit-moves{display:none}}.qr{flex:none;display:inline-block}.qr svg{width:100%;height:100%;display:block}.label-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.label-options p{grid-column:1/-1}@media (width<=640px){.label-options{grid-template-columns:1fr}}.label-pick{max-height:420px;overflow-y:auto}.pick-row{cursor:pointer}.pick-row input{width:18px;height:18px;accent-color:var(--brand-red);flex:none}.label-sheet{color:#141414;border-radius:var(--radius);width:8.5in;max-width:100%;box-shadow:var(--shadow);background:#fff;padding:.5in .1875in;display:grid;overflow:hidden}.sheet-small{grid-template-columns:repeat(3,2.625in);grid-auto-rows:1in;column-gap:.125in}.sheet-large{grid-template-columns:repeat(2,4in);grid-auto-rows:2in;column-gap:.1875in;padding:.5in .156in}.qr-label{outline-offset:-1px;outline:1px dashed #d2d4d9;align-items:center;gap:.08in;padding:.08in .12in;display:flex;overflow:hidden}.qr-label-blank{background:repeating-linear-gradient(45deg,#0000 0 6px,#f2f2f4 6px 12px)}.sheet-small .qr{width:.84in!important;height:.84in!important}.sheet-large .qr{width:1.7in!important;height:1.7in!important}.label-text{min-width:0;line-height:1.15}.label-type{text-transform:uppercase;letter-spacing:.04em;color:#4b4f56;font-size:8pt;font-weight:700}.label-serial{font-family:var(--font-mono), ui-monospace, Consolas, monospace;overflow-wrap:anywhere;font-size:11pt;font-weight:700}.sheet-large .label-type{font-size:11pt}.sheet-large .label-serial{font-size:18pt}.label-meta{color:#6b6f76;white-space:nowrap;text-overflow:ellipsis;font-size:7pt;overflow:hidden}.sheet-large .label-meta{font-size:10pt}@media screen and (width<=900px){.label-sheet{transform-origin:0 0;zoom:.42}}.scan-view{aspect-ratio:3/4;border-radius:var(--radius-lg);width:100%;max-height:62dvh;box-shadow:var(--shadow-lg);background:#000;position:relative;overflow:hidden}.scan-view video{object-fit:cover;width:100%;height:100%;display:block}.scan-frame{animation:pulse-frame 2s var(--ease) infinite;border:3px solid #ffffffe6;position:absolute;inset:36% 6%;box-shadow:0 0 0 9999px #00000073}@keyframes pulse-frame{50%{border-color:var(--brand-red)}}.scan-hint{text-align:center;color:#fff;text-shadow:0 1px 4px #0009;font-weight:600;position:absolute;top:14px;left:12px;right:12px}.scan-result{color:#fff;border-left:6px solid var(--trim-hi);animation:pop var(--fast) var(--ease);background:#0d0e0feb;gap:8px;padding:12px 14px;display:grid;position:absolute;bottom:10px;left:10px;right:10px}.scan-result .mono{font-size:15px;font-weight:700}.scan-result p{color:#ffffffc7;margin:0;font-size:13px}.scan-result .row{flex-wrap:wrap;gap:8px}.scan-result .btn{--btn-bg:transparent;color:#fff;border-color:#ffffff8c}.scan-result .btn:hover{color:var(--nav);background:#fff;border-color:#fff}.scan-result .btn-primary{background:var(--brand-red);border-color:var(--brand-red)}.label-checklist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.label-checklist li{color:#fff9;grid-template-columns:18px 76px minmax(0,1fr);align-items:center;gap:8px;display:grid}.label-checklist li.done{color:#fff}.label-checklist li.done svg{color:var(--trim-hi)}.label-checklist .k{font:700 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.label-checklist .v{font:600 14px var(--font-mono);overflow-wrap:anywhere}.label-choice{border-top:1px solid #fff3;gap:6px;padding-top:6px;display:grid}.scan-view.label .scan-frame{top:14%;bottom:58%}.scan-view.label .scan-hint{font-size:13px;top:4px}.scan-idle{color:#fffc;text-align:center;align-content:center;place-items:center;gap:12px;height:100%;padding:24px;display:grid}.report-pick{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.report-option{text-align:left;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);font:inherit;color:inherit;gap:4px;padding:16px;display:grid}.report-option:hover{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-fg)}.report-option:hover .muted{color:inherit;opacity:.75}.report-option.on{border-color:var(--brand-red);box-shadow:inset 0 4px 0 var(--brand-red)}.report-option strong{font:700 16px var(--font-cond);letter-spacing:.06em;text-transform:uppercase}.report-doc{color:#141414;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:28px;overflow-x:auto}.report-doc header{border-bottom:2px solid #141414;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.report-doc h2{color:#141414}.report-doc .meta{color:#4b4f56;font-size:12px}.report-doc img.report-logo{height:46px}.report-table{border-collapse:collapse;width:100%;font-size:11.5px}.report-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#4b4f56;white-space:nowrap;border-bottom:1px solid #141414;padding:6px;font-size:10.5px}.report-table td{vertical-align:top;border-bottom:1px solid #e4e5e8;padding:5px 6px}.report-table tr{break-inside:avoid}.report-table td.nowrap{white-space:nowrap}.report-dot{vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.offline-bar{background:var(--nav);color:#fff;font:700 13px var(--font-cond);letter-spacing:.08em;text-transform:uppercase;border-bottom:4px solid var(--trim-hi);animation:pop var(--med) var(--ease);justify-content:center;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;display:flex}.print-only{display:none}@page{size:letter portrait;margin:0}@page report{size:letter landscape;margin:0}@media print{.report-doc{page:report}html,body{background:#fff!important}.sidebar,.topbar,.tabbar,.toasts,.no-print,.offline-bar{display:none!important}.shell{display:block}.main{max-width:none;padding:0!important}.page{animation:none;display:block}.print-only{display:block}.label-sheet{box-shadow:none;border-radius:0;transform:none;zoom:1!important}.qr-label{break-inside:avoid;outline:none}.qr-label-blank{background:0 0}.report-doc{box-shadow:none;border-radius:0;padding:.5in;overflow:visible}.report-table{font-size:9.5pt}.report-table thead{display:table-header-group}}.report-filters{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.report-summary{margin:2px 0;font-size:14px;font-weight:700}.scan-modes .seg{justify-content:center;align-items:center;gap:6px;display:inline-flex}.batch-card .list-row{gap:10px}.report-brand{flex:none;justify-items:end;gap:6px;display:grid}.report-doc img.report-logo.dept{object-fit:contain;max-width:220px;height:64px}.report-powered{font:600 9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#6b6f76;align-items:center;gap:4px;display:inline-flex}.report-powered img{height:12px}.guide-doc{gap:4px;font-size:14.5px;line-height:1.5;display:grid}.guide-doc h3{font:700 18px var(--font-cond);letter-spacing:.05em;text-transform:uppercase;color:#141414;align-items:center;gap:10px;margin:18px 0 6px;display:flex}.guide-step{color:#fff;width:26px;height:26px;font:800 15px var(--font-display);background:#d3121b;flex:none;place-items:center;display:inline-grid}.guide-doc ol,.guide-doc ul{gap:4px;margin:4px 0 6px;padding-left:22px;display:grid}.guide-doc p{margin:4px 0}.guide-doc .tip{background:#f4f6e6;border-left:4px solid #b9d000;padding:8px 12px;font-size:13.5px}.guide-doc .linklike{color:#b40f17}.guide-table{border-collapse:collapse;width:100%;font-size:13.5px}.guide-table th,.guide-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e4e5e8;padding:7px 8px}.guide-table tbody th{width:120px;font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:#4b4f56}.guide-table.roles thead th{font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid #141414}.guide-table.roles td:not(:first-child){text-align:center;white-space:nowrap;width:90px}.guide-handout{border-top:3px dashed #c3c7cc;margin-top:28px;padding-top:18px}.guide-handout header{border-bottom:2px solid #141414;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.handout-steps{counter-reset:none;font-size:15.5px;gap:10px!important}@media print{.guide .page-head{display:none}.guide-section,.guide-table tr{break-inside:avoid}.guide-handout{break-before:page;border-top:0;margin-top:0;padding-top:0}body[data-print=handout] .guide-part{display:none!important}.guide-doc .linklike{color:inherit;text-decoration:none}}:root{--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948;--series-other:#898781;--viz-grid:#e6e4de;--viz-axis:#c3c2b7;--viz-future:#f1f0ec}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#2a9a2a;--series-7:#9085e9;--series-8:#e66767;--series-other:#898781;--viz-grid:#3f4248;--viz-axis:#5a5d64;--viz-future:#2f3237}}.viz{width:100%;min-width:0;position:relative}.chart-card,.page>*{min-width:0}.viz svg{display:block;overflow:visible}.viz-grid{stroke:var(--viz-grid);stroke-width:1px;shape-rendering:crispedges}.viz-axis{stroke:var(--viz-axis);stroke-width:1px;shape-rendering:crispedges}.viz-future{fill:var(--viz-future)}.viz-today{stroke:var(--text-2);stroke-width:1px;opacity:.5;shape-rendering:crispedges}.viz-tick{fill:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10.5px}.viz-current{fill:var(--text);font-weight:700}.viz-note{fill:var(--muted);font-size:11px;font-weight:600}.viz-col path{transition:opacity var(--fast) var(--ease), filter var(--fast) var(--ease)}.viz-col.hover path{filter:brightness(1.08)saturate(1.05)}.viz rect[tabindex]:focus{outline:none}.viz rect[tabindex]:focus-visible{stroke:var(--brand-red);stroke-width:2px}.viz-tip{background:var(--surface);border:1.5px solid var(--text);border-top:4px solid var(--brand-red);min-width:170px;max-width:280px;box-shadow:var(--shadow-lg);pointer-events:none;z-index:5;animation:pop .14s var(--ease);padding:10px 12px;font-size:13px;position:absolute;transform:translate(-50%,-100%)}.viz-tip-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.viz-tip-head strong{font:800 18px var(--font-display)}.viz-tip-head span{color:var(--muted);font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.viz-tip-row{color:var(--text-2);grid-template-columns:12px auto 1fr;align-items:center;gap:6px;padding:2px 0;display:grid}.viz-tip-row strong{color:var(--text);font-variant-numeric:tabular-nums}.viz-key{width:12px;height:3px}.viz-legend{font:600 12.5px var(--font-cond);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);flex-wrap:wrap;gap:6px 14px;display:flex}.viz-legend span{align-items:center;gap:6px;display:inline-flex}.viz-legend i{width:10px;height:10px;display:inline-block}.viz-legend i.faded{opacity:.5}.chip-swatch{vertical-align:-1px;width:10px;height:10px;margin-right:6px;display:inline-block}.chip.active .chip-swatch,.chip:hover .chip-swatch{box-shadow:0 0 0 1.5px var(--invert-fg)}.chart-card{gap:14px;padding:18px 18px 14px;display:grid}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-head p{color:var(--muted);margin-top:2px;font-size:13px}.chart-stats{flex-wrap:wrap;gap:22px;display:flex}.chart-stat{display:grid}.chart-stat .v{font-size:26px;font-weight:800;font-family:var(--font-display);line-height:1.1}.chart-stat .l{font:600 10.5px var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.viz-table{max-height:360px;overflow:auto}.viz-table .table td,.viz-table .table th{font-variant-numeric:tabular-nums}.viz-table .table td.num,.viz-table .table th.num{text-align:right}.viz-table tr.now td{font-weight:700}.rate-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rate-input{width:96px}.price-row{border-top:1px solid var(--border);transition:background var(--fast) var(--ease);grid-template-columns:minmax(0,1fr) auto 150px;align-items:center;gap:12px 16px;padding:12px 18px;display:grid}.price-row:hover{background:var(--surface-2)}.price-row:first-of-type{border-top:0}.price-type{gap:2px;min-width:0;display:grid}.price-mode{flex-wrap:nowrap}.price-mode .seg{white-space:nowrap;min-width:0;min-height:34px;padding:6px 12px;font-size:12.5px}.price-mode .seg:disabled{cursor:default;opacity:.7}.price-value{justify-self:end}.price-used{font-variant-numeric:tabular-nums}@media (width<=640px){.price-row{grid-template-columns:minmax(0,1fr) auto}.price-type{grid-column:1/-1}}.year-cost{display:grid}.year-cost-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;padding:18px 18px 8px;display:flex}.year-cost-inputs{flex-wrap:wrap;gap:12px;display:flex}.year-cost-inputs .field{margin:0}.year-cost-inputs .input{width:140px}.year-cost-answer{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2);gap:4px;padding:10px 18px 14px;display:grid}.year-cost-answer .label{font:600 11px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.year-cost-answer .value{font:800 44px/1 var(--font-display)}.year-cost-table .num{text-align:right;font-variant-numeric:tabular-nums}.year-cost-table tr.now td{border-top:1.5px solid var(--text);font-weight:700}.year-cost-items{padding:10px 18px 16px}.year-cost-items summary{cursor:pointer;font:700 13px var(--font-cond);letter-spacing:.08em;text-transform:uppercase}.year-cost-items ul{gap:4px;margin:8px 0 0;padding:0;font-size:13.5px;list-style:none;display:grid}.year-cost-items li{flex-wrap:wrap;gap:6px;display:flex}.year-cost-items li .num{font-variant-numeric:tabular-nums;margin-left:auto}@media print{.year-cost{break-inside:avoid;box-shadow:none}.year-cost-items{display:block}.year-cost-items:not([open]) ul{display:grid}.projection-print-head{box-shadow:none;padding:.4in .5in 0}.chart-card{break-inside:avoid;box-shadow:none}}
