/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}
ul[role="list"],ol[role="list"]{list-style:none}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
img,picture,video,canvas,svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* ===== TOKENS ===== */
:root{
  --font:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --text-2xs:0.625rem;--text-xs:0.6875rem;--text-sm:0.75rem;--text-base:0.8125rem;--text-lg:0.9375rem;--text-xl:1.125rem;--text-2xl:1.5rem;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;
  --r-sm:3px;--r-md:5px;--r-lg:8px;
  --ease:cubic-bezier(.16,1,.3,1);--t-fast:150ms var(--ease);--t-med:250ms var(--ease);
}

/* ===== DARK (default) ===== */
[data-theme="dark"]{
  --c-bg:#0d1117;--c-s1:#161b22;--c-s2:#1c2128;--c-s3:#21262d;--c-s4:#282e36;
  --c-b1:rgba(240,246,252,.1);--c-b2:rgba(240,246,252,.06);--c-b3:rgba(240,246,252,.03);
  --c-t1:#e6edf3;--c-t2:#8b949e;--c-t3:#484f58;
  --c-green:#22c55e;--c-green-bg:rgba(34,197,94,.12);--c-green-30:rgba(34,197,94,.3);
  --c-red:#ef4444;--c-red-bg:rgba(239,68,68,.12);--c-red-30:rgba(239,68,68,.3);
  --c-accent:#3b82f6;--c-accent-bg:rgba(59,130,246,.12);--c-accent-h:#60a5fa;
  --c-yellow:#eab308;--c-overlay:rgba(0,0,0,.5);
  --shadow:0 4px 12px rgba(0,0,0,.4);
  color-scheme:dark;
}
/* ===== LIGHT ===== */
[data-theme="light"]{
  --c-bg:#f0f2f5;--c-s1:#ffffff;--c-s2:#f6f8fa;--c-s3:#eaeef2;--c-s4:#d8dee4;
  --c-b1:rgba(0,0,0,.12);--c-b2:rgba(0,0,0,.06);--c-b3:rgba(0,0,0,.03);
  --c-t1:#1c2128;--c-t2:#57606a;--c-t3:#8b949e;
  --c-green:#16a34a;--c-green-bg:rgba(22,163,74,.1);--c-green-30:rgba(22,163,74,.25);
  --c-red:#dc2626;--c-red-bg:rgba(220,38,38,.1);--c-red-30:rgba(220,38,38,.25);
  --c-accent:#2563eb;--c-accent-bg:rgba(37,99,235,.08);--c-accent-h:#3b82f6;
  --c-yellow:#ca8a04;--c-overlay:rgba(0,0,0,.3);
  --shadow:0 4px 12px rgba(0,0,0,.08);
  color-scheme:light;
}

/* ===== LAYOUT ===== */
html,body{height:100%;overflow:hidden}
body{font-family:var(--font);font-size:var(--text-base);font-feature-settings:'cv02','cv03','cv04','cv11';color:var(--c-t1);background:var(--c-bg);line-height:1.5}

.dash{display:grid;grid-template-columns:252px 5px 1fr;grid-template-rows:44px 1fr;height:100dvh;width:100%}

