/* Market Study — overview.css */
/* ════════════════════════════════════════════
   TABLE
════════════════════════════════════════════ */
.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--card);box-shadow:var(--sh)}
table{border-collapse:collapse;width:100%;min-width:1220px;font-size:12.5px}
thead th{
  font-family:var(--dp);font-weight:700;font-size:10.5px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--muted);text-align:center;
  padding:10px 9px;background:#F8F9FE;border-bottom:1px solid var(--line);
}
thead th.grp{background:#EDF0FA;color:var(--ink2)}
tbody td{
  padding:10px 9px;text-align:center;border-bottom:1px solid var(--line2);
  font-family:var(--nm);font-weight:600;color:var(--ink2);
}
tbody td.lab{font-family:var(--dp);font-weight:700;color:var(--ink)}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:#FAFBFE}
tbody tr.editing-row td{background:#F0EEFF!important;box-shadow:inset 3px 0 0 var(--brand2)}
.cell-good{background:var(--bull-bg);color:var(--bull);border-radius:6px}
.cell-bad{background:var(--bear-bg);color:var(--bear);border-radius:6px}
.cell-warn{background:var(--warn-bg);color:var(--warn);border-radius:6px}
.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--dp);font-weight:700;font-size:11px;padding:4px 9px;border-radius:999px}
.chip.up{color:var(--bull);background:var(--bull-bg)}
.chip.down{color:var(--bear);background:var(--bear-bg)}
.chip.neu{color:var(--warn);background:var(--warn-bg)}
.prob-cell{display:flex;flex-direction:column;gap:4px;align-items:center;min-width:82px}
.prob-val{font-family:var(--nm);font-size:11.5px;font-weight:700}
.prob-bar{width:72px;height:5px;border-radius:999px;background:#EEF1F8;overflow:hidden}
.prob-fill{height:100%;border-radius:999px}
.row-acts{display:flex;gap:2px;justify-content:center}
.row-btn{border:none;background:transparent;cursor:pointer;font-size:13px;padding:5px 6px;border-radius:7px;transition:.14s;color:var(--faint)}
.row-btn.edit:hover{color:var(--brand2);background:#EEF0FF}
.row-btn.del:hover{color:var(--bear);background:var(--bear-bg)}

/* ════════════════════════════════════════════
   ADMIN PANEL
════════════════════════════════════════════ */
.panel{padding:22px}
.panel-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.panel-head h3{font-family:var(--dp);font-weight:700;font-size:15px;display:flex;align-items:center;gap:7px}
.badge{font-size:10px;font-weight:700;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:3px 9px;border-radius:999px;letter-spacing:.04em}
.form-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
/* ── Unified Admin Panel ── */
.up-section{margin-bottom:18px}
.up-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.up-sec-ico{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;color:#fff;font-size:15px;flex-shrink:0;box-shadow:0 4px 12px rgba(99,72,222,.3)}
.up-sec-title{font-family:var(--dp);font-weight:700;font-size:14px;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.up-sec-sub{font-size:11.5px;color:var(--muted);margin-top:3px}
.up-divider{display:flex;align-items:center;gap:10px;margin:6px 0 18px;color:var(--muted);font-size:11.5px;font-weight:600}
.up-divider::before,.up-divider::after{content:'';flex:1;height:1px;background:var(--line)}
.up-divider span{white-space:nowrap;padding:0 6px}
.up-form-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.up-drop-row{display:flex;gap:10px;align-items:flex-start}
.up-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;padding-top:14px;border-top:1px solid var(--line);margin-top:14px}
.master-save-btn{
  background:linear-gradient(135deg,#4338CA,#7C3AED,#0D9488);
  background-size:200% 200%;
  color:#fff;border:none;
  font-size:14px!important;padding:12px 24px!important;
  box-shadow:0 8px 24px rgba(67,56,202,.35);
  animation:gradshift 3s ease infinite;
}
.master-save-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(67,56,202,.45)}
.master-save-btn.edit-mode{background:linear-gradient(135deg,#D97706,#F59E0B);animation:none}
@keyframes gradshift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(max-width:760px){.up-form-grid4{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.up-form-grid4{grid-template-columns:1fr}}
/* Flow auto-row */
.flow-auto-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:11px;background:linear-gradient(135deg,#F0FDF4,#DCFCE7);border:1.5px solid #86EFAC;margin-bottom:2px}
.flow-auto-ico{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#16A34A,#0D9488);display:grid;place-items:center;color:#fff;font-size:14px;flex-shrink:0}
.flow-auto-title{font-family:var(--dp);font-weight:700;font-size:12.5px;color:#15803D;margin-bottom:4px}
.flow-auto-vals{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#166534}
.flow-auto-vals b{font-family:var(--nm);font-weight:700;font-size:13.5px;color:var(--bull)}
.flow-auto-status{color:var(--muted);font-style:italic}
/* Excel market data row */
.excel-mkt-row{background:linear-gradient(135deg,#EEF0FF,#F5F3FF);border:1.5px solid #C4B5FD;border-radius:12px;padding:13px 14px}
.excel-mkt-head{display:flex;align-items:center;gap:8px;font-family:var(--dp);font-weight:700;font-size:12.5px;color:var(--brand2);margin-bottom:11px}
.excel-mkt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
@media(max-width:700px){.excel-mkt-grid{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.field input,.field select,.field textarea{
  font-family:var(--bd);font-size:13.5px;color:var(--ink);
  padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;
  background:#FCFDFF;transition:.15s;width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand2);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(124,58,237,.1)}
.field textarea{resize:vertical;min-height:80px}
.preview-row{display:flex;gap:12px;align-items:center;margin-top:14px;padding:11px 14px;border-radius:10px;background:var(--bg);flex-wrap:wrap}
.form-actions{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap;align-items:center}
.btn{
  font-family:var(--bd);font-weight:600;font-size:13px;cursor:pointer;border-radius:10px;
  padding:9px 15px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);
  transition:.15s;display:inline-flex;align-items:center;gap:7px;
}
.btn:hover{transform:translateY(-1px);border-color:#c5cee0}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(99,72,222,.3)}
.btn.ghost{background:transparent;box-shadow:none;border-color:transparent}
.btn.danger{color:var(--bear);border-color:#fecaca}
.btn.teal{background:linear-gradient(135deg,#0D9488,#16A34A);color:#fff;border-color:transparent}
.btn.amber{background:linear-gradient(135deg,#D97706,#F59E0B);color:#fff;border-color:transparent}
.info-note{margin-left:auto;font-size:11px;color:var(--muted);display:flex;gap:5px;align-items:center}
.panel.is-edit{box-shadow:0 0 0 2.5px var(--brand2),var(--sh)}

/* ════════════════════════════════════════════
   REPUTATION
════════════════════════════════════════════ */
.rep-banner{
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand2) 55%,#6366F1 100%);
  border-radius:var(--r);padding:28px 28px;color:#fff;margin-bottom:18px;
  display:flex;align-items:center;gap:28px;position:relative;overflow:hidden;
}
.rep-banner::after{content:'';position:absolute;inset:0;background:radial-gradient(600px 300px at 80% -10%,rgba(255,255,255,.2),transparent 55%);pointer-events:none}
.rep-big{font-family:var(--nm);font-size:64px;font-weight:700;letter-spacing:-.03em;line-height:1}
.rep-bars-wrap{flex:1;max-width:260px;margin-left:auto;position:relative;z-index:1}
.rep-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;color:rgba(255,255,255,.9)}
.rep-track{flex:1;height:7px;background:rgba(255,255,255,.22);border-radius:999px;overflow:hidden}
.rep-fill{height:100%;background:rgba(255,255,255,.9);border-radius:999px}
.rep-cnt{width:18px;text-align:right;font-weight:700}
.rep-stat-card{padding:22px;text-align:center}
.rep-stat-ico{font-size:26px;margin-bottom:8px}
.rep-stat-num{font-family:var(--nm);font-size:36px;font-weight:700;line-height:1}
.rep-stat-lbl{font-size:12.5px;color:var(--muted);margin-top:3px}

/* ════════════════════════════════════════════
   REVIEWS
════════════════════════════════════════════ */
.rating-sum{display:flex;align-items:center;gap:24px;padding:22px;margin-bottom:18px;flex-wrap:wrap}
.rs-big{font-family:var(--nm);font-size:52px;font-weight:700;letter-spacing:-.03em}
.rs-right{flex:1;min-width:180px}
.rs-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:12px}
.rs-star{font-weight:700;width:12px;color:var(--ink2)}
.rs-track{flex:1;height:7px;background:#F0F2F8;border-radius:999px;overflow:hidden}
.rs-fill{height:100%;background:linear-gradient(90deg,#F59E0B,#FBBF24);border-radius:999px}
.rs-cnt{font-weight:700;color:var(--muted);width:22px;text-align:right}
.filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.ftab{font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;transition:.15s}
.ftab:hover{border-color:var(--brand)}
.ftab.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent}
/* rev-card styles defined below */
.cat-chip{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:#EEF0FF;color:var(--brand2)}
.pending-badge{position:absolute;top:12px;right:12px;font-size:10px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--warn-bg);color:var(--warn);display:flex;align-items:center;gap:4px}
.notif-dot{position:absolute;top:-3px;right:-3px;width:16px;height:16px;border-radius:50%;background:var(--bear);color:#fff;font-size:8px;font-weight:800;display:none;place-items:center;border:2px solid #fff;line-height:1}
.pending-alert{display:none;align-items:center;gap:10px;padding:14px 18px;border-radius:13px;background:linear-gradient(135deg,#FEF3C7,#FDE68A);border:1.5px solid #FCD34D;margin-bottom:16px;font-size:13.5px;font-weight:700;color:#92400E;box-shadow:0 4px 16px rgba(217,119,6,.18);animation:pulseAlert 2.5s ease infinite}
@keyframes pulseAlert{0%,100%{box-shadow:0 4px 16px rgba(217,119,6,.18)}50%{box-shadow:0 4px 24px rgba(217,119,6,.32)}}
.pending-alert i{font-size:15px;color:#D97706;flex-shrink:0}
.pending-alert .pa-count{font-family:var(--nm);font-weight:800;font-size:16px;color:#B45309;margin:0 2px}

/* ── REVIEW CARDS ── */
.rev-card{padding:20px 22px;position:relative;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;overflow:hidden}
.rev-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--brand),var(--brand2));opacity:0;transition:opacity .25s}
.rev-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(48,40,120,.14)}
.rev-card:hover::before{opacity:1}
.pend-card{border-left:4px solid #F59E0B;background:linear-gradient(135deg,#FFFBEB,#fff)}
.pend-card::before{background:linear-gradient(90deg,#D97706,#F59E0B);opacity:1}
.rev-top{display:flex;align-items:flex-start;gap:13px;margin-bottom:10px}
.rev-av{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:800;flex-shrink:0;font-family:var(--dp)}
.rev-av-amber{background:linear-gradient(135deg,#D97706,#F59E0B)!important}
.rev-info{flex:1;min-width:0}
.rev-name{font-family:var(--dp);font-weight:700;font-size:14.5px;color:var(--ink);margin-bottom:3px}
.rev-sub{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);margin-bottom:5px;flex-wrap:wrap}
.rev-clock{font-size:9px;color:var(--faint)}
.rev-stars{display:flex;gap:2px;margin-top:2px}
.rev-title{font-family:var(--dp);font-weight:700;font-size:13.5px;color:var(--ink);margin-bottom:6px;line-height:1.4}
.rev-body{font-size:13.5px;color:var(--ink2);line-height:1.65}
.rev-actions{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}
.rev-approve-btn{font-size:13px!important;padding:8px 16px!important}
.rev-del-btn{font-size:13px!important;padding:8px 16px!important}

/* ── MINI REVIEWS (overview) ── */
.mini-rev{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line2)}
.mini-rev:last-child{border-bottom:none;padding-bottom:0}
.mini-av{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:16px;font-family:var(--dp)}
.mini-rev-body{flex:1;min-width:0}
.mini-rev-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.mini-name{font-family:var(--dp);font-weight:700;font-size:13.5px;color:var(--ink)}
.mini-stars{display:flex;gap:2px;flex-shrink:0}
.mini-body{font-size:12.5px;color:var(--ink2);line-height:1.55}

/* ════════════════════════════════════════════
   MODALS
════════════════════════════════════════════ */
.scrim{position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(5px);display:none;place-items:center;z-index:60;padding:20px}
.scrim.show{display:grid}
.modal{width:min(440px,100%);background:var(--card);border-radius:20px;box-shadow:var(--sh-xl);padding:28px}
.modal .m-ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;margin:0 auto 14px;color:#fff;font-size:22px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 10px 28px rgba(99,72,222,.35)}
.modal h3{font-family:var(--dp);font-weight:800;font-size:21px;margin-bottom:5px;text-align:center}
.modal p{color:var(--muted);font-size:13.5px;margin-bottom:16px;text-align:center}
.modal input[type=password]{width:100%;text-align:center;font-family:var(--nm);font-size:20px;letter-spacing:.18em;padding:13px;border:1.5px solid var(--line);border-radius:11px;margin-bottom:6px}
.err{color:var(--bear);font-size:12.5px;font-weight:600;min-height:18px;margin-bottom:8px;text-align:center}
.m-actions{display:flex;gap:9px}
.m-actions .btn{flex:1;justify-content:center}
.star-input{display:flex;gap:7px;font-size:28px;margin:12px auto;cursor:pointer;justify-content:center}
.star-input .lit{color:#F59E0B} .star-input .dim{color:#D1D5DB}

/* ════════════════════════════════════════════
   TOAST
════════════════════════════════════════════ */
.toast{
  position:fixed;bottom:24px;left:50%;
  transform:translateX(-50%) translateY(16px);
  opacity:0;pointer-events:none;
  background:#1E1B4B;color:#fff;font-weight:600;font-size:13.5px;
  padding:12px 20px;border-radius:12px;box-shadow:var(--sh-xl);
  display:flex;gap:9px;align-items:center;transition:.25s;z-index:80;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ════════════════════════════════════════════
   MISC
════════════════════════════════════════════ */
.empty{padding:48px;text-align:center;color:var(--muted)}
.empty i{font-size:32px;color:var(--faint);display:block;margin-bottom:10px}
.pulse-dot{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--bull)}
.pulse-dot::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--bull);display:inline-block;animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.live-badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:linear-gradient(135deg,#DCFCE7,#BBF7D0);color:var(--bull);border:1px solid #86EFAC}
.live-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--bull);animation:pulse 1.6s infinite}

/* scrollbar */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:99px}

/* responsive */
@media(max-width:1200px){.g3{grid-template-columns:1.1fr 1.5fr 1fr}}
@media(max-width:1000px){.g3{grid-template-columns:1fr 1fr}.g3 .sentiment-card{grid-column:1/-1}.g4{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.g3,.g2l,.g2{grid-template-columns:1fr}.g3 .sentiment-card{grid-column:auto}.g4{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.app{grid-template-columns:1fr}.sidebar{display:none}.g4{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.up-form-grid4{grid-template-columns:1fr}.sz-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ════ SESSION CARD SPLIT ════ */
.session-card{padding:0;overflow:hidden}
.sess-top{padding:14px 18px 12px}
.sess-top-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.muted-sm{font-size:10px;font-weight:600;color:var(--faint)}
.bull-sm{color:var(--bull);font-weight:700}
.bear-sm{color:var(--bear);font-weight:700}
/* Money-flow summary */
.sess-flow{background:linear-gradient(135deg,#F7FAFC,#FAFBFF);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.sess-flow-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--dp);font-weight:700;font-size:12px;color:var(--ink2);margin-bottom:10px}
.net-tag{font-family:var(--nm);font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}
.net-tag.buy{background:var(--bull-bg);color:var(--bull)}
.net-tag.sell{background:var(--bear-bg);color:var(--bear)}
.net-tag.flat{background:var(--warn-bg);color:var(--warn)}
.sess-flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.flow-stat{border-radius:10px;padding:9px 12px;border:1px solid var(--line2)}
.flow-stat.buy{background:linear-gradient(135deg,#F0FDF4,#fff);border-color:#BBF7D0}
.flow-stat.sell{background:linear-gradient(135deg,#FFF1F1,#fff);border-color:#FCA5A5}
.flow-stat-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:5px;margin-bottom:4px}
.flow-stat.buy .flow-stat-lbl{color:var(--bull)}
.flow-stat.sell .flow-stat-lbl{color:var(--bear)}
.flow-stat-val{font-family:var(--nm);font-size:17px;font-weight:700;color:var(--ink)}
.flow-bar-track{height:8px;border-radius:999px;background:#FEE2E2;overflow:hidden;position:relative}
.flow-bar-fill{height:100%;border-radius:999px 0 0 999px;background:linear-gradient(90deg,var(--bull-line),#16A34A);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.flow-bar-labels{display:flex;justify-content:space-between;font-size:10.5px;margin-top:5px}
/* Mini stat strip */
.sess-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.ss-cell{background:#FAFBFF;border:1px solid var(--line2);border-radius:9px;padding:7px 10px;text-align:center}
.ss-lbl{display:block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);margin-bottom:2px}
.ss-val{display:block;font-family:var(--nm);font-size:12.5px;font-weight:700;color:var(--ink2)}
.sess-chart-head{font-family:var(--dp);font-weight:700;font-size:11.5px;color:var(--ink2);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.sess-legend{display:flex;gap:14px;margin-bottom:6px}
.sess-legend b{font-size:10.5px;font-weight:600;color:var(--ink2);display:flex;align-items:center;gap:5px}
.sess-legend b i{width:10px;height:10px;border-radius:3px;display:inline-block}
.sess-divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:0}
.sess-bot{padding:14px 18px 16px}
.sess-bot-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-family:var(--dp);font-weight:700;font-size:12.5px;color:var(--ink2)}
.strike-spot-pill{font-family:var(--nm);font-size:11px;font-weight:700;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:3px 10px;border-radius:999px;white-space:nowrap}
.strike-ts{font-size:10px;color:var(--faint);font-weight:600;margin-left:auto}
/* Strike box grid */
/* ── Strike zone new layout ── */
.strike-empty-box{text-align:center;color:var(--faint);font-size:13px;padding:28px 16px;display:flex;align-items:center;justify-content:center;gap:10px;background:#FAFBFF;border-radius:11px;border:1.5px dashed var(--line)}
.strike-empty-box i{font-size:26px;color:#C7D2FE}
.sz-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.sz-col-head{font-family:var(--dp);font-weight:700;font-size:11.5px;padding:7px 12px;border-radius:9px 9px 0 0;display:flex;align-items:center;gap:6px;letter-spacing:.02em}
.buy-head{background:linear-gradient(135deg,#DCFCE7,#F0FDF4);color:var(--bull);border:1px solid #86EFAC}
.sell-head{background:linear-gradient(135deg,#FEE2E2,#FFF1F1);color:var(--bear);border:1px solid #FCA5A5}
/* Strike row item */
.sz-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line2);border-top:none;background:#FCFDFF;transition:.12s}
.sz-row:last-child{border-radius:0 0 9px 9px}
.sz-row:hover{background:#F8F9FE}
.sz-row.sz-nearest{background:linear-gradient(135deg,#F3F0FF,#FAFBFF)!important;border-color:#C4B5FD!important}
.sz-row.sz-max-buy{background:linear-gradient(135deg,#DCFCE7,#F0FDF4)!important;border-color:#22C55E!important;box-shadow:inset 3px 0 0 #16A34A}
.sz-row.sz-max-sell{background:linear-gradient(135deg,#FEE2E2,#FFF1F1)!important;border-color:#EF4444!important;box-shadow:inset 3px 0 0 #DC2626}
.sz-max-tag{font-size:8px;font-weight:800;padding:2px 7px;border-radius:999px;margin-left:4px;letter-spacing:.04em}
.sz-max-tag.buy{background:#16A34A;color:#fff}
.sz-max-tag.sell{background:#DC2626;color:#fff}
.sz-rank{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0}
.sz-rank.r-buy{background:var(--bull-bg);color:var(--bull)}
.sz-rank.r-sell{background:var(--bear-bg);color:var(--bear)}
.sz-strike-num{font-family:var(--nm);font-weight:700;font-size:13.5px;color:var(--ink);flex:1}
.sz-near-tag{font-size:8.5px;font-weight:800;color:var(--brand2);background:#EDE9FE;padding:2px 6px;border-radius:999px;letter-spacing:.04em}
.sz-dist-tag{font-size:8.5px;font-weight:700;color:var(--muted);background:#F1F4FB;padding:2px 6px;border-radius:999px;margin-left:3px}
.sz-pos-tag{font-size:8px;font-weight:700;padding:2px 6px;border-radius:999px;margin-left:3px}
.sz-below{background:#DCFCE7;color:#16A34A}
.sz-above{background:#FEE2E2;color:#DC2626}
.sz-amount{font-family:var(--nm);font-weight:700;font-size:13px}
.sz-amount.buy{color:var(--bull)} .sz-amount.sell{color:var(--bear)}
.sz-bar-wrap{width:50px;flex-shrink:0}
.sz-mini-bar{height:5px;border-radius:999px;background:#F0F2F8;overflow:hidden}
.sz-mini-fill-buy{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bull-line),#16A34A);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.sz-mini-fill-sell{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bear-line),#DC2626);transition:width .6s cubic-bezier(.2,.8,.2,1)}
/* Time-wise strike graphs (second section) */
.sz-legend-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;background:#FAFBFF;border:1px solid var(--line2);border-radius:10px}
.sz-legend-bar b{font-size:11.5px;font-weight:600;color:var(--ink2);display:flex;align-items:center;gap:6px}
.sz-legend-bar b i{width:12px;height:12px;border-radius:4px;display:inline-block}
.sz-legend-note{font-size:11px;color:var(--faint);display:flex;align-items:center;gap:6px;margin-left:auto}
.sz-legend-note i{color:var(--brand2)}
.strike-graphs-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sg-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 16px;box-shadow:var(--sh);transition:transform .2s,box-shadow .2s}
.sg-card:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}
.sg-card.sg-latest{border-color:#C4B5FD;box-shadow:0 0 0 2px rgba(124,58,237,.12)}
.sg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.sg-time{font-family:var(--dp);font-weight:700;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:7px}
.sg-time i{color:var(--brand2)}
.sg-latest-badge{font-size:9px;font-weight:800;letter-spacing:.05em;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:2px 8px;border-radius:999px}
.sg-meta{display:flex;gap:12px;font-size:10.5px;color:var(--muted);margin-bottom:10px;flex-wrap:wrap}
.sg-meta b{font-family:var(--nm);font-weight:700}
.sg-meta .sg-buy{color:var(--bull)} .sg-meta .sg-sell{color:var(--bear)}
.sg-chart{position:relative;height:180px}
/* Per-panel key strikes (Top Buyer / Top Seller) */
.sg-keys{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.sg-key{border-radius:9px;padding:7px 10px;display:flex;flex-direction:column;gap:1px;border:1px solid var(--line2)}
.sg-key.buy{background:linear-gradient(135deg,#F0FDF4,#fff);border-color:#BBF7D0}
.sg-key.sell{background:linear-gradient(135deg,#FFF1F1,#fff);border-color:#FCA5A5}
.sg-key-lbl{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:4px}
.sg-key.buy .sg-key-lbl{color:var(--bull)}
.sg-key.sell .sg-key-lbl{color:var(--bear)}
.sg-key-strike{font-family:var(--nm);font-size:15px;font-weight:700;color:var(--ink);line-height:1.1}
.sg-key-amt{font-family:var(--nm);font-size:10.5px;font-weight:600;color:var(--muted)}
@media(max-width:860px){.strike-graphs-grid{grid-template-columns:1fr}.sz-legend-note{margin-left:0;width:100%}}
/* Time chart */

/* ════ COLOURED SIDEBAR ICONS (match tabs) ════ */
.nav-ico[data-page="overview"]   i{color:#4338CA}
.nav-ico[data-page="analytics"]  i{color:#7C3AED}
.nav-ico[data-page="strikezone"] i{color:#0D9488}
.nav-ico[data-page="market"]     i{color:#0EA5E9}
.nav-ico[data-page="reputation"] i{color:#F59E0B}
.nav-ico[data-page="reviews"]    i{color:#EC4899}

/* ════ SESSION LIVE DATE/TIME BAR ════ */
.sess-live-bar{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding:9px 16px;font-family:var(--nm);font-size:12px;font-weight:600;
  color:#fff;background:linear-gradient(135deg,#4338CA,#6D28D9,#7C3AED);
  border-radius:14px 14px 0 0;transition:background .4s;
}
.sess-live-bar.is-live{background:linear-gradient(135deg,#059669,#10B981,#16A34A)}
.sess-live-bar.is-closed{background:linear-gradient(135deg,#B91C1C,#DC2626,#E11D48)}
.sess-live-bar i{opacity:.9;font-size:11px}
.sess-live-bar .slb-sep{opacity:.5;margin:0 2px}
.slb-dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:slbPulse 1.6s infinite}
.sess-live-bar.is-closed .slb-dot{animation:none;opacity:.6}
@keyframes slbPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.slb-live{margin-left:auto;font-size:9.5px;font-weight:800;letter-spacing:.08em;background:rgba(255,255,255,.22);padding:2px 9px;border-radius:999px}

/* Admin market-status control */
.mkt-status-ctrl{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:16px;background:linear-gradient(135deg,#F7FAFC,#FAFBFF);border:1px solid var(--line2);border-radius:12px}
.msc-label{font-family:var(--dp);font-weight:700;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:8px}
.msc-label>i{color:var(--brand2)}
.msc-hint{font-size:10.5px;font-weight:500;color:var(--faint)}
.msc-btns{display:flex;gap:6px;flex-wrap:wrap}
.msc-btn{font-family:var(--bd);font-size:12px;font-weight:600;padding:7px 13px;border-radius:9px;border:1.5px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;transition:.15s;display:flex;align-items:center;gap:6px}
.msc-btn i{font-size:8px}
.msc-btn[data-status="auto"] i{font-size:11px}
.msc-btn:hover{border-color:var(--brand)}
.msc-btn[data-status="live"].active{background:#ECFDF5;border-color:#10B981;color:#059669}
.msc-btn[data-status="live"].active i{color:#10B981}
.msc-btn[data-status="closed"].active{background:#FEF2F2;border-color:#EF4444;color:#DC2626}
.msc-btn[data-status="closed"].active i{color:#EF4444}
.msc-btn[data-status="auto"].active{background:#EEF2FF;border-color:var(--brand);color:var(--brand)}
