/* ═══════════════════════════════════════════════════════════════
   UNIFIED TRADING DASHBOARD — Shared Styles

   ═══════════════════════════════════════════════════════════════ */
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden}
:root{
}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--txt);min-height:100vh;min-height:100dvh;display:flex}
/* NOBLEMARKPO styles removed */
/* ═══ SIDEBAR ═══ */
.sb{width:240px;min-height:100vh;min-height:100dvh;background:var(--bg2);border-right:1px solid var(--brd);position:fixed;top:0;left:0;z-index:100;display:flex;flex-direction:column;padding:20px 0;overflow-y:auto}
.sb-logo{padding:0 20px 20px;border-bottom:1px solid var(--brd);margin-bottom:8px}
.sb-logo h1{font-size:17px;font-weight:800;background:linear-gradient(135deg,#8B5CF6,#06B6D4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.sb-logo span{font-size:11px;color:var(--txt3);display:block;margin-top:3px}
.sb-section{padding:6px 16px;font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:1px;margin-top:10px}
.nav-i{display:flex;align-items:center;gap:12px;padding:10px 20px;cursor:pointer;color:var(--txt2);font-size:13px;font-weight:500;transition:all .15s;border-left:3px solid transparent;text-decoration:none}
.nav-i:hover{color:var(--txt);background:rgba(255,255,255,.02)}
.nav-i.active{color:var(--txt);background:var(--pur-bg);border-left-color:var(--pur)}
.nav-i svg{width:18px;height:18px;flex-shrink:0}
.nav-i .nav-text{white-space:nowrap}
.sb-foot{padding:12px 20px;border-top:1px solid var(--brd);font-size:10px;color:var(--txt3);margin-top:auto}

/* ═══ MAIN ═══ */
.mn{margin-left:240px;flex:1;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}

/* ═══ BALANCE BAR (copytrade only) ═══ */
.bal-bar{display:flex;gap:24px;padding:14px 28px;background:var(--bg2);border-bottom:1px solid var(--brd);flex-wrap:wrap;align-items:center}
.bal-bar.hidden{display:none}
.bal-item{display:flex;flex-direction:column;gap:2px}
.bal-item .bl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--txt3)}
.bal-item .bv{font-size:15px;font-weight:700}
.bal-item .bv.g{color:var(--grn)}.bal-item .bv.r{color:var(--red)}
.bal-sep{width:1px;height:32px;background:var(--brd)}
.bal-right{margin-left:auto;display:flex;align-items:center;gap:12px}

/* ═══ TOPBAR ═══ */
.topbar{padding:14px 28px;border-bottom:1px solid var(--brd);display:flex;justify-content:space-between;align-items:center;background:var(--bg2)}
.topbar h2{font-size:18px;font-weight:700}
.topbar-r{display:flex;align-items:center;gap:12px}

/* ═══ CONTENT ═══ */
.content{padding:20px 28px;flex:1}

