:root{--bg:#0E1A21;--card:#16252e;--line:#283a44;--ink:#EBF1F2;--muted:#9fb2bb;--lime:#c8f24b;--warn:#E0B43B;--bad:#FF6A4D;--ok:#7BD389}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}
.top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.brand{font-weight:800;color:var(--lime);text-decoration:none;font-size:18px;flex:0 0 auto}
.who{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.topbar-right{display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 auto}
.logout{color:var(--lime);text-decoration:none;font-size:13px;font-weight:700;border:1px solid var(--line);border-radius:20px;padding:5px 12px;white-space:nowrap;flex:0 0 auto}
@media (max-width:520px){ .who{display:none} }
.wrap{max-width:640px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:24px;margin-bottom:6px}.sub{color:var(--muted);margin-bottom:18px;font-size:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-top:14px}
label{display:block;font-size:14px;color:var(--muted);margin:10px 0 4px}
input{width:100%;background:#0E1A21;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:16px;padding:12px}
input[type=file]{padding:9px}
.btn{display:inline-block;background:var(--lime);color:#11210a;border:none;border-radius:40px;font-weight:800;font-size:16px;padding:14px 22px;margin-top:16px;cursor:pointer;text-decoration:none}
.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line);margin-left:8px}
.meter{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.meter:first-child{border-top:none}
.meter h3{font-size:16px}.meter .prev{color:var(--muted);font-size:13px}
.err{background:rgba(255,106,77,.12);border:1px solid var(--bad);color:#ffb9a8;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}
.verdict{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px}
.tag{font-weight:700;font-size:12px;padding:3px 9px;border-radius:20px}
.tag.ok{background:rgba(123,211,137,.16);color:var(--ok)} .tag.warn{background:rgba(224,180,59,.16);color:var(--warn)} .tag.pending{background:#283a44;color:var(--muted)}
.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
th{color:var(--muted);font-weight:600}
a.thumb{color:var(--lime)}
.bd{width:100%;border-collapse:collapse;margin-top:6px}.bd td{padding:8px 6px;border-bottom:1px solid var(--line)}
.bd .amt{text-align:right;font-weight:700;white-space:nowrap}
.bd .tot td{border-top:2px solid var(--line);border-bottom:none;font-weight:800;color:var(--lime);font-size:16px}
.muted{color:var(--muted);font-size:12.5px}.btn.small{padding:9px 14px;font-size:14px;margin-top:0}
form.inline{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}form.inline input{flex:1;min-width:120px}
h3{font-size:16px;margin:4px 0 6px}
label.chk{display:flex;align-items:center;gap:8px;color:var(--ink);margin:10px 0 4px}
label.chk input{width:auto}
select{width:100%;background:#0E1A21;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:16px;padding:12px}
.hist{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px}
.histm{font-weight:800;font-size:15px;margin-bottom:8px}
.histrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.histrow:first-of-type{border-top:none}
.hl{font-size:13.5px;color:var(--ink);min-width:0}.hl b{color:var(--lime)}
.hs{color:var(--muted);font-size:12px;margin-left:4px}
.pill{font-weight:700;font-size:12.5px;padding:6px 12px;border-radius:20px;white-space:nowrap;flex:0 0 auto}
.pill.green{background:rgba(123,211,137,.16);color:var(--ok)}
.pill.red{background:rgba(255,106,77,.14);color:#ffb9a8}
.pill.muted{background:#283a44;color:var(--muted)}
.plink{text-decoration:none}
.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:14px}
.kv:first-of-type{border-top:none}.kv span{color:var(--muted)}
.rd{border-top:1px solid var(--line);padding:10px 0}.rd:first-child{border-top:none}
.rd-h{font-weight:700;font-size:15px;margin-bottom:3px}.rd-h b{color:var(--lime)}
.thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.thumb-img{width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--line);cursor:pointer}
.lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:50;align-items:center;justify-content:center;padding:20px}
.lb img{max-width:100%;max-height:100%;border-radius:8px}
