:root{--bg:#0f1419;--panel:#1a2029;--ink:#e6edf3;--mut:#8b97a6;--a:#4aa3ff;--b:#ff7a59;--line:#2a323d;--warn:#ff5d6c;--ok:#3fb950;--sel:#1d3a57}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:14px/1.45 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}header{padding:14px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.userbox{display:flex;gap:10px;align-items:center}.userbox .hint{margin:0}.login{display:flex;justify-content:center;padding:80px 20px}.login .panel{width:340px}.userform{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.userform input,.userform select{width:auto;flex:1 1 140px}.userform button{flex:0 0 auto}.chip{font-size:10.5px;padding:1px 7px;border-radius:10px;font-weight:600}.chip.pending{background:#ffc40026;color:#ffc400}.chip.allocated{background:#3fb95026;color:var(--ok)}.chip.rejected{background:#ff5d6c26;color:var(--warn)}.qflow{display:flex;flex-wrap:wrap;gap:8px}.qflow .qitem{flex:0 1 260px;margin-bottom:0}.qitem{border:1px solid var(--line);border-radius:8px;padding:9px 11px;margin-bottom:8px;cursor:pointer}.qitem:hover{border-color:#3a4756}.qitem.sel{border-color:var(--a);background:var(--sel)}#myTable a,#recent a{color:var(--a)}h1{margin:0;font-size:17px}.sub{color:var(--mut);font-size:12.5px}.wrap{display:grid;grid-template-columns:300px 460px 1fr;gap:16px;padding:16px 22px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}.panel h2{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}label{display:block;font-size:12px;color:var(--mut);margin:10px 0 3px}select,input{width:100%;padding:7px 8px;background:#0f1419;color:var(--ink);border:1px solid var(--line);border-radius:6px;font:inherit}button{margin-top:14px;width:100%;padding:9px;background:var(--a);color:#08233f;border:0;border-radius:7px;font-weight:600;font-size:14px;cursor:pointer}button:hover{filter:brightness(1.08)}svg{width:100%;height:auto;display:block}.zlabel{font-size:9px;fill:var(--mut);pointer-events:none}.legend{display:flex;gap:14px;margin-top:8px;font-size:12px;color:var(--mut);flex-wrap:wrap}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}.tag{font-size:10px;padding:1px 6px;border-radius:10px}.tag.A{background:#4aa3ff2e;color:var(--a)}.tag.B{background:#ff7a592e;color:var(--b)}.card{border:1px solid var(--line);border-radius:9px;padding:11px 12px;margin-bottom:11px;cursor:pointer}.card:hover{border-color:#3a4756}.card.sel{border-color:var(--a);background:var(--sel)}.card h3{margin:0 0 2px;font-size:14px}.card .why{color:var(--mut);font-size:12px;margin-bottom:8px}.metrics{display:flex;gap:14px;flex-wrap:wrap;font-size:12px}.metrics b{font-variant-numeric:tabular-nums}.metrics span{color:var(--mut)}.short{color:var(--warn);font-weight:600}.breakdown{margin-top:8px;font-size:12px;color:var(--mut)}.hint{color:var(--mut);font-size:12px;margin:0 0 8px}.empty{color:var(--mut);font-size:13px;padding:20px 4px}.scenariobar{display:flex;gap:10px;align-items:center;padding:10px 22px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.scenariobar .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.scenariobar select{width:auto;min-width:220px}.scenariobar .hint{margin:0}button.mini{width:auto;margin:0;padding:6px 12px;font-size:12.5px}button.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}button:disabled{opacity:.4;cursor:default}.card button.commit{margin-top:10px;background:var(--a)}.wide{grid-column:1 / -1}table.ledger{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.ledger th,.ledger td{padding:4px 8px;text-align:right;border-bottom:1px solid var(--line)}.ledger th{color:var(--mut);font-weight:600}.ledger th:first-child,.ledger td:first-child{text-align:left}.ledger .barcell{width:30%;text-align:left}.ratebar{height:7px;background:var(--a);border-radius:3px;min-width:1px}