/* ═══ BUTTONS ═══ */
.btn{padding:7px 16px;border:none;border-radius:8px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.btn-p{background:var(--pur);color:#fff}.btn-p:hover{background:#7C3AED}
.btn-s{background:var(--card);color:var(--txt2);border:1px solid var(--brd)}.btn-s:hover{border-color:var(--brd-a);color:var(--txt)}
.btn-sm{padding:5px 12px;font-size:11px}
.btn svg{width:14px;height:14px}

/* ═══ LANG SWITCH ═══ */
.lang-sw{display:flex;gap:3px;background:var(--card);border:1px solid var(--brd);border-radius:6px;padding:2px}
.lang-b{padding:3px 8px;border:none;border-radius:5px;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;background:transparent;color:var(--txt3);transition:all .15s}
.lang-b.active{background:var(--pur);color:#fff}

/* ═══ FILTERS ═══ */
.filters{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.filters label{font-size:12px;color:var(--txt3);font-weight:500}
input[type="date"],select{background:var(--card);border:1px solid var(--brd);color:var(--txt);padding:6px 10px;border-radius:6px;font-size:12px;font-family:inherit}
input[type="date"]:focus,select:focus{outline:none;border-color:var(--pur)}

/* ═══ KPI ROW ═══ */
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}
.kpi{border-radius:14px;padding:18px;position:relative;overflow:hidden;border:1px solid var(--brd);background:var(--card);transition:border-color .2s}
.kpi:hover{border-color:var(--brd-a)}
.kpi .k-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.kpi .k-icon svg{width:18px;height:18px}
.kpi .k-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--txt3);margin-bottom:6px}
.kpi .k-val{font-size:24px;font-weight:800;line-height:1.1}
.kpi .k-sub{font-size:11px;color:var(--txt3);margin-top:5px;display:flex;align-items:center;gap:4px}
.kpi .k-sub .up{color:var(--grn)}.kpi .k-sub .dn{color:var(--red)}

/* ═══ PROMO BANNER ═══ */
.promo-banner{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(139,92,246,.04));border:1px solid rgba(139,92,246,.2);border-radius:14px;padding:14px 20px;margin-bottom:18px;text-decoration:none;color:var(--txt);transition:border-color .2s,box-shadow .2s,transform .15s}
.promo-banner:hover{border-color:rgba(139,92,246,.4);box-shadow:0 4px 24px rgba(139,92,246,.12);transform:translateY(-1px)}
.promo-banner--grn{background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(16,185,129,.04));border-color:rgba(16,185,129,.2)}
.promo-banner--grn:hover{border-color:rgba(16,185,129,.4);box-shadow:0 4px 24px rgba(16,185,129,.12)}
.promo-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--pur-bg);color:var(--pur);display:flex;align-items:center;justify-content:center}
.promo-banner--grn .promo-icon{background:var(--grn-bg);color:var(--grn)}
.promo-text{flex:1;font-size:13px;color:var(--txt2);line-height:1.4}
.promo-text strong{color:var(--txt);font-weight:700}
.promo-cta{flex-shrink:0;font-size:12px;font-weight:600;padding:8px 18px;border-radius:8px;background:var(--pur);color:#fff;white-space:nowrap;transition:opacity .2s}
.promo-banner--grn .promo-cta{background:var(--grn)}
.promo-banner:hover .promo-cta{opacity:.9}
@media(max-width:640px){
  .promo-banner{flex-wrap:wrap;gap:10px;padding:12px 14px}
  .promo-text{font-size:12px;flex-basis:calc(100% - 50px)}
  .promo-cta{width:100%;text-align:center;padding:10px;font-size:13px}
}

/* ═══ CARDS ═══ */
.card{background:var(--card);border:1px solid var(--brd);border-radius:14px;padding:20px;margin-bottom:18px;transition:border-color .2s,box-shadow .2s}
.card:hover{border-color:var(--brd-a);box-shadow:0 4px 24px rgba(0,0,0,.15)}
.card-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.card h3{font-size:12px;font-weight:600;color:var(--txt2);text-transform:uppercase;letter-spacing:.5px}
.card .card-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:20px;background:var(--pur-bg);color:var(--pur)}

/* ═══ CHART CONTAINERS ═══ */
[id^="ctChart"],[id^="nChart"]{min-height:220px;transition:opacity .3s ease}

/* ═══ GRID ═══ */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.g23{display:grid;grid-template-columns:2fr 1fr;gap:18px}
.g32{display:grid;grid-template-columns:1fr 2fr;gap:18px}

/* ═══ TABLE ═══ */
.tbl{width:100%;border-collapse:collapse}
.tbl th{background:rgba(55,65,81,.3);padding:10px 12px;text-align:left;font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px;font-weight:600;position:sticky;top:0}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--brd);font-size:12px}
.tbl tr:hover{background:rgba(255,255,255,.015)}
.tbl .pos{color:var(--grn)}.tbl .neg{color:var(--red)}
.tbl-wrap{overflow-x:auto;max-height:500px;overflow-y:auto;border-radius:10px;border:1px solid var(--brd)}

/* ═══ PAGES ═══ */
.page{display:none}.page.active{display:block}
.section{display:none}.section.active{display:block}

/* ═══ SECTION DIVIDERS (within merged pages) ═══ */
.sec-divider{display:flex;align-items:center;gap:12px;margin:28px 0 18px;padding:0}
.sec-divider span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--pur);white-space:nowrap}
.sec-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--brd-a),transparent)}

