:root{--paper:#F2F4F6;--surface:#FFFFFF;--ink:#17212C;--muted:#5E6B78;--faint:#8A96A3;--line:#DCE1E6;--line2:#EBEEF1;--steel:#23507A;--steel-d:#1A3D5E;--steel-l:#E6EEF5;--on-steel:#FFFFFF;--side:#132230;--side-2:#1C3043;--side-ink:#C8D4DF;--side-line:#2B435A;--red:#B42318;--red-l:#FDECEA;--amber:#B54708;--amber-l:#FEF3E2;--green:#067647;--green-l:#E7F6EC;--band:#EEF2F5;--grand:#DDE8F2;--shadow:0 10px 34px rgba(15,30,45,.18);--card-shadow:0 1px 2px rgba(15,30,45,.07),0 1px 6px rgba(15,30,45,.05);--focus:0 0 0 3px var(--steel-l);--head:"Barlow Semi Condensed","Bahnschrift","DIN Alternate","Roboto Condensed","Arial Narrow",sans-serif;--body:"Segoe UI","Inter",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SFMono-Regular",Consolas,Menlo,monospace;--r-sm:6px;--r-md:8px;--r-lg:12px;--ctl-h:40px;--ctl-h-sm:32px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#0E151C;--surface:#162029;--ink:#E6ECF1;--muted:#9AA8B5;--faint:#6F7E8C;--line:#2A3947;--line2:#223039;--steel:#6FA3D6;--steel-d:#8DB8E3;--steel-l:#1B3248;--on-steel:#0E151C;--side:#0A1118;--side-2:#14212C;--side-ink:#AEBBC8;--side-line:#243543;--red:#F07A6C;--red-l:#3A1A16;--amber:#E3A948;--amber-l:#33270F;--green:#5CC98A;--green-l:#15301F;--band:#1B2630;--grand:#1F3A52;--shadow:0 10px 34px rgba(0,0,0,.5);--card-shadow:0 1px 2px rgba(0,0,0,.4),0 1px 6px rgba(0,0,0,.3);--focus:0 0 0 3px rgba(111,163,214,.28)}}:root[data-theme=dark]{color-scheme:dark;--paper:#0E151C;--surface:#162029;--ink:#E6ECF1;--muted:#9AA8B5;--faint:#6F7E8C;--line:#2A3947;--line2:#223039;--steel:#6FA3D6;--steel-d:#8DB8E3;--steel-l:#1B3248;--on-steel:#0E151C;--side:#0A1118;--side-2:#14212C;--side-ink:#AEBBC8;--side-line:#243543;--red:#F07A6C;--red-l:#3A1A16;--amber:#E3A948;--amber-l:#33270F;--green:#5CC98A;--green-l:#15301F;--band:#1B2630;--grand:#1F3A52;--shadow:0 10px 34px rgba(0,0,0,.5);--card-shadow:0 1px 2px rgba(0,0,0,.4),0 1px 6px rgba(0,0,0,.3);--focus:0 0 0 3px rgba(111,163,214,.28)}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}html,body{margin:0;min-height:100%}body{margin:0;padding:0;background:var(--paper);color:var(--ink);font:14px/1.5 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--steel);color:var(--on-steel)}h1,h2,h3{font-family:var(--head);font-weight:600;margin:0;letter-spacing:.01em;text-wrap:balance}h1{font-size:clamp(20px,2.6vw,24px)}h2{font-size:18px}h3{font-size:15px}:focus-visible{outline:2px solid var(--steel);outline-offset:2px;border-radius:4px}.hidden{display:none!important}.full{grid-column:1/-1}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.faint{color:var(--faint)}small{font-size:11.5px}#root{min-height:100vh;display:flex;flex-direction:column}.f{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);font-weight:600;min-width:0}.i{width:100%;min-height:var(--ctl-h);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:8px 12px;font-weight:400;font-size:14px;min-width:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.i::placeholder{color:var(--faint)}.i:hover{border-color:var(--faint)}.i:focus{outline:none;border-color:var(--steel);box-shadow:var(--focus);background:var(--surface)}.i:focus-visible{outline:none;border-color:var(--steel);box-shadow:var(--focus)}.i:disabled{background:var(--band);color:var(--muted);border-style:dashed;cursor:not-allowed}textarea.i{min-height:72px;resize:vertical}select.i{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238A96A3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;padding-right:34px}.ac{accent-color:var(--steel);width:17px;height:17px;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:8px 14px;min-height:var(--ctl-h);cursor:pointer;font-weight:600;font-size:13px;line-height:1.2;box-shadow:var(--card-shadow);transition:transform .12s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,opacity .16s ease}.btn:hover{border-color:var(--steel);color:var(--steel);transform:translateY(-1px);box-shadow:0 4px 14px #0f1e2d24}.btn:active{transform:translateY(0) scale(.97);box-shadow:none}.btn.pri{background:var(--steel);border-color:var(--steel);color:var(--on-steel);box-shadow:0 3px 12px #23507a52}.btn.pri:hover{background:var(--steel-d);border-color:var(--steel-d);color:var(--on-steel);box-shadow:0 6px 18px #23507a61}.btn.danger{color:var(--red);border-color:var(--red)}.btn.danger:hover{background:var(--red-l);color:var(--red);border-color:var(--red)}.btn.sm{min-height:var(--ctl-h-sm);padding:4px 11px;font-size:12px;border-radius:var(--r-sm)}.btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}.err{color:var(--red);font-size:13px;min-height:18px}.hint{font-size:12px;color:var(--muted)}#app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;flex:1}aside{background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;overscroll-behavior:contain}.brand{padding:20px 20px 16px;border-bottom:1px solid var(--side-line)}.brand b{display:block;font:600 19px/1.15 var(--head);color:#fff;letter-spacing:.01em}.brand small{color:#8397aa;font-size:11px;letter-spacing:.06em;text-transform:uppercase}nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px;flex:1}.ng{font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#6f8499;padding:14px 10px 5px}nav button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r-sm);cursor:pointer;color:var(--side-ink);font-size:13.5px;min-height:38px;transition:background .15s ease,color .15s ease,transform .12s ease}nav button:hover{background:var(--side-2);color:#fff}nav button:active{transform:scale(.98)}nav button:focus-visible{outline:2px solid #8DB8E3}nav button[aria-current=page]{background:var(--steel);color:var(--on-steel);font-weight:600}nav .ct{font:11px var(--mono);opacity:.75;background:#ffffff0f;border-radius:999px;padding:1px 8px}.side-foot{padding:16px 20px;border-top:1px solid var(--side-line);font-size:12.5px}.side-foot .btns{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.side-foot .btn{background:transparent;color:var(--side-ink);border-color:var(--side-line);box-shadow:none;min-height:var(--ctl-h-sm)}.side-foot .btn:hover{background:var(--side-2);color:#fff;border-color:var(--side-line)}main{padding:26px clamp(16px,3.2vw,40px) 56px;min-width:0}.topbar{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line2)}.topbar .sub{color:var(--muted);font-size:13px}.sync{margin-left:auto;font:12px var(--mono);color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px}.toolbar .f{min-width:130px}.toolbar .grow{flex:1 1 220px}.toolbar .sp{flex:1}.sumstrip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.chip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 16px;min-width:130px;box-shadow:var(--card-shadow)}.chip span{display:block;font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.chip b{font:600 22px/1.1 var(--head);font-variant-numeric:tabular-nums}.chip.big b{font-size:28px;color:var(--steel)}.sumstrip .chip.bad b{color:var(--red)}.xkpis{display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:14px;overflow:hidden;box-shadow:var(--card-shadow)}.xkpi{padding:13px 18px;border-right:1px solid var(--line);min-width:0}.xkpi:last-child{border-right:0}.xkpi span{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.xkpi b{display:block;font:600 clamp(19px,2.2vw,24px)/1.15 var(--head);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xkpi small{font-size:12px;color:var(--muted)}.xgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.xcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;min-width:0;box-shadow:var(--card-shadow);transition:transform .15s ease,box-shadow .15s ease}.xcard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.xcard .xch{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line2)}.xcard .xch h3{margin:0;font:600 16px var(--head)}.xcard .xch span{font-size:12px;color:var(--muted)}.tbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto;overflow-y:visible;box-shadow:var(--card-shadow)}.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin:10px 0;font-size:13px;color:var(--muted)}.pager .btn[disabled]{opacity:.4;cursor:default}table.t{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}table.t th{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--band);white-space:nowrap;position:sticky;top:0;z-index:3;box-shadow:0 1px 0 var(--line)}table.t td{padding:9px 12px;border-bottom:1px solid var(--line2);vertical-align:top}table.t tbody tr:last-child td{border-bottom:0}table.t td.n,table.t th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.n small{display:block;color:var(--muted);font-size:10.5px}td.neg{color:var(--red)}tr.row{cursor:pointer;transition:background .12s ease}tr.row:hover td,tr.row:focus-visible td{background:var(--steel-l)}tr.row:focus-visible{outline:none}tr.row:focus-visible{box-shadow:inset 0 0 0 2px var(--steel)}tr.band td{background:var(--band);font:600 13px var(--head);letter-spacing:.04em;text-transform:uppercase;color:var(--steel);padding:7px 10px;border-bottom:1px solid var(--line)}tr.band td span{font:11px var(--mono);color:var(--muted);text-transform:none;letter-spacing:0;margin-left:8px}tr.sub td{background:var(--steel-l);font-weight:600;border-bottom:1px solid var(--line)}tr.grand td{background:var(--grand);font:600 14px var(--head);border-bottom:0}td.rem{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}td.wrap{max-width:300px}.pill{display:inline-flex;align-items:center;gap:6px;font:600 11.5px var(--body);padding:3px 10px;border-radius:999px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.g{color:var(--green);background:var(--green-l)}.pill.a{color:var(--amber);background:var(--amber-l)}.pill.r{color:var(--red);background:var(--red-l)}.pill.x{color:var(--muted);background:var(--band)}.tag{font:600 11px var(--mono);padding:2px 7px;border-radius:4px;background:var(--band);color:var(--muted);white-space:nowrap}.tag.in{background:var(--green-l);color:var(--green)}.tag.out{background:var(--amber-l);color:var(--amber)}.empty{padding:44px 16px;text-align:center;color:var(--muted)}.empty b{display:block;color:var(--ink);font:600 19px var(--head);margin-bottom:6px}.empty .acts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}.defbox{background:var(--steel-l);border-left:3px solid var(--steel);border-radius:var(--r-sm);padding:12px 16px;margin-bottom:14px;font-size:13.5px;line-height:1.55}.defbox b{font-weight:700}.note{font-size:12.5px;color:var(--muted);margin-top:12px}.warn{background:var(--amber-l);color:var(--amber);border-radius:var(--r-sm);padding:10px 14px;font-size:13px;margin-top:10px}.ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a121a94;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:max(18px,env(safe-area-inset-top,0px)) 18px 18px;overflow-y:auto;overscroll-behavior:contain;z-index:50}.modal{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:760px;box-shadow:var(--shadow);margin:auto 0;animation:modal-in .18s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.modal header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.modal h2{font-size:18px}.modal .body{padding:18px 20px;display:grid;gap:16px}.modal .x{all:unset;cursor:pointer;font-size:24px;line-height:1;padding:2px 10px;color:var(--muted);border-radius:var(--r-sm);transition:color .15s ease,background .15s ease}.modal .x:hover{color:var(--ink);background:var(--band)}.modal footer{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px;border-top:1px solid var(--line);align-items:center}.modal footer .sp{flex:1}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kv div>span:first-child{display:block;font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}.addrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.addrow .i{flex:1 1 150px;width:auto}.rs{border:1px solid var(--line);border-radius:var(--r-sm);padding:12px;background:var(--paper)}.rs .meta{font:600 11.5px var(--mono);color:var(--muted);margin-bottom:6px}.shots{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.shots img{height:84px;max-width:140px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);cursor:zoom-in;background:var(--band);transition:transform .15s ease}.shots img:hover{transform:scale(1.05)}.lock{font:600 12px var(--mono);color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-sm);padding:10px 12px}.light{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:90;padding:18px;animation:modal-in .18s ease}.light img{max-width:100%;max-height:100%;border-radius:var(--r-sm);box-shadow:0 20px 60px #0009}.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:var(--r-md);font-size:13px;z-index:80;max-width:calc(100vw - 32px);box-shadow:var(--shadow);animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;align-items:start}.lbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--card-shadow)}.lbox h3{font-family:var(--head);font-size:16px;margin:0 0 2px}.lbox .lsub{color:var(--faint);font-size:12px;margin-bottom:12px}.lbox .addrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.lbox .addrow .i{flex:1 1 160px;width:auto}.lbox td.act{white-space:nowrap;text-align:right}.lbox .btn.danger{color:var(--red);border-color:var(--red)}.tbox table.t.tight{min-width:0}.tbox table.t.tight td,.tbox table.t.tight th{padding:7px 9px}@media(max-width:1100px){#app{grid-template-columns:224px minmax(0,1fr)}.xkpis{grid-template-columns:repeat(3,1fr)}.xkpi:nth-child(3n){border-right:0}.xkpi{border-bottom:1px solid var(--line)}}@media(max-width:900px){.xgrid{grid-template-columns:1fr}.xkpis{grid-template-columns:repeat(2,1fr)}.xkpi{border-right:0;border-bottom:1px solid var(--line)}.xkpi:nth-child(2n){border-right:0}}@media(max-width:860px){#app{grid-template-columns:1fr}aside{position:static;height:auto;max-height:none;flex-direction:column;overflow:visible}.brand{padding:14px 16px 12px;display:flex;flex-direction:column;gap:2px}nav{flex-direction:row;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 10px;flex:none;gap:6px}.ng{display:none}nav button{white-space:nowrap;min-height:34px;padding:7px 12px}.side-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 16px;border-top:1px solid var(--side-line)}.side-foot .btns{margin-top:0}main{padding:16px 12px 40px}.topbar{padding-bottom:12px;margin-bottom:14px}.sync{display:none}}@media(max-width:560px){:root{--ctl-h:44px}h1{font-size:20px}.toolbar{gap:8px}.toolbar .f{flex:1 1 46%;min-width:130px}.toolbar .f[style*="flex: 1"]{flex:1 1 100%!important}.toolbar .sp{display:none}.toolbar .btn{flex:1 1 auto}.xkpis{grid-template-columns:repeat(2,1fr)}.xkpi{padding:12px}.xkpi b{font-size:19px}.chip{min-width:calc(50% - 10px);flex:1 1 calc(50% - 10px)}.tbox{border-radius:var(--r-sm)}table.t{min-width:620px}.tbox table.t.tight{min-width:0}.modal{border-radius:0;width:100%;max-height:100dvh}.ov{padding:0;align-items:stretch}.modal header{padding:14px 16px;position:sticky;top:0;background:var(--surface);z-index:2;border-radius:0}.modal .body{padding:14px 16px}.modal footer{padding:12px 16px;position:sticky;bottom:0;background:var(--surface);z-index:2}.modal footer .btn{flex:1 1 auto}.lgrid{grid-template-columns:minmax(0,1fr)}.grid2{grid-template-columns:1fr}.login-form{padding:20px 14px}}#login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.login-art{background:var(--side);color:#fff;padding:48px clamp(24px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between;gap:32px;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(111,163,214,.18),transparent 70%)}.login-art h1{font-size:clamp(28px,4.2vw,42px);color:#fff;margin-top:16px;line-height:1.08;position:relative}.login-art p{color:#a9b9c9;max-width:44ch;margin:16px 0 0;line-height:1.6;position:relative}.login-art .eb{color:#8397aa;font-size:12px;letter-spacing:.14em;text-transform:uppercase;position:relative}.codes{display:flex;flex-wrap:wrap;gap:8px;position:relative}.codes span{font:600 12px var(--mono);letter-spacing:.08em;border:1px solid #2B435A;color:#c8d4df;padding:5px 11px;border-radius:6px}.login-form{display:flex;align-items:center;justify-content:center;padding:36px 18px;background:var(--paper)}.login-form form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;box-shadow:var(--shadow)}@media(max-width:760px){#login{grid-template-columns:1fr}.login-art{padding:32px 20px 24px;gap:20px}.login-art h1{font-size:28px}.codes{display:none}.login-form{background:transparent;padding:0 16px 32px}.login-form form{border:0;box-shadow:none;background:transparent;padding:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
