:root{--green:#45AB68;--green-d:#2f8a4f;--orange:#F28D2C;--ink:#243027;--mut:#7a857d;--line:#e4e9e5;--bg:#f4f7f4;--card:#fff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.top{background:#fff;border-bottom:3px solid var(--green);padding:12px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.top .brand{font-size:17px;font-weight:800;color:var(--green-d)}.top .brand span{display:block;font-size:11px;color:var(--mut);font-weight:500}.top .who{margin-left:auto;font-size:12px;color:var(--mut)}.top .who b{color:var(--ink)}.linkbtn{background:none;border:none;color:var(--orange);font-weight:700;cursor:pointer;font-size:12px;margin-left:10px}.homebtn{background:var(--green);color:#fff;text-decoration:none;font-weight:700;font-size:12px;padding:7px 11px;border-radius:9px}.homebtn:hover{background:var(--green-d)}.navsel{font:inherit;font-weight:600;font-size:12px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer}.tabs{display:flex;gap:6px;padding:12px 18px 0;flex-wrap:wrap}.tab{border:none;background:#e7ede8;color:var(--mut);font-weight:600;font-size:13px;padding:10px 15px;border-radius:10px 10px 0 0;cursor:pointer}.tab.on{background:var(--green);color:#fff}.wrap{padding:18px;max-width:1100px;margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;max-width:430px;margin:0 auto 16px}.card.wide{max-width:100%}label{font-size:12px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;display:block;margin:12px 0 5px}.fld{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:13px 12px;font-size:15px;color:var(--ink)}.fld:focus{outline:none;border-color:var(--green)}.rel{position:relative}.unit{position:absolute;right:14px;top:38px;color:var(--green);font-weight:800;font-size:14px}.seg{display:flex;gap:8px;margin-top:6px}.seg button{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:12px;font-weight:700;font-size:14px;color:var(--mut);cursor:pointer}.seg button.out{background:var(--orange);border-color:var(--orange);color:#fff}.seg button.inb{background:var(--green);border-color:var(--green);color:#fff}.submit{width:100%;margin-top:18px;background:var(--green);color:#fff;border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:800;cursor:pointer}.submit.orange{background:var(--orange)}.submit:disabled{opacity:.5;cursor:not-allowed}.msg{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600}.msg.ok{background:#e9f5ee;color:var(--green-d)}.msg.err{background:#fdf2f2;color:#b03a3a}.recent{margin-top:16px}.ritem{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.ritem .p{font-weight:600}.ritem small{color:var(--mut);display:block;font-weight:400}.pill{font-weight:800;font-size:13px;padding:3px 9px;border-radius:8px}.pill.out{background:#fff0e3;color:var(--orange)}.pill.in{background:#e9f5ee;color:var(--green-d)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}.kpi .n{font-size:22px;font-weight:800;color:var(--green-d)}.kpi .n.warn{color:#c0392b}.kpi .l{font-size:12px;color:var(--mut);font-weight:600;margin-top:2px}.kpi .u{font-size:11px;color:var(--orange);font-weight:700;text-transform:uppercase}.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:18px}.panel h3{font-size:14px;padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.btn{margin-left:auto;background:var(--green);color:#fff;border:none;border-radius:9px;padding:8px 14px;font-weight:700;font-size:12px;cursor:pointer}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:#f6faf7;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:10px 14px;border-bottom:1px solid var(--line)}td{padding:10px 14px;border-bottom:1px solid #f0f3f1}td.r,th.r{text-align:right}.dir{font-weight:800}.dir.out{color:var(--orange)}.dir.in{color:var(--green-d)}.warn{color:#c0392b;font-weight:700}.filters{display:flex;gap:10px;padding:12px 16px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.filters select{flex:1;min-width:140px}.center{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:18px}.hint{font-size:12px;color:var(--mut);margin-top:10px;line-height:1.5}.num{font-variant-numeric:tabular-nums}.mut{color:var(--mut)}.inq{color:var(--green-d)}.outq{color:var(--orange)}.hdr-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.hdr-actions .btn{margin-left:0}.btn.ghost{background:#fff;color:var(--green-d);border:1.5px solid var(--line)}.btn.ghost:hover{border-color:var(--green)}.btn.sm{padding:5px 10px;font-size:11px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,.linkbtn:focus-visible,.chip:focus-visible{outline:3px solid var(--green);outline-offset:2px}.tblwrap{overflow-x:auto}.filters .fgrp{display:flex;flex-direction:column;gap:4px;min-width:150px}.filters .fgrp>label{margin:0}.filters .fgrp .fld{padding:9px 11px;font-size:14px}.filters .tick{display:flex;align-items:center;gap:6px;margin:0;padding-bottom:9px;text-transform:none;letter-spacing:0;font-weight:600;font-size:12.5px;color:var(--ink)}.asatbar{padding:12px 16px;border-bottom:1px solid var(--line)}.asat{background:#f6faf7;border:1.5px solid var(--green);border-radius:12px;padding:10px 12px;display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.asat .fgrp{display:flex;flex-direction:column;gap:4px}.asat .lbl{font-size:12px;font-weight:700;color:var(--green-d);text-transform:uppercase;letter-spacing:.4px}.asat .fld{padding:9px 11px;font-size:14px}.asat-echo{font-size:12.5px;font-weight:700;color:var(--green-d);padding-bottom:9px}.histnote{background:#fff8ec;border-top:1px solid #f3e0c2;border-bottom:1px solid #f3e0c2;padding:9px 16px;font-size:12.5px;color:#8a5c12;font-weight:600}.alertrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.chip{border:1.5px solid;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer;display:flex;gap:9px;align-items:center;background:#fff;font-family:inherit;text-align:left}.chip .n{font-size:19px;font-weight:800}.chip.bad{border-color:#e9c3c3;background:#fdf2f2;color:#b03a3a}.chip.low{border-color:#efdcb8;background:#fdf5e8;color:#a8701a}.chip.on{box-shadow:0 0 0 3px #45ab6847}.tag{font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:6px;margin-left:7px;white-space:nowrap;display:inline-block}.tag.neg{background:#fdf2f2;color:#b03a3a}.tag.low{background:#fdf5e8;color:#a8701a}.tag.off{background:#eceeec;color:var(--mut)}.rowlink{cursor:pointer}.rowlink:hover td{background:#f6faf7}.foot{padding:11px 16px;font-size:12px;color:var(--mut);display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);background:#fbfdfb}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#24302773;display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}.sheet{background:#fff;border-radius:16px;max-width:760px;width:100%;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.sheet.narrow{max-width:460px}.sheet h4{font-size:15px;padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.sheetbody{overflow:auto}.sheet .pad{padding:16px 18px}.sheet .pad label:first-child{margin-top:0}.sheet .acts{padding:13px 18px;border-top:1px solid var(--line);display:flex;gap:9px;justify-content:flex-end;background:#fbfdfb}.sheet .fld.wide{width:100%}.sheet tr.after td{opacity:.4}.fixwhat{font-size:13.5px;line-height:1.6;background:#f6faf7;border:1px solid var(--line);border-radius:10px;padding:11px 13px}@media (max-width:620px){.stocktbl .c-mat,.stocktbl .c-in,.stocktbl .c-out{display:none}.stocktbl th,.stocktbl td{padding:10px}.asat,.asat .fgrp,.asat .fld{width:100%}.asat-echo{padding-bottom:0}.filters .fgrp{min-width:0;width:100%}.sheet{max-height:94vh}}
