:root{--bg:#f9f9f9;--surface:#ffffff;--surface-2:#f2f2f2;--fill:#f2f2f2;--fill-hover:#e5e5e5;--border:#e5e5e5;--border-strong:#d0d0d0;--text:#0f0f0f;--muted:#606060;--accent:#0284c7;--accent-strong:#0369a1;--on-accent:#ffffff;--accent-soft:#e0f2fe;--danger:#c62828;--danger-soft:#fdecec;--warning:#b45309;--warning-soft:#fdf6e7;--success:#15803d;--shadow:0 1px 2px rgba(0,0,0,0.05),0 6px 20px rgba(0,0,0,0.06);--radius:14px;--font-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Plus Jakarta Sans","Figtree",system-ui,sans-serif;--st-reported-bg:#eef0f2;--st-reported-fg:#414a55;--st-verified-bg:#e6eefd;--st-verified-fg:#1e40af;--st-prioritized-bg:#f0eafd;--st-prioritized-fg:#5b21b6;--st-assigned-bg:#e9e9fc;--st-assigned-fg:#3730a3;--st-in_progress-bg:#fdf1df;--st-in_progress-fg:#92400e;--st-resolved-bg:#e3f4e8;--st-resolved-fg:#166534;--st-closed-bg:#ececec;--st-closed-fg:#303030;--st-returned-bg:#fce8e8;--st-returned-fg:#991b1b;--glow:color-mix(in srgb,var(--accent) 5%,transparent);--lift:0 6px 18px rgba(0,0,0,0.08);color-scheme:light}:root[data-theme=dark]{--bg:#0f0f0f;--surface:#181818;--surface-2:#212121;--fill:#272727;--fill-hover:#3f3f3f;--border:#2c2c2c;--border-strong:#3f3f3f;--text:#f1f1f1;--muted:#aaaaaa;--accent:#38bdf8;--accent-strong:#7dd3fc;--on-accent:#082030;--accent-soft:#10283a;--danger:#f87171;--danger-soft:#3a1414;--warning:#fbbf24;--warning-soft:#2c2208;--success:#4ade80;--shadow:0 1px 2px rgba(0,0,0,0.5),0 8px 24px rgba(0,0,0,0.35);--st-reported-bg:#2e2e2e;--st-reported-fg:#d6d6d6;--st-verified-bg:#172554;--st-verified-fg:#93c5fd;--st-prioritized-bg:#2e1065;--st-prioritized-fg:#c4b5fd;--st-assigned-bg:#1e1b4b;--st-assigned-fg:#a5b4fc;--st-in_progress-bg:#422006;--st-in_progress-fg:#fcd34d;--st-resolved-bg:#052e16;--st-resolved-fg:#86efac;--st-closed-bg:#2a2a2a;--st-closed-fg:#b5b5b5;--st-returned-bg:#450a0a;--st-returned-fg:#fca5a5;--glow:color-mix(in srgb,var(--accent) 6%,transparent);--lift:0 6px 18px rgba(0,0,0,0.5);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent)}h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.01em}h1{font-size:26px;font-weight:800}h2{font-size:18px}h2,h3{font-weight:700}h3{font-size:16px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stack{flex-direction:column;gap:var(--gap,12px)}.row,.stack{display:flex}.row{align-items:center;gap:var(--gap,10px)}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1 1 auto;min-width:0}.muted{color:var(--muted)}.small{font-size:13px}.center{display:flex;align-items:center;justify-content:center}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--min,280px),1fr));grid-gap:16px;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card.flush{padding:0;overflow:hidden}.card-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);font-weight:600;cursor:pointer;text-decoration:none;color:var(--text);white-space:nowrap}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{border-color:var(--accent)}.btn.primary:hover{background:var(--accent-strong)}.btn.danger{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn.ghost{border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:0 10px;border-radius:10px;font-size:13px}.btn.lg{height:48px;padding:0 22px;font-size:16px;border-radius:14px}.icon-btn{width:36px;padding:0}.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.field .hint{font-weight:400;color:var(--muted);font-size:13px}.input,.select,.textarea{height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);font-weight:400}.textarea{height:auto;padding:10px 12px;resize:vertical;min-height:84px}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.error-text{color:var(--danger);font-size:14px}.pill{padding:3px 10px;font-size:12px;white-space:nowrap;background:var(--st-reported-bg);color:var(--st-reported-fg)}.chip,.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-weight:600}.chip{height:32px;padding:0 12px;border:1px solid var(--border-strong);background:var(--surface);font-size:13px}.chip.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.chip button{border:0;background:transparent;cursor:pointer;padding:0;display:inline-flex;color:inherit;opacity:.7}.chip button:hover{opacity:1}button.chip{cursor:pointer}.chip.add{border-style:dashed;color:var(--accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:600;color:var(--muted);background:var(--surface-2)}.table td,.table th{padding:12px 14px;border-bottom:1px solid var(--border)}.table td{vertical-align:middle}.table tr.clickable{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 14px;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:30}.brand{gap:12px;padding:4px 8px 20px}.brand,.brand-logo{display:flex;align-items:center}.brand-logo{width:40px;height:40px;border-radius:12px;background:var(--accent);color:var(--on-accent);justify-content:center;overflow:hidden;flex-shrink:0;font-family:var(--font-display);font-weight:800}.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}.brand-logo.has-image{background:#fff;border:1px solid var(--border);box-sizing:border-box}.brand-name{font-family:var(--font-display);font-weight:800;font-size:16px;line-height:1.15}.nav-link{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;border-radius:12px;color:var(--text);text-decoration:none;font-weight:600}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--accent-soft);color:var(--accent-strong)}:root[data-theme=dark] .nav-link.active{color:var(--accent)}.nav-link .badge{margin-left:auto;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--danger);color:#fff}.main{flex:1 1;min-width:0;padding:28px 36px 48px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:999px;overflow:hidden;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-display);font-weight:700;line-height:1}:root[data-theme=dark] .avatar{color:var(--accent)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.stat{display:flex;flex-direction:column;gap:4px}.stat .value{font-family:var(--font-display);font-size:34px;font-weight:800;line-height:1.1}.stat .label{font-size:14px;font-weight:600;color:var(--muted)}.split{display:grid;grid-template-columns:minmax(0,1fr) 460px;grid-gap:16px;gap:16px;align-items:start}.panel{position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--surface);border-radius:20px;border:1px solid var(--border);box-shadow:var(--shadow)}.modal-head{padding:20px 22px 0}.modal-body{padding:18px 22px}.modal-foot{padding:14px 22px 20px;display:flex;justify-content:flex-end;gap:10px}.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.thumb{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .remove{position:absolute;top:6px;right:6px}.cover{aspect-ratio:16/7;background:linear-gradient(135deg,var(--accent-soft),var(--surface-2));display:flex;align-items:center;justify-content:center;color:var(--accent);overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;gap:12px}.timeline .rail{display:flex;flex-direction:column;align-items:center;width:14px}.timeline .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:4px}.timeline .line{width:2px;flex:1 1;background:var(--border);margin:2px 0}.timeline .body{padding-bottom:14px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty svg{color:var(--accent);margin-bottom:8px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:12px 18px;font-weight:600;z-index:60}.notice,.toast{border-radius:12px}.notice{padding:12px 14px;background:var(--warning-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);font-size:14px}.bar{height:8px;background:var(--surface-2);overflow:hidden}.bar,.bar>div{border-radius:4px}.bar>div{height:100%}.steps{display:flex;gap:8px}.steps span{flex:1 1;height:4px;border-radius:2px;background:var(--border)}.steps span.done{background:var(--accent)}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.history-card{padding:4px 18px 12px}.history-month{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 0;border:0;background:transparent;color:var(--text);font:inherit;font-size:17px;font-weight:700;cursor:pointer}.fold-arrow{display:inline-flex;color:var(--muted);transition:transform .15s ease}.fold-arrow.closed{transform:rotate(-90deg)}.history-dayblock{border-top:1px solid var(--border)}.history-day{display:flex;align-items:center;gap:8px;width:100%;padding:9px 4px;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;font-size:14px;cursor:pointer;border-radius:8px;text-align:left}.history-day:hover{background:var(--fill)}.history-reports{display:flex;flex-direction:column;gap:10px;padding:2px 0 14px 24px}.history-report{border-radius:12px;background:var(--surface-2);padding:10px 14px 6px}.history-report-head{display:flex;align-items:baseline;gap:10px;width:100%;padding:0 0 7px;margin-bottom:2px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;min-width:0}.history-report-head:hover strong{color:var(--accent)}.history-report-what{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.history-steps li{position:relative;display:grid;grid-template-columns:68px 112px minmax(0,1fr);grid-column-gap:12px;column-gap:12px;align-items:start;padding:7px 0 7px 18px;font-size:14px;line-height:1.45}.history-steps li+li{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.history-steps li:before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:var(--border)}.history-steps li:first-child:before{top:14px}.history-steps li:last-child:before{bottom:calc(100% - 14px)}.history-steps li:after{content:"";position:absolute;left:1px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--surface-2);border:2px solid var(--muted)}.history-steps li:first-child:after{border-color:var(--accent);background:var(--accent)}.history-time{color:var(--muted);font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;padding-top:2px;white-space:nowrap}.history-badge{display:flex}.history-badge .pill{width:100%;justify-content:center;text-align:center}.history-step{min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:1px}.history-step-line{overflow-wrap:anywhere}.history-what{font-weight:600}.history-remark{align-self:flex-start;font-size:13px;padding:3px 10px;border-radius:8px;background:var(--fill);color:var(--text)}.notif-panel{position:fixed;left:262px;top:20px;width:380px;max-height:min(560px,calc(100vh - 40px));overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);z-index:40}.notif-list{list-style:none;margin:0;padding:0 8px 8px}.notif-item{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:10px;border:0;border-radius:12px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.notif-item:hover{background:var(--surface-2)}.notif-item.unread .notif-title{font-weight:700}.notif-icon{width:32px;height:32px;flex-shrink:0;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.notif-title{display:block;font-weight:600}.notif-body{display:block;color:var(--muted);font-size:14px;margin:2px 0;overflow-wrap:anywhere}.notif-dot{width:8px;height:8px;border-radius:4px;background:var(--accent);margin-top:6px;flex-shrink:0}.input.sm{height:34px;border-radius:10px;font-size:14px;padding:0 10px}.input.needs{border-color:var(--warning)}.seg{gap:2px;padding:3px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.seg,.seg button{display:inline-flex}.seg button{align-items:center;gap:6px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:600;font-size:14px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.seg button.on,.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface);box-shadow:var(--shadow)}.choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice input{margin-top:3px;accent-color:var(--accent)}.search-box{position:relative;display:inline-flex;align-items:center}.search-box svg{position:absolute;left:10px;color:var(--muted);pointer-events:none}.search-box .input{padding-left:32px;width:220px}.modal.wide{width:min(980px,100%)}kbd{font-family:inherit;font-size:12px;padding:1px 6px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface-2)}.btn.danger-hover:hover{color:var(--danger)}.inv-head{gap:18px}.inv-stats{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr)) minmax(240px,2fr);grid-gap:10px;gap:10px}.inv-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;border:1px solid var(--border)}.inv-stat .label{font-size:13px;font-weight:600;color:var(--muted)}.inv-stat .value{font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1.1}.inv-stat.ok .value{color:var(--success)}.inv-stat.bad .value{color:var(--danger)}.inv-stat.count{gap:6px}.sheet-wrap{overflow:auto;max-height:calc(100vh - 220px);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.sheet{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;table-layout:fixed}.sheet.compact{table-layout:auto}.sheet th{position:-webkit-sticky;position:sticky;top:0;z-index:2;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:10px;font-size:13px;font-weight:600;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border-strong)}.sheet td{padding:0;vertical-align:top;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.sheet td:last-child,.sheet th:last-child{border-right:0}.sheet .lead{text-align:center;padding:0;vertical-align:middle}.sheet td.lead{vertical-align:top;padding-top:11px}.sheet tr.group-row td.lead{vertical-align:middle;padding-top:0}.sheet tbody tr{transition:background-color .12s ease}.sheet tbody tr:hover td{background:var(--surface-2)}.sheet tr.counted td.lead{box-shadow:inset 3px 0 0 var(--accent)}.sheet tr.new-row td{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}.sheet .static{vertical-align:top}.cell{display:block;width:100%;min-height:40px;margin:0;padding:10px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:1.4;resize:none;overflow:hidden;text-overflow:ellipsis}select.cell{height:40px;padding:0 8px;cursor:pointer}.cell::placeholder{color:var(--muted);opacity:.8}.cell:focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface);position:relative;z-index:1}.cell[readonly]{cursor:default}.cell[readonly]:focus{outline-color:var(--border-strong)}.cell.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell.needs{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--warning) 70%,transparent)}.cell-value{display:block;padding:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-value.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tag{display:inline-block;margin:0 10px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.tag.ok{background:var(--st-resolved-bg);color:var(--st-resolved-fg)}.tag.bad{background:var(--st-returned-bg);color:var(--st-returned-fg)}.tick{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;vertical-align:middle}.row-tools{display:flex;justify-content:flex-end;gap:4px;padding:4px 8px;opacity:.7;transition:opacity .15s ease}.sheet tr:focus-within .row-tools,.sheet tr:hover .row-tools{opacity:1}.row-tools .btn.sm.icon-btn{width:32px;height:32px;flex:0 0 32px;padding:0;color:var(--text)}.row-tools .btn.sm.icon-btn svg{flex:0 0 auto;width:17px;height:17px}.row-tools .btn.sm.icon-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.row-tools .btn:disabled{opacity:.3}.sheet tr.has-broken td .cell[aria-label^=Nonfunctional]{color:var(--danger);font-weight:600}.inv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:14px;gap:14px}.inv-card{display:flex;flex-direction:column;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.inv-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.inv-card.counted{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.inv-card.has-broken{box-shadow:inset 3px 0 0 var(--danger)}.inv-counts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.inv-count{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:12px;background:var(--surface-2)}.inv-count .label{font-size:12px;font-weight:600;color:var(--muted)}.inv-count .value{font-family:var(--font-display);font-size:24px;font-weight:800;line-height:1;min-width:2ch;text-align:center}.inv-count.ok .value{color:var(--success)}.inv-count.bad .value{color:var(--danger)}.stepper{gap:8px}.stepper,.stepper button{display:inline-flex;align-items:center}.stepper button{width:34px;height:34px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);justify-content:center;cursor:pointer;transition:border-color .12s ease,transform .08s ease}.stepper button:hover:not(:disabled){border-color:var(--accent)}.stepper button:active:not(:disabled){transform:scale(.94)}.stepper button:disabled{opacity:.4;cursor:not-allowed}.stepper.small button{width:28px;height:28px;border-radius:8px}.stepper.small span{min-width:3ch;text-align:center;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:1200px){.inv-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.inv-stat.count{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.inv-card,.inv-card:hover,.stepper button{transition:none;transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.report-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0 24px;gap:0 24px;margin:0}.report-details>div{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--border)}.report-details dt{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.report-details dd{margin:0;font-weight:700}.sheet tr.group-row td{padding:7px 10px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft);border-right:0}:root[data-theme=dark] .sheet tr.group-row td{color:var(--accent)}.sheet tr.short td .cell[aria-label^=Counted]{color:var(--danger);font-weight:700}.amount{font-weight:700}.amount.ok{color:var(--success)}.amount.fix{color:var(--warning)}.amount.bad{color:var(--danger)}.inv-stat.fix .value{color:var(--warning)}.group-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 12px;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}:root[data-theme=dark] .group-head{color:var(--accent)}.group-head .muted{text-transform:none;letter-spacing:0;font-weight:600}@media (max-width:900px){.report-details{grid-template-columns:repeat(2,minmax(0,1fr))}}.inv-card{gap:12px;padding:16px}.inv-card-head{display:flex;flex-direction:column;gap:4px;min-width:0}.inv-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.inv-card-title strong{font-size:15px;line-height:1.3;min-width:0;overflow-wrap:anywhere}.inv-card-title .pill{flex-shrink:0}.inv-card-desc{margin:0;font-size:13px;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.inv-counted{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.inv-counted.done{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.inv-counted.short{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.inv-counted-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.inv-counted-top .label{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.inv-counted-top .status{font-size:13px;color:var(--muted);text-align:right}.inv-counted.short .status{color:var(--danger);font-weight:600}.inv-counted.done .status{color:var(--success);font-weight:600}.inv-counted-actions{display:flex;align-items:center;gap:8px}.inv-counted-actions .btn.grow{flex:1 1}.inv-counted-actions .value{flex:1 1;text-align:center;font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1}.inv-counted-actions .value small{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--muted)}.inv-counted.short .inv-counted-actions .value{color:var(--danger)}.inv-counted-actions .round{width:36px;height:36px;flex-shrink:0;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .12s ease,transform .08s ease}.inv-counted-actions .round:hover:not(:disabled){border-color:var(--accent)}.inv-counted-actions .round:active:not(:disabled){transform:scale(.94)}.inv-counted-actions .round:disabled{opacity:.4;cursor:not-allowed}.inv-counts.three{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);grid-gap:6px;gap:6px}.inv-counts.three .inv-count{justify-content:flex-start;gap:4px;padding:10px 2px 8px;min-width:0;border:1px solid var(--border)}.inv-counts.three .inv-count .label{font-size:10.5px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.inv-counts.three .inv-count .value{font-size:22px}.inv-count.fix .value{color:var(--warning)}.inv-count.zero .value{color:var(--muted);opacity:.6}.mini-stepper{display:flex;gap:6px;margin-top:2px}.mini-stepper button{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .12s ease,transform .08s ease}.mini-stepper button:hover:not(:disabled){border-color:var(--accent)}.mini-stepper button:active:not(:disabled){transform:scale(.94)}.mini-stepper button:disabled{opacity:.35;cursor:not-allowed}.link-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:2px 0;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.link-btn:hover{color:var(--accent)}.bulk-bar{position:-webkit-sticky;position:sticky;top:8px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent-soft) 85%,var(--surface));box-shadow:var(--shadow);animation:pop .18s ease both}.bulk-bar .chip{height:30px}.bulk-bar .chip:disabled{opacity:.5;cursor:wait}.sheet .lead.pick{background:var(--surface-2)}.sheet tr.selected td{background:color-mix(in srgb,var(--accent-soft) 70%,var(--surface))}.sheet tr.group-row td.lead.pick{background:var(--accent-soft)}body{background:radial-gradient(1000px 480px at 100% -10%,var(--glow),transparent 60%),var(--bg);background-attachment:fixed}.sidebar{background:var(--bg);border-right-color:transparent}.brand-logo:not(.has-image){background:var(--accent)}.nav-link{position:relative;font-weight:500;transition:background-color .15s ease}.nav-link:hover{background:var(--fill)}.nav-link.active,:root[data-theme=dark] .nav-link.active{background:var(--fill);color:var(--text);font-weight:700}.nav-link.active svg{color:var(--accent)}.nav-link:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:0 3px 3px 0;background:var(--accent);transform:translateY(-50%);transition:height .18s ease}.nav-link.active:before{height:20px}.btn{height:38px;border-radius:999px;border-color:transparent;background:var(--fill);transition:background-color .15s ease,color .15s ease,transform .1s ease}.btn:hover:not(:disabled){background:var(--fill-hover);border-color:transparent}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.btn.primary:hover:not(:disabled){background:var(--accent-strong)}.btn.ghost{background:transparent}.btn.ghost:hover:not(:disabled){background:var(--fill)}.btn.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn.sm{height:32px}.btn.lg,.btn.sm{border-radius:999px}.btn.lg{height:46px}.icon-btn{border-radius:999px}.chip{border-color:transparent;background:var(--fill);border-radius:8px;transition:background-color .15s ease}button.chip:hover:not(.selected):not(:disabled){background:var(--fill-hover)}.chip.selected{background:var(--text);color:var(--bg);border-color:transparent}.chip.add{border:1px dashed var(--border-strong)}.chip.add,.seg{background:transparent}.seg{border:0;padding:0;gap:6px}.seg button{background:var(--fill);color:var(--text);border-radius:8px;height:32px}.seg button:hover:not(.on){background:var(--fill-hover)}.seg button.on{background:var(--text);color:var(--bg);box-shadow:none}.input,.select,.textarea{border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.input:hover:not(:focus):not(:disabled),.select:hover:not(:focus),.textarea:hover:not(:focus){border-color:var(--muted)}.input.sm,.search-box .input{border-radius:999px}.card{box-shadow:none}.card.stat{position:relative}.table th{background:transparent;font-size:13px}.table tr.clickable td{transition:background-color .12s ease}.table tr.clickable:hover td{background:var(--surface-2)}.bar{background:var(--fill)}.bar>div{background:var(--accent);transition:width .4s ease}.inv-stat{background:var(--surface-2);border-color:transparent}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.overlay{animation:fade .15s ease both}.modal{animation:pop .2s cubic-bezier(.2,.8,.2,1) both}.toast{animation:toast-in .2s ease both}.notif-panel{animation:pop .18s ease both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:1100px){.split{grid-template-columns:1fr}.panel{position:static;max-height:none}}@media (max-width:800px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;flex-direction:row;flex-wrap:wrap}.main{padding:20px 16px 40px}.notif-panel{left:16px;right:16px;width:auto;top:16px}}.tip-btn{color:var(--muted)}.tip-btn.open,.tip-btn.open:hover:not(:disabled){color:var(--accent);background:var(--accent-soft)}.tip-card{flex-direction:column;padding:16px 18px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);animation:pop .18s ease both}.tip-card,.tip-top{display:flex;gap:12px}.tip-top{align-items:flex-start}.tip-title{display:block;font-size:16px}.tip-intro{margin:4px 0 0;font-size:14.5px;line-height:1.5;max-width:80ch}.tip-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:12px 22px;gap:12px 22px}.tip-points li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5}.tip-points b,.tip-text{display:block}.tip-text{color:var(--text);opacity:.88}.tip-point-icon{width:30px;height:30px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;background:var(--surface);color:var(--accent)}.tip-body{font-size:14px;color:var(--text);line-height:1.5}.tip-body ol,.tip-body ul{margin:4px 0 0;padding-left:18px}.tip-foot{font-size:12.5px;color:var(--muted)}.tip-icon{width:32px;height:32px;flex-shrink:0;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent)}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:240px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);animation:pop .14s ease both}.menu button{display:flex;align-items:flex-start;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.menu button svg{margin-top:1px;color:var(--muted);flex-shrink:0}.menu button small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}.menu button:hover{background:var(--fill)}.title-row{display:flex;align-items:center;gap:6px}.title-select{position:relative;display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.title-select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:15px;font-weight:600;padding:2px 22px 2px 0;cursor:pointer;border-radius:6px}.title-select select:focus,.title-select select:hover{color:var(--text)}.title-select select option{color:var(--text);background:var(--surface)}.title-select svg{position:absolute;right:0;pointer-events:none}.inv-head{display:flex;flex-direction:column;gap:14px;padding:18px 20px}.inv-title{display:flex;align-items:flex-start;gap:12px}.inv-facility{font-family:var(--font-display);font-size:18px;font-weight:800;line-height:1.25}.inv-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:4px;font-size:13.5px;color:var(--muted)}.inv-meta b{color:var(--text);font-weight:600}.inv-summary{justify-content:space-between;gap:10px 16px;padding-top:14px;border-top:1px solid var(--border)}.inv-figures,.inv-summary{display:flex;flex-wrap:wrap;align-items:center}.inv-figures{gap:4px 0;font-size:14.5px}.inv-figures>span+span:before{content:"·";margin:0 9px;color:var(--muted);opacity:.7}.inv-figures .ok{color:var(--success);font-weight:600}.inv-figures .fix{color:var(--warning);font-weight:600}.inv-figures .bad{color:var(--danger);font-weight:600}.inv-counting{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-sep{width:1px;height:22px;background:var(--border-strong);margin:0 2px}.chip.quiet{height:32px}.btn.on{background:var(--text);color:var(--bg)}.btn.on:hover:not(:disabled){background:var(--text);opacity:.9}.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.dash-stat{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:var(--radius);background:var(--surface-2)}.dash-stat .label{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--muted)}.dash-stat .value{font-family:var(--font-display);font-size:30px;font-weight:800;line-height:1.15}.dash-stat .note{font-size:12.5px;color:var(--muted)}.rename{display:inline-flex;align-items:center;gap:6px;min-width:0}.rename-btn{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;opacity:.6;transition:opacity .12s ease,background-color .12s ease}.rename-btn:focus-visible,.rename:hover .rename-btn{opacity:1}.rename-btn:hover{background:var(--fill-hover);color:var(--text)}.input.sm.rename-input{width:240px;height:30px;text-transform:none;letter-spacing:0;font-weight:600;font-size:14px;color:var(--text)}.chip .rename-btn{width:20px;height:20px}.chip .rename-input{width:150px;height:26px}.cat-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.cat-row:last-child{border-bottom:0}.cat-row .grow{font-weight:600}.pill-select{position:relative;display:inline-flex;align-items:center;border-radius:999px;background:var(--st-reported-bg);color:var(--st-reported-fg)}.pill-select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:12px;font-weight:600;padding:3px 24px 3px 10px;border-radius:999px}.pill-select select option{color:var(--text);background:var(--surface)}.pill-select svg{position:absolute;right:8px;pointer-events:none}.pill-select:hover{background:var(--fill-hover)}.inv-card-serial{margin:0;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal.count-flow{width:min(620px,100%);padding:18px 22px 20px;display:flex;flex-direction:column;gap:14px}.count-top{display:flex;align-items:center;justify-content:space-between}.count-item h2{font-size:24px;margin:2px 0 4px;line-height:1.2}.count-cat{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.count-desc{margin:0 0 2px;color:var(--muted);font-size:14px;white-space:pre-line;max-height:6.5em;overflow:auto}.count-record{margin:8px 0 0;font-size:16px}.count-q{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.count-q-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px}.count-step{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:800}.count-choices{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.count-choice{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 14px;border-radius:14px;border:2px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.count-choice.on,.count-choice:hover{border-color:var(--accent)}.count-choice.on{background:var(--accent-soft)}.count-choice.warn.on{border-color:var(--warning);background:var(--warning-soft)}.count-number{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.count-diff{font-weight:600;color:var(--muted)}.count-diff.bad{color:var(--danger)}.count-diff.ok{color:var(--success)}.count-broken{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface-2)}.count-broken-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.count-broken-row small{display:block;color:var(--muted);font-size:12.5px}.count-stepper{display:inline-flex;align-items:center;gap:6px}.count-stepper button{width:40px;height:40px;border-radius:999px;border:0;background:var(--fill);color:var(--text);display:grid;place-items:center;cursor:pointer}.count-stepper button:hover:not(:disabled){background:var(--fill-hover)}.count-stepper button:disabled{opacity:.35;cursor:not-allowed}.count-stepper input{width:64px;height:40px;text-align:center;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);font-size:18px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.count-stepper.big button{width:48px;height:48px}.count-stepper.big input{width:84px;height:48px;font-size:22px}.count-foot{gap:8px;padding-top:6px}.count-done,.count-foot{display:flex;align-items:center}.count-done{flex-direction:column;text-align:center;gap:10px;padding:24px 0 8px}.count-done-icon{width:64px;height:64px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent)}@media (max-width:560px){.count-choices{grid-template-columns:1fr}}.inv-cards.simple{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.inv-tile{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.inv-tile.counted{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.inv-tile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.inv-tile-head strong{font-size:15px;line-height:1.3}.inv-tile-qty{flex-shrink:0;text-align:right;font-weight:800;font-size:18px;line-height:1.1}.inv-tile-qty small{display:block;font-size:12px;font-weight:600;color:var(--muted)}.inv-tile-desc{margin:0;font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inv-tile-status{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--muted)}.inv-tile-status.ok{color:var(--success)}.inv-tile-status.fix{color:var(--warning)}.inv-tile-status.bad{color:var(--danger)}.inv-tile-actions{display:flex;gap:8px;margin-top:4px}.inv-tile-actions .btn{flex:1 1}.group-toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}.group-toggle svg{transition:transform .15s ease}.group-toggle.closed svg{transform:rotate(-90deg)}.group-count{font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted);font-size:12px}.sheet .band-inner{position:-webkit-sticky;position:sticky;left:10px;display:inline-flex;align-items:center;gap:10px}.sheet-hscroll{overflow-x:auto;overflow-y:hidden;height:16px;margin-bottom:4px;border-radius:8px}.sheet-hscroll>div{height:1px}.sheet .stick{position:-webkit-sticky;position:sticky;z-index:1;background:var(--surface)}.sheet thead th.stick{z-index:3;background:var(--surface-2)}.sheet tr.group-row td.stick{background:var(--accent-soft)}.sheet tbody tr:hover td.stick{background:var(--surface-2)}.sheet tr.selected td.stick{background:color-mix(in srgb,var(--accent-soft) 70%,var(--surface))}.sheet td.stick-edge,.sheet th.stick-edge{box-shadow:6px 0 8px -6px rgba(0,0,0,.35)}.group-head .group-toggle{color:inherit}.sheet td.lead .count-btn{width:calc(100% - 12px);margin:0 6px;justify-content:center}.sheet td.lead:has(.count-btn){padding-top:4px}.count-btn.done{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.count-btn.done:hover:not(:disabled){border-color:var(--accent)}@media (hover:hover){.sheet .row-tools{opacity:0}.sheet tr:focus-within .row-tools,.sheet tr:hover .row-tools{opacity:1}}:root{--series-1:#0284c7;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--ease-out:cubic-bezier(0.2,0.8,0.2,1)}:root[data-theme=dark]{--series-1:#2b95d6;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181}.loading{animation:fade .15s ease .3s backwards}.page-enter>.stack>:not(.overlay):not(.toast),.page-enter>div>.stack>:not(.overlay):not(.toast){animation:rise-in .18s ease-out backwards}.page-enter>.stack>:nth-child(2):not(.overlay):not(.toast),.page-enter>div>.stack>:nth-child(2):not(.overlay):not(.toast){animation-delay:.02s}.page-enter>.stack>:nth-child(3):not(.overlay):not(.toast),.page-enter>div>.stack>:nth-child(3):not(.overlay):not(.toast){animation-delay:.04s}.page-enter>.stack>:nth-child(n+4):not(.overlay):not(.toast),.page-enter>div>.stack>:nth-child(n+4):not(.overlay):not(.toast){animation-delay:.06s}@keyframes rise-in{0%{opacity:0;transform:translate3d(0,4px,0)}to{opacity:1;transform:none}}.stagger>*{animation:rise-in .2s ease-out backwards}.stagger>:nth-child(2){animation-delay:.03s}.stagger>:nth-child(3){animation-delay:.06s}.stagger>:nth-child(4){animation-delay:.09s}.stagger>:nth-child(n+5){animation-delay:.12s}.page-enter .dash-grid,.page-enter .stagger.dash-stats{animation:none!important}.nav-link svg{transition:transform .2s var(--ease-out),color .2s ease}.nav-link:hover svg{transform:translateX(2px)}.nav-link:before{transition:height .25s var(--ease-out),box-shadow .25s ease}.nav-link.active:before{box-shadow:0 0 10px 1px color-mix(in srgb,var(--accent) 55%,transparent)}.btn{transition:background-color .15s ease,color .15s ease,box-shadow .2s ease,transform .12s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn.primary:hover:not(:disabled){box-shadow:0 6px 20px -6px color-mix(in srgb,var(--accent) 70%,transparent);transform:translateY(-1px)}.btn.primary:active:not(:disabled){transform:translateY(0) scale(.98)}.badge.pulse{position:relative;isolation:isolate}.badge.pulse:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--danger);z-index:-1;animation:pulse-ring 2.4s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.55}70%,to{transform:scale(1.9);opacity:0}}.bell-icon{display:inline-flex;transform-origin:50% 2px}.bell-icon.ringing{animation:bell-ring .9s ease}@keyframes bell-ring{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(9deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(3deg)}}.live-dot{position:relative;width:8px;height:8px;margin-left:2px}.live-dot,.live-dot:after{border-radius:50%;background:var(--danger)}.live-dot:after{content:"";position:absolute;inset:0;animation:pulse-ring 2s ease-out infinite}.login-art{isolation:isolate}.login-art>:not(.waves):not(.login-glow){position:relative;z-index:1}.login-glow{position:absolute;top:0;left:0;width:520px;height:520px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(255,255,255,.18),rgba(255,255,255,0));transform:translate(30%,10%);transition:transform .6s var(--ease-out);will-change:transform}:root[data-theme=dark] .login-glow{background:radial-gradient(closest-side,rgba(255,255,255,.22),rgba(255,255,255,0))}.waves{right:0;height:34%;pointer-events:none;overflow:hidden}.wave,.waves{position:absolute;left:0;bottom:0}.wave{width:200%;will-change:transform;animation:wave-drift linear infinite}.wave path{fill:#ffffff}.wave.w1{height:100%;opacity:.1;animation-duration:26s}.wave.w2{height:78%;opacity:.14;animation-duration:19s;animation-direction:reverse}.wave.w3{height:56%;opacity:.2;animation-duration:13s}@keyframes wave-drift{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.login-brand{animation:float 7s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.login-form>*{animation:rise .5s var(--ease-out) backwards}.login-form>:nth-child(2){animation-delay:.06s}.login-form>:nth-child(3){animation-delay:.12s}.login-form>:nth-child(4){animation-delay:.18s}.login-form>:nth-child(n+5){animation-delay:.24s}.dash-stat{position:relative;overflow:hidden;gap:6px;padding:16px 18px;border:1px solid transparent;transition:transform .2s var(--ease-out),border-color .2s ease,box-shadow .2s ease}.dash-stat:hover{transform:translateY(-2px);border-color:var(--border);box-shadow:var(--shadow)}.dash-stat:before{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--tone,var(--accent)) 9%,transparent),transparent)}:root[data-theme=dark] .dash-stat:before{background:radial-gradient(closest-side,color-mix(in srgb,var(--tone,var(--accent)) 16%,transparent),transparent)}.dash-stat.danger{--tone:var(--danger)}.dash-stat.warning{--tone:var(--warning)}.dash-stat .label{gap:8px}.stat-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;color:var(--tone,var(--accent));background:color-mix(in srgb,var(--tone,var(--accent)) 14%,transparent);box-shadow:0 0 14px -2px color-mix(in srgb,var(--tone,var(--accent)) 45%,transparent)}.dash-stat.alert .value{color:var(--tone)}.stat-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.dash-stat .value{font-feature-settings:normal;font-variant-numeric:normal}.spark path{fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.7;stroke-dasharray:1;stroke-dashoffset:1;animation:draw .7s .2s var(--ease-out) forwards}.spark circle{fill:var(--accent);stroke:var(--surface-2);stroke-width:2;animation:fade .25s ease .85s backwards}@keyframes draw{to{stroke-dashoffset:0}}.dash-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);grid-gap:16px;gap:16px;align-items:start;transition:opacity .2s ease}.dash-col{display:flex;flex-direction:column;gap:16px;min-width:0}.dash-grid.refreshing{opacity:.6}@media (max-width:1100px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.dash-grid .card{transition:box-shadow .2s ease,border-color .2s ease}.dash-grid .card:hover{border-color:var(--border-strong)}.legend-inline{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted)}.legend-inline>span{display:inline-flex;align-items:center;gap:6px}.legend-inline b{color:var(--text)}.key-line{display:inline-block;width:14px;height:3px;border-radius:2px}.action-row{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:12px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border);transition:background-color .15s ease,transform .15s var(--ease-out)}.action-row:hover{background:var(--fill);transform:translateX(3px)}.chart{position:relative;width:100%;outline:none;border-radius:10px}.chart:focus-visible{box-shadow:0 0 0 2px var(--accent)}.chart svg{display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1}.chart-tick{fill:var(--muted);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw .8s .12s var(--ease-out) forwards}.chart-area{animation:fade .5s ease .3s backwards}.chart-end{stroke:var(--surface);stroke-width:2;animation:fade .25s ease .85s backwards}.chart-cross{stroke:var(--border-strong);stroke-width:1}.chart-dot{stroke:var(--surface);stroke-width:2}.chart-tip{position:absolute;top:4px;transform:translateX(-50%);pointer-events:none;min-width:150px;padding:8px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);font-size:13px;z-index:2}.chart-tip-title{font-weight:700;margin-bottom:4px}.chart-tip-row{display:flex;align-items:center;gap:8px}.chart-table{margin-top:10px}.chart-table summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:600}.chart-table .table-wrap{max-height:260px;overflow:auto;margin-top:8px;border:1px solid var(--border);border-radius:10px}.chart-table .table td,.chart-table .table th{padding:8px 12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.donut-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.donut{position:relative;flex-shrink:0;margin:0 auto}.donut svg{transform:rotate(-90deg)}.donut-track{fill:none;stroke:var(--fill)}.donut-part{fill:none;transition:stroke-dasharray .7s var(--ease-out),stroke-width .2s ease,opacity .2s ease;cursor:pointer}.donut-part.dim{opacity:.35}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.donut-value{font-size:30px;font-weight:800;line-height:1.1}.donut-label{font-size:12.5px;color:var(--muted);max-width:100px}.legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:200px}.legend li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;font-size:14px;cursor:default;outline:none;transition:background-color .15s ease}.legend li.on,.legend li:focus-visible,.legend li:hover{background:var(--fill)}.legend li small{display:block;color:var(--muted);font-size:12px}.legend .swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend .pct{width:38px;text-align:right;font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.barlist{list-style:none;margin:0;padding:0;gap:12px}.barlist,.barlist li{display:flex;flex-direction:column}.barlist li{gap:5px}.barlist-top{display:flex;justify-content:space-between;gap:10px;font-size:14px}.barlist-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist-track{height:8px;border-radius:4px;background:var(--fill);overflow:hidden}.barlist-bar{height:100%;border-radius:4px;transform-origin:left center;animation:grow-x .55s var(--ease-out) backwards;animation-delay:calc(.15s + var(--i, 0) * .04s)}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-delay:0s!important}.login-glow{transition:none}}.dash-grid.one{grid-template-columns:minmax(0,1fr)}.dash-grid.one .side-only{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.gear-btn svg{transition:transform .5s var(--ease-out)}.gear-btn:hover svg{transform:rotate(90deg)}.dash-set-title{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 2px}.dash-set-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;background:var(--fill);transition:opacity .15s ease}.dash-set-row.off{opacity:.6}.dash-set-row label{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.dash-set-row label small{display:block;color:var(--muted);font-size:12.5px}.stat-icon{position:relative}.stat-icon:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1.5px solid color-mix(in srgb,var(--tone,var(--accent)) 60%,transparent);animation:icon-breathe 3.2s ease-out infinite}.dash-stat:nth-child(2) .stat-icon:after{animation-delay:.8s}.dash-stat:nth-child(3) .stat-icon:after{animation-delay:1.6s}.dash-stat:nth-child(4) .stat-icon:after{animation-delay:2.4s}@keyframes icon-breathe{0%{transform:scale(1);opacity:.7}60%,to{transform:scale(1.6);opacity:0}}.work-cell{gap:2px;white-space:nowrap}.team,.work-cell{display:flex;flex-direction:column}.team{gap:6px}.team-head,.team-row{display:grid;grid-template-columns:minmax(0,2.2fr) 70px minmax(120px,1.3fr) 80px 80px;grid-gap:12px;gap:12px;align-items:center}.team-head{font-size:12px;font-weight:600;color:var(--muted);padding:0 10px 4px}.team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.team-row{padding:8px 10px;border-radius:12px;transition:background-color .15s ease;animation:rise-in .2s ease-out backwards;animation-delay:calc(.05s + var(--i, 0) * .02s)}.team-row:hover{background:var(--fill)}.team-row.off{opacity:.55}.team-person{align-items:center;gap:10px}.team-name,.team-person{display:flex;min-width:0}.team-name{flex-direction:column}.team-name b,.team-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-name small{color:var(--muted);font-size:12px}.team-todo{display:flex;flex-direction:column;font-size:15px}.team-todo small{color:var(--muted);font-size:11.5px}.team-done{display:flex;flex-direction:column;gap:4px}.team-done-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:15px}.team-bar{height:6px;border-radius:3px;background:var(--fill);overflow:hidden}.team-bar>span{display:block;height:100%;border-radius:3px;background:var(--series-1);transform-origin:left;animation:grow-x .5s var(--ease-out) backwards;animation-delay:.15s}.team-ontime{display:inline-flex;align-items:center;gap:4px;font-weight:700}.team-ontime.ok{color:var(--success)}.team-ontime.fix{color:var(--warning)}.team-ontime.bad{color:var(--danger)}@media (max-width:700px){.team-head,.team-row{grid-template-columns:minmax(0,1fr) 56px 110px}.team-hide-sm{display:none}}.drawer-backdrop{position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.32);animation:fade .18s ease both}.drawer-backdrop.closing{animation:fade-out .16s ease both}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:46;width:min(600px,100vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:-18px 0 48px rgba(0,0,0,.28);animation:drawer-in .24s var(--ease-out) both}.drawer.closing{animation:drawer-out .16s ease-in both}@keyframes drawer-in{0%{transform:translate3d(40px,0,0);opacity:0}to{transform:none;opacity:1}}@keyframes drawer-out{0%{transform:none;opacity:1}to{transform:translate3d(40px,0,0);opacity:0}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.drawer-head{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.drawer-body{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:22px 26px 40px;display:flex;flex-direction:column;gap:20px}.drawer-body>*{animation:rise-in .2s ease-out backwards}.drawer-no{font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--accent)}.drawer-title{font-size:22px;line-height:1.3;margin:0}.facts{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:8px 16px;gap:8px 16px;margin:0;padding:14px 16px;border-radius:14px;background:var(--surface-2);font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.panel-section{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.panel-section.primary{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.panel-section h3{margin:0}@media (max-width:640px){.drawer-body{padding:18px 16px 32px}.facts{grid-template-columns:96px minmax(0,1fr)}}.table tr.selected td{background:var(--accent-soft)}.table tr.group-head td{padding:8px 14px;background:var(--surface-2);font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.table tr.group-head td .muted{text-transform:none;letter-spacing:0;font-weight:600}.history-steps.with-date li{grid-template-columns:112px 112px minmax(0,1fr)}.paper-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.paper-choice{align-items:center;transition:border-color .15s ease,background .15s ease}.paper-choice.busy{opacity:.7;cursor:progress}.paper-shape{flex-shrink:0;width:34px;border:1.5px solid var(--muted);border-radius:3px;background:var(--surface);display:flex;flex-direction:column;gap:3px;padding:5px 5px 0;transition:transform .2s ease}.paper-shape span{display:block;height:2px;border-radius:1px;background:var(--border)}.paper-shape span:first-child{width:60%;background:var(--accent)}.paper-choice:has(input:checked) .paper-shape{border-color:var(--accent);transform:translateY(-1px)}@media (max-width:640px){.paper-choices{grid-template-columns:1fr}}