/* ===== HEADER ===== */
.hdr{grid-column:1/-1;display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);background:var(--c-s1);border-bottom:1px solid var(--c-b1);z-index:20}
.hdr-logo{display:flex;align-items:center;gap:6px;font-weight:700;font-size:var(--text-lg);color:var(--c-t1);letter-spacing:-.02em;white-space:nowrap;flex-shrink:0}
.hdr-sep{width:1px;height:20px;background:var(--c-b1);flex-shrink:0}
.hdr-info{display:flex;align-items:center;gap:var(--sp-3);flex:1;min-width:0;overflow:hidden}
.hdr-name{font-size:var(--text-lg);font-weight:600;white-space:nowrap;letter-spacing:-.01em}
.hdr-px{font-variant-numeric:tabular-nums lining-nums;font-size:var(--text-lg);font-weight:600;white-space:nowrap}
.hdr-chg{font-variant-numeric:tabular-nums lining-nums;font-size:var(--text-xs);font-weight:600;padding:1px 6px;border-radius:var(--r-sm);white-space:nowrap}
.hdr-chg.up{color:var(--c-green);background:var(--c-green-bg)}
.hdr-chg.dn{color:var(--c-red);background:var(--c-red-bg)}
.hdr-chg.flat{color:var(--c-t2);background:var(--c-b3)}
.hdr-dex{font-size:var(--text-2xs);font-weight:700;color:var(--c-accent);background:var(--c-accent-bg);padding:1px 6px;border-radius:var(--r-sm);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}
.hdr-right{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;margin-left:auto}
.hdr-always{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;margin-left:auto}
.wknd-force-btn{font-size:var(--text-2xs);font-weight:700;padding:2px 8px;border-radius:var(--r-sm);border:1px solid var(--c-b1);color:var(--c-t3);background:var(--c-s2);cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.wknd-force-btn:hover{color:var(--c-t1);border-color:var(--c-t3)}
.wknd-force-btn.on{color:#fff;background:var(--c-accent);border-color:var(--c-accent)}
.hdr-right select,.hdr-right input[type="date"]{
  background:var(--c-s2);border:1px solid var(--c-b1);border-radius:var(--r-sm);
  padding:2px 6px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--c-t1);
  cursor:pointer;height:26px;outline:none;
}
.hdr-right select:hover,.hdr-right input[type="date"]:hover{border-color:var(--c-t3)}
.seg{display:flex;border:1px solid var(--c-b1);border-radius:var(--r-sm);overflow:hidden}
.seg button{font-size:var(--text-xs);font-weight:500;padding:2px 7px;color:var(--c-t2);background:var(--c-s2);border:none;border-right:1px solid var(--c-b1);cursor:pointer;transition:all var(--t-fast);white-space:nowrap;height:26px;display:flex;align-items:center}
.seg button:last-child{border-right:none}
.seg button:hover{color:var(--c-t1);background:var(--c-s3)}
.seg button.on{background:var(--c-accent);color:#fff}
.dex-sel{font-size:var(--text-xs);font-weight:500;padding:2px 6px;background:var(--c-s2);border:1px solid var(--c-b1);border-radius:var(--r-sm);color:var(--c-t2);cursor:pointer;height:26px}
.th-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--c-t2);transition:all var(--t-fast)}
.th-btn:hover{color:var(--c-t1);background:var(--c-s3)}
.dr-grp{display:flex;align-items:center;gap:4px}
.dr-grp span{color:var(--c-t3);font-size:var(--text-xs)}

/* ===== SIDEBAR ===== */
.side{grid-column:1;grid-row:2;background:var(--c-s1);border-right:none;display:flex;flex-direction:column;overflow:hidden}
.side-search{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-b2);flex-shrink:0}
.side-search input{width:100%;background:var(--c-s2);border:1px solid var(--c-b1);border-radius:var(--r-sm);padding:5px var(--sp-3);font-size:var(--text-sm);color:var(--c-t1);outline:none;transition:border var(--t-fast)}
.side-search input::placeholder{color:var(--c-t3)}
.side-search input:focus{border-color:var(--c-accent)}
.side-list{overflow-y:auto;overscroll-behavior:contain;flex:1;padding-bottom:var(--sp-4)}
.side-list::-webkit-scrollbar{width:5px}
.side-list::-webkit-scrollbar-track{background:transparent}
.side-list::-webkit-scrollbar-thumb{background:var(--c-t3);border-radius:3px}
.cat-hdr{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);font-size:var(--text-2xs);font-weight:700;color:var(--c-t3);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;user-select:none;transition:color var(--t-fast);position:sticky;top:0;background:var(--c-s1);z-index:2}
.cat-hdr:hover{color:var(--c-t2)}
.cat-hdr .arr{transition:transform var(--t-fast);font-size:8px;line-height:1}
.cat-hdr.shut .arr{transform:rotate(-90deg)}
.cat-hdr.shut+.cat-items{display:none}
.cat-items{}
.side-fees{display:flex;gap:1px;background:var(--c-b2);border-bottom:1px solid var(--c-b2);padding:0;position:relative}
.sf-cell{flex:1;background:var(--c-s1);padding:var(--sp-1) var(--sp-3);display:flex;flex-direction:column;gap:1px}
.sf-lbl{font-size:var(--text-2xs);color:var(--c-t3);font-weight:500}
.sf-val{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}
.sf-info{position:absolute;top:4px;right:6px;color:var(--c-t3);cursor:help;line-height:1}
.sf-tip{display:none;position:absolute;right:0;top:100%;margin-top:6px;width:220px;padding:var(--sp-2) var(--sp-3);background:var(--c-s3);border:1px solid var(--c-b2);border-radius:var(--r-sm);font-size:var(--text-2xs);font-weight:400;color:var(--c-t2);line-height:1.4;z-index:100;white-space:normal;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.sf-info:hover .sf-tip,.sf-info:focus .sf-tip{display:block}
.ast{display:flex;align-items:center;justify-content:space-between;padding:5px var(--sp-3) 5px var(--sp-5);font-size:var(--text-sm);color:var(--c-t2);cursor:pointer;transition:all var(--t-fast);border-left:2px solid transparent}
.ast:hover{background:var(--c-s2);color:var(--c-t1)}
.ast.on{background:var(--c-accent-bg);color:var(--c-accent-h);border-left-color:var(--c-accent)}
.ast-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ast-vol{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--c-t3);white-space:nowrap;margin-left:var(--sp-2)}
/* Favorite star */
.ast-fav{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;margin-right:2px;font-size:10px;line-height:1;color:var(--c-t3);opacity:0;transition:all var(--t-fast);cursor:pointer}
.ast:hover .ast-fav{opacity:1}
.ast-fav.on{opacity:1;color:var(--c-yellow)}
/* Favorites divider */
.fav-div{height:1px;background:var(--c-b1);margin:var(--sp-1) var(--sp-3)}

