:root{
  --bg:#070a14;
  --accent:#8b7bff;
  --accent2:#22d3ee;
  --txt:#eaf0ff;
  --muted:#8893b2;
  --faint:#5a6483;
  --glass:rgba(255,255,255,.045);
  --glass-2:rgba(255,255,255,.07);
  --stroke:rgba(255,255,255,.10);
  --stroke-strong:rgba(255,255,255,.16);
  --radius:18px;
  --paper:#f5b544;
  --bt:#34d3ee;
  --good:#34e1a8;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  font-family:'Sora',system-ui,sans-serif;
  color:var(--txt);
  background:var(--bg);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:'JetBrains Mono',monospace}

/* ---------- ambient aurora ---------- */
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.aurora span{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;mix-blend-mode:screen}
.b1{width:620px;height:620px;left:-120px;top:-160px;background:radial-gradient(circle,#6d4bff,transparent 65%)}
.b2{width:560px;height:560px;left:34%;top:-220px;background:radial-gradient(circle,#1f6dff,transparent 65%)}
.b3{width:680px;height:680px;right:-180px;top:-120px;background:radial-gradient(circle,#16b6d6,transparent 65%);opacity:.4}
.b4{width:520px;height:520px;left:46%;bottom:-280px;background:radial-gradient(circle,#b94bff,transparent 65%);opacity:.32}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 0);background-size:3px 3px}

/* ---------- app shell ---------- */
.app{position:relative;z-index:2;height:100vh;display:grid;grid-template-columns:272px 1fr;gap:16px;padding:16px}

/* glass primitive */
.glass{
  background:linear-gradient(160deg,var(--glass-2),var(--glass));
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:0 24px 60px -28px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.08);
}

/* ---------- sidebar ---------- */
.side{display:flex;flex-direction:column;padding:20px 16px;gap:22px;overflow:hidden}
.brand{display:flex;align-items:flex-start;gap:13px}
.logo{width:46px;height:46px;border-radius:14px;flex:none;display:grid;place-items:center;
  background:linear-gradient(150deg,#8b7bff,#5b3bff);box-shadow:0 8px 24px -6px rgba(123,91,255,.7), inset 0 1px 0 rgba(255,255,255,.4)}
.logo svg{width:24px;height:24px}
.brand h1{font-size:17px;font-weight:700;margin:0;line-height:1.15;letter-spacing:-.01em}
.brand .sub{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.3}
.brand-top{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.pill-paper{font-size:9.5px;font-weight:700;letter-spacing:.09em;color:var(--paper);
  border:1px solid rgba(245,181,68,.4);background:rgba(245,181,68,.12);padding:2px 7px;border-radius:6px}
.head-ic{margin-left:auto;display:flex;gap:9px;align-items:center}
.head-ic button{width:30px;height:30px;border-radius:9px;border:1px solid var(--stroke);background:var(--glass);
  color:var(--muted);display:grid;place-items:center;cursor:pointer;position:relative;transition:.18s}
.head-ic button:hover{color:var(--txt);border-color:var(--stroke-strong);background:var(--glass-2)}
.head-ic .dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}

.label{font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--faint);margin:0 4px 10px}

.seg{display:flex;background:rgba(0,0,0,.25);border:1px solid var(--stroke);border-radius:12px;padding:4px;gap:3px}
.seg button{flex:1;border:0;background:transparent;color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:500;
  padding:7px 0;border-radius:8px;cursor:pointer;transition:.18s}
.seg button.on{color:#fff;background:linear-gradient(160deg,rgba(139,123,255,.9),rgba(91,59,255,.85));
  box-shadow:0 6px 16px -6px rgba(123,91,255,.8), inset 0 1px 0 rgba(255,255,255,.3)}
.seg button:not(.on):hover{color:var(--txt)}
.seg.sub button.on{background:var(--glass-2);box-shadow:inset 0 0 0 1px var(--stroke-strong);color:#fff}

.select{display:flex;align-items:center;gap:8px;border:1px solid var(--stroke);background:var(--glass);
  border-radius:11px;padding:11px 13px;font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--accent);cursor:pointer;transition:.18s}
.select:hover{border-color:var(--stroke-strong);background:var(--glass-2)}
.select svg{margin-left:auto;width:15px;height:15px;color:var(--muted)}

.apps{display:flex;flex-direction:column;gap:5px;overflow-y:auto;margin:0 -4px;padding:0 4px}
.apps::-webkit-scrollbar{width:0}
.nav{display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:13px;cursor:pointer;border:1px solid transparent;transition:.16s}
.nav:hover{background:var(--glass);border-color:var(--stroke)}
.nav.on{background:linear-gradient(150deg,rgba(139,123,255,.18),rgba(139,123,255,.05));border-color:rgba(139,123,255,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 8px 24px -16px rgba(123,91,255,.9)}
.nav .nic{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;
  background:var(--glass);border:1px solid var(--stroke);color:var(--accent2)}
.nav.on .nic{background:rgba(139,123,255,.2);border-color:rgba(139,123,255,.4);color:#c3b9ff}
.nav .nt{font-size:13.5px;font-weight:600;line-height:1.1}
.nav .ns{font-size:10.5px;color:var(--faint);margin-top:2px;font-family:'JetBrains Mono',monospace}
.nav .live{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 9px var(--good)}

/* ---------- main ---------- */
.main{display:flex;flex-direction:column;gap:16px;min-width:0;overflow:hidden}
.topbar{display:flex;align-items:center;padding:8px 8px 8px 8px;gap:6px}
.tab{display:flex;align-items:center;gap:9px;padding:11px 18px;border-radius:12px;cursor:pointer;color:var(--muted);
  font-size:14px;font-weight:600;border:1px solid transparent;transition:.16s}
.tab svg{width:17px;height:17px}
.tab:hover{color:var(--txt);background:var(--glass)}
.tab.on{color:#fff;background:var(--glass-2);border-color:var(--stroke-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.counts{margin-left:auto;display:flex;gap:20px;padding-right:10px;font-size:13.5px;color:var(--muted)}
.counts b{color:#fff;font-weight:700}
.counts .c-act b{color:var(--good)}
.refresh{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;cursor:pointer;
  border:1px solid var(--stroke);background:var(--glass);color:var(--muted);font-family:inherit;font-size:13px;font-weight:500;transition:.18s}
.refresh:hover{color:var(--txt);border-color:var(--stroke-strong);background:var(--glass-2)}
.refresh svg{width:15px;height:15px;transition:.5s}
.refresh:active svg{transform:rotate(-180deg)}

.subbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.filters{display:flex;gap:8px}
.fpill{display:flex;align-items:center;gap:8px;padding:8px 15px;border-radius:11px;cursor:pointer;
  border:1px solid var(--stroke);background:var(--glass);color:var(--muted);font-size:13px;font-weight:600;transition:.16s}
.fpill .n{font-size:11px;font-weight:700;padding:1px 7px;border-radius:6px;background:rgba(255,255,255,.08);color:var(--muted)}
.fpill:hover{color:var(--txt);border-color:var(--stroke-strong)}
.fpill.on{color:#fff;background:linear-gradient(150deg,rgba(139,123,255,.85),rgba(91,59,255,.8));border-color:transparent;
  box-shadow:0 8px 22px -8px rgba(123,91,255,.85), inset 0 1px 0 rgba(255,255,255,.3)}
.fpill.on .n{background:rgba(255,255,255,.22);color:#fff}
.spacer{flex:1}
.search{display:flex;align-items:center;gap:10px;padding:0 15px;border-radius:12px;border:1px solid var(--stroke);
  background:var(--glass);min-width:260px;transition:.18s}
.search:focus-within{border-color:rgba(139,123,255,.5);box-shadow:0 0 0 3px rgba(139,123,255,.12)}
.search svg{width:15px;height:15px;color:var(--faint)}
.search input{border:0;background:transparent;color:var(--txt);font-family:inherit;font-size:13px;padding:11px 0;width:100%;outline:0}
.search input::placeholder{color:var(--faint)}
.btn-primary{display:flex;align-items:center;gap:9px;padding:11px 18px;border-radius:12px;cursor:pointer;border:0;
  font-family:inherit;font-size:13.5px;font-weight:700;color:#fff;
  background:linear-gradient(150deg,#9a7bff,#5b3bff);box-shadow:0 10px 26px -8px rgba(123,91,255,.9), inset 0 1px 0 rgba(255,255,255,.35);transition:.18s}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 32px -10px rgba(123,91,255,1)}
.btn-primary svg{width:16px;height:16px}

/* content split */
.content{flex:1;display:grid;grid-template-columns:1.35fr 1fr;gap:16px;min-height:0}
.panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}

/* table */
.thead{display:grid;grid-template-columns:1.6fr .8fr .9fr .9fr;padding:16px 22px;border-bottom:1px solid var(--stroke);
  font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--faint)}
.tbody{overflow-y:auto;flex:1}
.tbody::-webkit-scrollbar{width:8px}
.tbody::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:8px}
.row{display:grid;grid-template-columns:1.6fr .8fr .9fr .9fr;align-items:center;padding:15px 22px;cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.04);transition:.14s;position:relative}
.row:hover{background:var(--glass)}
.row.on{background:linear-gradient(90deg,rgba(139,123,255,.16),rgba(139,123,255,.03))}
.row.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;
  background:linear-gradient(var(--accent),var(--accent2));box-shadow:0 0 12px rgba(139,123,255,.8)}
.sess{display:flex;align-items:center;gap:11px;min-width:0}
.sess .ic{width:30px;height:30px;border-radius:9px;flex:none;display:grid;place-items:center;
  background:var(--glass);border:1px solid var(--stroke);color:var(--muted)}
.sess .nm{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.07em;padding:4px 10px;border-radius:7px;border:1px solid}
.b-paper{color:var(--paper);border-color:rgba(245,181,68,.35);background:rgba(245,181,68,.1)}
.b-bt{color:var(--bt);border-color:rgba(52,211,238,.32);background:rgba(52,211,238,.1)}
.b-live{color:var(--good);border-color:rgba(52,225,168,.32);background:rgba(52,225,168,.1)}
.st{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.05em}
.st .d{width:7px;height:7px;border-radius:50%}
.st-sch .d{background:var(--paper);box-shadow:0 0 8px var(--paper)}
.st-sch{color:#f5cd84}
.st-cls .d{background:var(--faint)}
.st-cls{color:var(--muted)}
.st-run .d{background:var(--good);box-shadow:0 0 8px var(--good)}
.st-run{color:#7df0c8}
.start{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--muted)}
.tfoot{display:flex;align-items:center;gap:8px;padding:14px 22px;border-top:1px solid var(--stroke);font-size:12px;color:var(--muted)}
.tfoot b{color:var(--txt)}
.tfoot .upd{margin-left:auto;display:flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--faint)}
.tfoot .upd .d{width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}

/* detail panel */
.detail{padding:0;overflow-y:auto}
.detail::-webkit-scrollbar{width:8px}
.detail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:8px}
.empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:40px;text-align:center}
.empty .orb{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,rgba(139,123,255,.35),rgba(139,123,255,.05));
  border:1px solid var(--stroke);color:var(--accent)}
.empty .orb svg{width:34px;height:34px}
.empty p{color:var(--muted);font-size:14px;line-height:1.6;max-width:240px;margin:0}
.empty p b{color:var(--txt);font-weight:600}

.dt{padding:26px 26px 30px;display:none;flex-direction:column;gap:22px}
.dt.show{display:flex}
.dt-head{display:flex;align-items:flex-start;gap:14px}
.dt-head .ic{width:46px;height:46px;border-radius:13px;flex:none;display:grid;place-items:center;
  background:linear-gradient(150deg,rgba(139,123,255,.3),rgba(139,123,255,.08));border:1px solid var(--stroke);color:#c3b9ff}
.dt-name{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:600;letter-spacing:-.01em;word-break:break-all;line-height:1.3}
.dt-tags{display:flex;gap:8px;margin-top:9px}
.dt-actions{margin-left:auto;display:flex;gap:8px}
.iconbtn{width:38px;height:38px;border-radius:11px;border:1px solid var(--stroke);background:var(--glass);color:var(--muted);
  display:grid;place-items:center;cursor:pointer;transition:.16s}
.iconbtn:hover{color:var(--txt);border-color:var(--stroke-strong);background:var(--glass-2)}
.iconbtn svg{width:17px;height:17px}

.pnlcard{border:1px solid var(--stroke);border-radius:15px;padding:18px;background:rgba(0,0,0,.18);position:relative;overflow:hidden}
.pnlcard .lbl{font-size:11px;letter-spacing:.1em;color:var(--faint);font-weight:600}
.pnlcard .big{font-family:'JetBrains Mono',monospace;font-size:30px;font-weight:600;margin-top:5px;letter-spacing:-.02em}
.pnlcard .chg{font-size:12.5px;font-weight:600;margin-top:3px}
.pos{color:var(--good)}.neg{color:#ff7a8a}
.spark{position:absolute;right:0;bottom:0;width:62%;height:64%;opacity:.9}

.kgrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.kv{border:1px solid var(--stroke);border-radius:13px;padding:14px 15px;background:var(--glass)}
.kv .k{font-size:10.5px;letter-spacing:.08em;color:var(--faint);font-weight:600;text-transform:uppercase}
.kv .v{font-family:'JetBrains Mono',monospace;font-size:14px;margin-top:6px;color:var(--txt)}

.sec-t{font-size:11px;letter-spacing:.14em;color:var(--faint);font-weight:700;margin:2px 0 -6px}
.legs{display:flex;flex-direction:column;gap:9px}
.leg{display:flex;align-items:center;gap:12px;border:1px solid var(--stroke);border-radius:12px;padding:12px 14px;background:var(--glass)}
.leg .tk{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:13.5px}
.leg .side{font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:6px}
.leg .long{color:var(--good);background:rgba(52,225,168,.12);border:1px solid rgba(52,225,168,.3)}
.leg .short{color:#ff7a8a;background:rgba(255,122,138,.1);border:1px solid rgba(255,122,138,.28)}
.leg .w{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted)}
.leg .bar{height:5px;border-radius:5px;background:rgba(255,255,255,.08);flex:1;max-width:90px;overflow:hidden}
.leg .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}

.run{display:flex;gap:10px;margin-top:4px}
.run button{flex:1;padding:13px;border-radius:12px;font-family:inherit;font-weight:700;font-size:13.5px;cursor:pointer;transition:.18s;border:1px solid var(--stroke)}
.run .go{border:0;color:#fff;background:linear-gradient(150deg,#9a7bff,#5b3bff);box-shadow:0 10px 24px -8px rgba(123,91,255,.85)}
.run .go:hover{transform:translateY(-1px)}
.run .ghost{background:var(--glass);color:var(--muted)}
.run .ghost:hover{color:var(--txt);background:var(--glass-2);border-color:var(--stroke-strong)}

@media(max-width:1180px){.content{grid-template-columns:1fr}.detail{display:none}}

/* ============================================================ customer-app additions */

/* hidden helper */
[hidden]{display:none !important}

/* ---------- login ---------- */
.login-wrap{position:relative;z-index:2;height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:380px;max-width:92vw;padding:34px 30px;display:flex;flex-direction:column;gap:16px}
.login-card .logo{margin:0 auto 4px}
.login-card h1{font-size:21px;font-weight:700;text-align:center;margin:0;letter-spacing:-.01em}
.login-card .sub{font-size:12.5px;color:var(--muted);text-align:center;margin:-6px 0 8px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:10.5px;letter-spacing:.12em;color:var(--faint);font-weight:600;text-transform:uppercase}
.input{border:1px solid var(--stroke);background:var(--glass);border-radius:11px;padding:12px 14px;
  font-family:inherit;font-size:13.5px;color:var(--txt);outline:0;transition:.16s;width:100%}
.input:focus{border-color:rgba(139,123,255,.5);box-shadow:0 0 0 3px rgba(139,123,255,.12)}
.input::placeholder{color:var(--faint)}
.msg{font-size:12.5px;min-height:17px}
.msg.bad{color:#ff7a8a}.msg.ok{color:var(--good)}.msg.info{color:var(--muted)}

/* ---------- modal ---------- */
.scrim{position:fixed;inset:0;z-index:40;background:rgba(4,6,12,.62);backdrop-filter:blur(5px);
  display:grid;place-items:center;padding:24px}
.modal{width:440px;max-width:94vw;max-height:90vh;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:16px}
.modal-head{display:flex;align-items:center;gap:12px}
.modal-head h3{font-size:16px;font-weight:700;margin:0;flex:1}
.x{width:32px;height:32px;border-radius:9px;border:1px solid var(--stroke);background:var(--glass);color:var(--muted);
  display:grid;place-items:center;cursor:pointer;transition:.16s}
.x:hover{color:var(--txt);border-color:var(--stroke-strong)}
.modal .sub{font-size:12px;color:var(--muted);line-height:1.55;margin:-4px 0 2px}

/* account rows */
.acct-list{display:flex;flex-direction:column;gap:8px}
.acct-row{display:flex;align-items:center;gap:10px;border:1px solid var(--stroke);border-radius:11px;padding:11px 13px;background:var(--glass)}
.acct-row .nm{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600}
.acct-row .kx{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--faint);margin-left:auto}
.acct-row .del{width:28px;height:28px;border-radius:8px;border:1px solid var(--stroke);background:var(--glass);color:var(--muted);cursor:pointer}
.acct-row .del:hover{color:#ff7a8a;border-color:rgba(255,122,138,.4)}

/* ---------- generic data table (exec/holdings) ---------- */
.dtable{width:100%;border-collapse:collapse;font-size:12.5px}
.dtable th{position:sticky;top:0;background:rgba(7,10,20,.92);backdrop-filter:blur(8px);
  text-align:left;padding:11px 14px;font-size:10.5px;letter-spacing:.1em;color:var(--faint);font-weight:700;border-bottom:1px solid var(--stroke)}
.dtable td{padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.04);font-family:'JetBrains Mono',monospace;color:var(--txt)}
.dtable tr:hover td{background:var(--glass)}
.dtable .num{text-align:right}

/* view scaffolding inside main */
.view{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow:hidden}
.view-scroll{flex:1;min-height:0;overflow:auto;padding:0}
.view-scroll::-webkit-scrollbar{width:8px}
.view-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:8px}
.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding:2px}
.muted{color:var(--muted)}.faint{color:var(--faint)}
.center-msg{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted);text-align:center;padding:40px}
.spin{width:30px;height:30px;border-radius:50%;border:3px solid var(--stroke);border-top-color:var(--accent);animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}

/* subscribe / catalog */
.cat-card{border:1px solid var(--stroke);border-radius:14px;padding:16px 18px;background:var(--glass);display:flex;align-items:center;gap:14px}
.cat-card .nm{font-family:'JetBrains Mono',monospace;font-size:13.5px;font-weight:600}
.cat-card .meta{font-size:11px;color:var(--faint);margin-top:3px}
.cat-card .grow{flex:1;min-width:0}

/* toast */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:60;
  padding:12px 20px;border-radius:12px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:.25s;
  background:linear-gradient(160deg,var(--glass-2),var(--glass));border:1px solid var(--stroke-strong);
  backdrop-filter:blur(18px);box-shadow:0 18px 40px -16px rgba(0,0,0,.7)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.ok{border-color:rgba(52,225,168,.4)}.toast.bad{color:#ff8a96;border-color:rgba(255,122,138,.4)}

/* small button */
.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:11px;cursor:pointer;
  border:1px solid var(--stroke);background:var(--glass);color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:600;transition:.16s}
.btn-ghost:hover{color:var(--txt);border-color:var(--stroke-strong);background:var(--glass-2)}

/* ---------- accounts page ---------- */
.acctpg{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}
.acctpg-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.acctpg-head h2{font-size:18px;font-weight:700;margin:0;letter-spacing:-.01em}
.sync-chip{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;letter-spacing:.06em;
  padding:5px 11px;border-radius:8px;border:1px solid rgba(52,211,238,.3);background:rgba(52,211,238,.08);color:var(--bt)}
.sync-chip .d{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}
.stat{border:1px solid var(--stroke);border-radius:15px;padding:16px 18px;background:rgba(0,0,0,.18)}
.stat .k{font-size:10.5px;letter-spacing:.1em;color:var(--faint);font-weight:600;text-transform:uppercase}
.stat .v{font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:600;margin-top:6px;letter-spacing:-.01em}

/* ---------- execution open/close + holdings rows ---------- */
.trow{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.05)}
.trow:hover{background:var(--glass)}
.tname{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsub{font-size:11px;color:var(--muted);margin-top:3px}
.tsub b{color:var(--txt)}
.port-size{width:62px;border:1px solid var(--stroke);background:var(--glass);border-radius:8px;padding:6px 8px;
  color:var(--txt);font-family:'JetBrains Mono',monospace;font-size:12px;text-align:right;outline:0;flex:none}
.port-size:focus{border-color:rgba(139,123,255,.5)}
.mini-go{border:0;color:#fff;background:linear-gradient(150deg,#9a7bff,#5b3bff);border-radius:9px;padding:7px 14px;
  font-family:inherit;font-weight:700;font-size:12px;cursor:pointer;box-shadow:0 6px 16px -8px rgba(123,91,255,.8);flex:none}
.mini-go:hover{transform:translateY(-1px)}
.mini-go:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
.mini-ghost{border:1px solid var(--stroke);background:var(--glass);color:var(--muted);border-radius:9px;padding:7px 13px;
  font-family:inherit;font-weight:600;font-size:12px;cursor:pointer;flex:none}
.mini-ghost:hover{color:var(--txt);border-color:var(--stroke-strong);background:var(--glass-2)}
.mini-ghost:disabled{opacity:.5;cursor:default}
.hport-head{cursor:pointer}
.hport-chart{padding:8px 16px 16px;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(0,0,0,.12)}
