:root{--navy:#1A3A5C;--navy-d:#122840;--gold:#F5A623;--blue:#2B7BD1;--bg:#F5F7FA;--card:#fff;--text:#1C1C1C;--muted:#6B7280;--border:#E2E8F0;--green:#4A9B4A;--red:#B83232}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
header{background:var(--navy);color:#fff;padding:0 20px;display:flex;align-items:center;gap:18px;height:52px}
header .brand{font-weight:700;font-size:16px;display:flex;align-items:center;gap:8px;color:#fff}header .brand span{color:var(--gold)}
header nav a{color:#cfd9e6;margin-right:14px}header nav a.active,header nav a:hover{color:#fff;text-decoration:none}
header .spacer{flex:1}header .user{color:#cfd9e6;font-size:13px}header .user a{color:#fff;margin-left:10px}
main{max-width:1200px;margin:0 auto;padding:20px}
h1{font-size:20px;margin:0 0 14px}h2{font-size:15px;margin:18px 0 8px;color:var(--navy)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.tile{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 14px}
.tile .n{font-size:26px;font-weight:700;color:var(--navy)}.tile .l{color:var(--muted);font-size:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:800px){.grid2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 14px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600}
tr:hover td{background:#fafbfd}
.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;background:#eef2f7;color:var(--navy)}
.badge.gold{background:#fff3dc;color:#8a5a00}.badge.green{background:#e8f5e8;color:#2d6a2d}.badge.red{background:#fdecec;color:#8a1f1f}.badge.blue{background:#e7f0fb;color:#1d4f8a}.badge.gray{background:#eee;color:#555}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.dot.g{background:var(--green)}.dot.y{background:var(--gold)}.dot.r{background:var(--red)}.dot.x{background:#bbb}
form.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
input,select{padding:7px 9px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:#fff}
button,.btn{background:var(--navy);color:#fff;border:0;border-radius:6px;padding:8px 14px;font-size:14px;cursor:pointer}button.sm{padding:4px 9px;font-size:12px}button.danger{background:var(--red)}button.ghost{background:#eef2f7;color:var(--navy)}
.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:120px 110px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.timeline .t{color:var(--muted);font-size:12px}.timeline .c{font-weight:600;color:var(--navy);font-size:12px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px}.kv div:nth-child(odd){color:var(--muted);font-size:12px}
.login{max-width:380px;margin:80px auto}.login .card{padding:24px}.login h1{display:flex;align-items:center;gap:10px}.login input{width:100%;margin:6px 0 12px}.login button{width:100%}
.msg{background:#fff3dc;border:1px solid #f0d9a6;padding:8px 12px;border-radius:6px;margin-bottom:12px}
.pager{display:flex;gap:10px;align-items:center;margin-top:12px}
.logo{width:26px;height:26px;border-radius:6px;background:var(--navy);display:inline-flex;align-items:center;justify-content:center;color:var(--gold);font-weight:800;font-size:16px}

/* ---- dark theme (default) ---- */
:root{--navy:#1A3A5C;--navy-d:#122840;--gold:#F5A623;--blue:#5BA0E8;--bg:#0F1826;--card:#172336;--text:#E6EBF2;--muted:#8A98AC;--border:#263650;--green:#5FBF5F;--red:#E06464;--hover:#1C2A40}
header{background:var(--navy-d);border-bottom:1px solid var(--border)}
tr:hover td{background:var(--hover)}
input,select{background:#0F1826;color:var(--text);border-color:var(--border)}
.badge{background:#243550;color:#CFE0F5}.badge.gold{background:#4a3410;color:#F5C96B}.badge.green{background:#17391f;color:#8fe39a}.badge.red{background:#4a1c1c;color:#f0a0a0}.badge.blue{background:#1a3350;color:#9cc7f5}.badge.gray{background:#2a3545;color:#aab5c5}
.msg{background:#3a2d12;border-color:#5a4720;color:#F5C96B}
button.ghost{background:#243550;color:#CFE0F5}
.tile .n,h2,.timeline .c{color:#CFE0F5}
.logo{background:#243550}