/* ===== PANELS ===== */
.main{grid-column:3;grid-row:2;display:flex;flex-direction:row;overflow:hidden}
#leftCol{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}
#rightCol{display:flex;flex-direction:column;width:320px;min-width:180px;overflow:hidden}
.pnl{background:var(--c-s1);display:flex;flex-direction:column;overflow:hidden;position:relative}
#pChart{flex:1;min-height:80px}
#pVol{height:220px;min-height:60px}
#pFund{height:180px;min-height:60px}
#pDepth{flex:1;min-height:60px}
#pStats{flex:1;min-height:60px}
.pnl-hd{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-b2);flex-shrink:0;min-height:32px}
.pnl-t{font-size:var(--text-2xs);font-weight:700;color:var(--c-t3);text-transform:uppercase;letter-spacing:.06em}
.pnl-bd{flex:1;position:relative;overflow:hidden}
#chart-wrap{width:100%;height:100%}
#depth-c,#fund-c,#vol-c{width:100%;height:100%;display:block}
/* Gutters */
.gutter{flex-shrink:0;background:var(--c-b2);transition:background 0.15s;z-index:1}
.gutter:hover,.gutter.active{background:var(--c-accent)}
.gutter-h{height:5px;cursor:row-resize}
.gutter-v{width:5px;cursor:col-resize}
#sideGutter{grid-column:2;grid-row:2;cursor:col-resize;background:var(--c-b2);transition:background 0.15s;z-index:1}
#sideGutter:hover,#sideGutter.active{background:var(--c-accent)}
.vol-tog{display:flex;border:1px solid var(--c-b1);border-radius:var(--r-sm);overflow:hidden;margin-left:auto}
.vol-tog button{font-size:var(--text-2xs);font-weight:500;padding:1px 6px;color:var(--c-t2);background:var(--c-s2);border:none;border-right:1px solid var(--c-b1);cursor:pointer;transition:all var(--t-fast);height:20px;display:flex;align-items:center}
.vol-tog button:last-child{border-right:none}
.vol-tog button:hover{color:var(--c-t1);background:var(--c-s3)}
.vol-tog button.on{background:var(--c-accent);color:#fff}

/* Stats */
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--c-b2);height:100%;overflow-y:auto;overscroll-behavior:contain}
.st-cell{background:var(--c-s1);padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:1px}
.st-lbl{font-size:var(--text-2xs);color:var(--c-t3);font-weight:500;white-space:nowrap}
.st-val{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}
.st-val.up{color:var(--c-green)}.st-val.dn{color:var(--c-red)}
.st-sub{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--c-t3)}

