:root { --bg:#07090f; --card:#101621; --muted:#8fa3c0; --text:#eaf2ff; --pos:#2de08c; --neg:#ff5f7a; --line:#253346; }
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui;background:var(--bg);color:var(--text)}
.wrap{max-width:780px;margin:0 auto;padding:14px;display:grid;gap:12px}
.hero{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#101626,#07090f);border-radius:16px;padding:18px}
.geom{position:absolute;right:-30px;top:-20px;width:170px;height:170px;background:conic-gradient(from 90deg,#3a6aff,#32c5ff,#2de08c,#3a6aff);clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);opacity:.35}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chips{display:flex;gap:6px;flex-wrap:wrap}
button,.chip,select,input{background:#0d1320;color:var(--text);border:1px solid #2a3c58;border-radius:10px;padding:8px 10px}
.chip.active{background:#20467e}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.metric{background:#0b111c;padding:10px;border-radius:10px;border:1px solid #213147}
.metric .k{font-size:12px;color:var(--muted)} .metric .v{font-size:18px;font-weight:700}
.pos{color:var(--pos)} .neg{color:var(--neg)}
table{width:100%;border-collapse:collapse;font-size:12px} th,td{padding:7px;border-bottom:1px solid #1d2a3b;text-align:left;white-space:nowrap}
.table-wrap{overflow:auto}
.overlay{position:fixed;inset:0;background:rgba(3,5,10,.8);display:flex;justify-content:center;align-items:center;z-index:20}
.hidden{display:none}
.auth-card{width:min(360px,94vw)}
.error{color:var(--neg);min-height:18px;font-size:12px}
a{color:#8dc8ff;text-decoration:none}
.chart-note{margin:8px 0 0;font-size:12px;color:var(--muted)}
.chart-container{height:300px;width:100%;margin-top:12px;border-radius:8px;border:1px solid var(--line);background:#07090f;overflow:hidden;position:relative}
.chart-controls{margin-bottom:12px;display:flex;justify-content:center}
.chart-controls .chips{justify-content:center}
.pos{color:var(--pos);transition:all 0.3s ease}
.neg{color:var(--neg);transition:all 0.3s ease}
.metric .v.pos{text-shadow:0 0 8px rgba(45,224,140,0.3)}
.metric .v.neg{text-shadow:0 0 8px rgba(255,95,122,0.3)}
.card{transition:all 0.3s ease}
#pnlChart{height:200px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid #2a3c58;background:#0d1320}
.badge.reconciled{color:#2de08c;border-color:#1f7e56;background:rgba(45,224,140,.08)}
.badge.pending{color:#ffd166;border-color:#6a5821;background:rgba(255,209,102,.08)}
.badge.mismatch{color:#ff5f7a;border-color:#7f2a3a;background:rgba(255,95,122,.08)}
.mini{font-size:12px;color:var(--muted);margin-top:6px}
.notes{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:12px}
.notes li{margin:4px 0}
.source-list{margin-top:8px;display:grid;gap:6px}
.source-pill{font-size:12px;color:var(--muted);padding:8px 10px;border:1px solid #213147;border-radius:10px;background:#0b111c}
.alloc-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;border:1px solid #213147;background:#0b111c}
.alloc-seg{height:100%}
.alloc-seg.crypto{background:linear-gradient(90deg,#5ca4ff,#7bc8ff)}
.alloc-seg.fidelity{background:linear-gradient(90deg,#2de08c,#56f0a8)}
.task-board{margin-top:10px;display:grid;gap:8px}
.task-section{border:1px solid #213147;border-radius:10px;background:#0b111c;padding:10px}
.task-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.task-section-head h4{margin:0;font-size:14px}
.task-list{display:grid;gap:8px}
.task-item{border:1px solid #1d2a3b;border-radius:10px;padding:8px;background:#0d1320}
.task-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--muted)}
.task-id{padding:2px 6px;border-radius:999px;border:1px solid #2a3c58;background:#111a2b;color:#d8e8ff}
.task-owner{padding:2px 6px;border-radius:999px;background:rgba(92,164,255,.16);color:#a5ccff}
.task-status{padding:2px 6px;border-radius:999px;border:1px solid #2a3c58;background:#111a2b;color:#d8e8ff}
.task-status.in_progress,.task-status.ongoing{color:#ffd166;border-color:#6a5821;background:rgba(255,209,102,.08)}
.task-status.queued{color:#8dc8ff;border-color:#28578d;background:rgba(92,164,255,.1)}
.task-status.done{color:#2de08c;border-color:#1f7e56;background:rgba(45,224,140,.08)}
.task-status.ok{color:#2de08c;border-color:#1f7e56;background:rgba(45,224,140,.08)}
.task-status.degraded{color:#ff5f7a;border-color:#7f2a3a;background:rgba(255,95,122,.08)}
.task-status.unknown{color:#c9d7ea;border-color:#2a3c58;background:#111a2b}
.task-title{margin-top:6px;font-size:13px;line-height:1.35}
.task-detail{margin-top:6px;font-size:12px;color:var(--muted)}
.task-detail span{color:#9fb7d8}
@media (max-width:560px){.grid3,.grid2{grid-template-columns:1fr}}
