:root{--blue:#1f3864;--blue2:#2e5090;--bg:#f4f6f9;--card:#fff;--line:#e2e6ec;
--alert:#c0392b;--ok:#1e7e34;--muted:#6b7280;--chip:#eef2f8}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#1c2430;
font-size:15px;line-height:1.45}
a{color:var(--blue2)}
button{font-family:inherit;cursor:pointer;border:0;border-radius:7px;
padding:8px 13px;font-size:14px;background:var(--blue);color:#fff}
button.sec{background:#e7ebf2;color:#1c2430}
button.ghost{background:transparent;color:var(--blue2);padding:6px 8px}
button.warn{background:var(--alert)} button.good{background:var(--ok)}
button:disabled{opacity:.5;cursor:not-allowed}
input,select,textarea{font-family:inherit;font-size:14px;padding:9px;
border:1px solid var(--line);border-radius:7px;width:100%;background:#fff}
header{position:sticky;top:0;background:var(--blue);color:#fff;z-index:20}
.bar{display:flex;align-items:center;gap:12px;padding:10px 14px;
max-width:1100px;margin:0 auto}
.bar b{font-size:16px}.bar .sp{flex:1}
.statusline{background:var(--blue2);color:#dde6f5;font-size:12.5px;
padding:5px 14px;text-align:center}
nav{display:flex;gap:4px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--line);
position:sticky;top:48px;z-index:19}
nav button{background:transparent;color:#41506a;border-radius:0;border-bottom:3px solid transparent;
white-space:nowrap}
nav button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:bold}
main{max-width:1100px;margin:0 auto;padding:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;
padding:14px;margin-bottom:12px}
.card.alert{border-left:5px solid var(--alert)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row.tight{gap:6px}
.grow{flex:1;min-width:120px}
.chip{background:var(--chip);color:#3a4a66;border-radius:999px;
padding:3px 10px;font-size:12px;white-space:nowrap}
.chip.alert{background:#fdecea;color:var(--alert);font-weight:bold}
.chip.claim{background:#e8f5e9;color:var(--ok)}
.chip.skip{background:#eee;color:#777}
h2{font-size:17px;margin-bottom:4px}
.muted{color:var(--muted);font-size:13px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.toolbar>*{flex:0 1 auto}
table{width:100%;border-collapse:collapse;background:#fff;font-size:13.5px}
th,td{text-align:left;padding:8px 9px;border-bottom:1px solid var(--line);
vertical-align:top}
th{background:#f0f3f8;position:sticky;top:0}
.tablewrap{overflow:auto;max-height:65vh;border:1px solid var(--line);border-radius:10px}
pre.brief{white-space:pre-wrap;background:#fbfcfe;border:1px solid var(--line);
border-radius:8px;padding:12px;font-size:13px;font-family:inherit}
.chat{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow:auto;
padding:6px 2px}
.msg{background:#f1f4f9;border-radius:8px;padding:8px 10px;font-size:13.5px}
.msg b{color:var(--blue2)} .msg .t{color:var(--muted);font-size:11px;float:right}
.dlg{position:fixed;inset:0;background:rgba(15,23,42,.5);display:flex;
align-items:flex-start;justify-content:center;padding:18px;overflow:auto;z-index:50}
.dlg .box{background:#fff;border-radius:12px;max-width:760px;width:100%;padding:18px}
.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login{background:#fff;border-radius:14px;padding:26px;max-width:360px;width:100%;
box-shadow:0 10px 40px rgba(31,56,100,.18)}
.login h1{font-size:19px;color:var(--blue);margin-bottom:4px}
.login input{margin-top:10px}.login button{margin-top:14px;width:100%}
.err{background:#fdecea;color:var(--alert);padding:9px;border-radius:7px;
font-size:13px;margin-top:10px}
.ok{background:#e8f5e9;color:var(--ok);padding:9px;border-radius:7px;font-size:13px}
.grid2{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:640px){.grid2{grid-template-columns:1fr 1fr}}
@media(min-width:640px){nav{top:48px}}
.drop{border:2px dashed var(--blue2);border-radius:10px;padding:18px;text-align:center;
background:#f7f9fc;color:#41506a}
