:root{--bg:#efede2;--bg2:#e3e0d0;--surface:#fffefa;--surface-2:#f8f6ea;--glass:#fffefae6;--ink:#16140f;--ink-2:#433f33;--muted:#766f5c;--line:#cdc8b2;--line-2:#16140f;--accent:#ffc800;--accent-ink:#16140f;--accent-fg:#7a5a00;--accent-soft:#fff0b0;--gold:#e89a00;--gold-soft:#ffe9b8;--green:#1a8a4f;--green-soft:#d5f1de;--blue:#1f6fd1;--blue-soft:#dbe8fb;--violet:#7a4fd0;--violet-soft:#eadffb;--red:#d22f2f;--red-soft:#fbdcd9;--rivet:#a39b80;--shadow:0 2px 0 #16140f1f, 0 8px 22px #16140f14;--shadow-lg:0 20px 50px #16140f47;--hard:3px 3px 0 var(--ink);--r:8px;--r-sm:6px;--sidebar:256px;--ease:cubic-bezier(.2,.8,.2,1);--head:"Saira Stencil One", "Barlow", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#121210;--bg2:#1b1a15;--surface:#1d1c17;--surface-2:#25241d;--glass:#1d1c17eb;--ink:#f4f0e0;--ink-2:#d6d0b8;--muted:#9d967f;--line:#3b392d;--line-2:#ffc800;--accent:#ffc800;--accent-ink:#16140f;--accent-fg:#ffc800;--accent-soft:#3a3000;--gold:#ffb020;--gold-soft:#3b2d0a;--green:#3ccf84;--green-soft:#132;--blue:#6aa6ff;--blue-soft:#14284a;--violet:#ad94ff;--violet-soft:#271f4a;--red:#ff6b5e;--red-soft:#411a17;--rivet:#5d5843;--shadow:0 2px 0 #00000080, 0 10px 30px #0006;--shadow-lg:0 24px 60px #000000a6;--hard:3px 3px 0 #000;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Barlow,system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.4;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--head);text-transform:uppercase;letter-spacing:.03em;font-weight:400}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:.92em}.muted{color:var(--muted)}.small{font-size:12.5px}.bold{font-weight:800}.right{text-align:right}.center{text-align:center}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.col{flex-direction:column;gap:10px;display:flex}.grow{flex:1;min-width:0}.show-sm{display:none}.tape{background:repeating-linear-gradient(-45deg,#ffc800 0 12px,#16140f 12px 24px);border-radius:2px;flex:none;height:10px}.tape.thick{height:16px}.stencil{font-family:var(--head);text-transform:uppercase;letter-spacing:.04em}.app{grid-template-columns:var(--sidebar) 1fr;min-height:100%;transition:grid-template-columns .4s var(--ease);display:grid;position:relative}.app:before,.login:before{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:36px 36px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(600px 400px at 100% 0,#000,#0000 80%);mask-image:radial-gradient(600px 400px at 100% 0,#000,#0000 80%)}.sidebar{z-index:5;border-right:3px solid var(--ink);background:var(--glass);flex-direction:column;gap:6px;height:100vh;padding:14px 12px;display:flex;position:sticky;top:0;overflow:hidden}:root[data-theme=dark] .sidebar{border-right-color:#3b392d}.brand{align-items:center;gap:10px;padding:4px 6px 10px;display:flex}.brand-mark{background:var(--ink);width:40px;height:40px;box-shadow:3px 3px 0 var(--accent);border-radius:6px;flex:none;place-items:center;display:grid}.brand b{font-family:var(--head);letter-spacing:.04em;text-transform:uppercase;font-size:20px;font-weight:400}.brand small{color:var(--muted);margin-top:-2px;font-size:11px;font-weight:600;display:block}.nav{scrollbar-width:none;flex-direction:column;flex:1;gap:2px;display:flex;position:relative;overflow:hidden auto}.nav-pill{background:var(--accent);box-shadow:3px 3px 0 var(--ink);z-index:0;pointer-events:none;border-radius:6px;position:absolute;left:0;right:0}:root[data-theme=dark] .nav-pill{box-shadow:3px 3px #000}.nav a{z-index:1;color:var(--ink-2);white-space:nowrap;border-radius:6px;align-items:center;gap:12px;padding:9px 12px;font-weight:700;transition:color .25s,background .25s;display:flex;position:relative}.nav a:hover{background:var(--bg2)}.nav a.active{color:var(--accent-ink);background:0 0}.nav a svg{flex:none}.nav .cnt{background:var(--ink);color:var(--accent);border-radius:4px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:800}.nav a.active .cnt{background:var(--ink);color:var(--accent)}.nav-sec{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-fg);white-space:nowrap;padding:12px 12px 4px;font-size:11px;font-weight:800}.side-foot{border-top:2px solid var(--line);flex-direction:column;gap:6px;padding-top:10px;display:flex}.app.collapsed{grid-template-columns:76px 1fr}.collapsed .lbl,.collapsed .cnt,.collapsed .brand-txt,.collapsed .nav-sec,.collapsed .hide-collapsed{display:none}.collapsed .nav a{justify-content:center}.main{z-index:1;flex-direction:column;min-width:0;display:flex;position:relative}.topbar{z-index:4;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:3px solid var(--ink);align-items:center;gap:12px;padding:10px 28px;display:flex;position:sticky;top:0}:root[data-theme=dark] .topbar{border-bottom-color:#3b392d}.search{background:var(--surface);border:2px solid var(--line);border-radius:6px;flex:0 380px;align-items:center;gap:8px;min-width:240px;padding:8px 12px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%}.kbd{border:1.5px solid var(--line);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.icon-btn{background:var(--surface);border:2px solid var(--ink);width:40px;height:40px;transition:transform .15s var(--ease), box-shadow .15s;box-shadow:2px 2px 0 var(--ink);border-radius:6px;flex:none;place-items:center;display:grid;position:relative}:root[data-theme=dark] .icon-btn{border-color:#3b392d;box-shadow:2px 2px #000}.icon-btn:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.icon-btn:active{transform:translate(1px,1px);box-shadow:0 0}.icon-btn .dot{background:var(--red);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;top:5px;right:6px}.avatar{width:40px;height:40px;font-family:var(--head);color:var(--accent-ink);background:var(--accent);border:2px solid var(--ink);border-radius:6px;flex:none;place-items:center;display:grid}.content{flex-direction:column;gap:18px;width:100%;max-width:1560px;margin:0 auto;padding:22px 28px 60px;display:flex}.content>*,.col>*{min-width:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{font-size:30px;line-height:1.1}.page-head p{color:var(--muted);max-width:640px;margin-top:4px}.page-head:after{content:"";background:repeating-linear-gradient(-45deg,#ffc800 0 10px,#16140f 10px 20px);border-radius:2px;flex-basis:100%;order:9;height:8px}.demo-banner{background:var(--ink);color:var(--bg);z-index:3;border-bottom:0;align-items:center;gap:10px;padding:6px 28px;font-size:12.5px;font-weight:600;display:flex;position:relative}.demo-banner b{color:var(--accent)}.card{background:var(--surface);border:2px solid var(--line-2);border-radius:var(--r);box-shadow:var(--hard);padding:18px;position:relative}:root[data-theme=dark] .card{border-color:#3b392d}.card:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 8px 8px, var(--rivet) 2px, transparent 2.6px), radial-gradient(circle at calc(100% - 8px) 8px, var(--rivet) 2px, transparent 2.6px), radial-gradient(circle at 8px calc(100% - 8px), var(--rivet) 2px, transparent 2.6px), radial-gradient(circle at calc(100% - 8px) calc(100% - 8px), var(--rivet) 2px, transparent 2.6px);position:absolute;inset:0}.card.flat{box-shadow:none;border-width:1.5px;border-color:var(--line)}.card.flat:before{display:none}:root[data-theme=dark] .card.flat{border-color:var(--line)}.card.glass{background:var(--glass)}.card h3{font-size:16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.g4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.g-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;display:grid}.g-main>*,.g2>*,.g3>*,.g4>*{min-width:0}.btn{border:2px solid var(--ink);background:var(--surface);transition:transform .12s var(--ease), box-shadow .12s, background .2s;white-space:nowrap;box-shadow:2px 2px 0 var(--ink);text-transform:uppercase;letter-spacing:.03em;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:800;display:inline-flex}:root[data-theme=dark] .btn{border-color:#4a4733;box-shadow:2px 2px #000}.btn:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{transform:translate(2px,2px);box-shadow:0 0}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--ink)}:root[data-theme=dark] .btn.primary{border-color:#000}.btn.dark{background:var(--ink);color:var(--bg)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg2);box-shadow:none;transform:none}.btn.sm{padding:5px 10px;font-size:11.5px}.btn.lg{padding:13px 20px;font-size:15px}.btn.block{width:100%}.btn.danger{background:var(--red);color:#fff;border-color:var(--ink)}.btn[disabled]{opacity:.5;pointer-events:none}.badge{background:var(--bg2);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.badge.green{background:var(--green-soft);color:var(--green)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.gold{background:var(--gold-soft);color:#9a6200}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.violet{background:var(--violet-soft);color:var(--violet)}.badge.accent{background:var(--accent);color:var(--accent-ink)}:root[data-theme=dark] .badge.gold{color:var(--gold)}.badge.ai{background:var(--violet-soft);color:var(--violet)}.input,.select{background:var(--surface);border:2px solid var(--line);border-radius:6px;outline:none;width:100%;min-width:0;padding:9px 12px;transition:border .2s,box-shadow .2s}:root:not([data-theme=dark]) .input,:root:not([data-theme=dark]) .select{border-color:#8f8a74}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 5px var(--ink)}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:800}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid>.full{grid-column:1/-1}.seg{background:var(--bg2);border:2px solid var(--line);scrollbar-width:none;border-radius:8px;gap:2px;max-width:100%;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.seg button{z-index:1;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;border-radius:5px;padding:6px 13px;font-size:12.5px;font-weight:800;transition:color .25s;position:relative}.seg button.on{color:var(--accent-ink)}.seg .thumb{background:var(--accent);box-shadow:2px 2px 0 var(--ink);z-index:0;border-radius:5px;position:absolute;top:4px;bottom:4px}.chips{scrollbar-width:none;gap:8px;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips.wrapit{flex-wrap:wrap;overflow:visible}.chip{background:var(--surface);border:2px solid var(--line);transition:all .15s var(--ease);text-transform:uppercase;letter-spacing:.03em;border-radius:4px;flex:none;padding:6px 12px;font-size:12.5px;font-weight:700}.chip.on{background:var(--ink);color:var(--accent);border-color:var(--ink)}.chip:hover{transform:translateY(-1px)}.toggle{background:var(--bg2);border:2px solid var(--ink);border-radius:4px;flex:none;width:46px;height:26px;transition:background .25s;position:relative}.toggle:after{content:"";background:var(--ink);width:18px;height:18px;transition:transform .25s var(--ease);border-radius:2px;position:absolute;top:2px;left:2px}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(20px)}:root[data-theme=dark] .toggle{border-color:#6b6648}:root[data-theme=dark] .toggle:after{background:#d6d0b8}:root[data-theme=dark] .toggle.on:after{background:#16140f}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);white-space:nowrap;border-bottom:2px solid var(--line);padding:8px 10px;font-size:11px;font-weight:800}.tbl td{border-top:1px solid var(--line);vertical-align:middle;padding:10px}.tbl tr.click{cursor:pointer}.tbl tr:hover td{background:var(--surface-2)}.tbl-wrap{max-width:100%;overflow-x:auto}.bar{background:var(--bg2);border:1.5px solid var(--line);border-radius:2px;height:10px;overflow:hidden}.bar>i{background:var(--accent);width:0;height:100%;display:block}.bar.green>i{background:var(--green)}.bar.gold>i{background:var(--gold)}.bar.blue>i{background:var(--blue)}.bar.red>i{background:var(--red)}.empty{text-align:center;color:var(--muted);padding:30px;font-weight:600}.kpi{flex-direction:column;gap:8px;display:flex;overflow:hidden}.kpi .lab{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.kpi .ico{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);border:2px solid var(--ink);border-radius:6px;place-items:center;display:grid}.kpi .val{font-family:var(--head);letter-spacing:.02em;font-size:34px;line-height:1}.kpi .delta{align-items:center;gap:4px;font-size:12px;font-weight:800;display:inline-flex}.kpi .delta.up{color:var(--green)}.kpi .delta.down{color:var(--red)}.hero-card{background:var(--ink);color:#f4f0e0;border-color:var(--ink);flex-direction:column;justify-content:space-between;gap:14px;min-height:190px;display:flex;overflow:hidden}:root[data-theme=dark] .hero-card{border-color:var(--accent);background:#0a0a08}.hero-card h2{z-index:1;max-width:460px;color:var(--accent);font-size:28px;line-height:1.15;position:relative}.hero-card p{opacity:.9;z-index:1;max-width:460px;margin-top:6px;position:relative}.hero-card .btn{z-index:1;position:relative}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;font-weight:600;display:flex}.legend i{vertical-align:-2px;border:1.5px solid #00000059;border-radius:2px;width:12px;height:12px;margin-right:6px;display:inline-block}.insight{background:var(--accent-soft)}.insight .tag{letter-spacing:.08em;color:var(--accent-fg);text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.heat{gap:4px;display:grid}.overlay{z-index:50;background:#0f0e089e;place-items:center;padding:16px;animation:.2s both fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(540px,100%);max-height:92vh;box-shadow:6px 6px 0 var(--accent), var(--shadow-lg);animation:pop .35s var(--ease) both;border:3px solid var(--ink);border-radius:10px;padding:22px;overflow-y:auto}:root[data-theme=dark] .modal{border-color:var(--accent);box-shadow:6px 6px #000}.modal h3{margin-bottom:4px;font-size:20px}.toasts{z-index:80;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:var(--bg);border-left:8px solid var(--accent);box-shadow:var(--shadow-lg);animation:slidein .4s var(--ease) both;border-radius:6px;align-items:center;gap:10px;max-width:360px;padding:11px 15px;font-weight:700;display:flex}:root[data-theme=dark] .toast{color:#16140f;background:#f4f0e0}.check{width:84px;height:84px}.check circle{fill:none;stroke:var(--green);stroke-width:4px;stroke-dasharray:260;stroke-dashoffset:260px;animation:draw .7s 50ms forwards var(--ease)}.check path{fill:none;stroke:var(--green);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60px;animation:draw .45s .6s forwards var(--ease)}.wipe{z-index:100;pointer-events:none;position:fixed;inset:0}.tour-mask{z-index:90;outline:3px solid var(--accent);pointer-events:none;transition:all .45s var(--ease);border-radius:8px;position:fixed;box-shadow:0 0 0 9999px #0a0904b3}.tour-tip{z-index:91;background:var(--surface);width:min(330px,100vw - 24px);box-shadow:5px 5px 0 var(--accent), var(--shadow-lg);border:3px solid var(--ink);animation:pop .4s var(--ease) both;border-radius:8px;padding:16px;position:fixed}.tour-tip h4{margin-bottom:4px;font-size:16px}.tour-dots{gap:5px;display:flex}.tour-dots i{background:var(--line);border-radius:1px;width:7px;height:7px}.tour-dots i.on{background:var(--accent);outline:1px solid var(--ink);width:18px}.sheet{z-index:60;background:var(--surface);border-top:4px solid var(--accent);box-shadow:var(--shadow-lg);animation:up .4s var(--ease) both;border-radius:12px 12px 0 0;grid-template-columns:repeat(4,1fr);gap:8px;max-height:80vh;padding:16px 14px 100px;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet a{background:var(--bg2);text-align:center;text-transform:uppercase;letter-spacing:.02em;border-radius:6px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 2px;font-size:11px;font-weight:800;display:flex}.bottomnav{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:61;background:var(--glass);border:3px solid var(--ink);box-shadow:var(--hard);border-radius:10px;justify-content:space-around;padding:5px;display:none;position:fixed}:root[data-theme=dark] .bottomnav{border-color:#3b392d}.bottomnav a,.bottomnav button{color:var(--muted);transition:all .2s var(--ease);text-transform:uppercase;border-radius:6px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:6px 8px;font-size:10.5px;font-weight:800;display:flex}.bottomnav a.active{color:var(--accent-ink);background:var(--accent)}.login{grid-template-columns:1.05fr 1fr;min-height:100%;display:grid;position:relative}.login-hero{z-index:1;color:#f4f0e0;background:#16140f;border:3px solid #16140f;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 28px);margin:14px 0 14px 14px;padding:44px 52px;display:flex;position:relative;overflow:hidden}.login-hero:before{content:"";opacity:.95;background:repeating-linear-gradient(-45deg,#ffc800 0 22px,#16140f 22px 44px);height:70px;position:absolute;bottom:60px;left:-10%;right:-10%;transform:rotate(-6deg)}.login-hero:after{content:"";opacity:.25;background:repeating-linear-gradient(-45deg,#ffc800 0 14px,#16140f 14px 28px);height:26px;position:absolute;top:40%;left:-10%;right:-10%;transform:rotate(-6deg)}.login-hero h1{color:#ffc800;z-index:2;max-width:560px;font-size:clamp(32px,3.6vw,54px);line-height:1.04;position:relative}.login-hero p{opacity:.92;max-width:460px;margin-top:12px;font-size:16px}.float{color:#16140f;z-index:2;text-transform:uppercase;background:#ffc800;border:3px solid #16140f;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:800;animation:5s ease-in-out infinite floaty;display:flex;position:absolute;box-shadow:4px 4px #000}.login-form{z-index:1;place-items:center;padding:32px;display:grid;position:relative}.login-card{flex-direction:column;gap:14px;width:min(450px,100%);display:flex}.login-card h2{font-size:30px}.social{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.roles{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.role{border:2px solid var(--line);background:var(--surface);transition:all .2s var(--ease);text-transform:uppercase;text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:11.5px;font-weight:800;display:flex}.role.on{border-color:var(--ink);background:var(--accent);color:var(--accent-ink);box-shadow:2px 2px 0 var(--ink);transform:translateY(-3px)}.or{color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:2px}.otp{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.otp input{text-align:center;padding:10px 0;font-size:18px;font-weight:800}.drawer{z-index:55;background:var(--surface);border-left:4px solid var(--accent);width:min(500px,100%);box-shadow:var(--shadow-lg);animation:slidein .35s var(--ease) both;flex-direction:column;gap:14px;padding:20px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.drawer>*{min-width:0}.dl{grid-template-columns:1fr auto;gap:6px 14px;font-size:14px;display:grid}.dl dt{color:var(--muted);font-weight:600}.dl dd{text-align:right;font-weight:800}.sum{border-top:2px dashed var(--line);flex-direction:column;gap:6px;padding-top:10px;display:flex}.sum .t{font-family:var(--head);font-size:22px}.sum>div{justify-content:space-between;gap:10px;display:flex}.alert{border:2px solid var(--red);background:var(--red-soft);color:var(--red);border-radius:6px;align-items:flex-start;gap:8px;padding:10px 12px;font-weight:700;display:flex}.alert.ok{border-color:var(--green);background:var(--green-soft);color:var(--green)}.alert.warn{border-color:var(--gold);background:var(--gold-soft);color:#8a5a00}:root[data-theme=dark] .alert.warn{color:var(--gold)}.thinking{color:var(--muted);align-items:center;gap:6px;padding:14px;font-weight:700;display:flex}.thinking i{background:var(--accent);border:1.5px solid var(--ink);width:9px;height:9px;animation:1s infinite wave}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}.feed-item{background:var(--surface-2);border:1.5px solid var(--line);animation:pop .4s var(--ease) both;border-radius:6px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.feed-ico{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border:2px solid var(--ink);border-radius:6px;place-items:center;display:grid}.cat-ico{background:var(--ink);width:38px;height:38px;color:var(--accent);border-radius:6px;flex:none;place-items:center;display:grid}.stars{gap:2px;display:inline-flex}.stars button{color:var(--line)}.stars button.on{color:var(--gold)}.photo{aspect-ratio:4/3;border:2px dashed var(--line);background:repeating-linear-gradient(-45deg, var(--bg2) 0 10px, var(--surface-2) 10px 20px);color:var(--muted);text-transform:uppercase;text-align:center;border-radius:6px;place-items:center;gap:4px;padding:4px;font-size:11px;font-weight:800;transition:all .2s;display:grid}.photo.on{border:2px solid var(--green);background:linear-gradient(135deg, var(--green-soft), var(--surface-2));color:var(--green)}.check-row{border:1.5px solid var(--line);background:var(--surface-2);text-align:left;border-radius:6px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-weight:700;display:flex}.check-row .bx{border:2px solid var(--ink);background:var(--surface);border-radius:3px;flex:none;place-items:center;width:22px;height:22px;display:grid}.check-row.ok .bx{background:var(--green);color:#fff;border-color:var(--green)}.check-row.bad .bx{background:var(--red);color:#fff;border-color:var(--red)}.steps{gap:6px;display:flex}.steps i{background:var(--bg2);border:1.5px solid var(--line);flex:1;height:8px}.steps i.on{background:var(--accent);border-color:var(--ink)}.pick{border:2px solid var(--line);background:var(--surface);text-align:left;border-radius:6px;flex-direction:column;gap:4px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.pick:hover{border-color:var(--ink)}.pick.on{border-color:var(--ink);background:var(--accent-soft);box-shadow:3px 3px 0 var(--ink)}.kanban{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.kcol{background:var(--bg2);border:2px dashed #0000;border-radius:8px;flex-direction:column;align-content:flex-start;gap:10px;min-width:0;min-height:260px;padding:10px;transition:border-color .2s,background .2s;display:flex}.kcol.over{border-color:var(--ink);background:var(--accent-soft)}.kcol h4{align-items:center;gap:8px;font-size:13px;display:flex}.kcard{background:var(--surface);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;gap:7px;padding:11px;display:flex}.kcard.drag{opacity:.35}.wa{color:#14281a;white-space:pre-wrap;background:#d9fdd3;border:1.5px solid #9bd5a0;border-radius:8px 8px 8px 0;padding:12px 14px;font-weight:500;line-height:1.5}:root[data-theme=dark] .wa{color:#e0f7e6;background:#0f3a2a;border-color:#1f6a4a}.shift{grid-template-columns:140px repeat(7,minmax(46px,1fr));align-items:center;gap:6px;min-width:620px;display:grid}.shift .cell{background:var(--bg2);height:32px;color:var(--muted);border-radius:4px;place-items:center;font-size:11px;font-weight:800;display:grid}.shift .cell.m{background:var(--accent);color:#16140f}.shift .cell.e{background:var(--blue-soft);color:var(--blue)}.shift .cell.n{background:var(--ink);color:var(--accent)}.risk{background:linear-gradient(90deg, var(--green), var(--gold), var(--red));border-radius:2px;height:10px;position:relative}.risk i{background:var(--ink);outline:1.5px solid var(--surface);border-radius:1px;width:5px;height:18px;position:absolute;top:-4px}.skeleton{background:linear-gradient(90deg, var(--bg2) 25%, var(--surface-2) 50%, var(--bg2) 75%);background-size:200% 100%;border-radius:4px;animation:1.2s infinite shimmer}.scene{border:2px solid var(--ink);background:linear-gradient(#f5ecc8,#d9cf9f);border-radius:6px;position:relative;overflow:hidden}.scene svg{width:100%;height:auto;display:block}.scene .box{border:2.5px solid var(--red);background:#d22f2f2e;border-radius:3px;animation:.4s both pop;position:absolute}.scene .box b{background:var(--red);color:#fff;white-space:nowrap;border-radius:2px;padding:1px 5px;font-size:10px;position:absolute;top:-20px;left:-2px}.gantt-wrap{border:2px solid var(--ink);background:var(--surface);border-radius:8px;max-width:100%;max-height:68vh;position:relative;overflow:auto}:root[data-theme=dark] .gantt-wrap{border-color:#3b392d}.gantt{min-width:max-content;position:relative}.g-head{z-index:6;background:var(--surface);border-bottom:3px solid var(--ink);display:flex;position:sticky;top:0}.g-corner{z-index:7;width:var(--lw);background:var(--ink);color:var(--accent);font-family:var(--head);letter-spacing:.06em;text-transform:uppercase;flex:none;align-items:center;padding:0 12px;font-size:13px;display:flex;position:sticky;left:0}.g-day{width:var(--dw);text-align:center;border-left:1px solid var(--line);background:var(--surface);flex:none;padding:4px 0;font-size:11px;font-weight:800;line-height:1.15}.g-day small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700;display:block}.g-day.we{background:var(--bg2)}.g-day.today{background:var(--accent);color:var(--accent-ink)}.g-day.today small{color:var(--accent-ink)}.g-body{position:relative}.g-cols{top:0;bottom:0;left:var(--lw);pointer-events:none;z-index:0;display:flex;position:absolute}.g-cols i{width:var(--dw);border-left:1px solid var(--line);flex:none}.g-cols i.we{background:color-mix(in srgb, var(--bg2) 70%, transparent)}.g-cols i.today{background:color-mix(in srgb, var(--accent) 22%, transparent);border-left:2px solid var(--accent);border-right:2px solid var(--accent)}.g-grp{width:calc(var(--lw) + var(--dw) * var(--nd));font-family:var(--head);letter-spacing:.06em;text-transform:uppercase;background:var(--bg2);border-top:2px solid var(--ink);border-bottom:1px solid var(--line);z-index:3;padding:4px 0;font-size:12px;display:block;position:relative}.g-grp .in{align-items:center;gap:8px;display:inline-flex;position:sticky;left:12px}.g-row{z-index:1;border-bottom:1px solid var(--line);height:38px;display:flex;position:relative}.g-name{z-index:4;width:var(--lw);background:var(--surface);border-right:3px solid var(--ink);cursor:pointer;flex-direction:column;flex:none;justify-content:center;padding:0 10px;line-height:1.15;display:flex;position:sticky;left:0;overflow:hidden}.g-name b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.g-name small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:600;overflow:hidden}.g-lane{width:calc(var(--dw) * var(--nd));cursor:crosshair;touch-action:pan-x pan-y;flex:none;position:relative}.g-bar{border:2px solid var(--ink);white-space:nowrap;cursor:grab;z-index:2;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y;color:#16140f;text-overflow:ellipsis;border-radius:4px;align-items:center;height:28px;padding:0 8px;font-size:11.5px;font-weight:800;display:flex;position:absolute;top:5px;overflow:hidden}.g-bar:active{cursor:grabbing}.g-bar.ghost{opacity:.8;z-index:5;box-shadow:0 8px 20px #0006}.g-bar .hd{cursor:ew-resize;background:#00000038;width:9px;position:absolute;top:0;bottom:0}.g-bar .hd.l{left:0}.g-bar .hd.r{right:0}.g-bar.s-quote{background:repeating-linear-gradient(-45deg,#fff 0 6px,#ffe58a 6px 12px);border-style:dashed}.g-bar.s-confirmed{background:#ffc800}.g-bar.s-out{background:#5fd18a}.g-bar.s-overdue{color:#fff;background:repeating-linear-gradient(-45deg,#ff7a6b 0 8px,#d22f2f 8px 16px)}.g-bar.s-returned{color:#433f33;background:#c9c4ae;border-color:#8f8a74}.g-bar.s-maint{cursor:default;background:repeating-linear-gradient(45deg,#9ec4f5 0 7px,#6f9fe0 7px 14px);border-color:#1f4f9a}:root[data-theme=dark] .g-bar{border-color:#000}:root[data-theme=dark] .g-bar.s-returned{color:#d6d0b8;background:#55513f}.g-sel{border:3px dashed var(--ink);background:color-mix(in srgb, var(--accent) 55%, transparent);z-index:4;pointer-events:none;border-radius:4px;align-items:center;height:32px;padding:0 8px;font-size:12px;font-weight:800;display:flex;position:absolute;top:3px}.g-sel.bad{background:color-mix(in srgb, var(--red) 55%, transparent);border-color:var(--red);color:#fff}.g-now{background:var(--red);z-index:3;pointer-events:none;width:3px;position:absolute;top:0;bottom:0}@keyframes pop{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes up{0%{transform:translateY(100%)}to{transform:none}}@keyframes slidein{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes floaty{50%{transform:translateY(-8px)}}@keyframes wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1.3)}}@keyframes drawerin{0%{transform:translate(-100%)}to{transform:none}}@keyframes tapeslide{to{background-position:40px 0}}.tape.live{background-size:40px 40px;animation:1.2s linear infinite tapeslide}.menu-btn{display:none}.sidebar.as-drawer{z-index:70;width:min(300px,86vw);height:100vh;box-shadow:var(--shadow-lg);background:var(--surface);animation:drawerin .35s var(--ease) both;border-right:4px solid var(--accent);display:flex;position:fixed;top:0;bottom:0;left:0}.app .sidebar.as-drawer .lbl{display:inline!important}.app .sidebar.as-drawer .cnt{display:inline-block!important}.app .sidebar.as-drawer .brand-txt,.app .sidebar.as-drawer .nav-sec{display:block!important}.app .sidebar.as-drawer .hide-collapsed{display:inline-flex!important}.app .sidebar.as-drawer .nav a{justify-content:flex-start!important}.scrim{z-index:69;background:#0a0a048c;animation:.25s both fade;position:fixed;inset:0}.as-drawer .side-foot button:last-child{display:none}.nav-sec-btn{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;transition:background .2s,color .2s;display:flex}.nav-sec-btn:hover{background:var(--bg2)}.nav-sec-btn .chev{transition:transform .3s var(--ease);flex:none}.nav-sec-btn[aria-expanded=false] .chev{transform:rotate(-90deg)}.nav a[data-shut]{display:none!important}.app.collapsed .sidebar:not(.as-drawer) .nav a[data-shut]{display:flex!important}.nav-tools{gap:6px;padding:2px 4px 8px;display:flex}.nav-tools button{border:2px solid var(--line);background:var(--surface);color:var(--muted);text-transform:uppercase;border-radius:4px;flex:1;padding:5px 8px;font-size:11px;font-weight:800}.nav-tools button:hover{color:var(--ink);border-color:var(--ink)}.app.collapsed .sidebar:not(.as-drawer) .nav-tools{display:none}.app .sidebar.as-drawer .nav-sec-btn{display:flex!important}@media (width<=1280px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1fr)}}@media (width<=1100px){.app,.app.collapsed{grid-template-columns:1fr}.sidebar:not(.as-drawer){display:none}.menu-btn{display:grid}.bottomnav{display:flex}.topbar,.content,.demo-banner{padding-left:20px;padding-right:20px}.content{padding-bottom:120px}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.login{grid-template-columns:1fr}.login-hero{display:none}.search{min-width:160px}}@media (width>=721px) and (width<=1100px){.bottomnav{width:min(620px,100% - 24px);left:50%;right:auto;transform:translate(-50%)}.toasts{bottom:96px}}@media (width<=720px){.hide-sm{display:none!important}.show-sm{display:initial}.content{gap:14px;padding:14px 12px 120px}.topbar{padding:8px 12px}.demo-banner{padding:6px 12px;font-size:11.5px}.g2,.g3,.g4{grid-template-columns:1fr 1fr;gap:10px}.page-head h1{font-size:24px}.search{flex:1;min-width:0}.kpi .val{font-size:26px}.login-form{padding:20px 14px 40px}.toasts{bottom:96px;left:12px;right:12px}.form-grid{grid-template-columns:1fr}.kanban{grid-template-columns:minmax(0,1fr)}.sheet{grid-template-columns:repeat(3,1fr)}.card{padding:14px}.roles{gap:5px}.modal{padding:16px}.tbl th,.tbl td{padding-left:7px;padding-right:7px}}@media (width<=480px){.g2,.g3,.g4{grid-template-columns:1fr}.g2.keep2,.g4.keep2{grid-template-columns:1fr 1fr}.kpi .val{font-size:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.kgrid{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:18px;display:grid}@media (width<=720px){.kgrid{gap:10px}}.g-ret{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:18px;display:grid}.g-ret>*{min-width:0}@media (width<=1100px){.g-ret{grid-template-columns:minmax(0,1fr)}}.photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (width<=480px){.photos{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero-card .btn:not(.primary){color:var(--ink)}.kpi .val{white-space:nowrap;font-size:clamp(22px,2.6vw,34px)}@media (width<=720px){.kpi .val{font-size:clamp(22px,7vw,30px)}}