/* ═══ BADGES ═══ */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600}
.badge-g{background:var(--grn-bg);color:var(--grn)}
.badge-r{background:var(--red-bg);color:var(--red)}
.badge-p{background:var(--pur-bg);color:var(--pur)}
.badge-b{background:var(--blu-bg);color:var(--blu)}

/* ═══ COMPARE ═══ */
.compare-header{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:end}
.period-box{background:var(--card);border:1px solid var(--brd);border-radius:10px;padding:14px 18px;flex:1;min-width:200px}
.period-box h4{font-size:12px;font-weight:600;color:var(--txt3);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}
.period-select{width:100%;padding:8px 12px;background:var(--bg);color:var(--txt);border:1px solid var(--brd);border-radius:8px;font-size:13px;font-family:inherit;cursor:pointer}
.period-select option{background:var(--card);color:var(--txt)}
.compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.c-card{background:var(--card);border:1px solid var(--brd);border-radius:12px;padding:20px}
.c-card h3{font-size:14px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--brd)}
.c-card .c-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(55,65,81,.3);font-size:13px}
.c-card .c-label{color:var(--txt2)}
.c-card .c-value{font-weight:600}
.delta-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;margin-left:8px}
.delta-up{background:var(--grn-bg);color:var(--grn)}
.delta-down{background:var(--red-bg);color:var(--red)}

/* ═══ SETUP SCREEN ═══ */
.setup{max-width:600px;margin:80px auto;text-align:center;padding:40px}
.setup h2{font-size:24px;font-weight:800;margin-bottom:12px;background:linear-gradient(135deg,var(--pur),var(--cyn));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.setup p{color:var(--txt2);font-size:14px;line-height:1.7;margin-bottom:20px}
.setup .steps{text-align:left;background:var(--card);border:1px solid var(--brd);border-radius:12px;padding:24px;margin-top:20px}
.setup .steps li{color:var(--txt2);font-size:13px;margin-bottom:12px;padding-left:8px}
.setup .steps code{background:var(--bg);padding:2px 6px;border-radius:4px;font-size:12px;color:var(--amb)}

/* ═══ LOADING ═══ */
.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--txt3)}
.spinner{width:24px;height:24px;border:3px solid var(--brd);border-top-color:var(--pur);border-radius:50%;animation:spin .6s linear infinite;margin-right:10px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ═══ EMPTY STATE ═══ */
.empty-state{text-align:center;padding:60px 20px;color:var(--txt3)}
.empty-state svg{width:48px;height:48px;margin-bottom:16px;opacity:.3}
.empty-state p{font-size:14px}

/* ═══ MOBILE TOP BAR ═══ */
.m-top{display:none;position:fixed;top:0;left:0;right:0;z-index:200;background:var(--bg2);border-bottom:1px solid var(--brd);padding:10px 14px;align-items:center;justify-content:space-between}
.m-top h1{font-size:15px;font-weight:800;background:linear-gradient(135deg,var(--pur),var(--cyn));-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ═══ MOBILE BOTTOM NAV ═══ */
.b-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg2);border-top:1px solid var(--brd);padding:4px 0 env(safe-area-inset-bottom,4px)}
.b-nav-in{display:flex;justify-content:space-around;align-items:center}
.bnav{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 6px;cursor:pointer;color:var(--txt3);font-size:9px;font-weight:500;transition:color .15s;-webkit-tap-highlight-color:transparent;text-decoration:none}
.bnav svg{width:20px;height:20px}
.bnav.active{color:var(--pur)}

/* ═══ SECTION TABS (mobile) ═══ */
.sec-tabs{display:none;position:fixed;top:44px;left:0;right:0;z-index:199;background:var(--bg2);border-bottom:1px solid var(--brd);padding:0 12px}
.sec-tabs-in{display:flex;gap:0}
.sec-tab{flex:1;padding:10px;text-align:center;font-size:12px;font-weight:700;color:var(--txt3);cursor:pointer;border-bottom:2px solid transparent;letter-spacing:.5px;transition:all .15s}
.sec-tab.active{color:var(--pur);border-bottom-color:var(--pur)}