/* Loading & Error */
.ld{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--c-s1);z-index:5}
.ld-spin{width:20px;height:20px;border:2px solid var(--c-b1);border-top-color:var(--c-accent);border-radius:50%;animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.pnl-err{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--c-t3);font-size:var(--text-sm);background:var(--c-s1);z-index:5}

/* Mobile toggle */
.mob-btn{display:none;width:32px;height:32px;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--c-t2);transition:all var(--t-fast);flex-shrink:0}
.mob-btn:hover{color:var(--c-t1);background:var(--c-s3)}
.side-ov{position:fixed;inset:0;top:44px;background:var(--c-overlay);z-index:29;display:none}
.side-ov.open{display:block}

@media(max-width:900px){
  .dash{grid-template-columns:1fr!important}
  .side{position:fixed;left:0;top:44px;bottom:0;width:272px;z-index:30;transform:translateX(-100%);transition:transform var(--t-med);box-shadow:var(--shadow)}
  .side.open{transform:translateX(0)}
  .mob-btn{display:flex}
  #sideGutter{display:none}
  .main{grid-column:1;flex-direction:column}
  #leftCol,#rightCol{flex:none!important;width:100%!important;flex-direction:column}
  #pChart{height:300px;flex:none}
  #pDepth{height:180px;flex:none}
  #pVol{height:180px}
  #pFund{height:180px}
  #pStats{height:240px;flex:none}
  .gutter{display:none}
  .dr-grp{display:none}
}
@media(max-width:600px){.hdr-right .seg{display:none}}
@media(max-width:480px){
  .hdr{gap:var(--sp-2);padding:0 var(--sp-2)}
  .hdr-logo span{display:none}
  .hdr-info{display:none}
  .hdr-right .hdr-sep,
  .hdr-right select{display:none}
  #pChart{height:220px}
  #pVol{height:120px}
  #pFund{height:120px}
  #pDepth{height:140px}
  #pStats{height:200px}
  .cme-right{width:100%!important}
}

/* Scrollbar */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--c-t3);border-radius:3px}

/* ===== VIEW TOGGLE ===== */
.view-seg{margin-left:var(--sp-2)}

/* ===== CME COMPARE VIEW ===== */
.main-cme{grid-column:1/-1;grid-row:2;display:none;flex-direction:row;overflow:hidden;gap:1px;background:var(--c-b2)}
.main-cme.active{display:flex}

.cme-left{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden;gap:1px;background:var(--c-b2)}
.cme-right{width:320px;min-width:180px;height:100%;display:flex;flex-direction:column;overflow:hidden;gap:1px;background:var(--c-b2)}

/* CME Table */
.cme-tbl-wrap{overflow:auto;flex:1}
#pCmeTable .pnl-bd{overflow:auto}
.cme-tbl{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums lining-nums}
.cme-tbl th{position:sticky;top:0;background:var(--c-s2);font-size:var(--text-2xs);font-weight:700;color:var(--c-t3);text-transform:uppercase;letter-spacing:.06em;padding:var(--sp-2) var(--sp-3);text-align:left;cursor:pointer;user-select:none;border-bottom:1px solid var(--c-b1);white-space:nowrap}
.cme-tbl th:hover{color:var(--c-t2)}
.cme-tbl th .sort-arr{font-size:8px;margin-left:4px;opacity:0.5}
.cme-tbl th.sorted .sort-arr{opacity:1;color:var(--c-accent)}
.cme-tbl td{padding:var(--sp-1) var(--sp-3);border-bottom:1px solid var(--c-b2);white-space:nowrap}
.cme-tbl tr:hover td{background:var(--c-s2)}
.cme-tbl .delta-pos{color:var(--c-green)}
.cme-tbl .delta-neg{color:var(--c-red)}
.cme-tbl .muted{color:var(--c-t3)}
.cme-tbl .dex-badge{font-size:var(--text-2xs);font-weight:700;color:var(--c-accent);background:var(--c-accent-bg);padding:1px 5px;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.04em}

/* Asset filter */
.cme-filter{display:flex;align-items:center;gap:var(--sp-2)}
.cme-filter select{background:var(--c-s2);border:1px solid var(--c-b1);border-radius:var(--r-sm);padding:2px 6px;font-size:var(--text-xs);color:var(--c-t1);cursor:pointer;height:24px;outline:none}

