:root{
  --bg:#0b0f17;--panel:#121826;--panel2:#182033;--border:#253049;--text:#e5e9f2;--muted:#8b95ab;
  --green:#22c55e;--green-bg:rgba(34,197,94,.12);--red:#ef4444;--red-bg:rgba(239,68,68,.12);--accent:#60a5fa;
}
*{box-sizing:border-box}
html,body{background:var(--bg)}
body{margin:0;color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.hidden{display:none!important}
.muted{color:var(--muted)}.pos{color:var(--green)}.neg{color:var(--red)}
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:rgba(11,15,23,.92);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}
.topbar h1{margin:0;font-size:22px;letter-spacing:.02em;text-align:center}
.topbar .right{justify-self:end;display:flex;gap:8px;align-items:center}
select,button{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font:inherit}
.topbar .left{justify-self:start;display:flex;gap:8px;align-items:center;min-width:0}
#yearFilter{font-weight:600}
.account{font-weight:700;font-size:15px;background:#1d2a44;border-color:#34507f;max-width:220px}
button{cursor:pointer}button:hover,select:hover{border-color:var(--accent)}
.badge{font-size:11px;background:#a16207;color:#fff;padding:2px 8px;border-radius:10px}
main{padding:18px;max-width:1500px;margin:0 auto}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 16px;min-width:0}
h3{margin:4px 0 10px;font-size:14px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
h3 .big{color:var(--text);font-size:18px;margin-left:6px;text-transform:none}
.top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.middle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:16px;margin-bottom:16px}
.kpis{display:grid;gap:10px;margin-bottom:12px}
.kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpis.two{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0}
.kpi{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}
.kpi.span2{grid-column:span 2}
.label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.value{font-size:22px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}
.score{border-radius:10px;padding:12px 14px;text-align:center}
.score.win{background:var(--green-bg);border:1px solid rgba(34,197,94,.35)}.score.win .value{color:var(--green)}
.score.loss{background:var(--red-bg);border:1px solid rgba(239,68,68,.35)}.score.loss .value{color:var(--red)}
.score .value{font-size:26px}
.chart{position:relative;height:260px}.chart.tall{height:330px}.chart.small{height:180px}
.wl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.wl .value{font-size:28px;text-align:center}.wl .label{text-align:center}
.tables h3:not(:first-child){margin-top:16px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:7px 9px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
th{color:var(--muted);font-weight:600;font-size:12px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
td.setup{white-space:normal;min-width:160px;max-width:340px;color:#c3cad9}
.month-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.month-head h2{margin:0;font-size:22px}
.controls{display:flex;gap:8px;flex-wrap:wrap}
.month-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px;margin:14px 0}
.month-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dow{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;text-align:center;padding:4px 0}
.day{background:var(--panel2);border:1px solid var(--border);border-radius:10px;min-height:108px;padding:6px 8px;display:flex;flex-direction:column;gap:2px;font-size:12px}
.day.out{opacity:.35}
.day .d{font-weight:700;color:var(--muted)}
.day.today .d{color:var(--accent)}
.day .t{display:flex;justify-content:space-between;gap:6px;font-variant-numeric:tabular-nums}
.day .t span:first-child{overflow:hidden;text-overflow:ellipsis}
.day .tot{margin-top:auto;border-top:1px dashed var(--border);padding-top:3px}
.day .tot .l{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.day .tot .v{font-weight:700}
.day.profit{background:linear-gradient(180deg,var(--green-bg),var(--panel2))}
.day.loss{background:linear-gradient(180deg,var(--red-bg),var(--panel2))}
.day.weekend{background:#0f1420;border-style:dashed;padding:6px 5px}
.day.weekend .d{color:#5b6478}
.dow.weekend{color:#5b6478}
.dow.wk{color:var(--accent)}
.week{background:#141c2e;border:1px solid #2c3a5a;border-radius:10px;padding:8px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px;text-align:right;min-width:0;font-variant-numeric:tabular-nums}
.week .l{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.week .v{font-size:15px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.week .n{color:var(--muted);font-size:10px}
.week.profit{border-color:rgba(34,197,94,.45);background:linear-gradient(90deg,var(--green-bg),#141c2e)}
.week.loss{border-color:rgba(239,68,68,.45);background:linear-gradient(90deg,var(--red-bg),#141c2e)}
.week.empty .v{opacity:.5}
.day{min-width:0;overflow:hidden}
.short{display:none}
.day .t span:last-child{white-space:nowrap}
.status{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px;max-width:760px;margin:40px auto}
.status h2{margin-top:0}.status code{background:var(--bg);padding:2px 5px;border-radius:4px;word-break:break-all}
.status a{color:var(--accent)}
footer{text-align:center;padding:20px;font-size:12px}
@media (max-width:1100px){.top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.overview{grid-column:1/-1}.middle{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
  main{padding:10px}.top{grid-template-columns:minmax(0,1fr)}
  .kpis.four{grid-template-columns:repeat(2,minmax(0,1fr))}.value{font-size:18px}
  .month-body{grid-template-columns:minmax(0,1fr)}.month-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .topbar{grid-template-columns:1fr auto;padding:10px}.topbar h1{grid-column:1/-1;grid-row:2;font-size:17px}.account{max-width:150px;font-size:14px}
  .calendar{gap:3px}.day{min-height:84px;padding:4px;font-size:10px}.day .tot .l{display:none}.dow{font-size:10px}
  .day .t{display:none}.day .tot{border-top:0}.day .tot .v{font-size:10px}.full{display:none}.short{display:inline}
  .day.weekend{padding:4px 2px}.week{padding:4px 1px;align-items:center;text-align:center}.week .l,.week .n{display:none}.week .v{font-size:9.5px;letter-spacing:-.02em;overflow:visible;text-overflow:clip}
  .chart.tall{height:260px}
}