/* ═══ TABLET ═══ */
@media(max-width:1024px){
.sb{width:60px}.sb .nav-text,.sb-logo span,.sb-foot,.sb-section{display:none}
.sb-logo{padding:0 10px 16px}.sb-logo h1{font-size:12px;text-align:center}
.nav-i{padding:12px 0;justify-content:center;gap:0;border-left:none}
.mn{margin-left:60px}.topbar{padding:12px 18px}.content{padding:16px 18px}
.g2,.g3,.g23,.g32,.compare-cards{grid-template-columns:1fr}
.kpi-row{grid-template-columns:repeat(3,1fr)}
.bal-bar{padding:10px 18px;gap:16px}
}

/* ═══ MOBILE ═══ */
@media(max-width:640px){
body{padding-top:88px;padding-bottom:calc(60px + env(safe-area-inset-bottom, 0px));overflow-x:hidden}.sb{display:none}
.m-top{display:flex}.b-nav{display:block}.sec-tabs{display:block}
.mn{margin-left:0;max-width:100vw;overflow-x:hidden}.topbar{display:none}.content{padding:12px}
.bal-bar{padding:8px 12px;gap:8px 10px;font-size:12px;justify-content:center}
.bal-item{min-width:0;flex:1;text-align:center}
.bal-item .bl{font-size:9px}.bal-item .bv{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bal-sep{display:none}
.bal-right{margin-left:0;width:100%;justify-content:center;gap:10px;padding-top:4px;border-top:1px solid var(--brd)}
.kpi-row{grid-template-columns:repeat(2,1fr);gap:10px}
.kpi{padding:14px}.kpi .k-val{font-size:20px}.kpi .k-icon{width:30px;height:30px;margin-bottom:8px}
.g2,.g3,.g23,.g32,.compare-cards{grid-template-columns:1fr;gap:12px}
.card{padding:14px;margin-bottom:12px;border-radius:10px;overflow:hidden}
[id^="ctChart"],[id^="nChart"]{max-width:100%;overflow:hidden}
.filters{gap:6px;flex-direction:column}.filters label{display:none}
.filters input[type="date"],.filters select{width:100%;padding:10px 12px}
.btn{width:100%;justify-content:center;padding:10px}
.tbl-wrap{margin:0 -14px;border-radius:0;-webkit-overflow-scrolling:touch}
.tbl td{padding:8px 10px;font-size:11px;white-space:nowrap}
.tbl th{padding:8px 10px;font-size:9px}
.compare-header{flex-direction:column}
}

@media(max-width:380px){.kpi-row{grid-template-columns:1fr}.content{padding:10px}}

/* ═══ PERIOD PICKER ═══ */
.period-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:10px 14px;background:var(--card);border:1px solid var(--brd);border-radius:12px;flex-wrap:wrap}
.pp-btns{display:flex;gap:4px;flex-wrap:wrap}
.pp-btn{padding:6px 14px;border:1px solid var(--brd);background:transparent;color:var(--txt2);font-family:inherit;font-size:12px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s}
.pp-btn:hover{color:var(--txt);border-color:var(--brd-a)}
.pp-btn.active{background:var(--pur);border-color:var(--pur);color:#fff}
.pp-range{font-size:11px;color:var(--txt3);font-weight:500}
.pp-range strong{color:var(--txt2);font-weight:600}
@media(max-width:640px){.period-picker{padding:8px 10px;gap:6px}.pp-btn{padding:5px 10px;font-size:11px}.pp-range{font-size:10px;width:100%;text-align:center}}

/* ═══ CALENDAR HEATMAP ═══ */
.cal-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.cal-heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,14px);gap:3px;padding:4px 2px;min-width:max-content}
.cal-cell{width:14px;height:14px;border-radius:3px;background:rgba(148,163,184,.08);position:relative;cursor:pointer;transition:transform .1s}
.cal-cell:hover{transform:scale(1.4);z-index:2;outline:1px solid var(--txt);outline-offset:1px}
.cal-cell.cl-loss3{background:#7F1D1D}
.cal-cell.cl-loss2{background:#B91C1C}
.cal-cell.cl-loss1{background:#DC2626;opacity:.65}
.cal-cell.cl-zero{background:rgba(148,163,184,.08)}
.cal-cell.cl-win1{background:#10B981;opacity:.45}
.cal-cell.cl-win2{background:#10B981;opacity:.75}
.cal-cell.cl-win3{background:#059669}
.cal-cell[data-empty="1"]{background:transparent;pointer-events:none}
.cal-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:10px;font-size:10px;color:var(--txt3);letter-spacing:.3px}
.cl-sw{width:11px;height:11px;border-radius:2px;display:inline-block}
.cl-sw.cl-loss3{background:#7F1D1D}
.cl-sw.cl-loss2{background:#B91C1C}
.cl-sw.cl-loss1{background:#DC2626;opacity:.65}
.cl-sw.cl-zero{background:rgba(148,163,184,.12)}
.cl-sw.cl-win1{background:#10B981;opacity:.45}
.cl-sw.cl-win2{background:#10B981;opacity:.75}
.cl-sw.cl-win3{background:#059669}
.cal-tooltip{position:fixed;padding:6px 10px;background:#1a2338;border:1px solid var(--brd-a);border-radius:6px;font-size:11px;color:var(--txt);white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.cal-tooltip .ct-d{color:var(--txt3);font-size:10px}
.cal-month-labels{display:grid;grid-auto-flow:column;grid-auto-columns:17px;font-size:9px;color:var(--txt3);padding-left:2px;margin-bottom:2px;min-width:max-content}
/* ─── YEAR CALENDAR ─── */
.ycal-wrap{padding:6px 4px 4px}
.ycal-grid{display:flex;gap:6px;width:100%}
.ycal-month{flex:1;min-width:0;display:flex;flex-direction:column}
.ycal-mname{font-size:9px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;text-align:center;white-space:nowrap}
.ycal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px}
.ycal-dow{font-size:6px;color:rgba(148,163,184,.4);text-align:center;font-weight:600;padding:1px 0}
.ycal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.ycal-day{aspect-ratio:1;width:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:600;cursor:pointer;transition:transform .12s,box-shadow .12s;position:relative;box-sizing:border-box;user-select:none;min-width:0}
.ycal-day:hover:not(.ycal-empty){transform:scale(1.35);z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.ycal-day.ycal-win{background:#10B981;color:#fff}
.ycal-day.ycal-loss{background:#EF4444;color:#fff}
.ycal-day.ycal-nodata{background:rgba(148,163,184,.18);color:rgba(148,163,184,.45)}
.ycal-day.ycal-future{background:transparent;border:1px solid rgba(148,163,184,.15);color:rgba(148,163,184,.25)}
.ycal-day.ycal-empty{background:transparent;pointer-events:none;visibility:hidden}
.ycal-legend{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:10px;color:var(--txt3);justify-content:flex-end}
.ycal-legend-item{display:flex;align-items:center;gap:4px}
.ycal-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}
.ycal-dot.ycal-win{background:#10B981}
.ycal-dot.ycal-loss{background:#EF4444}
.ycal-dot.ycal-nodata{background:rgba(148,163,184,.2);border:1px solid rgba(148,163,184,.3)}
.ycal-dot.ycal-future{background:transparent;border:1px solid rgba(148,163,184,.3)}

/* ═══ HELP TOOLTIPS ═══ */
.help-ic{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:6px;border-radius:50%;background:rgba(148,163,184,.18);color:var(--txt3);font-size:9px;font-weight:700;cursor:help;vertical-align:middle;user-select:none;transition:background .15s,color .15s}
.help-ic:hover,.help-ic:focus{background:var(--pur-bg);color:var(--pur)}
.card-h h3 .help-ic{margin-left:8px;text-transform:none;letter-spacing:0}
.help-tip{position:fixed;max-width:320px;padding:12px 14px;background:#1a2338;border:1px solid var(--brd-a);border-radius:8px;font-size:12px;line-height:1.5;color:var(--txt2);z-index:2000;box-shadow:0 8px 28px rgba(0,0,0,.5);pointer-events:auto}
.help-tip.pinned{border-color:var(--pur);box-shadow:0 8px 28px rgba(139,92,246,.25)}
.help-tip-title{font-size:11px;font-weight:700;color:var(--txt);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
@media(max-width:640px){.help-tip{max-width:calc(100vw - 24px)}}

/* ═══ R-MULTIPLES LEGEND ═══ */
.rm-legend{display:flex;justify-content:space-around;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--brd);flex-wrap:wrap}
.rm-legend-item{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--txt3);gap:2px}
.rm-legend-item strong{font-size:14px;color:var(--txt);font-weight:700}
.rm-legend-item .rm-sub{font-size:10px}
@media(max-width:640px){.rm-legend{gap:6px}.rm-legend-item{font-size:10px}.rm-legend-item strong{font-size:12px}}

/* ═══ YEAR CALENDAR — MOBILE OVERRIDE (must be last to override base styles above) ═══ */
@media(max-width:640px){
.ycal-wrap{overflow-x:hidden}
.ycal-grid{display:grid !important;grid-template-columns:repeat(3,1fr);gap:10px 6px}
.ycal-month{flex:none}
.ycal-mname{font-size:8px}
.ycal-day{font-size:6px}
.ycal-dow{font-size:5px}
.ycal-legend{flex-wrap:wrap;gap:6px;justify-content:center}
}

/* ═══ SUBSCRIBER CALCULATOR ═══ */
.sb-calc-group{margin-top:18px;border-top:1px solid var(--brd);padding-top:8px}
.sb-calc-group .sb-section{color:var(--amb)}

/* Hero intro */
.calc-hero{display:flex;align-items:center;gap:18px;margin-bottom:22px;padding:22px 26px;background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(6,182,212,.06));border:1px solid rgba(139,92,246,.22);border-radius:16px}
.calc-hero-txt{flex:1;min-width:0}
.calc-hero-txt h2{font-size:22px;font-weight:800;margin-bottom:6px;background:linear-gradient(135deg,var(--pur),var(--cyn));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.calc-hero-txt p{font-size:13px;color:var(--txt2);line-height:1.55}
.calc-hero-emoji{font-size:52px;line-height:1;flex-shrink:0}
@media(max-width:640px){
  .calc-hero{padding:16px 18px;gap:12px}
  .calc-hero-txt h2{font-size:18px}
  .calc-hero-txt p{font-size:12px}
  .calc-hero-emoji{font-size:38px}
}

/* Controls card */
.calc-controls{display:flex;flex-direction:column;gap:20px}
.calc-field{display:flex;flex-direction:column;gap:10px}
.calc-field > label{font-size:11px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.8px}

/* Account toggle */
.calc-toggle{display:inline-flex;gap:4px;background:var(--bg);border:1px solid var(--brd);border-radius:10px;padding:4px;align-self:flex-start;flex-wrap:wrap}
.calc-toggle-b{padding:9px 22px;border:none;background:transparent;color:var(--txt2);font-family:inherit;font-size:13px;font-weight:700;border-radius:7px;cursor:pointer;transition:all .15s;letter-spacing:.5px}
.calc-toggle-b:hover{color:var(--txt)}
.calc-toggle-b.active{background:var(--pur);color:#fff;box-shadow:0 2px 10px rgba(139,92,246,.35)}

/* Deposit input */
.calc-input-row{display:flex;align-items:center;gap:8px;background:var(--bg);border:1.5px solid var(--brd);border-radius:12px;padding:4px 16px;transition:border-color .15s;max-width:320px}
.calc-input-row:focus-within{border-color:var(--pur)}
.calc-cur{font-size:22px;font-weight:700;color:var(--txt3)}
.calc-input-big{flex:1;background:transparent;border:none;color:var(--txt);font-size:26px;font-weight:800;font-family:inherit;padding:10px 0;width:100%;min-width:0;outline:none;-moz-appearance:textfield}
.calc-input-big::-webkit-outer-spin-button,.calc-input-big::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.calc-unit{font-size:11px;font-weight:700;color:var(--txt3);letter-spacing:1px}

.calc-presets{display:flex;gap:6px;flex-wrap:wrap}
.calc-preset{padding:6px 14px;background:var(--bg);border:1px solid var(--brd);border-radius:8px;color:var(--txt2);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.calc-preset:hover{color:var(--txt);border-color:var(--brd-a)}
.calc-preset.active{background:var(--pur-bg);border-color:var(--pur);color:var(--pur)}

/* Slider */
.calc-slider{-webkit-appearance:none;appearance:none;width:100%;max-width:480px;height:6px;background:var(--bg);border-radius:3px;outline:none;cursor:pointer;margin-top:4px}
.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--pur);border-radius:50%;cursor:pointer;border:2px solid var(--card);box-shadow:0 2px 8px rgba(139,92,246,.4);transition:transform .12s}
.calc-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}
.calc-slider::-moz-range-thumb{width:18px;height:18px;background:var(--pur);border-radius:50%;cursor:pointer;border:2px solid var(--card);box-shadow:0 2px 8px rgba(139,92,246,.4)}

/* Period selector */
.calc-period{display:flex;gap:6px;flex-wrap:wrap}
.calc-per{padding:7px 16px;background:var(--bg);border:1px solid var(--brd);border-radius:8px;color:var(--txt2);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.calc-per:hover{color:var(--txt);border-color:var(--brd-a)}
.calc-per.active{background:var(--pur);border-color:var(--pur);color:#fff}

.calc-range{font-size:11px;color:var(--txt3);padding:2px 0}
.calc-range strong{color:var(--txt2);font-weight:600}

/* Result hero */
.calc-result{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(16,185,129,.02));border:1px solid rgba(16,185,129,.22);border-radius:16px;padding:28px 32px;margin-bottom:18px;text-align:center;transition:all .25s}
.calc-result-label{font-size:12px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.calc-result-big{font-size:54px;font-weight:800;line-height:1;letter-spacing:-1px;margin-bottom:10px}
.calc-result-big.pos{color:var(--grn)}
.calc-result-big.neg{color:var(--red)}
.calc-result-sub{font-size:14px;color:var(--txt2);display:flex;gap:10px;justify-content:center;flex-wrap:wrap;align-items:center;font-weight:500}
.calc-result-sub .pos{color:var(--grn);font-weight:700}
.calc-result-sub .neg{color:var(--red);font-weight:700}
.calc-result-sub .calc-sep{color:var(--txt3);opacity:.5}
.calc-result-loading,.calc-result-empty{font-size:14px;color:var(--txt3);padding:30px 20px}
@media(max-width:640px){
  .calc-result{padding:20px 16px}
  .calc-result-big{font-size:38px}
  .calc-result-sub{font-size:12px;gap:6px}
}

/* Calculator KPIs */
.calc-kpis .kpi{transition:transform .15s}
.calc-kpis .kpi:hover{transform:translateY(-2px)}
.calc-kpis .k-val.pos{color:var(--grn)}
.calc-kpis .k-val.neg{color:var(--red)}

#kChartEquity,#kChartDaily{min-height:220px}
#kWeeklyTable td:first-child{font-family:'SF Mono',Consolas,monospace;font-size:12px;color:var(--txt2)}
#kWeeklyTable .pos{color:var(--grn)}
#kWeeklyTable .neg{color:var(--red)}

/* Education block */
.calc-edu{background:linear-gradient(135deg,rgba(59,130,246,.04),transparent)}
.calc-edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:4px}
.calc-edu-step{padding:16px;background:var(--bg);border:1px solid var(--brd);border-radius:12px;position:relative;transition:border-color .2s}
.calc-edu-step:hover{border-color:var(--brd-a)}
.calc-edu-num{position:absolute;top:-10px;left:14px;width:24px;height:24px;border-radius:50%;background:var(--pur);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;box-shadow:0 2px 8px rgba(139,92,246,.35)}
.calc-edu-title{font-size:13px;font-weight:700;color:var(--txt);margin:6px 0 8px;padding-top:4px}
.calc-edu-txt{font-size:12px;color:var(--txt2);line-height:1.55}
.calc-edu-txt b{color:var(--pur);font-weight:600}
@media(max-width:640px){
  .calc-edu-grid{grid-template-columns:1fr;gap:14px}
  .calc-edu-step{padding:14px}
}

/* ═══ TELEGRAM WEBVIEW BANNER ═══ */
.tg-banner{position:fixed;top:0;left:0;right:0;z-index:300;background:linear-gradient(135deg,#7C3AED,#2563EB);color:#fff;padding:9px 14px;display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.4;box-shadow:0 2px 12px rgba(0,0,0,.4)}
.tg-banner span{flex:1;min-width:0}
.tg-banner-close{flex-shrink:0;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.25);color:#fff;padding:5px 12px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:background .15s}
.tg-banner-close:hover{background:rgba(255,255,255,.3)}

