*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#101626;
  --sb:#1D2333;
  --card:#1D2333;
  --card-header:#2E3446;
  --bdr:#3F4559;
  --txt:#aab8c5;
  --txt-bright:#DAE0E5;
  --muted:#8891A6;
  --green:#0acf97;
  --red:#fa5c7c;
  --accent:#727cf5;
  --input-bg:#2E3446;
  --swid:220px;
  --font:'Inter',sans-serif;
  --shadow:0px 0px 35px 0px rgba(0,0,0,0.5)
}
html,body{height:100%;background:var(--bg);color:var(--txt);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.wrapper{display:flex;min-height:100vh}
/* Sidebar */
.sidebar{width:var(--swid);background:var(--sb);flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--bdr);position:fixed;top:0;left:0;bottom:0;z-index:100}
.logo-box{padding:20px 20px 14px;border-bottom:1px solid var(--bdr)}
.brand{font-size:20px;font-weight:700;color:var(--txt-bright)}.brand span{color:var(--accent)}
.side-nav{flex:1;padding:12px 0;overflow-y:auto}
.nav-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 20px 4px;font-weight:600}
.nav-item{display:flex;align-items:center;gap:10px;padding:8px 20px;color:var(--txt-bright);text-decoration:none;font-size:14px;font-weight:700;transition:background .15s,color .15s;border-radius:4px;margin:1px 8px}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-item.active{background:var(--input-bg);color:#fff}
.nav-icon{width:18px;text-align:center}
.nav-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Main */
.content{margin-left:var(--swid);flex:1;min-height:100vh}
.topbar{background:var(--sb);border-bottom:1px solid var(--bdr);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}
.page-title{font-size:26px;font-weight:700;color:var(--txt-bright)}
.body{padding:20px 24px 40px}
/* Filter */
.filter-bar{background:var(--card);border:1px solid var(--bdr);border-radius:6px;padding:12px 16px;margin-bottom:18px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.filter-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.fg{display:flex;align-items:center;gap:8px}
input[type=date]{background:var(--input-bg);border:1px solid var(--bdr);border-radius:4px;color:var(--txt-bright);font-family:var(--font);font-size:13px;padding:5px 10px;outline:none}
input[type=date]:focus{border-color:var(--accent)}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}
.btn{padding:5px 14px;border-radius:4px;font-size:13px;font-family:var(--font);font-weight:600;border:none;cursor:pointer;transition:opacity .15s;text-decoration:none;display:inline-block}
.btn:hover{opacity:.85}
.btn-primary{background:var(--accent);color:#fff}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--bdr)}
.btn-ghost:hover{color:var(--txt-bright)}
/* Stats */
.stats{display:flex;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.stat{background:var(--card);border:1px solid var(--bdr);border-radius:6px;padding:14px 18px;flex:1;min-width:110px;box-shadow:var(--shadow)}
.stat-lbl{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;margin-bottom:4px}
.stat-val{font-size:24px;font-weight:700;color:var(--txt-bright)}
.pos{color:var(--green)}.neg{color:var(--red)}
/* Table */
.card{background:var(--card);border:1px solid var(--bdr);border-radius:6px;overflow:hidden;box-shadow:var(--shadow)}
.card-head{padding:14px 18px;background:var(--card-header);border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:13px;font-weight:600;color:var(--txt-bright)}
.cnt{font-size:12px;color:var(--muted)}
table{width:100%;border-collapse:collapse}
thead th{padding:9px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--card-header);border-bottom:1px solid var(--bdr);text-align:left;white-space:nowrap}
thead th a{color:var(--muted);text-decoration:none}
thead th a:hover{color:var(--txt-bright)}
tbody tr{border-bottom:1px solid var(--bdr);transition:background .1s;cursor:pointer}
tbody tr:hover{background:rgba(255,255,255,.04)}
tbody tr:last-child{border-bottom:none}
tbody td{padding:10px 14px;font-size:14px;color:var(--txt-bright);white-space:nowrap;font-weight:400}
.pnl-pos{color:var(--green);font-weight:700}.pnl-neg{color:var(--red);font-weight:700}.pnl-zero{color:var(--muted);font-weight:700}
.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:3px;letter-spacing:.04em}
.badge-L{background:rgba(10,207,151,.15);color:var(--green);border:1px solid rgba(10,207,151,.3)}
.badge-S{background:rgba(250,92,124,.15);color:var(--red);border:1px solid rgba(250,92,124,.3)}
.muted{color:var(--muted)}
.empty{padding:60px 20px;text-align:center;color:var(--muted);font-size:13px}
.err{margin:20px;padding:14px 18px;background:rgba(250,92,124,.1);border:1px solid var(--red);border-radius:6px;color:var(--red);font-size:13px}