/* Summary cards */
.cme-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--c-b2);overflow-y:auto}
.cme-card{background:var(--c-s1);padding:var(--sp-3);display:flex;flex-direction:column;gap:2px}
.cme-card-asset{font-size:var(--text-sm);font-weight:600;color:var(--c-t1)}
.cme-card-delta{font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}
.cme-card-sub{font-size:var(--text-2xs);color:var(--c-t3)}

/* Accuracy chart panel */
#pAccuracy{flex:1;min-height:200px}
#accuracy-wrap{width:100%;height:100%}

/* No data state */
.cme-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-6);color:var(--c-t3);font-size:var(--text-sm);text-align:center;height:100%}
.cme-empty code{background:var(--c-s2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);font-size:var(--text-xs);color:var(--c-t2)}

@media(max-width:900px){
  .main-cme{flex-direction:column}
  .cme-left,.cme-right{width:100%!important;flex:none}
  .cme-right{height:auto}
}

/* ===== FEES VIEW ===== */
.main-fees{grid-column:1/-1;grid-row:2;display:none;flex-direction:column;overflow:hidden}
.main-fees.active{display:flex}
.fees-wip-banner{background:#b45309;color:#fff;font-size:var(--text-sm);font-weight:700;text-align:center;padding:8px 16px;letter-spacing:.04em;flex-shrink:0}
.fees-inner{display:flex;flex-direction:column;gap:1px;background:var(--c-b2);height:100%;overflow-y:auto;padding:0}
.fees-pnl{flex-shrink:0}
.fees-pnl>.pnl-bd{overflow:visible;position:static;flex:none}
.fees-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--c-b2)}
.fees-row .pnl-bd{overflow:visible;position:static;flex:none}
.fees-src{font-size:var(--text-2xs);color:var(--c-t3);font-weight:400;margin-left:auto}
.fees-tbl-wrap{overflow:auto;padding:0}
.fees-tbl{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums lining-nums}
.fees-tbl th{position:sticky;top:0;background:var(--c-s2);font-size:var(--text-2xs);font-weight:700;color:var(--c-t3);text-transform:uppercase;letter-spacing:.06em;padding:var(--sp-2) var(--sp-3);text-align:right;white-space:nowrap;border-bottom:1px solid var(--c-b1)}
.fees-tbl th:first-child{text-align:left}
.fees-tbl td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-b2);text-align:right;white-space:nowrap}
.fees-tbl td:first-child{text-align:left;font-weight:600;color:var(--c-t2)}
.fees-tbl tr:hover td{background:var(--c-s2)}
.fees-tbl .ann-col{color:var(--c-accent);font-weight:600}

/* OI / Volume cards */
.fees-oi-wrap,.fees-vol-wrap{display:flex;flex-direction:column;gap:1px;background:var(--c-b2);height:100%}
.fees-metric{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--c-b2)}
.fees-metric-card{background:var(--c-s1);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:2px}
.fees-metric-lbl{font-size:var(--text-2xs);font-weight:700;color:var(--c-t3);text-transform:uppercase;letter-spacing:.06em}
.fees-metric-val{font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums lining-nums}
.fees-metric-pct{font-size:var(--text-xs);color:var(--c-t3)}
.fees-metric-bar{height:6px;border-radius:3px;background:var(--c-s3);margin-top:4px;overflow:hidden}
.fees-metric-fill{height:100%;border-radius:3px;transition:width .3s var(--ease)}
.fill-core{background:var(--c-accent)}
.fill-hip3{background:var(--c-green)}

/* Breakdown table inside OI/Vol panels */
.fees-breakdown{width:100%;border-collapse:collapse;font-size:var(--text-xs);font-variant-numeric:tabular-nums lining-nums;flex:1}
.fees-breakdown th{position:sticky;top:0;background:var(--c-s2);font-size:var(--text-2xs);font-weight:700;color:var(--c-t3);text-transform:uppercase;letter-spacing:.06em;padding:var(--sp-1) var(--sp-3);text-align:right;white-space:nowrap;border-bottom:1px solid var(--c-b1)}
.fees-breakdown th:first-child{text-align:left}
.fees-breakdown td{padding:var(--sp-1) var(--sp-3);border-bottom:1px solid var(--c-b2);text-align:right;white-space:nowrap}
.fees-breakdown td:first-child{text-align:left;font-weight:500;color:var(--c-t2)}
.fees-breakdown tr:hover td{background:var(--c-s2)}
.fees-cat-tag{font-size:var(--text-2xs);font-weight:700;padding:1px 5px;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.04em;display:inline-block}
.fees-cat-crypto{color:var(--c-accent);background:var(--c-accent-bg)}
.fees-cat-commodities{color:var(--c-yellow);background:rgba(234,179,8,.12)}
.fees-cat-stocks{color:var(--c-green);background:var(--c-green-bg)}
.fees-cat-fx{color:#a78bfa;background:rgba(167,139,250,.12)}
.fees-cat-indices{color:#f472b6;background:rgba(244,114,182,.12)}
.fees-cat-other{color:var(--c-t3);background:var(--c-b3)}
.fees-freshness{font-size:var(--text-2xs);font-weight:500;margin-left:8px;padding:1px 6px;border-radius:var(--r-sm)}
.fees-fresh{color:var(--c-green);background:var(--c-green-bg)}
.fees-stale{color:var(--c-red);background:var(--c-red-bg)}
.fees-gm-badge{font-size:var(--text-2xs);font-weight:600;margin-left:6px;padding:1px 6px;border-radius:var(--r-sm);color:var(--c-yellow);background:rgba(234,179,8,.12)}

@media(max-width:900px){
  .fees-row{grid-template-columns:1fr}
}

/* ===== WEEKEND MONITOR VIEW V2 ===== */
.main-wknd{grid-column:1/-1;grid-row:2;display:none;flex-direction:column;overflow:hidden}
.main-wknd.active{display:flex}

/* Status Banner */
.wknd-banner{padding:var(--sp-2) var(--sp-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--c-b1);flex-shrink:0;min-height:36px}
.wknd-banner.is-active{background:linear-gradient(135deg,transparent 40%,var(--c-green-bg));border-bottom-color:var(--c-green-30)}
.wknd-banner.is-inactive{background:var(--c-s1)}
.wknd-banner-left{display:flex;align-items:center;gap:var(--sp-2)}
.wknd-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.wknd-dot.live{background:var(--c-green);box-shadow:0 0 6px var(--c-green-30);animation:wknd-pulse 2s ease-in-out infinite}
.wknd-dot.off{background:var(--c-t3)}
@keyframes wknd-pulse{0%,100%{opacity:1}50%{opacity:.5}}
.wknd-banner-text{font-size:var(--text-sm);color:var(--c-t2);font-weight:500}
.wknd-banner.is-active .wknd-banner-text{color:var(--c-green)}
.wknd-countdown{font-family:'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-xs);font-weight:600;color:var(--c-t1);font-variant-numeric:tabular-nums;background:var(--c-s2);padding:2px var(--sp-2);border-radius:var(--r-sm);border:1px solid var(--c-b1);white-space:nowrap}
.wknd-banner-right{display:flex;align-items:center;gap:var(--sp-2)}
.wknd-banner-left select{background:var(--c-s2);border:1px solid var(--c-b1);border-radius:var(--r-sm);padding:2px 6px;font-size:var(--text-xs);color:var(--c-t1);cursor:pointer;height:24px;outline:none}
.fri-close-info{position:relative;display:inline-flex;align-items:center;margin-left:4px;color:var(--c-t3);cursor:help;font-size:var(--text-xs);vertical-align:middle}
.fri-close-tip{display:none;position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:6px;width:200px;padding:var(--sp-2) var(--sp-3);background:var(--c-s3);border:1px solid var(--c-b2);border-radius:var(--r-sm);font-size:var(--text-2xs);font-weight:400;color:var(--c-t2);line-height:1.6;z-index:100;white-space:normal;box-shadow:0 4px 12px rgba(0,0,0,.3);text-align:left}
.fri-close-info:hover .fri-close-tip{display:block}

/* Summary Cards */
.wknd-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c-b2);border-bottom:1px solid var(--c-b1);flex-shrink:0}
.wknd-card{background:var(--c-s1);padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:1px}
.wknd-card-lbl{font-size:var(--text-2xs);font-weight:700;color:var(--c-t3);text-transform:uppercase;letter-spacing:.06em}
.wknd-card-val{font-size:var(--text-base);font-weight:700;font-variant-numeric:tabular-nums lining-nums}
.wknd-card-val.up{color:var(--c-green)}.wknd-card-val.dn{color:var(--c-red)}
.wknd-card-sub{font-size:var(--text-2xs);color:var(--c-t3)}
.wknd-card.empty .wknd-card-val{color:var(--c-t3)}

/* Weekend Table */
.wknd-tbl-wrap{overflow:auto;flex:1}
.cme-tbl .wknd-row{cursor:pointer;transition:background var(--t-fast)}
.cme-tbl .wknd-row.expanded td{background:var(--c-s2);border-bottom-color:transparent}
.cme-tbl .ticker-col{font-weight:600;letter-spacing:.02em;font-size:var(--text-xs)}
.cme-tbl .dex-sm{font-size:8px;font-weight:700;color:var(--c-accent);background:var(--c-accent-bg);padding:0 4px;border-radius:2px;text-transform:uppercase;letter-spacing:.04em;display:inline-block;line-height:1.6}
.cme-tbl .grp-l{padding-right:2px!important;border-left:1px solid var(--c-b1)!important}
.cme-tbl .grp-r{padding-left:2px!important;border-right:1px solid var(--c-b1)!important}
.cme-tbl th.grp-l{padding-right:2px!important;border-left:1px solid var(--c-b1)!important}
.cme-tbl th.grp-r{padding-left:2px!important;border-right:1px solid var(--c-b1)!important}

/* Detail Panel */
.wknd-detail-row{display:none}
.wknd-detail-row.open{display:table-row}
.wknd-detail-row>td{padding:0!important;border-bottom:1px solid var(--c-b1)!important}
.wknd-detail-inner{display:grid;grid-template-columns:1fr 1fr 220px;gap:1px;background:var(--c-b2)}
.wknd-detail-chart{background:var(--c-s1);height:280px;position:relative;min-width:0}
.wknd-detail-fund{background:var(--c-s1);height:280px;position:relative;min-width:0}
.wknd-detail-stats{background:var(--c-s1);display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--c-b2)}
.wknd-detail-stats .st-cell{background:var(--c-s1)}
.wknd-detail-label{position:absolute;top:var(--sp-2);left:var(--sp-3);font-size:var(--text-2xs);font-weight:700;color:var(--c-t3);text-transform:uppercase;letter-spacing:.06em;z-index:1;pointer-events:none}
.wknd-section-hdr td{font-size:var(--text-2xs)!important;font-weight:700!important;color:var(--c-t3)!important;text-transform:uppercase;letter-spacing:.08em;padding:var(--sp-2) var(--sp-3)!important;background:var(--c-s2)!important;border-left:3px solid var(--c-accent)!important;border-bottom:1px solid var(--c-b1)!important}

@media(max-width:900px){
  .wknd-cards{grid-template-columns:repeat(2,1fr)}
  .wknd-detail-inner{grid-template-columns:1fr;grid-template-rows:180px 180px auto}
  .wknd-detail-inner .wknd-detail-stats{grid-template-columns:repeat(4,1fr)}
  .wknd-banner{flex-wrap:wrap}
}
@media(max-width:600px){
  .wknd-cards{grid-template-columns:1fr 1fr}
  .wknd-detail-inner .wknd-detail-stats{grid-template-columns:1fr 1fr}
}

/* ===== WEEKEND FAVORITES ===== */
.wknd-fav-btn{font-size:var(--text-2xs);font-weight:700;padding:2px 8px;border-radius:var(--r-sm);border:1px solid var(--c-b1);color:var(--c-t3);background:var(--c-s2);cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.wknd-fav-btn:hover{color:var(--c-t1);border-color:var(--c-t3)}
.wknd-fav-btn.on{color:#fff;background:var(--c-accent);border-color:var(--c-accent)}
.wknd-star{cursor:pointer;color:var(--c-t3);margin-right:6px}
.wknd-star.on{color:var(--c-yellow)}
.wknd-star:hover{color:var(--c-yellow)}
