:root{
  /* Light Editorial — matches the Market Movers card */
  --bg:#ffffff; --panel:#ffffff; --panel2:#f5f7f9; --line:#e2e8ee;
  --ink:#141a1f; --muted:#5b6b7a; --teal:#0d9488; --teal-d:#0b7a70;
  --up:#128a4b; --down:#c0392b; --chip:#eef2f6; --input:#ffffff;

  /* Type scale — harvested from the sizes already in use across the app, not a
     from-scratch scale, so adopting it doesn't cause a visual redesign on its own. */
  --fs-2xs:10px; --fs-xs:11px; --fs-sm:12px; --fs-base:13px;
  --fs-md:15px; --fs-lg:20px; --fs-xl:26px; --fs-2xl:32px;
  /* Spacing scale — same principle: matches common existing padding/gap values. */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:26px; --space-7:32px;
  /* Radius scale */
  --radius-sm:8px; --radius-md:10px; --radius-lg:16px;
}
:root[data-theme="dark"]{
  --bg:#0f1413; --panel:#161d1c; --panel2:#1b2321; --line:#2a3532;
  --ink:#e7ede9; --muted:#93a29c; --teal:#2fc9ab; --teal-d:#28a98f;
  --up:#3ecf7e; --down:#e0685c; --chip:#20302b; --input:#1b2321;
  --good-bg:#16301f; --good-fg:#3ecf7e; --bad-bg:#3a1f1c; --bad-fg:#e0685c;
  --warn-bg:#3a2f14; --warn-fg:#e0a83c; --neutral-bg:#22302c; --neutral-fg:#a9bab3;
  --info-bg:#173330; --info-fg:#2fc9ab; --special-bg:#2c1f38; --special-fg:#c48ce0;
}
:root{
  /* Soft "status badge" pairs (pastel bg + saturated text) — these replace ~30
     near-duplicate hardcoded hex pairs that were scattered one-off per badge
     class (.sc-grade, .vd-verdict, .mfm-chip, .oc-tag, .pf-badge, etc.), none of
     which adapted for dark mode on their own. */
  --good-bg:#e7f5ec; --good-fg:#1a8f5a; --bad-bg:#fdecec; --bad-fg:#c23b3b;
  --warn-bg:#fdf2df; --warn-fg:#9c6a12; --neutral-bg:#eef1f4; --neutral-fg:#5f7486;
  --info-bg:#e7f3f2; --info-fg:#177f7c; --special-bg:#f3eef7; --special-fg:#8e44ad;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);transition:background-color .15s,color .15s;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.hidden{display:none!important}
button{cursor:pointer;font-family:inherit}

/* ---- auth ---- */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
  background:radial-gradient(1200px 600px at 70% -10%,rgba(43,179,154,.12),transparent)}
.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;
  padding:34px 30px;width:100%;max-width:390px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.brand{font-size:22px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}
.brand-emblem{height:38px}
.brand-sub{color:var(--muted);font-size:13px;margin:4px 0 22px}
.tabs{display:flex;gap:8px;margin-bottom:18px}
.tab{flex:1;background:transparent;border:1px solid var(--line);color:var(--muted);
  padding:9px;border-radius:10px;font-weight:600}
.tab.active{background:var(--chip);color:var(--ink);border-color:var(--teal-d)}
#auth-form{display:flex;flex-direction:column;gap:12px}
input{background:var(--input);border:1px solid var(--line);color:var(--ink);
  padding:12px 14px;border-radius:10px;font-size:15px;outline:none;width:100%}
input:focus{border-color:var(--teal)}
/* ---- canonical buttons: .primary (solid, teal) / .ghost (outline) — the other
   outline-style variants (.navbtn, .ghost-btn, .pp-btn) are now aliases of .ghost
   via the comma-grouped selectors below instead of their own separate declaration.
   .up-btn keeps its own (smaller) sizing but shares the same solid-teal hover color.
   Existing class names in the HTML are untouched. */
.primary{background:var(--teal);color:#ffffff;border:none;padding:var(--space-3);border-radius:var(--radius-md);
  font-weight:800;font-size:var(--fs-md);margin-top:4px;cursor:pointer}
.primary:hover,.up-btn:hover{background:#33c7ac}
.err{color:var(--down);font-size:13px;min-height:16px}
.hint{color:var(--muted);font-size:11.5px;text-align:center;margin-top:16px}
.divider{display:flex;align-items:center;text-align:center;color:var(--muted);
  font-size:12px;margin:18px 0 14px}
.divider::before,.divider::after{content:"";flex:1;border-bottom:1px solid var(--line)}
.divider span{padding:0 12px}
#google-wrap{display:flex;flex-direction:column;align-items:center}
#gbtn{display:flex;justify-content:center;min-height:40px}

/* ---- dashboard ---- */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 22px;border-bottom:1px solid var(--line);background:var(--panel);
  position:sticky;top:0;z-index:5}
/* global search now lives inline in the sticky nav, beside "Nifty 5/15m ATM" */
.gsearch{width:220px;max-width:240px;min-width:150px;flex:0 1 220px;margin-left:4px}
.gsearch input{width:100%;padding:8px 14px;border-radius:999px;border:1px solid var(--line);
  background:var(--input);color:var(--ink);font-size:13px;
  /* the border+box-shadow ring is doubled up because a 1px border on a fully-rounded (999px)
     pill anti-aliases away to near-invisible at the left/right tips on some displays — the
     matching box-shadow ring renders solidly there and keeps the border crisp all the way round */
  box-shadow:0 0 0 1px var(--line)}
.gsearch input:focus{outline:none;border-color:var(--teal-d);box-shadow:0 0 0 1px var(--teal-d)}
.gsearch .results{position:fixed;top:auto;left:auto;right:auto;width:260px}
@media(max-width:700px){.gsearch{width:170px;min-width:130px}}
.logo{font-weight:800;font-size:18px;display:flex;align-items:center;gap:9px}
.logo-emblem{height:30px;width:auto;display:block;flex:0 0 auto}
.logo-text{background:linear-gradient(90deg,#128a4b,#c0392b);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;letter-spacing:-.3px}
.status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--muted);display:inline-block}
.dot.open{background:var(--up);box-shadow:0 0 8px var(--up)}
.dot.closed{background:var(--down)}
.clock{margin-left:6px;font-variant-numeric:tabular-nums}
.user{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);
  padding:7px 12px;border-radius:var(--radius-md)}
.ghost:hover{border-color:var(--teal-d)}
.theme-toggle{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:16px;border-radius:50%}

/* ---- Nifty 500 ticker tape ---- */
.ticker{position:sticky;top:57px;z-index:4;background:var(--panel2);border-bottom:1px solid var(--line);
  overflow:hidden;white-space:nowrap;height:0;transition:height .2s}
.ticker.on{height:36px}
.ticker-track{display:inline-block;white-space:nowrap;padding-top:8px;
  animation:tkscroll linear infinite;will-change:transform}
.ticker:hover .ticker-track{animation-play-state:paused}
.tk{display:inline-block;padding:0 18px;font-size:13px;font-variant-numeric:tabular-nums;
  border-right:1px solid var(--line)}
.tk b{font-weight:700;color:var(--ink)}
.tk .tp{color:var(--muted)}
@keyframes tkscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.indices{padding:16px 22px 12px}
.idx-group{margin-bottom:12px}
.idx-label{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--muted);
  text-transform:uppercase;margin:2px 2px 9px;display:flex;align-items:center;gap:6px}
.idx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.icard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.icard .n{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.3px}
.icard .n .unit{font-weight:500;opacity:.75;text-transform:none}
#commodities{padding-top:0}
.icard .p{font-size:23px;font-weight:800;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.icard .c{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}

.panel{margin:6px 22px 22px;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.panel-head h2{margin:0;font-size:16px;display:flex;align-items:center;gap:9px;line-height:1;min-height:22px}
.collap-toggle{cursor:pointer;user-select:none}
.collap-toggle:hover{color:var(--teal)}
.chev{flex:0 0 auto;width:0;height:0;border-left:6px solid currentColor;
  border-top:5px solid transparent;border-bottom:5px solid transparent;
  opacity:.55;transition:transform .15s}
.panel:not(.collapsed) .chev{transform:rotate(90deg)}
.panel.collapsed > *:not(.panel-head){display:none!important}
.panel.collapsed .panel-head{border-bottom:none}
.panel.collapsed .panel-head .search{display:none}   /* keep collapsed header height uniform */
/* Deep Dive: keep the symbol search + Analyse button pinned while scrolling a long result.
   .panel's overflow:hidden (for rounded corners) clips position:sticky, so this one panel opts out. */
#view-deepdive .panel{overflow:visible}
#view-deepdive .panel-head{position:sticky;top:var(--topbar-h,72px);z-index:3;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  background:var(--panel);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.search{position:relative;min-width:240px}
.search input{width:260px}
.results{position:absolute;top:46px;left:0;right:0;background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;overflow:hidden;z-index:9;max-height:320px;overflow-y:auto}
.results div{padding:10px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line)}
.results div:hover{background:var(--chip)}
.results .sym{font-weight:700}.results .nm{color:var(--muted);font-size:12px}

table.quotes{width:100%;border-collapse:collapse}
.quotes th,.quotes td{padding:12px 18px;text-align:left;font-size:14px}
.quotes th{color:var(--muted);font-size:12px;font-weight:600;border-bottom:1px solid var(--line)}
.quotes th.r,.quotes td.r{text-align:right;font-variant-numeric:tabular-nums}
.quotes tbody tr{border-bottom:1px solid var(--line)}
.quotes tbody tr:hover{background:var(--panel2)}
.sym{font-weight:700}
.up{color:var(--up)}.down{color:var(--down)}
.flash-up{animation:fu .7s ease-out}.flash-down{animation:fd .7s ease-out}
@keyframes fu{0%{background:rgba(38,162,105,.30)}100%{background:transparent}}
@keyframes fd{0%{background:rgba(224,87,74,.30)}100%{background:transparent}}
.x{background:transparent;border:none;color:var(--muted);font-size:14px;line-height:1}
.x:hover{color:var(--down)}
.empty{padding:26px;text-align:center;color:var(--muted)}
.foot{color:var(--muted);font-size:11.5px;text-align:center;padding:14px 22px 28px}
/* ---- view nav ---- */
.nav{display:flex;gap:6px;margin-right:auto;margin-left:18px}
.navbtn{background:transparent;border:1px solid var(--line);color:var(--muted);
  padding:7px 14px;border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-base)}
.navbtn.active{background:var(--chip);color:var(--ink);border-color:var(--teal-d)}
.navbtn:hover{color:var(--ink)}

.nav-group{position:relative;display:flex;align-items:center}
.nav-group-toggle{cursor:pointer}
.nav-caret{font-size:10px;margin-left:2px}
.nav-dropdown{position:fixed;z-index:30;display:flex;flex-direction:column;gap:4px;
  min-width:180px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-md);
  background:var(--panel);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.nav-dropdown .navbtn{text-align:left;border-color:transparent}
.nav-dropdown .navbtn:hover{background:var(--chip)}

/* ---- screener family chips ---- */
.folder-strip{display:flex;flex-wrap:wrap;gap:10px;padding:18px 22px 2px}
.folder{background:var(--panel);border:1px solid var(--line);color:var(--ink);
  padding:9px 15px;border-radius:10px;font-size:13px;font-weight:700;letter-spacing:.2px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);cursor:pointer;transition:all .12s}
.folder:hover{border-color:var(--teal-d);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.08)}
.folder.on{background:var(--teal);color:#ffffff;border-color:var(--teal);box-shadow:0 3px 8px rgba(0,0,0,.12)}
.dir-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 22px 0}
.dir{background:var(--panel);border:1px solid var(--line);color:var(--muted);
  padding:7px 14px;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .12s}
.dir:hover{border-color:var(--teal-d);color:var(--ink)}
.dir.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.dir.up.on{background:#128a5b;border-color:#128a5b}
.dir.down.on{background:#c0392b;border-color:#c0392b}
.dir-note{color:var(--muted);font-size:11px;font-style:italic;margin-left:4px}
.fam-strip{display:flex;flex-wrap:wrap;gap:8px;padding:10px 22px 4px;min-height:18px}
.fam-empty{color:var(--muted);font-size:12.5px;font-style:italic;padding:4px 2px}
.scr-sub{font-size:11px;color:var(--teal-d);font-weight:600;margin-top:2px;letter-spacing:.2px}

/* ---- Articles dashboard ---- */
.art-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;
  background:var(--panel-2,rgba(0,0,0,.02));border:1px solid var(--line);border-radius:10px}
.art-form .mini{width:100%}
.art-ta{min-height:90px;resize:vertical;font-family:inherit;line-height:1.5;padding:10px}
.art-form .primary{align-self:flex-start}
.art-item[role="button"]{cursor:pointer}
.art-edit{flex:none;background:var(--panel);border:1px solid var(--line);color:var(--muted);
  font-size:12px;font-weight:600;padding:4px 10px;border-radius:7px;cursor:pointer}
.art-edit:hover{border-color:var(--teal-d);color:var(--teal-d)}
.art-list{display:flex;flex-direction:column}
.art-item{display:flex;align-items:center;gap:11px;padding:11px 6px;border-bottom:1px solid var(--line);
  text-decoration:none;color:inherit}
.art-item:last-child{border-bottom:none}
.art-item:hover{background:var(--panel-2,rgba(0,0,0,.02))}
.art-ico{font-size:18px;flex:none}
.art-main{display:flex;flex-direction:column;min-width:0;flex:1}
.art-title{font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.art-item:hover .art-title{color:var(--teal-d)}
.art-url{font-size:11.5px;color:var(--muted);margin-top:2px}

/* ---- Videos dashboard ---- */
.vid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;padding:4px 2px}
.vid-card{position:relative;display:flex;flex-direction:column}
.vid-thumb{position:relative;display:block;border-radius:10px;overflow:hidden;aspect-ratio:16/9;background:#000}
.vid-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.vid-play{position:absolute;inset:0;margin:auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.55);color:#fff;border-radius:50%;font-size:17px;padding-left:3px;transition:all .12s}
.vid-thumb:hover .vid-play{background:#e23b3b;transform:scale(1.08)}
.vid-meta{display:flex;flex-direction:column;padding:8px 2px 2px}
.vid-title{font-weight:600;font-size:13px;color:var(--ink);text-decoration:none;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vid-title:hover{color:var(--teal-d)}
.vid-when{font-size:11px;color:var(--muted);margin-top:3px}
.vid-del{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.6)!important;color:#fff!important;z-index:2}

/* ---- Article reader modal ---- */
.article-box{max-width:720px;width:92%;max-height:86vh;display:flex;flex-direction:column}
.art-reader{overflow-y:auto;padding:22px 26px 26px}
.art-reader h1{font-size:23px;line-height:1.3;margin:0 0 6px;color:var(--ink);font-weight:700}
.art-rmeta{font-size:12.5px;color:var(--muted);margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.art-rbody p{font-size:15px;line-height:1.7;color:var(--ink);margin:0 0 14px;white-space:pre-wrap}
.art-src-link{display:inline-block;margin-top:6px;color:var(--teal-d);font-weight:600;text-decoration:none}
.art-src-link:hover{text-decoration:underline}
.art-rbody{font-size:16px;line-height:1.7;color:var(--ink)}
.art-rbody h2{font-size:20px;line-height:1.35;margin:30px 0 10px;color:var(--ink)}
.art-rbody h3{font-size:16px;line-height:1.4;margin:22px 0 8px;color:var(--ink)}
.art-rbody ul,.art-rbody ol{margin:0 0 18px;padding-left:24px}
.art-rbody li{margin:7px 0;line-height:1.6}
.art-rbody blockquote{margin:4px 0 22px;padding:13px 16px;border-left:4px solid var(--teal);border-radius:0 9px 9px 0;background:var(--info-bg);color:var(--info-fg);font-weight:600;line-height:1.55}
.article-visuals{display:flex;flex-direction:column;gap:16px;margin:22px 0 30px}
.article-viz{margin:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd;overflow:hidden}
.article-viz figcaption h3{font-size:16px;margin:0 0 4px;color:var(--ink)}
.article-viz figcaption p{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0 0 14px;white-space:normal}
.article-viz svg{display:block;width:100%;height:auto;overflow:visible}
.article-chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 6px;font-size:11.5px;color:#536471}
.article-chart-key{display:inline-flex;align-items:center;gap:6px}
.article-chart-key i{display:inline-block;width:10px;height:10px;border-radius:3px}
.chart-axis{fill:#72808d;font-size:12px}
.chart-label{fill:#344452;font-size:13px;font-weight:650}
.chart-value{fill:#24333f;font-size:13px;font-weight:750}
.chart-zero{stroke:#9aa7b2;stroke-width:1}
.article-flow{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 2px;overflow-x:auto}
.article-flow-node{flex:1 1 0;min-width:100px;padding:10px 8px;border-radius:9px;background:var(--info-bg);color:var(--info-fg);text-align:center;font-size:12px;font-weight:700;line-height:1.35}
.article-flow-arrow{flex:none;color:#7c8a96;font-weight:800}
.article-viz .article-viz-source{font-size:11px;line-height:1.45;color:#788792;margin:12px 0 0;white-space:normal}
.art-rbody .article-source{font-size:13px;line-height:1.45;margin:5px 0;white-space:normal}
.article-source a{color:var(--teal-d);font-weight:650;text-decoration:none}
.article-source a:hover{text-decoration:underline}
@media(max-width:620px){
  .article-box{width:96%;max-height:92vh}
  .art-reader{padding:18px 16px 22px}
  .art-reader h1{font-size:21px}
  .article-viz{padding:12px}
  .article-flow{flex-direction:column;overflow:visible}
  .article-flow-node{width:100%;min-width:0;box-sizing:border-box}
  .article-flow-arrow{transform:rotate(90deg)}
}
.chip{background:var(--panel);border:1px solid var(--line);color:var(--muted);
  padding:7px 12px;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer}
.chip:hover{border-color:var(--teal-d);color:var(--ink)}
.chip.on{background:var(--teal);color:#ffffff;border-color:var(--teal)}

/* ---- Charting Terminal ---- */
.term-desk{background:#0e1116;border:1px solid var(--line);border-radius:12px;padding:14px}
.term-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:4px}
.term-search{position:relative;min-width:240px}
.term-search input{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--ink);
  padding:8px 10px;border-radius:8px;font-size:13px}
.term-sym-results{position:absolute;top:105%;left:0;right:0;background:#161a21;border:1px solid var(--line);
  border-radius:8px;z-index:40;max-height:280px;overflow:auto;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.term-sym-row{padding:7px 10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ink)}
.term-sym-row:hover{background:var(--teal-d)}
.term-sym-row span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.term-tf,.term-inds{display:flex;gap:5px;flex-wrap:wrap}
.tfbtn,.indbtn{background:var(--panel);border:1px solid var(--line);color:var(--muted);
  padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}
.tfbtn:hover,.indbtn:hover{border-color:var(--teal-d);color:var(--ink)}
.tfbtn.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.indbtn.on{background:#2b3a4a;color:#fff;border-color:#3aa1ff}
.term-chart{width:100%;height:520px;border-radius:8px;overflow:hidden;background:#0e1116}
.term-rsi-pane{width:100%;height:120px;border-radius:8px;overflow:hidden;background:#0e1116;margin-top:6px}
.term-rsi-pane.hidden{display:none}
.term-src{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:20px;margin-left:6px;vertical-align:1px}
.term-src.dhan{background:rgba(26,156,95,.18);color:#2fbf82}
.term-src.yf{background:rgba(255,167,38,.16);color:#ffb74d}
.term-marker-tag{background:var(--panel);border:1px solid var(--line);color:var(--muted);
  padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}
.term-marker-tag:hover{border-color:var(--teal-d);color:var(--ink)}
.term-marker-tag.on{background:#3a2b1e;color:#fff;border-color:#ff9800}
.term-draw{display:flex;gap:5px;flex-wrap:wrap}
.drawbtn{background:var(--panel);border:1px solid var(--line);color:var(--muted);
  padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}
.drawbtn:hover{border-color:var(--teal-d);color:var(--ink)}
.drawbtn.on{background:#ff9800;color:#1a1a1a;border-color:#ff9800}

/* ---- screener filters + table ---- */
.screener-head .filters{display:flex;gap:8px;flex-wrap:wrap}
.scr-live{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap;
  letter-spacing:.2px;background:var(--good-bg);color:var(--good-fg);margin-left:8px}
.scr-live.stale{background:var(--neutral-bg);color:var(--neutral-fg)}
.mini{background:var(--input);border:1px solid var(--line);color:var(--ink);
  padding:8px 10px;border-radius:9px;font-size:13px;width:auto}
.mini:focus{border-color:var(--teal)}
input.mini{width:130px}
.table-scroll{overflow-x:auto}
.screener-tbl th,.screener-tbl td{padding:11px 14px;white-space:nowrap}
.scr-type{color:var(--muted);font-size:13px}
.setup-score{display:inline-grid;place-items:center;min-width:36px;height:27px;padding:0 7px;border-radius:8px;font-weight:850;font-size:12px}
.score-ap{background:rgba(38,162,105,.2);color:var(--up)}
.score-a{background:rgba(13,148,136,.16);color:var(--teal)}
.score-b{background:var(--chip);color:var(--muted)}
.setup-class{max-width:88px;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.15;white-space:normal}
.near-level{color:var(--teal);font-weight:750}
.condition{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:750}
.cond-ready{background:rgba(38,162,105,.18);color:var(--up)}
.cond-near,.cond-retest{background:rgba(245,166,35,.16);color:#c27a00}
.cond-breakout{background:rgba(13,148,136,.16);color:var(--teal)}
.cond-monitor{background:var(--chip);color:var(--muted)}
.when{color:var(--muted);font-size:12px}
.vol-avg{color:var(--muted)}
.volx-up{color:var(--ink);font-weight:700}
.volx-hot{color:var(--up);font-weight:800}
th.sortable{cursor:pointer;user-select:none;white-space:nowrap}
th.sortable:hover{color:var(--ink)}
th.sort-asc::after{content:" ▲";font-size:8px;color:var(--teal)}
th.sort-desc::after{content:" ▼";font-size:8px;color:var(--teal)}
.scr-chart{height:40px;width:auto;border:1px solid var(--line);border-radius:6px;cursor:zoom-in;display:block}
.scr-chart:hover{border-color:var(--teal-d)}
.scr-links{display:inline-flex;gap:6px;flex-wrap:wrap}
.scr-links a{font-size:11px;font-weight:700;color:var(--teal);border:1px solid var(--line);
  border-radius:7px;padding:3px 7px;text-decoration:none;white-space:nowrap}
.scr-links a:hover{background:var(--chip);border-color:var(--teal-d)}
.stage{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}
.st-conf{background:rgba(38,162,105,.18);color:var(--up)}
.st-set{background:rgba(245,166,35,.16);color:#f5a623}
.st-sig{background:var(--chip);color:var(--muted)}
.ocome{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.oc-tgt{background:rgba(18,138,75,.18);color:var(--up)}
.oc-sl{background:rgba(192,57,43,.18);color:var(--down)}
.oc-open{background:var(--chip);color:var(--muted)}
.exch{font-size:9.5px;font-weight:800;padding:1px 5px;border-radius:5px;margin-left:4px;letter-spacing:.3px}
.exch.bse{background:rgba(0,102,204,.16);color:#1a6dcc}
.exch.nse{background:var(--chip);color:var(--muted)}
.pill{font-size:10px;font-weight:800;padding:1px 6px;border-radius:6px;margin-left:6px}
.pill.up{background:rgba(38,162,105,.18);color:var(--up)}
.pill.down{background:rgba(224,87,74,.18);color:var(--down)}

/* ---- clickable symbols + TradingView modal ---- */
.chartable{cursor:pointer;border-bottom:1px dashed transparent}
.chartable:hover{color:var(--teal);border-bottom-color:var(--teal)}
.icard.chartable{border-bottom:1px solid var(--line);transition:border-color .12s,box-shadow .12s}
.icard.chartable:hover{color:inherit;border-color:var(--teal);border-bottom-color:var(--teal);box-shadow:0 2px 10px rgba(13,148,136,.12)}
.tv-modal{position:fixed;inset:0;background:rgba(15,23,32,.55);z-index:50;
  display:flex;align-items:center;justify-content:center;padding:20px}
.tv-box{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;
  width:min(1120px,96vw);height:min(700px,90vh);display:flex;flex-direction:column;
  overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.tv-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.tv-head #tv-title{font-weight:800;font-size:16px}
.tv-head #tv-open{margin-left:auto;text-decoration:none;font-size:12.5px}
.tv-chart{flex:1;min-height:0}

/* ---- Rules & info button + modal ---- */
.rules-btn{background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:9px;
  padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.rules-btn:hover{filter:brightness(1.06)}
.chip-i{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;
  margin-left:6px;border-radius:50%;font-size:11px;font-weight:800;line-height:1;
  background:rgba(255,255,255,.22);color:inherit;cursor:pointer}
.chip:not(.on) .chip-i{background:var(--input);color:var(--teal-d);border:1px solid var(--line)}
.chip-i:hover{filter:brightness(1.12);transform:scale(1.12)}
.rules-box{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  width:min(760px,96vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.4)}
.rules-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
#rules-title{font-weight:800;font-size:16px}
.rules-x{margin-left:auto;background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1}
.rules-x:hover{color:var(--ink)}
.rules-body{padding:6px 18px 18px;overflow-y:auto}
.rule-card{padding:16px 0;border-bottom:1px solid var(--line)}
.rule-card:last-child{border-bottom:none}
.rule-card h3{margin:0 0 4px;font-size:15px;color:var(--teal-d);display:flex;align-items:center;gap:8px}
.rule-tldr{margin:0 0 10px;font-size:13.5px;color:var(--ink);line-height:1.5}
.rule-sec{margin:10px 0 4px;font-size:12px;font-weight:800;letter-spacing:.03em;
  text-transform:uppercase;color:var(--muted)}
.rule-card ul{margin:4px 0 0;padding-left:18px}
.rule-card li{font-size:13px;line-height:1.55;margin:3px 0}
.rule-trade{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.rule-trade span{background:var(--input);border:1px solid var(--line);border-radius:8px;
  padding:6px 10px;font-size:12.5px}
.rule-trade b{color:var(--teal-d)}
.rule-caveat{margin-top:10px;font-size:12.5px;color:var(--muted);font-style:italic}
.rule-dir{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}
.rule-dir.long{background:rgba(46,125,50,.14);color:#2e7d32}
.rule-dir.short{background:rgba(192,57,43,.14);color:#c0392b}
.rule-dir.both{background:rgba(41,128,185,.14);color:#2471a3}

/* ---- Calculators (full-width landscape grid) ---- */
#view-calc{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:6px 22px 22px;align-items:start}
#view-calc .calc-panel{margin:0}
#view-calc .calc-wide{grid-column:1 / -1}
@media(max-width:900px){ #view-calc{grid-template-columns:1fr} }
.calc-sub{margin:2px 0 14px;font-size:13px;color:var(--muted);line-height:1.5}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 16px}
.calc-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted)}
.calc-grid .mini{width:100%}
.calc-opt{font-weight:600;color:var(--muted);opacity:.75}
.calc-out{margin-top:16px}
.cr{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:9px 2px;border-bottom:1px dashed var(--line);font-size:13.5px}
.cr:last-child{border-bottom:none}
.cr span{color:var(--muted)}
.cr b{color:var(--ink);font-size:14px;text-align:right}
.cr.cr-big b{font-size:19px;color:var(--teal-d)}
.cr-mut{color:var(--muted);font-weight:500;font-size:12px}
.cr-good b,.cr-good-v b{color:#2e7d32}
.cr-good-v{color:#2e7d32}
.cr-bad b,.cr-bad-v b{color:#c0392b}
.cr-bad-v{color:#c0392b}
.cr-warn b{color:#c98a12}
.cr-div{height:1px;background:var(--line);margin:8px 0}
.cr-note{font-size:12.5px;color:var(--muted);font-style:italic}
.cr-bad{font-size:13px;color:#c0392b;padding:8px 0;font-weight:600}
.calc-tbl{width:100%;font-size:13px}
.calc-tbl th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.calc-tbl td.r,.calc-tbl th.r{text-align:right}
/* .quotes hides col 2 under 560px (right for the live quotes table). In the SIP/lumpsum table
   col 2 is "Invested" — the whole point of the comparison — and the table scrolls, so keep it.
   .calc-tbl.quotes beats the later .quotes rule on specificity, not source order. */
@media(max-width:560px){.calc-tbl.quotes th:nth-child(2),.calc-tbl.quotes td:nth-child(2){display:table-cell}}
.calc-disc{margin:4px 0 30px;font-size:12px;color:var(--muted);font-style:italic}

/* ---- Screener scorecard cell (Monthly/Weekly/Daily trend + Fundamentals) ---- */
.sc-cell{white-space:nowrap;min-width:118px}
.sc-grade{display:inline-block;font-weight:800;font-size:13px;padding:2px 9px;border-radius:7px;letter-spacing:.02em}
.sc-grade.g-ap{background:#128a4d;color:#fff}
.sc-grade.g-a{background:#2e9d5b;color:#fff}
.sc-grade.g-b{background:var(--good-bg);color:var(--good-fg);border:1px solid #b8ddca}
.sc-grade.g-c{background:var(--warn-bg);color:var(--warn-fg);border:1px solid #f0dcae}
.sc-grade.g-d{background:var(--bad-bg);color:var(--bad-fg);border:1px solid #f1c9c2}
.sc-grade.g-na{background:var(--input);color:var(--muted);border:1px solid var(--line)}
.sc-tfs{display:flex;gap:3px;margin-top:5px;flex-wrap:wrap}
.sc-b{font-size:10.5px;font-weight:700;padding:2px 5px;border-radius:5px;line-height:1.1;cursor:default}
.sc-b.sc-hi{background:rgba(46,125,50,.14);color:#2e7d32}
.sc-b.sc-mid{background:rgba(201,138,18,.16);color:#9c6a12}
.sc-b.sc-lo{background:rgba(192,57,43,.13);color:#c0392b}
.sc-b.sc-na{background:var(--input);color:var(--muted)}

/* ---- AI Top 3 Claude: scorecard mini-bars ---- */
.aic-bars{display:flex;flex-direction:column;gap:5px;margin:10px 0 2px}
.aic-bar{display:grid;grid-template-columns:88px 1fr 30px;align-items:center;gap:8px;font-size:11.5px;color:var(--muted)}
.aic-bar i{display:block;height:7px;border-radius:5px;background:var(--input);overflow:hidden}
.aic-bar i b{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#2e9d5b,#128a4d)}
.aic-bar em{font-style:normal;font-weight:700;color:var(--ink);text-align:right}
.aic-bar.aic-neg i b{background:linear-gradient(90deg,#e08a8a,#c0392b)}
.aic-bar.aic-neg em{color:#c0392b}

/* ---- New 52-Week High: 10-year backtest panel ---- */
.n52-perf .panel-head{align-items:baseline;gap:12px}
.n52-sub{font-size:14px;color:var(--muted);margin:2px 0 16px;max-width:80ch;line-height:1.55}
.n52-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.n52-tile{background:var(--input);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-align:center}
.n52-tile span{display:block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.n52-tile b{display:block;font-size:22px;color:var(--ink);margin:3px 0 2px;font-variant-numeric:tabular-nums}
.n52-tile.good b{color:#2e7d32}
.n52-tile.bad b{color:#c0392b}
.n52-tile small{font-size:11px;color:var(--muted);line-height:1.3;display:block}
.n52-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:680px){.n52-grid{grid-template-columns:1fr}}
.n52-box h4{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-d,#177f7c)}
.n52-box ul{margin:0;padding-left:18px}
.n52-box li{font-size:13.5px;color:var(--ink);line-height:1.5;margin-bottom:7px}
.n52-dl{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.n52-dl a{font-size:12.5px;font-weight:700;text-decoration:none;color:var(--teal-d,#177f7c);
  border:1px solid var(--line);border-radius:8px;padding:6px 12px;background:var(--panel)}
.n52-dl a:hover{border-color:var(--teal-d,#177f7c)}
.n52-disc{font-size:11.5px;color:var(--muted);font-style:italic;margin:16px 0 0}
.n52-chatgpt{border-left:3px solid #10a37f}
.n52-chatgpt .panel-head h2{color:var(--ink)}
.n52-cgpt-badge{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#087b60;
  background:rgba(16,163,127,.10);border:1px solid rgba(16,163,127,.28);border-radius:999px;padding:4px 9px}
.n52-loading{grid-column:1/-1;color:var(--muted);font-size:13px;padding:8px 0}
.n52-cgpt-rules{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.n52-cgpt-rules>h4{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#087b60}
.n52-cgpt-rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.n52-cgpt-rules-grid>div{background:var(--input);border:1px solid var(--line);border-radius:11px;padding:12px 14px}
.n52-cgpt-rules-grid h5{margin:0 0 7px;font-size:12px;color:var(--ink)}
.n52-cgpt-rules-grid ul{margin:0;padding-left:17px}
.n52-cgpt-rules-grid li{font-size:12.5px;line-height:1.45;margin-bottom:5px;color:var(--ink)}
.n52-cgpt-rules>p{font-size:11.5px;color:var(--muted);margin:10px 0 0}
@media(max-width:860px){.n52-cgpt-rules-grid{grid-template-columns:1fr}}
/* Uptrend sensitivity table */
.upt-sens{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.upt-sens-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px}
.upt-sens-head h4{margin:0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-d,#177f7c)}
.upt-sens-tabs{display:flex;flex-wrap:wrap;gap:6px}
.upt-sens-tabs .chip{font-size:11.5px;padding:4px 10px;cursor:pointer}
.upt-sens-tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.upt-sens-tbl th{text-align:right;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:var(--muted);padding:5px 10px;border-bottom:1px solid var(--line)}
.upt-sens-tbl th:first-child,.upt-sens-tbl td:first-child{text-align:left}
.upt-sens-tbl td{text-align:right;padding:6px 10px;border-bottom:1px solid var(--line);color:var(--ink)}
.upt-sens-tbl tr:last-child td{border-bottom:none}
.upt-sens-tbl tr.upt-base{background:var(--input)}
.upt-sens-tbl td.upt-best{color:#2e7d32;font-weight:800}
.upt-tag{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;
  background:var(--teal-d,#177f7c);border-radius:4px;padding:1px 5px;margin-left:5px;vertical-align:middle}
.upt-sens-note{font-size:12px;color:var(--muted);line-height:1.5;margin:12px 0 0}

/* ---- Recommendations: This Week's Pick card ---- */
.weekly-pick-panel .weekly-pick-img{display:block;width:100%;max-width:560px;margin:0 auto;border-radius:12px;
  border:1px solid var(--line);box-shadow:0 6px 22px rgba(16,31,52,.10)}
.weekly-pick-panel a{display:block}

/* ---- Community Verdict ---- */
.verdict-panel{overflow:visible}   /* let the symbol autocomplete dropdown escape the panel */
.verdict-search{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.verdict-search .sym-ac{flex:1 1 260px;max-width:360px}
.verdict-search .sym-ac .mini{width:100%;text-transform:uppercase}
.verdict-search>.mini{flex:0 0 auto}
.verdict-search .primary{width:auto;padding:9px 18px;margin:0}
.verdict-out{margin-top:6px}
.vd-loading,.vd-err{font-size:13px;color:var(--muted);padding:10px 0}
.vd-err{color:#c0392b;font-weight:600}
.vd-card{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--panel);max-width:720px}
.vd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.vd-head h3{margin:0;font-size:20px;color:var(--ink)}
.vd-sec{font-size:12px;font-weight:600;color:var(--muted)}
.vd-px{font-size:12.5px;color:var(--muted);margin-top:3px}
.vd-verdict{font-size:16px;font-weight:800;padding:8px 16px;border-radius:9px;white-space:nowrap;letter-spacing:.02em}
.vd-verdict.vd-enter{background:#128a4d;color:#fff}
.vd-verdict.vd-hold{background:var(--warn-bg);color:var(--warn-fg);border:1px solid #f0dcae}
.vd-verdict.vd-sell{background:var(--bad-bg);color:var(--bad-fg);border:1px solid #f1c9c2}
.vd-tiles{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
.vd-tile{flex:1 1 120px;background:var(--input);border:1px solid var(--line);border-radius:10px;padding:9px 12px;text-align:center}
.vd-tile span{display:block;font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--muted);text-transform:uppercase}
.vd-tile b{font-size:16px;color:var(--ink)}
.vd-tile b.vd-red{color:#c0392b}.vd-tile b.vd-green{color:#2e7d32}
.vd-reason{font-size:13.5px;line-height:1.55;color:var(--ink);margin:12px 0}
.vd-bars{display:flex;flex-direction:column;gap:5px;margin:12px 0 6px}
.vd-bar{display:grid;grid-template-columns:96px 1fr 30px;align-items:center;gap:8px;font-size:11.5px;color:var(--muted)}
.vd-bar i{display:block;height:7px;border-radius:5px;background:var(--input);overflow:hidden}
.vd-bar i b{display:block;height:100%;border-radius:5px}
.vd-bar i b.vd-hi{background:linear-gradient(90deg,#2e9d5b,#128a4d)}
.vd-bar i b.vd-mid{background:linear-gradient(90deg,#e6c15a,#c9a227)}
.vd-bar i b.vd-lo{background:linear-gradient(90deg,#e08a8a,#c0392b)}
.vd-bar i b.vd-na{background:var(--muted)}
.vd-bar em{font-style:normal;font-weight:700;color:var(--ink);text-align:right}
.vd-lvls{font-size:11.5px;color:var(--muted);margin-top:6px}
.vd-disc{font-size:11px;color:var(--muted);font-style:italic;margin:8px 0 0}
.vd-pub{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.vd-pub-msg{font-size:12.5px;color:var(--muted)}
.vd-pub-msg.ok{color:#2e7d32;font-weight:600}

/* ---- Strategies: top-level strategy-family accordions (EMA / RSI / SMA / Options / Journal) ---- */
.strat-topgroup{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel2);
  margin:0 auto var(--space-5);max-width:1400px;overflow:hidden}
.strat-topgroup-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;
  background:transparent;border:0;padding:16px 20px;font:inherit;color:var(--ink)}
.strat-topgroup-head:hover{background:var(--input)}
.strat-topgroup.open .strat-topgroup-head{border-bottom:1px solid var(--line)}
.strat-topgroup-chev{color:var(--teal-d);font-size:13px;width:14px;flex:0 0 auto}
.strat-topgroup-icon{font-size:18px;flex:0 0 auto}
.strat-topgroup-title{font-weight:800;font-size:17px}
.strat-topgroup-count{margin-left:auto;background:var(--input);color:var(--muted);border:1px solid var(--line);
  border-radius:20px;font-size:11.5px;font-weight:700;padding:2px 10px}
.strat-topgroup-body{padding:4px var(--space-5) var(--space-5)}
.strat-topgroup-body>*:first-child{margin-top:var(--space-5)}

/* ---- Strategies: collapsible sections (5 EMA, 200 SMA, …) ---- */
.strat-group{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:0 0 10px;overflow:hidden}
.strat-sec-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;
  background:transparent;border:0;padding:13px 16px;font:inherit;color:var(--ink)}
.strat-sec-head:hover{background:var(--input)}
.strat-group.open .strat-sec-head{border-bottom:1px solid var(--line)}
.strat-chev{color:var(--teal-d,#177f7c);font-size:12px;width:14px;flex:0 0 auto}
.strat-sec-name{font-weight:700;font-size:15px}
.strat-sec-count{background:var(--input);color:var(--muted);border:1px solid var(--line);border-radius:20px;
  font-size:11px;font-weight:700;padding:1px 9px}
.strat-active-badge{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:#177f4a;background:#e7f3ee;border:1px solid #b8ddca;border-radius:20px;padding:2px 9px}
.strat-sec-body{padding:12px 16px}
.strat-sec-body>.strat-card{margin-bottom:12px}
.strat-sec-body .sec-empty{padding:6px 2px}
.edit-box{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  width:min(640px,96vw);max-height:92vh;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.edit-box .tv-head #edit-close{margin-left:auto}
.edit-form{display:flex;flex-direction:column;gap:10px;padding:16px 18px}
.edit-form textarea{background:var(--input);border:1px solid var(--line);color:var(--ink);
  border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;resize:vertical;outline:none}
.edit-form textarea:focus{border-color:var(--teal)}
.edit-form .primary{width:max-content;margin-top:2px}

/* ---- market dashboards ---- */
.subnav{display:flex;gap:6px;flex-wrap:wrap}
.subtab{background:transparent;border:1px solid var(--line);color:var(--muted);
  padding:7px 12px;border-radius:9px;font-size:12.5px;font-weight:600}
.subtab:hover{color:var(--ink)}
.subtab.active{background:var(--chip);color:var(--ink);border-color:var(--teal-d)}
.dash-body{padding:8px 0 6px}
/* guidance & outlook */
.ol-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:6px 18px 4px}
.ol-name{font-weight:800;font-size:16px;cursor:pointer}
.ol-sub{color:var(--muted);font-size:12px;margin-left:6px}
.ol-verdict{font-weight:800;font-size:12.5px;padding:5px 12px;border-radius:999px;border:1px solid var(--line)}
.v-pos{background:rgba(18,138,75,.14);color:var(--up);border-color:transparent}
.v-con{background:var(--chip);color:var(--ink)}
.v-cau{background:rgba(192,57,43,.10);color:#b5651d;border-color:transparent}
.v-weak{background:rgba(192,57,43,.14);color:var(--down);border-color:transparent}
.ol-reasons{margin:6px 18px 10px;padding-left:20px;color:var(--ink);font-size:13px;line-height:1.7}
.ol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;padding:0 18px}
.ol-card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.ol-card h4{margin:0 0 8px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.ol-fin{width:100%;border-collapse:collapse;font-size:12.5px}
.ol-fin th{color:var(--muted);font-weight:600;text-align:left;padding:3px 4px}
.ol-fin td{padding:4px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.ol-fin td.r,.ol-fin th.r{text-align:right}
.yoy{font-size:10.5px;font-weight:700}.yoy.up{color:var(--up)}.yoy.down{color:var(--down)}
.ol-chips{display:flex;flex-wrap:wrap;gap:8px}
.ol-chip{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 9px;font-size:12px}
.ol-chip b{color:var(--muted);font-weight:600;margin-right:3px}
.ol-docs{padding:12px 18px 4px}
.ol-docs h4{margin:0 0 8px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.ol-doc{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:8px 10px;border:1px solid var(--line);
  border-radius:9px;margin-bottom:6px;text-decoration:none;color:var(--ink);font-size:12.5px}
.ol-doc:hover{border-color:var(--teal-d);background:var(--panel2)}
.ol-dt{color:var(--muted);font-size:11px;white-space:nowrap}
.ol-disc{color:var(--muted);font-size:11px;font-style:italic;padding:10px 18px 4px}
/* orders received (order wins) */
.dash-loading{padding:26px;text-align:center;color:var(--muted)}
.dash-h{margin:12px 18px 2px;font-size:13px;color:var(--muted);font-weight:700}
.dash-note{padding:10px 18px;color:var(--muted);font-size:12px}
/* news */
.news-list{display:flex;flex-direction:column}
.news-item{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--ink)}
.news-item:hover{background:var(--panel2)}
.news-src{flex:0 0 auto;font-size:10.5px;font-weight:700;color:var(--teal);background:var(--chip);
  border:1px solid var(--line);border-radius:6px;padding:2px 7px;min-width:96px;text-align:center}
.news-title{flex:1;font-size:13.5px;line-height:1.4}
.news-time{flex:0 0 auto;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums}
/* mf */
.mf-search{padding:14px 18px 6px}
.mf-search .mini{width:100%;max-width:420px}
.mf-tbl th,.mf-tbl td{white-space:nowrap}
.mf-link{cursor:pointer;border-bottom:1px dashed transparent}
.mf-link:hover{color:var(--teal);border-bottom-color:var(--teal)}
.mf-box{width:min(840px,96vw)}
.mf-detail{padding:16px 18px}
.mf-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mf-chip{font-size:12px;font-weight:600;background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--muted)}
.mf-nav{margin-left:auto;font-weight:800;font-size:15px}
.mf-nav .when{font-weight:500;font-size:11.5px;color:var(--muted)}
.mf-seclbl{font-size:11px;font-weight:700;letter-spacing:.3px;color:var(--muted);text-transform:uppercase;margin:6px 0}
.mf-chart{width:100%;height:200px;display:block}
.mf-chart-ax{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:4px}
.cg-na{color:var(--muted);opacity:.6}
/* events */
.ev-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 18px}
.ev-form #ev-title{width:220px}
.ev-form .primary{width:auto;padding:9px 16px;margin-top:0}
.imp{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px}
.imp-high{background:rgba(224,87,74,.18);color:var(--down)}
.imp-medium{background:rgba(245,166,35,.16);color:#f5a623}
.imp-low{background:var(--chip);color:var(--muted)}

/* ---- recommendations ---- */
/* ---- stocks looking good ---- */
#lg-admin{overflow:visible}   /* let the stock-symbol autocomplete dropdown escape the panel */
.lg-head{margin:26px 22px 4px}
.lg-head h2{margin:0;font-size:16px;display:flex;align-items:center;gap:9px}
.lg-form #lg-sym{width:200px;text-transform:uppercase}
.lg-form .lg-note{flex:1;min-width:220px;text-transform:none}
.lg-count{color:var(--muted);font-size:12px}
.lg-hint{color:var(--muted);font-size:11.5px;font-style:italic}
.lg-staged{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%}
.lg-staged:empty{display:none}
.lg-thumb{position:relative;display:inline-flex}
.lg-thumb img{height:56px;width:auto;border:1px solid var(--line);border-radius:7px;object-fit:cover}
.lg-thumbdel{position:absolute;top:-6px;right:-6px;width:18px;height:18px;line-height:16px;text-align:center;
  border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:11px;cursor:pointer;padding:0}
.lg-list{display:flex;flex-wrap:wrap;gap:14px;padding:8px 22px 24px}
.lg-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-width:240px;max-width:100%}
.lg-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lg-sym{font-weight:800;font-size:15px;cursor:pointer;letter-spacing:.3px}
.lg-cardnote{color:var(--muted);font-size:12.5px;margin:6px 0 2px}
.lg-shots{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.lg-del{cursor:pointer}
.reco-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 18px}
.sym-ac{position:relative}
.sym-ac #rc-sym{width:220px;text-transform:uppercase}
.sym-ac .results{top:44px;min-width:280px}
.reco-form .mini{width:auto}
.reco-form #rc-sym{width:200px;text-transform:uppercase}
.reco-form textarea{flex:1 1 100%;background:var(--input);border:1px solid var(--line);color:var(--ink);
  border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;resize:vertical;outline:none}
.reco-form textarea:focus{border-color:var(--teal)}
.rr-preview{background:var(--chip);border:1px solid var(--line);border-radius:9px;
  padding:8px 12px;font-size:13px;font-weight:700;color:var(--teal)}
.reco-form .primary{width:auto;padding:11px 20px;margin-top:0}
.reco-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;padding:16px 22px}
.reco-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
.reco-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.reco-sym{font-size:17px;font-weight:800}
.reco-when{margin-left:auto;color:var(--muted);font-size:11.5px}
.st-sl{background:rgba(224,87,74,.18);color:var(--down)}
.reco-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.reco-levels>div{display:flex;flex-direction:column;gap:3px;background:var(--panel2);
  border:1px solid var(--line);border-radius:9px;padding:8px 10px}
.reco-levels .lbl{color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}
.reco-levels .val{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.reco-logic{margin-top:12px}
.reco-logic .lbl{color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}
.reco-logic p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink)}
.reco-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.reco-actions select{background:var(--input);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:12px}
.reco-actions .del{margin-left:auto;color:var(--down);border-color:var(--line);padding:6px 12px;font-size:12px}
.reco-actions .del:hover{border-color:var(--down)}
@media(max-width:560px){.reco-levels{grid-template-columns:repeat(2,1fr)}}

/* ---- strategies ---- */
.chip-add{border-style:dashed;color:var(--teal)!important}
.chip-add:hover{border-color:var(--teal);color:var(--teal)!important}
.strat-catdel{padding:2px 4px 12px}
.strat-catdel .del{color:var(--down);font-size:12px;padding:6px 12px}
.strat-form{display:flex;flex-direction:column;gap:10px;padding:16px 18px}
.strat-form #st-title{max-width:460px}
.strat-form textarea{background:var(--input);border:1px solid var(--line);color:var(--ink);
  border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;resize:vertical;outline:none}
.strat-form textarea:focus{border-color:var(--teal)}
.st-upload{display:flex;flex-direction:column;gap:10px}
.st-pick{display:inline-flex;align-items:center;gap:6px;width:max-content;cursor:pointer;font-size:13px}
.st-thumbs{display:flex;flex-wrap:wrap;gap:8px}
.st-thumb{position:relative;width:96px;height:72px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.st-thumb img{width:100%;height:100%;object-fit:cover}
.st-thumb button{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.6);color:#fff;border:none;
  width:18px;height:18px;border-radius:50%;font-size:11px;line-height:1;cursor:pointer}
.strat-form .primary{width:max-content;padding:11px 20px;margin-top:0}
.strat-list{display:flex;flex-direction:column;gap:14px;padding:16px 22px}
.strat-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
.strat-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.strat-title{font-size:16px;font-weight:800}
.strat-top .reco-when{margin-left:auto}
.strat-top .del{color:var(--down);padding:6px 12px;font-size:12px}
.strat-notes{margin:4px 0 12px;font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap}
.strat-fields{display:flex;flex-wrap:wrap;gap:8px}
.strat-fields .mini{width:130px}
.trade-levels{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 8px}
.trade-levels .tl{font-size:13px;color:var(--muted)}
.trade-levels .tl b{color:var(--ink);font-variant-numeric:tabular-nums}
.trade-result{margin-top:2px}
.exit-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.exit-row .mini{width:150px}
.exit-prev{font-size:13px;font-weight:600}
.exit-note{background:var(--input);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;resize:vertical;outline:none;width:100%}
.exit-note:focus{border-color:var(--teal)}
/* performance dashboard */
.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;padding:14px 18px}
.dash-tile{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.dt-val{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.dt-lbl{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.3px;text-transform:uppercase;margin-top:2px}
.strat-sec{margin-top:12px}
.strat-seclbl{font-size:11px;font-weight:700;letter-spacing:.3px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.strat-exit{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.st-exitsave{width:max-content;padding:9px 16px;margin-top:0}
.strat-top .stage{margin-left:2px}
.strat-shots{display:flex;flex-wrap:wrap;gap:10px}
.st-shot{max-height:200px;max-width:100%;border:1px solid var(--line);border-radius:8px;cursor:zoom-in}
.img-big{max-width:94vw;max-height:92vh;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
#img-modal{cursor:zoom-out}

/* ---- plan badge + paywall ---- */
.plan-badge{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;letter-spacing:.5px}
.plan-badge.free{background:var(--chip);color:var(--muted);border:1px solid var(--line)}
.plan-badge.pro{background:var(--teal);color:#ffffff}
.upgrade{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 22px 0;
  padding:12px 16px;border:1px solid var(--teal-d);border-radius:12px;
  background:linear-gradient(90deg,rgba(43,179,154,.14),rgba(43,179,154,.04));font-size:13.5px}
.up-btn{margin-left:auto;background:var(--teal);color:#ffffff;border:none;
  padding:8px 16px;border-radius:9px;font-weight:800;font-size:13px}
.up-btn:hover{background:#33c7ac}
.lock{opacity:.7;font-size:13px}

@media(max-width:560px){.search input{width:180px}.quotes th:nth-child(2),.quotes td:nth-child(2){display:none}
  .nav{margin-left:8px}.navbtn{padding:6px 10px}.up-btn{margin-left:0}}

/* Recommendation rows and month cohorts */
#reco-list{display:block;min-width:0}
.reco-table-scroll{overflow-x:auto;border:1px solid #dfe7ee;border-radius:12px;margin-bottom:18px}
.reco-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.reco-table th,.reco-table td{padding:13px 14px;text-align:left;border-bottom:1px solid #dfe7ee;white-space:nowrap;vertical-align:top}
.reco-table th{background:#f4f7f9;font-size:12px;color:#596b7a}
.reco-table small{display:block;font-size:11px;color:#667788;margin-top:5px}
.reco-table details p{white-space:normal;min-width:220px;max-width:360px}
.reco-table .reco-actions{display:flex;flex-wrap:nowrap;margin:0;padding:0;border:0}
.reco-monthly h2{margin:0 0 10px}.reco-monthly>p{color:#64748b;font-size:13px;line-height:1.5;max-width:1000px}

/* Fit recommendation fields within the available screen width. */
#reco-list{padding:14px 12px}
.reco-table{table-layout:fixed;min-width:0;font-size:12px}
.reco-table th,.reco-table td{padding:10px 6px;white-space:normal;overflow-wrap:anywhere}
.reco-table .reco-sym{font-size:13px}
.reco-table .pill{padding:3px 5px;font-size:10px}
.reco-table select{width:100%;min-width:0;max-width:100%;font-size:11px;padding:5px 2px;border:1px solid var(--line);border-radius:6px;background:var(--input);color:var(--ink)}
.reco-table .reco-actions{flex-direction:column;gap:5px;align-items:stretch}
.reco-table .reco-actions button{padding:5px 3px;font-size:11px;min-width:0}
.reco-table details p{min-width:0;max-width:100%;overflow-wrap:anywhere}
.reco-table small{font-size:10px}
.reco-table small[title]{cursor:help;text-decoration:underline dotted}
@media(max-width:700px){.reco-table th,.reco-table td{padding:7px 3px;font-size:10px}.reco-table .reco-sym{font-size:11px}#reco-list{padding:10px 4px}}

.pa-content{padding:16px 20px}.pa-content>p,.pa-content details p{font-size:13px;color:var(--muted);line-height:1.5}
.pa-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-top:16px}.pa-form label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.pa-form input,.pa-form select,#pa-token{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--ink)}
#pa-rows small{display:block;font-size:11px;max-width:250px}#pa-token{width:min(100%,450px);margin:10px 8px 10px 0}

/* ===== Weekly Setup view ===== */
#view-weekly .muted{color:var(--muted);font-size:12px;font-weight:500}
.weekly-body{display:flex;justify-content:center;padding:6px}
.weekly-img{max-width:640px;width:100%;height:auto;border-radius:14px;
  box-shadow:0 6px 26px rgba(16,31,52,.16);cursor:zoom-in;display:block}

/* ===== Favourite star (screener rows) ===== */
th.fav-col, td.fav-col{width:34px;text-align:center;padding-left:6px;padding-right:2px}
th.fav-col{color:#c9a227;font-size:13px}
.favstar{background:none;border:none;cursor:pointer;font-size:17px;line-height:1;
  color:var(--muted);padding:2px 4px;transition:transform .1s ease,color .1s ease}
.favstar:hover{transform:scale(1.18);color:#c9a227}
.favstar.on{color:#f2b705}
.favstar:disabled{opacity:.5;cursor:default}

/* ===== Screener column: name only (description removed), keep it tight ===== */
td.scr-type{white-space:nowrap;font-weight:600}

/* ===== Trading Journal ===== */
.jr-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;padding:4px 16px 14px}
@media(max-width:820px){.jr-grid{grid-template-columns:1fr}}
.jr-card{border:1px solid var(--line,#e3e8ee);border-radius:12px;padding:12px 14px;background:var(--panel)}
.jr-card-h{font-size:13px;font-weight:700;color:var(--ink,#17242f);margin-bottom:8px}
.jr-eq-svg{width:100%;height:150px;display:block}
.jr-eq-cap{font-size:12px;color:var(--muted);margin-top:6px}
.jr-setup-tbl{width:100%;font-size:13px}
.jr-form{padding:6px 16px 16px;display:flex;flex-direction:column;gap:10px}
.jr-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.jr-form textarea{width:100%;border:1px solid var(--line,#e3e8ee);border-radius:8px;padding:8px 10px;font:inherit;resize:vertical}
.jr-rr{font-size:13px;color:var(--muted);background:#f4f7f9;border-radius:8px;padding:7px 10px}
.jr-rr b{color:#177f7c}
.jr-rr.bad b{color:#c23b3b}
.jr-form-actions{display:flex;gap:10px;align-items:center}
.pill.open{background:var(--neutral-bg);color:var(--neutral-fg)}
.pill.closed{background:var(--good-bg);color:var(--good-fg)}
.jr-tbl td,.jr-tbl th{white-space:nowrap}
#jr-home-panel .dash-tiles{margin-bottom:6px}

/* ===== Screener breakdown pie ===== */
#scr-pie-panel .pie-toggle{display:flex;gap:6px}
.scr-pie-wrap{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:6px 16px 16px}
.pie-fig{flex:0 0 auto}
.pie-svg{width:160px;height:160px;display:block}
.pie-c-n{font-size:22px;font-weight:800;fill:var(--ink,#17242f)}
.pie-c-l{font-size:9px;fill:var(--muted,#5f7486);letter-spacing:.5px;text-transform:uppercase}
.pie-legend{flex:1 1 260px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 14px}
.pie-leg{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;
  padding:4px 6px;border-radius:7px;text-align:left;font:inherit;color:var(--ink,#17242f)}
.pie-leg:hover{background:#f4f7f9}
.pie-leg.on{background:#e7f3f2;outline:1px solid #177f7c}
.pie-sw{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
.pie-nm{flex:1 1 auto;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pie-n{font-size:12px;color:var(--muted,#5f7486);font-weight:600;white-space:nowrap}

/* ===== Article attachments ===== */
.art-paste-hint{font-size:12px;color:var(--muted,#5f7486);margin-left:8px}
.art-shots{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.art-shot{width:54px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--line,#e3e8ee);cursor:zoom-in}
.art-shot:hover{border-color:#177f7c}
.art-read-img{display:block;max-width:100%;border-radius:10px;margin:12px 0;border:1px solid var(--line,#e3e8ee);cursor:zoom-in}

/* ===== MF Portfolio Moves ===== */
.mfm-agg-h,.mfm-fund-h{font-size:13px;color:var(--muted,#5f7486);padding:4px 16px 2px}
.mfm-fund-h b{color:var(--ink,#17242f)}
.mfm-chips{display:flex;gap:8px;flex-wrap:wrap;padding:4px 16px 8px}
.mfm-chip{font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--neutral-bg);color:var(--neutral-fg)}
.mfm-chip.c-new{background:var(--info-bg);color:var(--info-fg)}
.mfm-chip.c-add{background:var(--good-bg);color:var(--good-fg)}
.mfm-chip.c-red{background:var(--bad-bg);color:var(--bad-fg)}
.mfm-chip.c-exit{background:var(--special-bg);color:var(--special-fg)}
.mfm-tbl td,.mfm-tbl th{white-space:nowrap}
.pill.mfm-new{background:var(--info-bg);color:var(--info-fg)}
.pill.mfm-exit{background:var(--special-bg);color:var(--special-fg)}
.mfm-admin{border-top:1px solid var(--line,#e3e8ee);margin-top:8px;padding:12px 16px 16px;display:flex;flex-direction:column;gap:8px}
.mfm-form-h{font-size:12px;font-weight:700;color:var(--muted,#5f7486);text-transform:uppercase;letter-spacing:.4px}
.mfm-form-row{display:flex;gap:8px;flex-wrap:wrap}
.mfm-form-row .mini{flex:1 1 200px}
.mfm-ta{width:100%;border:1px solid var(--line,#e3e8ee);border-radius:8px;padding:8px 10px;font:inherit;resize:vertical}
.mfm-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* ===== Live feed source badge (header) ===== */
.feed-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;letter-spacing:.2px}
.feed-badge.fb-live{background:var(--good-bg);color:var(--good-fg)}
.feed-badge.fb-mixed{background:var(--warn-bg);color:var(--warn-fg)}
.feed-badge.fb-yf{background:var(--neutral-bg);color:var(--neutral-fg)}

/* ===== Learnings ===== */
.lrn-list{display:flex;flex-direction:column;gap:8px;padding:4px 16px 12px}
.lrn-item{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;border:1px solid var(--line,#e3e8ee);border-radius:10px;padding:10px 12px;background:var(--panel)}
.lrn-main{flex:1 1 auto;min-width:0}
.lrn-title{font-weight:700;color:var(--ink,#17242f);font-size:14px}
.lrn-body{color:#2c3a45;font-size:13px;margin-top:4px;line-height:1.45;white-space:pre-wrap}
.lrn-link{display:inline-block;margin-top:6px;font-size:12.5px;color:#177f7c;font-weight:600}
/* ===== Courses ===== */
.crs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:4px 16px 14px}
.crs-card{position:relative;border:1px solid var(--line,#e3e8ee);border-radius:12px;padding:14px;background:var(--panel);display:flex;flex-direction:column;gap:6px}
.crs-title{font-weight:700;color:var(--ink,#17242f);font-size:15px;padding-right:18px}
.crs-lvl{align-self:flex-start;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--neutral-bg);color:var(--neutral-fg)}
.crs-lvl.lvl-b{background:var(--good-bg);color:var(--good-fg)}
.crs-lvl.lvl-i{background:var(--warn-bg);color:var(--warn-fg)}
.crs-lvl.lvl-a{background:var(--bad-bg);color:var(--bad-fg)}
.crs-desc{color:#2c3a45;font-size:13px;line-height:1.45}
.crs-start{margin-top:auto;font-size:13px;font-weight:700;color:#177f7c}
.crs-del{position:absolute;top:8px;right:8px}
.crs-row{display:flex;gap:8px}.crs-row .mini{flex:1 1 auto}

/* ===== Learnings v2 (categories + article-style + attachments) ===== */
.lrn-form-row{display:flex;gap:8px}.lrn-form-row #lrn-cat{flex:0 0 170px}.lrn-form-row #lrn-title{flex:1 1 auto}
.lrn-cat{padding:2px 16px 10px}
.lrn-cat-h{font-size:13px;font-weight:800;color:var(--ink,#17242f);margin:8px 0 6px;display:flex;align-items:center;gap:8px}
.lrn-count{font-size:11px;font-weight:700;color:var(--neutral-fg);background:var(--neutral-bg);border-radius:20px;padding:1px 8px}
.lrn-empty{padding:10px 4px}
.lrn-item{cursor:pointer;transition:border-color .1s}
.lrn-item:hover{border-color:#177f7c}
.lrn-prev{color:#5f7486;font-size:12.5px;margin-top:3px;line-height:1.4}
.lrn-atts{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.lrn-att-img{width:48px;height:36px;object-fit:cover;border-radius:6px;border:1px solid var(--line,#e3e8ee);cursor:zoom-in}
.lrn-att-pdf{display:inline-flex;align-items:center;height:36px;padding:0 10px;border-radius:6px;background:var(--bad-bg);color:var(--bad-fg);font-size:12px;font-weight:700;text-decoration:none;border:1px solid #f5c6c6}
.st-pdf{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bad-bg);color:var(--bad-fg);font-size:11px;font-weight:800;border-radius:6px}

/* ===== Recommendations: trade-state badge ===== */
.reco-state{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap}
.reco-st-active{background:var(--neutral-bg);color:var(--neutral-fg)}
.reco-st-tgt{background:var(--good-bg);color:var(--good-fg)}
.reco-st-sl{background:var(--bad-bg);color:var(--bad-fg)}
.reco-st-closed{background:var(--special-bg);color:var(--special-fg)}
.reco-exit{white-space:nowrap;color:#5f7486}

/* ===== Outlook 'Download report' button ===== */
.ol-head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ol-report-btn{background:#177f7c;color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.ol-report-btn:hover{background:#0d5b58}
.ol-report-btn:disabled{opacity:.6;cursor:default}

/* ===== Fundamental screener ===== */
.fund-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:6px 0 12px}
.fund-f{display:flex;flex-direction:column;gap:3px}
.fund-f label{font-size:11px;color:#8a97a8;font-weight:600}
.fund-f .mini{width:100%}
.fund-actions{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ghost-btn{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer}
.ghost-btn:hover{border-color:var(--teal-d)}
.fund-tbl th.sortable{cursor:pointer;user-select:none}
.fund-tbl td.small,.fund-tbl th{font-size:12px}

/* ===== F&O Decision Desk ===== */
.nav{overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
#view-fno{padding:20px 22px 36px;background:linear-gradient(180deg,var(--panel2) 0,var(--bg) 260px);min-height:calc(100vh - 60px)}
.fno-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;max-width:1280px;margin:0 auto 18px;padding:22px 24px;border:1px solid #dceae7;border-radius:18px;background:radial-gradient(circle at 85% 0,rgba(13,148,136,.13),transparent 42%),#fff}
.fno-kicker{font-size:11px;font-weight:850;letter-spacing:1.2px;color:var(--teal-d);margin-bottom:7px}
.fno-hero h1{font-size:27px;line-height:1.2;letter-spacing:-.5px;margin:0 0 8px}.fno-hero p{max-width:720px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.fno-verdict{flex:0 0 245px;border-radius:14px;padding:15px 17px;display:flex;flex-direction:column;gap:3px;border:1px solid #e3e8ee;background:#f5f7f9}
.fno-verdict span{font-size:9px;font-weight:850;letter-spacing:1.1px;color:var(--muted)}.fno-verdict b{font-size:16px}.fno-verdict small{font-size:11px;line-height:1.35;color:var(--muted)}
.fno-verdict.ready{background:#eaf7ef;border-color:#b6e0c7}.fno-verdict.ready b{color:#147a45}.fno-verdict.caution{background:#fff7e8;border-color:#efdaa9}.fno-verdict.caution b{color:#9a6812}.fno-verdict.wait{background:#f5f7f9}
.fno-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1280px;margin:auto}.fno-grid .panel,.fno-history-panel{margin:0}
.fno-card .panel-head{align-items:flex-start}.fno-card .panel-head h2{font-size:17px}.fno-card .panel-head p{font-size:12px;margin:4px 0 0;line-height:1.4}
.fno-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 18px}.fno-fields label,.fno-strategy-row label,.fno-sizer label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.fno-fields .mini,.fno-strategy-row .mini,.fno-sizer .mini{width:100%;margin:0;color:var(--ink);font-weight:500}
.fno-fit{margin:0 18px 18px;padding:12px 14px;border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;border:1px solid var(--line);background:#f7f9fa}.fno-fit b{font-size:13px}.fno-fit span{font-size:12px;color:var(--muted);line-height:1.45}.fno-fit button{grid-column:2;grid-row:1/3;border:0;background:var(--teal);color:#fff;border-radius:8px;padding:8px 11px;font-weight:750}.fno-fit.good{background:#eef8f6;border-color:#c9e7e2}.fno-fit.caution{background:#fff8eb;border-color:#ecd9ad}
.fno-strategy-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px 18px 8px}.fno-strategy-row label{min-width:210px}.fno-demo-tag{display:inline-flex;padding:4px 8px;border-radius:20px;background:var(--warn-bg);color:var(--warn-fg);font-size:10px;font-weight:800}.fno-demo-tag.confirmed{background:var(--good-bg);color:var(--good-fg)}
.fno-leg-table input{width:108px;padding:7px 8px;text-align:right}.fno-leg-table td,.fno-leg-table th{padding-top:8px;padding-bottom:8px}.fno-card .evidence-note{margin:9px 18px 16px}
.fno-structure-warning{margin:9px 18px 0;padding:9px 11px;border-radius:8px;background:var(--bad-bg);color:var(--bad-fg);font-size:11.5px;line-height:1.4;font-weight:650}
.fno-payoff-card{grid-column:1/-1}.fno-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.fno-metrics>div{display:flex;flex-direction:column;gap:5px;padding:13px 16px;background:var(--panel)}.fno-metrics span{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.45px}.fno-metrics b{font-size:16px;font-variant-numeric:tabular-nums}
.fno-payoff{padding:14px 18px 4px}.fno-payoff svg{display:block;width:100%;height:auto;max-height:300px}.fno-payoff svg text{font-size:11px;fill:#71808c}.fno-zero{stroke:#9aa8b3;stroke-width:1}.fno-spot-line{stroke:#9aa8b3;stroke-width:1;stroke-dasharray:5 5}.fno-payoff-line{fill:none;stroke:#0d9488;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.fno-spot-label{font-weight:750;fill:#536470!important}
.fno-sizer{display:grid;grid-template-columns:1fr 1fr 1fr 2.2fr;gap:12px;align-items:end;padding:12px 18px 18px}.fno-size-result{min-height:42px;display:flex;align-items:center;padding:9px 12px;border-radius:9px;background:#f5f7f9;color:var(--muted);font-size:12px;line-height:1.4}.fno-size-result.ok{background:var(--good-bg);color:var(--good-fg)}.fno-size-result.bad{background:var(--bad-bg);color:var(--bad-fg)}
.fno-score{display:grid;place-items:center;min-width:64px;height:34px;border-radius:9px;background:#eef2f6;font-size:14px}.fno-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;padding:16px 18px}.fno-checks label{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.4;color:#33424e}.fno-checks input{width:16px;height:16px;flex:none;margin:1px 0 0;accent-color:var(--teal)}
.fno-thesis-label{display:flex;flex-direction:column;gap:6px;padding:0 18px 12px;font-size:11px;font-weight:750;color:var(--muted)}.fno-thesis-label textarea{resize:vertical;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit;color:var(--ink);line-height:1.45}.fno-thesis-label textarea:focus{outline:none;border-color:var(--teal)}.fno-actions{display:flex;align-items:center;gap:9px;padding:0 18px 18px}.fno-actions .primary{padding:9px 14px;font-size:13px;margin:0}
.fno-history-panel{max-width:1280px;margin:18px auto 0}.fno-history-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line)}.fno-history-row:last-child{border-bottom:0}.fno-history-row>div:first-child{display:flex;flex-direction:column;gap:3px}.fno-history-row>div:first-child b{font-size:13px}.fno-history-row>div:first-child span{font-size:11px;color:var(--muted)}.fno-history-result{display:flex;flex-direction:column;align-items:flex-end;font-size:11px;color:var(--muted)}.fno-history-result strong{font-size:14px;color:var(--ink)}
@media(max-width:900px){.fno-grid{grid-template-columns:1fr}.fno-payoff-card{grid-column:auto}.fno-sizer{grid-template-columns:repeat(2,1fr)}.fno-size-result{grid-column:1/-1}.fno-hero{align-items:flex-start}.fno-verdict{flex-basis:220px}}
@media(max-width:620px){#view-fno{padding:12px 10px 28px}.fno-hero{flex-direction:column;padding:18px}.fno-hero h1{font-size:23px}.fno-verdict{width:100%;flex-basis:auto}.fno-fields,.fno-checks{grid-template-columns:1fr}.fno-metrics{grid-template-columns:repeat(2,1fr)}.fno-sizer{grid-template-columns:1fr}.fno-size-result{grid-column:auto}.fno-fit{grid-template-columns:1fr}.fno-fit button{grid-column:auto;grid-row:auto;margin-top:5px}.fno-history-row{grid-template-columns:1fr auto auto}.fno-history-result{grid-column:1}.topbar{padding-left:10px;padding-right:10px;gap:8px}.nav{max-width:100%;margin-left:4px}.navbtn{white-space:nowrap}}

/* ===== Product typography — aligned with the F&O Decision Desk ===== */
html{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-kerning:normal}
body{font-size:14px;line-height:1.45;letter-spacing:-.006em}
h1,h2,h3,h4,h5,h6,.logo,.brand,.strat-title,.reco-sym,.art-title,.lrn-title,.crs-title{font-family:inherit;font-weight:750;letter-spacing:-.018em}
.panel-head h2,.lg-head h2{font-size:17px;font-weight:750;line-height:1.25;letter-spacing:-.014em}
.navbtn,.tab,.primary,.ghost,.folder,.dir,.chip{font-weight:650;letter-spacing:-.006em}
.idx-label,.dt-lbl,.reco-levels .lbl,.reco-logic .lbl,.ol-card h4,.ol-docs h4,.mfm-form-h,.fno-kicker,.fno-verdict span,.fno-metrics span{font-weight:750;letter-spacing:.055em}
.quotes th,.fund-f label,.fno-fields label,.fno-strategy-row label,.fno-sizer label,.fno-thesis-label{font-weight:650;letter-spacing:.008em}
.icard .p,.icard .c,.quotes td.r,.trade-levels,.reco-levels .val,.dt-val,.fno-metrics b,.fno-size-result,.fno-score,.clock{font-variant-numeric:tabular-nums lining-nums}
.art-rbody{letter-spacing:-.003em}.art-rbody h2,.art-rbody h3{font-weight:750;letter-spacing:-.018em}

/* ===== Portfolios ===== */
.pf-wrap{max-width:1100px;margin:0 auto;padding:6px 2px 40px}
.pf-head{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.pf-head h1{margin:4px 0 6px;font-size:30px;letter-spacing:-.02em}
.pf-head p{margin:0;max-width:70ch;color:var(--muted);font-size:14px;line-height:1.55}
.pf-meta{text-align:right;white-space:nowrap}
.pf-meta strong{display:block;font-size:13px;color:var(--ink)}
.pf-meta .muted{font-size:12px}
.pf-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.pf-tab{font-size:14px;font-weight:700;padding:9px 18px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:var(--panel);color:var(--muted)}
.pf-tab:hover{border-color:var(--teal-d,#177f7c)}
.pf-tab.on{background:var(--teal-d,#177f7c);border-color:var(--teal-d,#177f7c);color:#fff}
.pf-mode-head{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:18px}
.pf-mode-desc{font-size:14px;color:var(--ink);line-height:1.55;margin-bottom:14px}
.pf-mode-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.pf-stat span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pf-stat b{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
.pf-stat small{color:var(--muted);font-weight:600}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.pf-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px 16px;display:flex;flex-direction:column;gap:11px}
.pf-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pf-sym a{font-size:17px;font-weight:800;color:var(--ink);text-decoration:none}
.pf-sym a:hover{color:var(--teal-d,#177f7c);text-decoration:underline}
.pf-name{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.35}
.pf-cap{display:inline-block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;
  padding:2px 6px;border-radius:5px;vertical-align:middle;margin-left:4px}
.pf-cap-large{background:#e8f1ff;color:#1c56b0}
.pf-cap-mid{background:var(--warn-bg);color:var(--warn-fg)}
.pf-cap-small{background:#fde8ef;color:#b0185a}
.pf-wt{text-align:right;line-height:1.1}
.pf-wt b{font-size:18px;color:var(--teal-d,#177f7c);font-variant-numeric:tabular-nums}
.pf-wt span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.pf-prices{display:flex;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0}
.pf-prices>div{flex:1}
.pf-prices span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.pf-prices b{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}
.pf-prices b.pf-stop{color:#c0392b}
.pf-bars{display:flex;flex-direction:column;gap:6px}
.pf-bar{display:grid;grid-template-columns:82px 1fr 26px;align-items:center;gap:8px;font-size:11px}
.pf-bar>span{color:var(--muted)}
.pf-bar>b{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}
.pf-track{height:6px;background:var(--input);border-radius:4px;overflow:hidden}
.pf-track i{display:block;height:100%;background:linear-gradient(90deg,#177f7c,#2ea19d);border-radius:4px}
.pf-fund{display:flex;flex-wrap:wrap;gap:5px}
.pf-fund span{font-size:11px;font-weight:600;color:var(--ink);background:var(--input);border-radius:6px;padding:2px 8px}
.pf-rats{margin:2px 0 0;padding-left:16px}
.pf-rats li{font-size:12px;color:var(--ink);line-height:1.45;margin-bottom:3px}
.pf-disc{font-size:11.5px;color:var(--muted);font-style:italic;margin:22px 0 0;line-height:1.5}
@media(max-width:560px){.pf-grid{grid-template-columns:1fr}.pf-head h1{font-size:24px}}

/* ===== Portfolios performance dashboard ===== */
.pf-dash-head{display:flex;align-items:baseline;gap:12px;margin:6px 0 10px}
.pf-dash-head h2{margin:0;font-size:16px}
.pf-dash{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
@media(max-width:640px){.pf-dash{grid-template-columns:1fr}}
.pf-dcard{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .15s}
.pf-dcard:hover{border-color:var(--teal-d,#177f7c)}
.pf-dcard.on{border-color:var(--teal-d,#177f7c);box-shadow:0 0 0 1px var(--teal-d,#177f7c) inset}
.pf-dcard-top{font-size:13px;font-weight:800;color:var(--muted);margin-bottom:4px}
.pf-dret{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.05}
.pf-dsub{font-size:12px;color:var(--muted);margin-top:4px}
.pf-dbw{font-size:11.5px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}
.up{color:#128a4b!important}.down{color:#c0392b!important}
/* per-mode performance strip */
.pf-perf{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--input);border-radius:12px;padding:12px 16px;margin-bottom:14px}
.pf-perf-load{color:var(--muted);font-size:13px}
.pf-perf-big{display:flex;flex-direction:column;line-height:1.05}
.pf-perf-big b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}
.pf-perf-big span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.pf-perf-chips{display:flex;flex-wrap:wrap;gap:7px}
.pf-chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums}
.pf-chip.up{border-color:rgba(18,138,75,.4)}.pf-chip.down{border-color:rgba(192,57,43,.4)}
/* per-card P&L */
.pf-ret{text-align:right;line-height:1.05}
.pf-ret b{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}
.pf-ret span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.pf-badge{display:inline-block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:5px;vertical-align:middle;background:var(--input);color:var(--muted)}
.pf-badge.up{background:rgba(18,138,75,.14);color:#128a4b}
.pf-badge.down{background:rgba(192,57,43,.12);color:#c0392b}
.pf-badge.sl{background:#c0392b;color:#fff}
.pf-card-sl{border-color:rgba(192,57,43,.45)}

/* ===== Paper Trading ===== */
.pp-btn{font:inherit;font-size:var(--fs-base);font-weight:700;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);color:var(--teal-d);cursor:pointer;margin-top:6px}
.pp-btn:hover{border-color:var(--teal-d,#177f7c)}
.pp-btn:disabled{opacity:.6;cursor:default}
.live-confirm-wrap{border:1.5px solid #a94442;border-radius:12px;padding:16px 20px;background:rgba(169,68,66,.04)}
.live-kicker{color:#c0392b!important}
.live-toggle{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;cursor:pointer}
.live-toggle input{width:18px;height:18px;cursor:pointer}
.live-order-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--panel)}
.live-order-card.awaiting{border-color:#e08a00}
.live-order-card.placed{border-color:#1a9c5f}
.live-order-card.failed,.live-order-card.rejected{border-color:#a94442;opacity:.75}
.live-order-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.live-order-detail{font-size:13px}
.live-order-detail b{font-size:15px}
.live-order-actions{display:flex;gap:8px}
.live-confirm-btn{background:#1a9c5f;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-weight:700;cursor:pointer;font-size:13px}
.live-confirm-btn:hover{background:#158049}
.live-reject-btn{background:var(--panel);color:#a94442;border:1px solid #a94442;border-radius:8px;padding:8px 16px;font-weight:700;cursor:pointer;font-size:13px}
.live-reject-btn:hover{background:rgba(169,68,66,.08)}
.live-status-badge{font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:20px;text-transform:uppercase}
.live-status-badge.awaiting{background:rgba(224,138,0,.15);color:#e08a00}
.live-status-badge.placed{background:rgba(26,156,95,.15);color:#1a9c5f}
.live-status-badge.failed,.live-status-badge.rejected{background:rgba(169,68,66,.15);color:#a94442}
.pp-h{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-d,#177f7c);margin:22px 0 8px}
.pp-h small{font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted)}
.pp-tw{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.pp-tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.pp-tbl th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line);background:var(--input)}
.pp-tbl th.r,.pp-tbl td.r{text-align:right}
.pp-tbl td{padding:8px 12px;border-bottom:1px solid var(--line);color:var(--ink)}
.pp-tbl tr:last-child td{border-bottom:none}
.pp-src{font-size:11px;color:var(--muted)}
.pp-sl{color:#c0392b}.pp-tg{color:#128a4b}
.pp-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:5px;background:var(--input);color:var(--muted)}
.pp-badge.up{background:rgba(18,138,75,.14);color:#128a4b}
.pp-badge.down{background:rgba(192,57,43,.12);color:#c0392b}

.w52f-h{margin:18px 0 8px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-d,#177f7c)}

.strat-toolbar{display:flex;gap:8px;justify-content:flex-end;margin:0 0 10px}
.strat-toolbar button{font-size:12px;padding:5px 12px;cursor:pointer}

/* collapsible tracker desks (Strategies tab) */
.desk-titlewrap{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1;min-width:0}
.desk-toggle{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;color:var(--muted,#6b7d72);padding:2px 4px;flex:none}
.desk-toggle:hover{color:var(--teal-d,#177f7c)}
.ema5-desk.desk-collapsed > :not(.ema5-heading),
.sma200-desk.desk-collapsed > :not(.sma200-heading),
.zone-desk.desk-collapsed > :not(.zone-heading){display:none !important}
.ema5-desk.desk-collapsed .ema5-heading p,
.sma200-desk.desk-collapsed .sma200-heading p,
.zone-desk.desk-collapsed .zone-heading p{display:none}

/* ---------- Reports (date-wise PDF archive) ---------- */
.reports-body{margin-top:12px;display:flex;flex-direction:column;gap:20px}
.rep-group{display:flex;flex-direction:column;gap:8px}
.rep-date{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#39786d;
  border-bottom:1px solid #e0e8e3;padding-bottom:6px}
.rep-card{display:flex;align-items:center;gap:14px;text-decoration:none;background:var(--panel);color:#20382e;
  border:1px solid #dfe7e3;border-radius:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,transform .05s}
.rep-card:hover{border-color:#43877d;box-shadow:0 2px 10px rgba(67,135,125,.14)}
.rep-card:active{transform:translateY(1px)}
.rep-ic{font-size:24px;line-height:1;flex:0 0 auto}
.rep-meta{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}
.rep-title{font-weight:700;font-size:15px}
.rep-sub{font-size:12px;color:#687777}
.rep-open{flex:0 0 auto;font-weight:700;font-size:13px;color:#286456;background:#e8f3ef;border-radius:8px;padding:8px 12px}
@media(max-width:560px){.rep-open{padding:6px 9px;font-size:12px}.rep-title{font-size:14px}}

.atm-imgs{display:flex;flex-direction:column;gap:20px}
.atm-fig{margin:0;background:var(--panel);border:1px solid #dfe7e3;border-radius:12px;padding:12px}
.atm-fig figcaption{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#39786d;margin-bottom:8px}
.atm-fig img{display:block;width:100%;border-radius:8px}

/* ---------- Index Option Selling desk ---------- */
.optsell-signals{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.optsell-card{border:1px solid #dfe7e3;border-radius:14px;padding:16px;background:var(--panel);border-left-width:5px}
.optsell-card.oc-bull{border-left-color:#1a8f5a;background:#f4fbf7}
.optsell-card.oc-bear{border-left-color:#c23b3b;background:#fdf5f5}
.optsell-card.oc-flat{border-left-color:#8aa0b5}
.oc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.oc-top b{font-size:16px;color:#17242f}
.oc-tag{font-size:12px;font-weight:800;letter-spacing:.02em;padding:4px 10px;border-radius:999px;background:var(--good-bg);color:var(--good-fg)}
.oc-bear .oc-tag{background:var(--bad-bg);color:var(--bad-fg)}
.oc-strike{font-size:26px;font-weight:800;color:#16283d;margin:8px 0 2px}
.oc-ctx{font-size:12.5px;color:#5f7486;margin-bottom:10px}
.oc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.oc-grid>div{background:#f5f8fa;border-radius:9px;padding:8px 6px;text-align:center}
.oc-grid span{display:block;font-size:10.5px;color:#67756d;margin-bottom:3px}
.oc-grid b{font-size:14px;color:#17242f}
.oc-grid b.up,.ot-stats b.up,#optsell-rows .up b,#optsell-rows td.up b{color:#1a8f5a}
.oc-grid b.down,.ot-stats b.down,#optsell-rows .down b,#optsell-rows td.down b{color:#c23b3b}
.optsell-track{display:flex;flex-direction:column;gap:10px;margin:8px 0}
.ot-block{border:1px solid #e3e8ee;border-radius:12px;padding:12px 14px;background:#fbfdfc}
.ot-block>b{display:block;font-size:13px;color:#286456;margin-bottom:6px}
.ot-stats{display:flex;flex-wrap:wrap;gap:6px 18px}
.ot-stats span{font-size:12.5px;color:#5f7486}
.ot-stats b{color:#17242f}
.optsell-note{font-size:11px;color:#7a8894;line-height:1.5;margin:2px 0 0}
.optsell-h3{font-size:14px;color:#16283d;margin:16px 0 6px}
@media(max-width:640px){.optsell-signals{grid-template-columns:1fr}.oc-grid{grid-template-columns:repeat(3,1fr)}}

.orb-h3{font-size:14px;color:#16283d;margin:18px 0 6px;border-top:1px solid var(--line);padding-top:14px}
.orb-callout{background:var(--warn-bg);color:var(--warn-fg);border-radius:var(--radius-md);
  padding:10px 14px;font-size:13px;line-height:1.5;margin:10px 0 4px}

/* ---------- Not-profitable graveyard ---------- */
#rejected-panel .panel-head{align-items:baseline;gap:10px}
.rejected-admin{background:#f6f8fa;border:1px solid #e3e8ee;border-radius:12px;padding:14px;margin:8px 0 14px}
.rej-form-row{display:flex;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.rej-form-row .mini{flex:1 1 200px}
.rej-ta{width:100%;box-sizing:border-box;resize:vertical}
.rej-form-actions{display:flex;align-items:center;gap:12px;margin-top:8px}
.rejected-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.rej-card{border:1px solid #e6d3d3;border-left:5px solid #c23b3b;border-radius:12px;padding:14px 16px;background:#fdf7f7}
.rej-top{display:flex;align-items:center;gap:10px}
.rej-top b{font-size:14.5px;color:#17242f;flex:1 1 auto}
.rej-verdict{font-size:11px;font-weight:800;letter-spacing:.01em;color:#a5372c;background:#fbe1e1;border-radius:999px;padding:4px 10px;white-space:nowrap}
.rej-del{flex:0 0 auto;border:0;background:var(--bad-bg);color:var(--bad-fg);border-radius:7px;width:24px;height:24px;cursor:pointer;font-size:12px;line-height:1}
.rej-del:hover{background:#e9bcbc}
.rej-reason{font-size:12.8px;color:#4b5a63;line-height:1.5;margin:8px 0 6px}
.rej-meta{font-size:11px;color:#7a8894}
.rej-meta b{color:#5f7486}
@media(max-width:640px){.rejected-list{grid-template-columns:1fr}}

/* ---------- Deep Dive (per-stock investment decision) ---------- */
.dd-na{color:#9aa7b2;font-style:italic}
.dd-good{color:#1a8f5a}.dd-mid{color:#c07d18}.dd-bad{color:#c23b3b}
.dd-bg-good{background:#1a8f5a}.dd-bg-mid{background:#d69324}.dd-bg-bad{background:#c23b3b}
.dd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin:8px 0 4px}
.dd-head h3{margin:0;font-size:19px;color:#16283d}.dd-head h3 small{color:#8aa0b5;font-weight:600;font-size:13px}
.dd-sub{color:#5f7486;font-size:13px;margin-top:2px}
.dd-quote{text-align:right}.dd-quote b{font-size:20px;color:#16283d;display:block}.dd-quote small{color:#67756d;font-size:11.5px}
.dd-verdict{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:14px;padding:16px 18px;margin:12px 0;border:1px solid #e3e8ee}
.dd-vb-good{background:#eef8f1;border-color:#bfe3cd}.dd-vb-mid{background:#fdf6e9;border-color:#f0dcae}.dd-vb-bad{background:#fdeeee;border-color:#f0c9c9}
.dd-vlabel{font-size:10.5px;font-weight:800;letter-spacing:.1em;color:#7a8894}
.dd-verdict h2{margin:3px 0 4px;font-size:22px;color:#16283d}.dd-verdict p{margin:0;font-size:12.5px;color:#5f7486}
.dd-composite{text-align:center;flex:0 0 auto}.dd-composite b{font-size:34px;color:#16283d;line-height:1}.dd-composite span{font-size:12px;color:#8aa0b5}
.dd-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:8px 0 14px}
.dd-pillar{background:#f6f8fa;border:1px solid #e6ecf1;border-radius:11px;padding:11px 13px}
.dd-pl-top{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#5f7486;margin-bottom:7px}
.dd-pl-top b{font-size:18px}.dd-track{height:7px;background:#e4eaee;border-radius:6px;overflow:hidden}.dd-fill{display:block;height:100%;border-radius:6px}
.dd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.dd-card{border:1px solid #e3e8ee;border-radius:12px;padding:14px 16px;background:var(--panel)}
.dd-card h4{margin:0 0 10px;font-size:13.5px;color:#286456;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dd-tbl{width:100%;border-collapse:collapse;font-size:12.5px}.dd-tbl th,.dd-tbl td{padding:5px 4px;border-bottom:1px solid #eef2f5;text-align:left}
.dd-tbl th.r,.dd-tbl td.r{text-align:right}.dd-tbl thead th{color:#8aa0b5;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em}
.dd-blend td{border-top:1.5px solid #d7e0e6;border-bottom:0}
.dd-mos{font-size:11px;font-weight:800;border-radius:999px;padding:3px 9px}
.dd-mos.good{background:var(--good-bg);color:var(--good-fg)}.dd-mos.mid{background:var(--warn-bg);color:var(--warn-fg)}.dd-mos.bad{background:var(--bad-bg);color:var(--bad-fg)}
.dd-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.dd-metrics>div{display:flex;justify-content:space-between;font-size:12.5px;border-bottom:1px dotted #eef2f5;padding:3px 0}
.dd-metrics span{color:#67756d}.dd-metrics b{color:#17242f}
.dd-phils{display:flex;flex-direction:column;gap:7px}
.dd-phil{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;border-left:4px solid #ccc;border-radius:8px;padding:7px 10px;background:#f8fafb}
.dd-phil small{color:#7a8894;font-size:11px}.dd-ph-name{font-weight:700;font-size:12.5px;color:#17242f}
.dd-ph-verd{font-size:10px;font-weight:800;border-radius:999px;padding:2px 8px}
.dd-ph-good{border-left-color:#1a8f5a}.dd-ph-good .dd-ph-verd{background:var(--good-bg);color:var(--good-fg)}
.dd-ph-mid{border-left-color:#d69324}.dd-ph-mid .dd-ph-verd{background:var(--warn-bg);color:var(--warn-fg)}
.dd-ph-bad{border-left-color:#c23b3b}.dd-ph-bad .dd-ph-verd{background:var(--bad-bg);color:var(--bad-fg)}
.dd-ks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.dd-ks li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;font-size:12px;padding:5px 8px;border-radius:7px;background:#f8fafb}
.dd-ks li>span{color:#4b5a63}.dd-ks li>b{color:#17242f}.dd-ks li>em{font-style:normal;font-weight:700;font-size:11px}
.dd-ks li.dd-good>em{color:#1a7a4c}.dd-ks li.dd-bad>em{color:#c23b3b}.dd-ks li em small{color:#9aa7b2;font-weight:400}
.dd-gen{font-size:11px;color:#8aa0b5;margin-top:4px}
@media(max-width:680px){.dd-pillars{grid-template-columns:1fr 1fr}.dd-grid2{grid-template-columns:1fr}.dd-metrics{grid-template-columns:1fr}}

/* ---------- EMA Conjunction scanner badges ---------- */
.ec-badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.02em;border-radius:999px;padding:3px 9px}
.ec-badge.ready{background:#e8f1fb;color:#1f5fa8}
.ec-badge.trig{background:var(--good-bg);color:var(--good-fg)}
#emaconj-rows .up{color:#1a8f5a;font-weight:700}#emaconj-rows .down{color:#c23b3b;font-weight:700}

/* ---------- EMA Conjunction performance panel ---------- */
.emaconj-perf{margin-top:6px}
.emaconj-perf:empty{display:none}
.emaconj-scan-h{font-size:14px;color:#16283d;margin:18px 0 2px;border-top:1px solid #e3e8ee;padding-top:14px}
.emaconj-perf-h{font-size:14px;color:#286456;margin:0 0 4px}
.ec-perf-sub{font-size:11.5px;color:#7a8894;line-height:1.5;margin:2px 0 8px}
.ec-perf-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}
.ec-perf-tiles>div{background:#f5f8fa;border:1px solid #e6ecf1;border-radius:10px;padding:9px 8px;text-align:center}
.ec-perf-tiles span{display:block;font-size:10px;color:#67756d;margin-bottom:3px}
.ec-perf-tiles b{font-size:17px;color:#16283d}.ec-perf-tiles b.up{color:#1a8f5a}.ec-perf-tiles b.down{color:#c23b3b}
.ec-year{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.ec-year span{background:#f6f8fa;border:1px solid #e6ecf1;border-radius:8px;padding:5px 9px;text-align:center;min-width:52px}
.ec-year small{display:block;font-size:9.5px;color:#8aa0b5}.ec-year b{font-size:12px}
.ec-year b.up{color:#1a8f5a}.ec-year b.down{color:#c23b3b}
@media(max-width:680px){.ec-perf-tiles{grid-template-columns:repeat(3,1fr)}}

/* ---------- Exit-stop sensitivity panel ---------- */
.exit-sens{margin:14px 0;border-top:1px solid #e3e8ee;padding-top:12px}
.exit-sens:empty{display:none}
.sens-pick{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 10px}
.sens-pick label{font-weight:600;font-size:13px;color:#20382e}
.sens-pick .mini{padding:7px 10px}
.sens-line{font-size:12px;color:#5f7486}.sens-line b{color:#17242f}.sens-line b.up{color:#1a8f5a}
.sens-tag{font-size:9.5px;font-weight:800;border-radius:999px;padding:2px 7px;margin-left:6px}
.sens-tag.def{background:var(--neutral-bg);color:var(--neutral-fg)}.sens-tag.best{background:var(--good-bg);color:var(--good-fg)}
.exit-sens tr.sens-bestrow{background:#f2fbf5}
.ecidx{margin:14px 0;border-top:1px solid #e3e8ee;padding-top:12px}
.ecidx:empty{display:none}
.ecidx-tbl{margin:10px 0}
.ecidx-tbl h4{font-size:12px;font-weight:800;letter-spacing:.04em;color:#286456;margin:0 0 4px}
.ecidx tr.sens-bestrow{background:#f2fbf5}
.ecidx tr.ecidx-lose td{color:#98a3ad}
.ecidx tr.ecidx-lose td b{color:#c0392b}
.ecidx tr.ecidx-win td b{color:#17242f}
.ecidx-thin{font-size:9px;font-weight:800;border-radius:999px;padding:2px 6px;margin-left:6px;background:var(--warn-bg);color:var(--warn-fg);display:inline-block}
.ecidx-note{color:#9a6a1a;background:#fdf7ec;border:1px solid #f2e4c9;border-radius:8px;padding:8px 10px;margin-top:10px}
.ecidx-main table{font-size:12.5px}
.ecidx-main td{vertical-align:top}
.ecidx-main .sens-tag,.ecidx-main .ecidx-thin{margin:3px 0 0;font-size:8.5px}
.ecidx-vs b{display:block;line-height:1.25}
.ecidx-vs small{display:block;font-size:9.5px;color:#9aa5af;font-weight:600}
.ecidx-verdict{background:#f4faf6;border:1px solid #d9ebe0;border-radius:8px;padding:9px 11px;color:#3c5b4c}
.ecidx-verdict b{color:#1a6b45}
.ecidx-more{margin-top:12px;border-top:1px dashed #e3e8ee;padding-top:10px}
.ecidx-more summary{cursor:pointer;font-size:12px;font-weight:700;color:#286456}
.ecidx-more[open] summary{margin-bottom:6px}

/* ================================================================
   SHARED COMPONENT LIBRARY — "desk" (tracker) card + "performance"
   (stat-grid) patterns. These were previously copy-pasted near-
   identically across ema5-tracker.css / sma200-tracker.css /
   zone-tracker.css (and the matching -performance.css trio) — each
   file redeclared the same rules under its own prefix. Defined once
   here via comma-grouped selectors instead; the per-feature CSS
   files now only hold what's actually unique to them. Uses the type/
   spacing/radius tokens above instead of the ad-hoc values that were
   scattered across the six original files.
   ================================================================ */
.ema5-desk,.sma200-desk,.zone-desk{max-width:1400px;margin:var(--space-5) auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);overflow:hidden;color:var(--ink)}
.ema5-heading,.sma200-heading,.zone-heading{padding:var(--space-6);display:flex;justify-content:space-between;gap:var(--space-4);background:var(--panel2);align-items:center}
.ema5-heading span,.sma200-heading span,.zone-heading span{font-size:var(--fs-2xs);font-weight:800;letter-spacing:1px;color:var(--muted)}
.ema5-heading h1,.sma200-heading h1,.zone-heading h1{font-size:var(--fs-2xl);line-height:1.2;margin:10px 0}
.ema5-heading p,.sma200-heading p,.zone-heading p{font-size:var(--fs-base);color:var(--muted)}
.ema5-desk button,.ema5-desk select,.ema5-dialog button,
.sma200-desk button,.sma200-desk select,.sma200-dialog button,
.zone-desk button,.zone-desk select,.zone-dialog button{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--teal-d);padding:8px 11px;cursor:pointer}
.ema5-desk button[aria-pressed=true],.sma200-desk button[aria-pressed=true],.zone-desk button[aria-pressed=true]{background:var(--teal-d);color:#fff}
.ema5-desk button:disabled,.sma200-desk button:disabled,.zone-desk button:disabled{opacity:.4;cursor:default}
#ema5-status,#ema5-period,#sma200-status,#sma200-period,#zone-status,#zone-period{padding:0 var(--space-6);font-size:var(--fs-sm);line-height:1.6;color:var(--muted)}
.ema5-controls,.sma200-controls,.zone-controls{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;padding:15px var(--space-6);flex-wrap:wrap;font-size:var(--fs-sm)}
.ema5-controls>div,.sma200-controls>div,.zone-controls>div{display:flex;gap:6px}
.ema5-controls a,.sma200-controls a,.zone-controls a{color:var(--teal-d)}
.ema5-live,.sma200-live,.zone-live{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding:10px var(--space-6)}
.ema5-live article,.sma200-live article,.zone-live article{border:1px solid var(--line);border-radius:var(--radius-md);padding:15px;background:var(--panel2)}
.ema5-live p,.sma200-live p,.zone-live p{font-size:var(--fs-sm);line-height:1.6;color:var(--muted);margin:8px 0 0}
.ema5-stats,.sma200-stats,.zone-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);padding:15px var(--space-6)}
.ema5-stats>div,.sma200-stats>div,.zone-stats>div{border:1px solid var(--line);padding:16px;border-radius:var(--radius-md)}
.ema5-stats span,.sma200-stats span,.zone-stats span{display:block;font-size:var(--fs-xs);color:var(--muted)}
.ema5-stats strong,.sma200-stats strong,.zone-stats strong{display:block;font-size:var(--fs-xl);margin-top:10px;color:var(--teal-d)}
.ema5-table,.sma200-table,.zone-table{overflow:auto}
.ema5-table table,.sma200-table table,.zone-table table{width:100%;border-collapse:collapse;min-width:870px;text-align:left;font-size:var(--fs-sm)}
.ema5-table th,.sma200-table th,.zone-table th{padding:13px 18px;background:var(--panel2);font-size:var(--fs-2xs);color:var(--muted)}
.ema5-table td,.sma200-table td,.zone-table td{padding:13px 18px;border-bottom:1px solid var(--line)}
.ema5-table small,.sma200-table small,.zone-table small{display:block;font-size:var(--fs-2xs);line-height:1.6;color:var(--muted)}
.ema5-badge,.sma200-badge,.zone-badge{display:inline-block;padding:4px 5px;background:var(--chip);border-radius:4px;font-size:var(--fs-2xs);white-space:nowrap}
.ema5-badge.hit,.sma200-badge.hit,.zone-badge.hit{background:var(--chip);color:var(--up)}
.ema5-pages,.sma200-pages,.zone-pages{display:flex;gap:15px;align-items:center;justify-content:flex-end;padding:15px var(--space-6);font-size:var(--fs-sm)}
.ema5-desk details,.sma200-desk details,.zone-desk details{padding:var(--space-5) var(--space-6);font-size:var(--fs-sm);line-height:1.7;color:var(--muted)}
.ema5-desk summary,.sma200-desk summary,.zone-desk summary{cursor:pointer;color:var(--teal-d);font-weight:700}
.ema5-warning,.sma200-warning,.zone-warning{color:#a36c28!important}
.ema5-dialog,.sma200-dialog,.zone-dialog{max-width:720px;width:calc(100% - 44px);box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-lg);padding:25px;color:var(--ink);font-size:var(--fs-md);line-height:1.7;background:var(--panel)}
.ema5-dialog::backdrop,.sma200-dialog::backdrop,.zone-dialog::backdrop{background:#10282066}
.ema5-dialog>button,.sma200-dialog>button,.zone-dialog>button{float:right}
.ema5-dialog h2,.sma200-dialog h2,.zone-dialog h2{font-size:23px}
.ema5-dialog h3,.sma200-dialog h3,.zone-dialog h3{font-size:17px}
@media(max-width:700px){
  .ema5-heading,.sma200-heading,.zone-heading{padding:var(--space-5) var(--space-4);align-items:flex-start;flex-direction:column}
  .ema5-heading h1,.sma200-heading h1,.zone-heading h1{font-size:var(--fs-xl)}
  .ema5-controls,.ema5-stats,.ema5-live,.sma200-controls,.sma200-stats,.sma200-live,.zone-controls,.zone-stats,.zone-live{padding-inline:var(--space-4)}
  .ema5-live,.sma200-live,.zone-live{grid-template-columns:1fr}
  .ema5-stats,.sma200-stats,.zone-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ema5-controls>div,.sma200-controls>div,.zone-controls>div{flex-wrap:wrap}
  .ema5-pages,.sma200-pages,.zone-pages{padding-inline:var(--space-4)}
  #ema5-status,#ema5-period,#sma200-status,#sma200-period,#zone-status,#zone-period{padding-inline:var(--space-4)}
}

/* ---- shared "performance" stat-grid pattern (was ema5-/sma200-/zone-performance.css) ---- */
.ema5-performance,.sma200-performance,.zone-performance{padding:24px var(--space-6);border-block:1px solid var(--line);background:var(--panel2)}
.ema-perf-heading,.sma-perf-heading,.zone-perf-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}
.ema-perf-heading h2,.sma-perf-heading h2,.zone-perf-heading h2{font-size:23px;margin:0 0 8px}
.ema-perf-heading p,.ema-perf-note,.sma-perf-heading p,.sma-perf-note,.zone-perf-heading p,.zone-perf-note{font-size:var(--fs-sm);line-height:1.7;color:var(--muted)}
.ema-perf-heading label,.sma-perf-heading label,.zone-perf-heading label{font-size:var(--fs-sm);white-space:nowrap}
.ema-perf-stats,.sma-perf-stats,.zone-perf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:18px 0}
.ema-perf-stats>div,.sma-perf-stats>div,.zone-perf-stats>div{min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);padding:15px;background:var(--panel)}
.ema-perf-stats span,.ema-perf-stats small,.sma-perf-stats span,.sma-perf-stats small,.zone-perf-stats span,.zone-perf-stats small{display:block;font-size:var(--fs-xs);line-height:1.6;color:var(--muted)}
.ema-perf-stats strong,.sma-perf-stats strong,.zone-perf-stats strong{display:block;font-size:var(--fs-xl);color:var(--teal-d);margin:10px 0;overflow-wrap:anywhere}
.ema5-performance svg,.sma200-performance svg,.zone-performance svg{display:block;width:100%;max-height:230px;margin:12px 0}
.ema5-performance svg text,.sma200-performance svg text,.zone-performance svg text{fill:var(--muted);font:12px sans-serif}
.ema5-performance h3,.sma200-performance h3,.zone-performance h3{font-size:var(--fs-md)}
.ema-perf-table,.sma-perf-table,.zone-perf-table{overflow:auto}
.ema-perf-table table,.sma-perf-table table,.zone-perf-table table{width:100%;min-width:570px;border-collapse:collapse;font-size:var(--fs-sm);text-align:left}
.ema-perf-table td,.ema-perf-table th,.sma-perf-table td,.sma-perf-table th,.zone-perf-table td,.zone-perf-table th{padding:10px;border-bottom:1px solid var(--line)}
.ema-perf-table th,.sma-perf-table th,.zone-perf-table th{color:var(--muted);font-size:var(--fs-xs)}
.ema-perf-links,.sma-perf-links,.zone-perf-links{display:flex;justify-content:flex-end;margin-top:15px}
.ema-perf-links a,.sma-perf-links a,.zone-perf-links a{color:var(--teal-d);font-size:var(--fs-sm)}
.ema-perf-warning,.sma-perf-warning,.zone-perf-warning{padding:12px;background:var(--warn-bg);color:var(--warn-fg);font-size:var(--fs-sm);border-radius:var(--radius-sm)}
.ema5-performance details,.sma200-performance details,.zone-performance details{padding:18px 0 0}
@media(max-width:800px){
  .ema5-performance,.sma200-performance,.zone-performance{padding:var(--space-5) var(--space-4)}
  .ema-perf-stats,.sma-perf-stats,.zone-perf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ema-perf-heading,.sma-perf-heading,.zone-perf-heading{align-items:flex-start;flex-direction:column}
  .ema-perf-stats strong,.sma-perf-stats strong,.zone-perf-stats strong{font-size:var(--fs-lg)}
}

/* ================= Interface polish — hover/press micro-animations ================= */
button,.btn,.navbtn,.tab,.primary,.ghost,.folder,.dir,.chip,.pager button,.desk-toggle,
nav a,.up-btn{
  transition:transform .12s ease,box-shadow .15s ease,background-color .15s ease,
    border-color .15s ease,opacity .15s ease;
}
button:not(:disabled):hover,.btn:not(:disabled):hover,.navbtn:hover,.tab:hover,
.primary:not(:disabled):hover,.ghost:not(:disabled):hover,.folder:hover,.dir:hover,
.chip:hover,.pager button:hover,.desk-toggle:hover,nav a:hover,.up-btn:not(:disabled):hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(20,26,31,.10);
}
:root[data-theme="dark"] button:not(:disabled):hover,:root[data-theme="dark"] .btn:not(:disabled):hover,
:root[data-theme="dark"] .navbtn:hover,:root[data-theme="dark"] .tab:hover,
:root[data-theme="dark"] .primary:not(:disabled):hover,:root[data-theme="dark"] .ghost:not(:disabled):hover,
:root[data-theme="dark"] .chip:hover,:root[data-theme="dark"] nav a:hover{
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
button:not(:disabled):active,.btn:not(:disabled):active,.navbtn:active,.tab:active,
.primary:not(:disabled):active,.ghost:not(:disabled):active,.folder:active,.dir:active,
.chip:active,.pager button:active,.desk-toggle:active,nav a:active,.up-btn:not(:disabled):active{
  transform:translateY(0) scale(.96);
  box-shadow:none;
  transition-duration:.05s;
}
.chev{transition:transform .2s ease}

/* view-switch fade-in: runs whenever a top-level `[id^="view-"]` loses .hidden, since
   CSS animations restart automatically when an element's display goes from none to visible */
[id^="view-"]:not(.hidden){animation:sosViewIn .22s ease}
@keyframes sosViewIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

@media (prefers-reduced-motion:reduce){
  button,.btn,.navbtn,.tab,.primary,.ghost,.folder,.dir,.chip,.pager button,.desk-toggle,
  nav a,.up-btn,[id^="view-"]{transition:none!important;animation:none!important}
}

/* ================= All Strategies — consolidated year-by-year table ================= */
.chatgpt-backtest-desk{margin-top:18px}
.chatgpt-backtest-heading{border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:16px}
.chatgpt-backtest-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.chatgpt-backtest-card{padding:16px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}
.chatgpt-backtest-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.chatgpt-backtest-card-head h2{font-size:17px;margin:0}
.chatgpt-backtest-card-head span{font-size:11px;color:var(--muted);text-align:right}
.chatgpt-backtest-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chatgpt-backtest-kpis div{padding:10px;border-radius:10px;background:var(--panel)}
.chatgpt-backtest-kpis span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.chatgpt-backtest-kpis strong{display:block;margin-top:4px;font-size:19px;color:var(--green)}
.chatgpt-backtest-kpis strong.negative{color:var(--red)}
.chatgpt-backtest-card p{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.chatgpt-backtest-table{margin-top:16px}
.chatgpt-backtest-note{margin-top:12px}
@media(max-width:900px){.chatgpt-backtest-cards{grid-template-columns:1fr}.chatgpt-backtest-card-head span{max-width:48%}}
.allstrat-table table{min-width:1500px;font-size:var(--fs-xs)}
.allstrat-table th,.allstrat-table td{white-space:nowrap;padding:10px 12px}
.allstrat-table td:nth-child(1),.allstrat-table th:nth-child(1){position:sticky;left:0;background:var(--panel);z-index:2;white-space:normal;min-width:170px}
.allstrat-table td:nth-child(2),.allstrat-table th:nth-child(2){position:sticky;left:170px;background:var(--panel);z-index:2;white-space:normal;min-width:150px;box-shadow:2px 0 4px rgba(0,0,0,.04)}
.allstrat-table thead th{position:sticky;top:0;background:var(--panel2);z-index:3}
.allstrat-table thead tr th:nth-child(1),.allstrat-table thead tr th:nth-child(2){z-index:4}
.allstrat-year.up{color:var(--up);font-weight:650}
.allstrat-year.down{color:var(--down);font-weight:650}
.allstrat-year.na{color:var(--muted)}
.pnlcal-total td{border-top:1.5px solid var(--border);background:rgba(127,127,127,.06)}
.allstrat-verdict{font-size:var(--fs-2xs);color:var(--muted)}

/* ================= Brand: soothing animated title + bull & bear mascots ================= */
.sos-title{font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:600;font-size:21px;letter-spacing:.01em;
  background:linear-gradient(100deg,#0d9488 0%,#3ec4a3 24%,#63b3ed 50%,#3ec4a3 76%,#0d9488 100%);background-size:260% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:sosShimmer 10s ease-in-out infinite;white-space:nowrap;
  filter:drop-shadow(0 0 10px rgba(62,196,163,.22))}
.sos-title em{font-style:normal;font-weight:500;opacity:.78;font-size:.82em;margin:0 .06em}
@keyframes sosShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.sos-mascots{display:inline-flex;align-items:center;gap:1px;flex:0 0 auto}
.sos-mascots svg{display:block;overflow:visible}
.sos-bull,.sos-bear{width:34px;height:34px}
.sos-bull{color:#16a06a}.sos-bear{color:#e0685c}
.sos-fill{fill:currentColor}
.sos-horn{fill:none;stroke:#e8dcc4;stroke-width:3.400;stroke-linecap:round}
.sos-ear{fill:currentColor;opacity:.85}
.sos-muzzle{fill:#fff;opacity:.32}
.sos-eye{fill:#fff}.sos-dark{fill:#1b2a2f}
.sos-brow{stroke:#1b2a2f;stroke-width:1.800;stroke-linecap:round;fill:none}
.sos-mouth{stroke:#1b2a2f;stroke-width:1.400;stroke-linecap:round;fill:none}
.sos-bull-body{transform-origin:50% 90%;animation:sosCharge 3.600s ease-in-out infinite}
.sos-bear-body{transform-origin:50% 95%;animation:sosSway 4.200s ease-in-out infinite .6s}
@keyframes sosCharge{0%,55%,100%{transform:translateX(0) rotate(0)}68%{transform:translateX(-3px) rotate(-6deg)}82%{transform:translateX(3px) rotate(4deg)}}
@keyframes sosSway{0%,100%{transform:rotate(-3deg) scale(1)}50%{transform:rotate(3deg) scale(1.045)}}
.sos-chart{width:30px;height:20px;margin:0 2px}
.sos-chart polyline{fill:none;stroke:#3ec4a3;stroke-width:2.200;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:70;animation:sosDraw 4.200s ease-in-out infinite}
.sos-chart circle{fill:#3ec4a3;opacity:0;animation:sosDot 4.200s ease-in-out infinite}
@keyframes sosDraw{0%{stroke-dashoffset:70;opacity:1}55%{stroke-dashoffset:0;opacity:1}85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes sosDot{0%,50%{opacity:0;transform:scale(.5)}58%{opacity:1;transform:scale(1.3)}85%{opacity:1}100%{opacity:0}}
.logo{gap:10px}
.brand .sos-title{font-size:22px}.brand .sos-bull,.brand .sos-bear{width:40px;height:40px}
:root[data-theme="dark"] .sos-title{filter:drop-shadow(0 0 12px rgba(99,179,237,.28))}
@media (max-width:620px){.sos-title{font-size:17px}.sos-bull,.sos-bear{width:28px;height:28px}.sos-chart{display:none}}
@media (prefers-reduced-motion:reduce){.sos-title,.sos-bull-body,.sos-bear-body,.sos-chart polyline,.sos-chart circle{animation:none!important}.sos-chart polyline{stroke-dashoffset:0}.sos-chart circle{opacity:1}}

/* ================= Hero banner (Home) — animated sunrise, skyline, rising chart, bull on the rock ================= */
.sos-hero{position:relative;container-type:inline-size;aspect-ratio:1980/760;min-height:250px;max-height:560px;margin:14px 22px 8px;border-radius:20px;overflow:hidden;isolation:isolate;
  background:#0a1f3c;box-shadow:0 18px 44px rgba(9,25,48,.28);font-family:"Poppins",-apple-system,"Segoe UI",sans-serif;color:#fff}
.sos-hero>*{position:absolute}
.hero-sky{inset:0;background:
  radial-gradient(60% 55% at 56% 68%,rgba(255,190,90,.9),rgba(255,140,60,.35) 45%,transparent 70%),
  linear-gradient(180deg,#0c2347 0%,#17457a 32%,#4a8fc6 55%,#f2a552 78%,#ffd58a 100%)}
.hero-sun{left:56%;top:67%;width:22cqw;height:22cqw;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff6d8 0 8%,rgba(255,214,120,.85) 22%,rgba(255,160,60,.0) 68%);animation:heroSun 7s ease-in-out infinite}
@keyframes heroSun{0%,100%{opacity:.85;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}}
.hero-clouds i{position:absolute;display:block;border-radius:50%;filter:blur(14px);background:radial-gradient(closest-side,rgba(255,232,200,.55),rgba(255,180,110,.22) 60%,transparent);animation:heroCloud linear infinite}
.hero-clouds{inset:0;overflow:hidden}
.hero-clouds i:nth-child(1){width:34cqw;height:7cqw;left:14%;top:8%;animation-duration:70s}
.hero-clouds i:nth-child(2){width:28cqw;height:6cqw;left:52%;top:4%;animation-duration:90s;animation-delay:-30s}
.hero-clouds i:nth-child(3){width:38cqw;height:8cqw;left:30%;top:26%;animation-duration:110s;animation-delay:-60s;opacity:.75}
.hero-clouds i:nth-child(4){width:24cqw;height:5cqw;left:70%;top:20%;animation-duration:80s;animation-delay:-15s}
.hero-clouds i:nth-child(5){width:30cqw;height:6cqw;left:-10%;top:40%;animation-duration:100s;animation-delay:-45s;opacity:.6}
@keyframes heroCloud{from{transform:translateX(-12cqw)}to{transform:translateX(16cqw)}}
.hero-chart{right:0;top:0;height:100%;width:44%;opacity:.95}
.hero-chart .cd line{stroke:#37e3a0;stroke-width:3;opacity:.95}.hero-chart .cd rect{fill:#22d18b}
.hero-chart .cd{transform-box:fill-box;transform-origin:50% 100%;animation:heroCandle 10s ease-in-out infinite;animation-delay:calc(var(--i)*.28s)}
@keyframes heroCandle{0%{transform:scaleY(0);opacity:0}6%{opacity:1}26%,86%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.hero-chart .bg{fill:rgba(60,235,170,.13);transform-box:fill-box;transform-origin:50% 100%;animation:heroBar 10s ease-in-out infinite;animation-delay:calc(var(--i)*.35s)}
@keyframes heroBar{0%{transform:scaleY(0)}30%,88%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero-chart .arrow-line{fill:none;stroke:url(#arw);stroke-width:12;stroke-linecap:round;stroke-dasharray:820;stroke-dashoffset:820;animation:heroArrow 10s ease-in-out infinite}
@keyframes heroArrow{0%{stroke-dashoffset:820;opacity:1}38%{stroke-dashoffset:0}88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.hero-chart .arrow-head{fill:#5dffc4;opacity:0;animation:heroHead 10s ease-in-out infinite}
@keyframes heroHead{0%,34%{opacity:0;transform:translate(-14px,10px)}42%,88%{opacity:1;transform:none}100%{opacity:0}}
.hero-city{left:0;bottom:0;width:100%;height:40%}
.hero-city .tw{animation:heroTwinkle 4s ease-in-out infinite}
@keyframes heroTwinkle{0%,100%{opacity:.25}50%{opacity:1}}
.hero-bull{right:1%;bottom:0;height:90%;width:auto;filter:drop-shadow(0 0 18px rgba(255,170,70,.25))}
.hero-bull .bull-body{transform-box:fill-box;transform-origin:50% 100%;animation:heroBreath 5s ease-in-out infinite}
@keyframes heroBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.012,1.018)}}
.hero-bull .bull-tail{transform-box:fill-box;transform-origin:0% 0%;animation:heroTail 4.5s ease-in-out infinite}
@keyframes heroTail{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg)}}
.hero-bull .bull-eye{animation:heroEye 6s ease-in-out infinite}
@keyframes heroEye{0%,90%,100%{opacity:1}94%{opacity:.1}}
.hero-shade{inset:0;background:linear-gradient(90deg,rgba(7,20,42,.78) 0%,rgba(7,20,42,.5) 34%,rgba(7,20,42,0) 58%),linear-gradient(0deg,rgba(7,20,42,.35),transparent 30%)}
.hero-copy{left:6.5cqw;top:9%;width:52cqw;z-index:3}
.hero-title{margin:0;line-height:.98;font-weight:800;letter-spacing:.01em;text-transform:uppercase}
.hero-title .ht1{display:block;font-size:6.6cqw;background:linear-gradient(180deg,#fff,#dfe8f5);-webkit-background-clip:text;background-clip:text;color:transparent;animation:heroIn .9s ease both}
.hero-title .ht2{display:flex;align-items:center;font-size:8.6cqw;background:linear-gradient(100deg,#19c98a 0%,#3df0b0 35%,#8fffd6 50%,#3df0b0 65%,#19c98a 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:heroIn .9s .12s ease both,heroSheen 6s 1.2s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(40,230,160,.35))}
.hero-title .ht-o{width:.86em;height:.86em;margin:0 .02em;color:#19c98a;flex:0 0 auto;animation:heroO 3.8s ease-in-out infinite}
@keyframes heroSheen{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes heroO{0%,100%{filter:drop-shadow(0 0 2px rgba(58,240,172,.3));transform:scale(1)}50%{filter:drop-shadow(0 0 12px rgba(58,240,172,.85));transform:scale(1.06)}}
@keyframes heroIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-pillars{display:flex;align-items:center;gap:1.1cqw;margin:1.9cqw 0 1.3cqw;font-size:1.05cqw;letter-spacing:.34em;font-weight:500;color:#e8f1fb;animation:heroIn .9s .3s ease both}
.hero-pillars i{width:.42cqw;height:.42cqw;border-radius:50%;background:#2fe0a0;box-shadow:0 0 8px #2fe0a0;animation:heroDot 2.4s ease-in-out infinite}
.hero-pillars i:nth-of-type(2){animation-delay:.4s}.hero-pillars i:nth-of-type(3){animation-delay:.8s}
@keyframes heroDot{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}
.hero-sub{margin:0;font-size:2.35cqw;font-weight:300;line-height:1.3;color:#f4f8fd;text-shadow:0 2px 12px rgba(0,0,0,.35);animation:heroIn .9s .45s ease both}
.hero-feats{list-style:none;display:flex;gap:0;margin:2.2cqw 0 0;padding:0;animation:heroIn .9s .6s ease both}
.hero-feats li{flex:1;text-align:center;font-size:.86cqw;font-weight:600;letter-spacing:.03em;line-height:1.25;padding:0 1.2cqw;border-left:1px solid rgba(70,220,170,.28)}
.hero-feats li:first-child{border-left:0}
.hero-feats .hf-ic{display:flex;align-items:center;justify-content:center;width:4.1cqw;height:4.1cqw;margin:0 auto .7cqw;border-radius:50%;border:2px solid #22c98b;color:#3af0ac;background:rgba(10,40,52,.55);box-shadow:0 0 14px rgba(34,201,139,.25);animation:heroPulse 3.6s ease-in-out infinite}
.hero-feats li:nth-child(2) .hf-ic{animation-delay:.5s}.hero-feats li:nth-child(3) .hf-ic{animation-delay:1s}.hero-feats li:nth-child(4) .hf-ic{animation-delay:1.5s}
.hero-feats .hf-ic svg{width:56%;height:56%}
@keyframes heroPulse{0%,100%{box-shadow:0 0 10px rgba(34,201,139,.2)}50%{box-shadow:0 0 22px rgba(58,240,172,.55)}}
@media (max-width:760px){.sos-hero{margin:10px 10px 6px;aspect-ratio:auto;min-height:330px;border-radius:16px}
  .hero-copy{left:5%;width:90%;top:8%}.hero-title .ht1{font-size:9.5cqw}.hero-title .ht2{font-size:12.5cqw}
  .hero-pillars{font-size:2.4cqw;gap:2cqw;letter-spacing:.24em}.hero-sub{font-size:4.4cqw}.hero-feats{display:none}
  .hero-bull{height:58%;opacity:.9}.hero-chart{width:70%;opacity:.55}.hero-city{height:30%}}
@media (prefers-reduced-motion:reduce){.sos-hero *{animation:none!important}.hero-chart .cd,.hero-chart .bg{transform:none;opacity:1}.hero-chart .arrow-line{stroke-dashoffset:0}.hero-chart .arrow-head{opacity:1}}

/* Hero as the site header: full on Home, slim brand strip on every other page */
.sos-hero{margin:12px 22px 6px}
.sos-hero.compact{aspect-ratio:auto;height:128px;min-height:0;border-radius:16px;transition:height .35s ease}
.sos-hero.compact .hero-copy{top:14px;left:26px;width:60%}
.sos-hero.compact .hero-title .ht1{font-size:22px}
.sos-hero.compact .hero-title .ht2{font-size:31px}
.sos-hero.compact .hero-pillars,.sos-hero.compact .hero-sub,.sos-hero.compact .hero-feats,.sos-hero.compact .hero-chart{display:none}
.sos-hero.compact .hero-bull{height:118%;right:2%}
.sos-hero.compact .hero-city{height:55%}
.sos-hero.compact .hero-sun{width:150px;height:150px;left:62%;top:90%}
@media (max-width:760px){.sos-hero.compact{height:112px}.sos-hero.compact .hero-title .ht1{font-size:17px}.sos-hero.compact .hero-title .ht2{font-size:24px}.sos-hero.compact .hero-bull{height:105%}}

/* ================= Public mode (restricted view for non-admin visitors) ================= */
.pm-btn{font-size:12px;padding:6px 10px}
.pm-btn.on{background:#fde8e8;border-color:#e0685c;color:#b23a2e;font-weight:700}
.pm-btn.prev-on{background:#e7f3f2;border-color:#177f7c;color:#177f7c;font-weight:700}
body.public-mode #nav-structure,body.public-mode #nav-recos,body.public-mode #nav-ai-toggle,body.public-mode #nav-ai-picks,body.public-mode #nav-portfolios,
body.public-mode #nav-paper,body.public-mode #nav-atm,body.public-mode #ticker,body.public-mode #indices,body.public-mode #commodities,
body.public-mode #ai-picks-navigation,body.public-mode .dd-verdict,body.public-mode .pm-hide{display:none!important}
body.public-mode::after{content:"Public view — educational screens only. No recommendations, trade calls or live data.";position:fixed;left:50%;bottom:10px;transform:translateX(-50%);
  background:rgba(20,30,40,.88);color:#fff;font-size:11.5px;padding:6px 14px;border-radius:999px;z-index:9998;pointer-events:none;max-width:92vw;text-align:center}

/* ================= Price-action background (replaces the sky) ================= */
.pa-scroll{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pa-svg{position:absolute;left:0;top:0;height:100%;width:200%;animation:paDrift 110s linear infinite;will-change:transform}
@keyframes paDrift{to{transform:translateX(-50%)}}
.pa-wick{stroke-width:1.5;vector-effect:non-scaling-stroke}
.pa-wick.pa-up{stroke:var(--pa-up)}.pa-wick.pa-dn{stroke:var(--pa-dn)}
.pa-body.pa-up{fill:var(--pa-up)}.pa-body.pa-dn{fill:var(--pa-dn)}
.pa-ma{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.pa-ma1{stroke:var(--pa-ma1)}.pa-ma2{stroke:var(--pa-ma2)}.pa-ma3{stroke:var(--pa-ma3)}
.pa-hero{--pa-up:#22c98b;--pa-dn:#e5646f;--pa-ma1:#5b8dff;--pa-ma2:#eef3f9;--pa-ma3:#ff7b86;top:0;bottom:auto;height:74%;opacity:.5;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.hero-sky{background:
  radial-gradient(38% 46% at 78% 74%,rgba(255,176,84,.30),transparent 70%),
  radial-gradient(60% 55% at 56% 100%,rgba(38,200,160,.22),transparent 70%),
  repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 46px),
  linear-gradient(180deg,#061a34 0%,#0a2748 42%,#0d3652 72%,#0a2c3c 100%)}
.hero-bull{filter:drop-shadow(0 0 22px rgba(255,190,90,.5))}

/* ================= Opening (landing) page ================= */
.landing{position:fixed;inset:0;z-index:9000;overflow-y:auto;background:#fbfcfe;color:#141a1f;font-family:"Poppins",-apple-system,"Segoe UI",sans-serif}
.pa-landing{--pa-up:#79d3b0;--pa-dn:#f2a3a9;--pa-ma1:#8fb0ff;--pa-ma2:#a3acb7;--pa-ma3:#f29aa1;position:fixed;opacity:.62}
.landing::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(58% 52% at 50% 50%,rgba(251,252,254,.95),rgba(251,252,254,.6) 58%,rgba(251,252,254,0) 100%)}
.ld-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px}
.ld-brand{display:flex;align-items:center;gap:8px}.ld-brand .sos-title{font-size:19px}
.ld-links{display:flex;gap:6px}.ld-links button{background:none;border:0;font:500 14px "Poppins",sans-serif;color:#2b333b;padding:8px 14px;border-radius:999px;cursor:pointer}
.ld-links button:hover{background:rgba(20,26,31,.06)}
.ld-cta{display:flex;align-items:center;gap:10px}
.ld-link{background:none;border:0;color:#3a4550;font:500 14px "Poppins",sans-serif;cursor:pointer;padding:8px 10px}.ld-link:hover{text-decoration:underline}
.ld-pill{background:#20262d;color:#fff;border:0;border-radius:999px;padding:12px 22px;font:600 14px "Poppins",sans-serif;cursor:pointer;display:flex;gap:10px;align-items:center;box-shadow:0 8px 22px rgba(20,26,31,.22)}
.ld-pill span{transition:transform .2s}.ld-pill:hover span{transform:translateX(4px)}
.ld-main{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:4vh 20px 60px;text-align:center}
.ld-mark{display:flex;justify-content:center;margin-bottom:10px;transform:scale(1.5);transform-origin:center bottom}
.ld-h1{margin:18px 0 4px;font-size:clamp(26px,4.4vw,42px);font-weight:600;letter-spacing:-.02em;color:#101418}
.ld-sub{margin:0 0 26px;font-size:clamp(22px,3.6vw,36px);font-weight:600;letter-spacing:-.02em;background:linear-gradient(90deg,#4f8df0,#5cc7b3 60%,#79d3b0);-webkit-background-clip:text;background-clip:text;color:transparent}
.ag-form{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e1e6ec;border-radius:999px;padding:8px 8px 8px 22px;box-shadow:0 12px 34px rgba(20,40,60,.10);transition:box-shadow .2s,border-color .2s}
.ag-form:focus-within{border-color:#5cc7b3;box-shadow:0 14px 40px rgba(60,180,160,.22)}
.ag-form input{flex:1;border:0!important;outline:none;background:none!important;font:500 15px "Poppins",sans-serif;color:#141a1f;padding:10px 0;box-shadow:none}
.ag-send{width:44px;height:44px;border-radius:50%;border:0;background:#20262d;color:#fff;font-size:16px;cursor:pointer;flex:0 0 auto;transition:transform .15s,background .2s}
.ag-send:hover{transform:scale(1.07);background:#0d9488}
.ag-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0 6px}
.ag-chips button{background:rgba(255,255,255,.85);border:1px solid #dfe5eb;border-radius:999px;padding:8px 14px;font:500 12.5px "Poppins",sans-serif;color:#2b333b;cursor:pointer;transition:all .15s}
.ag-chips button:hover{border-color:#5cc7b3;background:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(40,160,140,.14)}
.ag-log{margin-top:14px;text-align:left;max-height:44vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:2px 2px 8px}
.ag-q{align-self:flex-end;max-width:82%;background:#20262d;color:#fff;border-radius:18px 18px 4px 18px;padding:10px 15px;font-size:14px}
.ag-a{align-self:flex-start;max-width:92%;background:#fff;border:1px solid #e6ebf0;border-radius:18px 18px 18px 4px;padding:12px 16px;font-size:14px;line-height:1.55;color:#1b232b;box-shadow:0 8px 22px rgba(20,40,60,.07)}
.ag-disc{display:block;margin-top:8px;font-size:10.5px;color:#8a97a3}
.ag-dots{display:inline-flex;gap:4px}.ag-dots i{width:7px;height:7px;border-radius:50%;background:#5cc7b3;animation:agDot 1.1s infinite ease-in-out}
.ag-dots i:nth-child(2){animation-delay:.15s}.ag-dots i:nth-child(3){animation-delay:.3s}
@keyframes agDot{0%,80%,100%{opacity:.25;transform:scale(.7)}40%{opacity:1;transform:scale(1.15)}}
.ld-fine{margin-top:26px;font-size:11px;color:#8a97a3}
/* in-app drawer */
.ag-fab{position:fixed;right:126px;bottom:20px;z-index:9999;height:46px;padding:0 18px;border-radius:999px;border:0;background:#20262d;color:#fff;font:600 13px "Poppins",sans-serif;cursor:pointer;box-shadow:0 8px 22px rgba(8,18,32,.4)}
.ag-fab:hover{background:#0d9488}
.ag-drawer{position:fixed;right:16px;bottom:78px;z-index:9999;width:390px;max-width:calc(100vw - 32px);max-height:72vh;display:flex;flex-direction:column;background:#fbfcfe;border:1px solid #dfe5eb;border-radius:20px;box-shadow:0 24px 60px rgba(8,18,32,.35);overflow:hidden;font-family:"Poppins",sans-serif}
.ag-dhead{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(90deg,#0d9488,#4f8df0);color:#fff}
.ag-dhead button{background:none;border:0;color:#fff;font-size:22px;cursor:pointer;line-height:1}
.ag-dbody{padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.ag-drawer .ag-log{max-height:36vh;margin-top:4px}.ag-drawer .ag-chips{justify-content:flex-start;margin:8px 0 0}
:root[data-theme="dark"] .ag-drawer{background:#161d1c;border-color:#2a3532}
:root[data-theme="dark"] .ag-drawer .ag-a{background:#1b2321;border-color:#2a3532;color:#e7ede9}
@media (max-width:700px){.ld-links{display:none}.ld-nav{padding:12px 14px}.ld-pill{padding:10px 16px}.ag-fab{right:16px;bottom:78px}}
@media (prefers-reduced-motion:reduce){.pa-svg{animation:none}}

/* ===== Hero v2: no bull; title spans the whole banner; bright candles ===== */
.hero-bull,.hero-chart,.hero-city,.hero-shade,.hero-sun,.hero-clouds{display:none!important}
.sos-hero .hero-copy{left:0;right:0;width:100%;top:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 4%}
.sos-hero .hero-title{text-align:center}
.sos-hero .hero-title .ht1{font-size:7.4cqw;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.sos-hero .hero-title .ht2{font-size:11cqw;justify-content:center;filter:drop-shadow(0 0 22px rgba(40,230,160,.55))}
.sos-hero .hero-pillars{justify-content:center}
.sos-hero .hero-feats{justify-content:center;width:80%}
.sos-hero .hero-sub{text-align:center}
.pa-hero{--pa-up:#19f0a0;--pa-dn:#ff5468;--pa-ma1:#4d8dff;--pa-ma2:#ffffff;--pa-ma3:#ffb020;top:0;height:100%;opacity:1;-webkit-mask-image:none;mask-image:none;
  filter:saturate(1.25) drop-shadow(0 0 5px rgba(90,255,190,.55))}
.pa-hero .pa-body{stroke:none}.pa-hero .pa-wick{stroke-width:2}.pa-hero .pa-ma{stroke-width:3.2}
.hero-sky{background:radial-gradient(70% 90% at 50% 45%,rgba(20,90,110,.55),transparent 75%),linear-gradient(180deg,#040f22,#061b36 55%,#06263a)}
.sos-hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(48% 55% at 50% 50%,rgba(4,15,34,.55),transparent 78%)}
.sos-hero>.hero-copy{z-index:3}
.sos-hero.compact .hero-copy{top:0;left:0;width:100%}
.sos-hero.compact .hero-title .ht1{font-size:20px}.sos-hero.compact .hero-title .ht2{font-size:34px}
@media (max-width:760px){.sos-hero .hero-copy{left:0;width:100%;top:0}.sos-hero .hero-title .ht1{font-size:9cqw}.sos-hero .hero-title .ht2{font-size:14cqw}}
/* hero v2 fix: true centering (padding was pushing the block right) */
.sos-hero .hero-copy{box-sizing:border-box;left:0;right:auto;width:100%;max-width:100%;padding:0 3%;align-items:center}
.sos-hero .hero-copy>*{max-width:100%;margin-left:auto;margin-right:auto}
.sos-hero .hero-title{display:flex;flex-direction:column;align-items:center;width:100%}
.sos-hero .hero-title .ht1,.sos-hero .hero-title .ht2{width:auto;text-align:center;margin:0 auto}
.sos-hero .hero-title .ht1{font-size:6.4cqw}.sos-hero .hero-title .ht2{font-size:9.6cqw}
.sos-hero .hero-feats{width:78%;margin-left:auto;margin-right:auto}
.sos-hero .hero-pillars{width:100%}

/* ===== Deep Dive v2: decision panel ===== */
.dd-decision{margin:14px 0;border-left:5px solid var(--mid,#d6a520)}
.dd-dc-good{border-left-color:#19a974}.dd-dc-bad{border-left-color:#e5646f}
.dd-dec-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.dd-dec-top h3{margin:2px 0 4px;font-size:22px;letter-spacing:.01em}.dd-dec-top p{margin:0;opacity:.8;font-size:13px}
.dd-conf{text-align:center;padding:8px 16px;border-radius:12px;border:1px solid rgba(128,128,128,.3)}
.dd-conf span{display:block;font-size:10px;letter-spacing:.14em;opacity:.7}.dd-conf b{font-size:17px}
.dd-conf-HIGH b{color:#19a974}.dd-conf-MEDIUM b{color:#d6a520}.dd-conf-LOW b{color:#e5646f}
.dd-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0}
.dd-levels>div{background:rgba(128,128,128,.08);border-radius:10px;padding:9px 11px}
.dd-levels span{display:block;font-size:11px;opacity:.7}.dd-levels b{font-size:15px}.dd-levels small{display:block;font-size:10.5px;opacity:.65}
.dd-size{margin:6px 0 12px;font-size:13px}
.dd-fa{gap:14px}.dd-fa h5{margin:0 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.dd-list{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.dd-l-good li::marker{color:#19a974}.dd-l-bad li::marker{color:#e5646f}
.dd-cov{display:flex;align-items:center;gap:10px;margin-bottom:8px}.dd-cov .dd-track{flex:1}.dd-cov b{font-size:12px;white-space:nowrap}

.dd-head{flex-wrap:wrap;gap:10px}.dd-actions{display:flex;gap:8px;align-items:center;margin-left:auto;margin-right:12px}
.dd-btn{border:1px solid rgba(23,127,124,.5);background:transparent;color:inherit;border-radius:999px;padding:8px 14px;font:600 12.5px "Poppins",sans-serif;cursor:pointer;transition:all .15s}
.dd-btn:hover{background:rgba(23,127,124,.12)}.dd-btn-pri{background:#177f7c;color:#fff;border-color:#177f7c}.dd-btn-pri:hover{background:#0d9488}
.dd-btn:disabled{opacity:.6;cursor:wait}

.sos-hero.hidden{display:none!important}

.orb-tabs{display:flex;gap:8px;margin:2px 0 12px;flex-wrap:wrap}
.orb-tabs button{border:1px solid rgba(23,127,124,.45);background:transparent;color:inherit;border-radius:999px;padding:8px 18px;font:600 13px "Poppins",sans-serif;cursor:pointer;transition:all .15s}
.orb-tabs button:hover{background:rgba(23,127,124,.12)}.orb-tabs button.on{background:#177f7c;color:#fff;border-color:#177f7c}


/* Home overview: focused daily workspace, with supporting content below. */
.home-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 22px}
.home-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--teal)}
.home-heading h1{font-size:30px;letter-spacing:-.8px;margin:7px 0 8px;color:var(--ink)}
.home-heading p,.home-note{font-size:13px;line-height:1.6;color:var(--muted);margin:0}
.home-section-title{font-size:17px;margin:0 0 12px}
.home-priority-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;align-items:stretch}
.home-priority-grid>.panel{min-width:0;margin-top:0}
.home-priority-grid .panel-head{flex-wrap:wrap;gap:10px}
.home-priority-grid .panel-head h2{font-size:17px}
.home-signal{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}
.home-signal:last-child{border-bottom:0}
.home-signal strong{font-size:14px;display:block;color:var(--ink)}
.home-signal span,.home-signal time{display:block;font-size:12px;line-height:1.6;color:var(--muted)}
.home-signal-meta{text-align:right;flex-shrink:0}
.home-signal-meta>span{color:var(--teal);font-weight:600}
.home-report-feature{padding:12px 0;display:flex;align-items:flex-start;flex-direction:column;gap:14px}
.home-report-status{padding:5px 10px;border-radius:20px;background:var(--chip);color:var(--teal);font-size:12px;font-weight:600}
.home-report-feature h3{font-size:24px;line-height:1.25;margin:6px 0 0}
.home-report-date{font-size:15px;color:var(--ink);margin:0}
.home-report-link{display:inline-block;padding:11px 18px;border-radius:9px;background:var(--teal-d);color:#fff;text-decoration:none;font-weight:600;font-size:13px}
.home-report-link:hover{filter:brightness(1.1)}
.home-more{margin:4px 0 24px;border-top:1px solid var(--line);padding-top:18px}
.home-more>summary{cursor:pointer;font-size:16px;font-weight:600;padding:10px 0 20px}
.home-more>summary span{font-weight:400;font-size:12px;color:var(--muted);margin-left:12px}
#view-live .table-scroll{overflow-x:auto}
#view-live .table-scroll .quotes{min-width:620px}
[data-home-view]:focus-visible,[data-home-retry]:focus-visible,.home-report-link:focus-visible,.home-more>summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
@media(max-width:800px){.home-priority-grid{grid-template-columns:1fr}.home-heading{align-items:flex-start;flex-direction:column;padding-top:20px}.home-heading h1{font-size:26px}.home-more>summary span{display:block;margin:8px 0 0}.home-signal{gap:8px}}
.home-heading,.home-section-title{margin-left:22px;margin-right:22px}
.home-priority-grid{margin:0 22px 22px}
.home-priority-grid>.panel{margin:0}
.home-signals-panel>.home-note,#home-signals,#home-report{padding:0 20px 16px}
.home-signals-panel>.home-note{padding-top:14px;padding-bottom:0}
.home-more{margin-left:22px;margin-right:22px}
.home-more>.panel,.home-more>.indices{margin-left:0;margin-right:0}
@media(max-width:620px){.home-heading,.home-section-title,.home-priority-grid,.home-more{margin-left:12px;margin-right:12px}}

.scr-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:340px}
.scr-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.5;border:1px solid rgba(128,128,128,.35);background:rgba(128,128,128,.08);white-space:nowrap}
.scr-chip i{font-style:normal;opacity:.65;margin-left:2px}
.scr-chip.up{border-color:rgba(26,143,90,.5);background:rgba(26,143,90,.1)}
.scr-chip.dn{border-color:rgba(194,59,59,.5);background:rgba(194,59,59,.1)}

.wp-reports{display:flex;flex-wrap:wrap;gap:10px;padding:10px 4px 2px}.wp-rep{display:flex;align-items:center;gap:8px;font-size:13px}

.e920-now{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:rgba(23,127,124,.08);border:1px solid rgba(23,127,124,.25);font-size:13.5px}

/* ===== strategy rule cards ===== */
.rule-box{margin:4px 0 14px;border:1px solid rgba(23,127,124,.35);border-radius:14px;overflow:hidden;background:rgba(23,127,124,.045)}
.rb-head{padding:8px 14px;font:700 11px "Poppins",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#177f7c}
.rb-row{display:flex;gap:12px;padding:10px 14px;border-top:1px solid rgba(23,127,124,.18)}
.rb-row:first-of-type{border-top:0}
.rb-n{flex:0 0 24px;height:24px;border-radius:50%;background:#177f7c;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.rb-t{font:700 12px "Poppins",sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#177f7c}
.rb-row p{margin:2px 0 0;font-size:13.5px;line-height:1.5}

.mf-banner{margin:6px 0 12px;padding:10px 14px;border-radius:12px;font-size:13.5px;line-height:1.5;border:1px solid}
.mf-banner small{display:block;margin-top:4px;opacity:.75;font-size:12px}
.mf-banner.on{background:rgba(26,143,90,.08);border-color:rgba(26,143,90,.4)}
.mf-banner.off{background:rgba(194,59,59,.08);border-color:rgba(194,59,59,.45)}
.ec-badge.blocked{background:rgba(194,59,59,.14);color:#c23b3b;border:1px solid rgba(194,59,59,.4)}

/* strategy activations panel */
.act-filters{display:flex;flex-wrap:wrap;gap:10px 16px;margin:6px 0 12px;align-items:center}
.act-group{display:flex;gap:6px;flex-wrap:wrap}
.act-group button{border:1px solid rgba(23,127,124,.4);background:transparent;color:inherit;border-radius:999px;padding:5px 12px;font:600 12px "Poppins",sans-serif;cursor:pointer}
.act-group button.on{background:#177f7c;color:#fff;border-color:#177f7c}
.act-total{margin:0 0 8px;font-size:12.5px;opacity:.75}
.act-refresh{margin:0 0 10px;font-size:11px;opacity:.6;line-height:1.5}
.act-day{margin:0 0 14px;border:1px solid var(--line,#e3e8ee);border-radius:12px;overflow:hidden}
.act-day-h{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:rgba(23,127,124,.07);font-size:13.5px}
.act-day-h span{font-size:12px;opacity:.75}
.act-tbl{margin:0}.act-tbl td small{display:block;font-size:10.5px;opacity:.65;font-weight:400}
.sc-cell[data-ddsym]{cursor:pointer}
.sc-action{margin-top:4px;font-size:10px;font-weight:700;letter-spacing:.02em}
.sc-action.sc-hi{color:#2e7d32}.sc-action.sc-mid{color:#9c6a12}.sc-action.sc-lo{color:#c0392b}
.sc-src{margin-top:3px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;opacity:.5}

/* Supertrend desk — numbered rules card */
.st-rules{background:var(--input);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 14px}
.st-rules h3{margin:0 0 8px;font-size:15px;color:var(--ink)}
.st-rules ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.st-rules li{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:baseline;font-size:13.5px;line-height:1.45;color:var(--ink)}
.st-rules li b{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
@media (max-width:640px){.st-rules li{grid-template-columns:1fr;gap:2px}}

/* Market breadth (advances / declines) — sits under Commodities, same card grid */
.brd-asof{font-weight:500;color:var(--muted);font-size:11px;margin-left:6px;text-transform:none;letter-spacing:0}
.brd-card .brd-counts{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:17px;font-weight:800;margin:6px 0 8px;font-variant-numeric:tabular-nums}
.brd-card .brd-counts span{white-space:nowrap}
.brd-card .brd-unch{color:var(--muted);font-weight:700}
.brd-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--line);margin-bottom:8px}
.brd-bar i{display:block;height:100%}
.brd-bar .brd-a{background:var(--up)}
.brd-bar .brd-u{background:var(--line)}
.brd-bar .brd-d{background:var(--down)}
.brd-bar i+i{box-shadow:inset 1px 0 0 var(--panel)}

/* Advances / Declines — collapsible header (button styled like the other section labels) */
#breadth .brd-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;background:none;border:0;padding:0;
  margin:0 0 10px;font-family:inherit;color:var(--muted);text-align:left;cursor:pointer;user-select:none}
#breadth .brd-toggle:hover{color:var(--teal)}
#breadth .brd-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
#breadth .chev{transform:rotate(90deg)}
#breadth.brd-collapsed .chev{transform:none}
#breadth.brd-collapsed .brd-toggle{margin-bottom:0}
.brd-minis{display:inline-flex;gap:12px;margin-left:auto;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}
.brd-mini b{font-weight:700;color:var(--muted)}
.brd-mini .up,.brd-mini .down{font-weight:800;font-variant-numeric:tabular-nums}

/* Top gainers & losers (Nifty 500 · F&O) + sectors — collapsible like Advances / Declines */
#movers .mv-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;background:none;border:0;padding:0;
  margin:0 0 10px;font-family:inherit;color:var(--muted);text-align:left;cursor:pointer;user-select:none}
#movers .mv-toggle:hover{color:var(--teal)}
#movers .mv-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
#movers .chev{transform:rotate(90deg)}
#movers.mv-collapsed .chev{transform:none}
#movers.mv-collapsed .mv-toggle{margin-bottom:0}
.mv-tabs{display:inline-flex;flex-wrap:wrap;max-width:100%;gap:4px;padding:3px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;margin:0 0 10px}
.mv-tab{border:0;background:none;padding:5px 12px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.mv-tab.on{background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.mv-tab:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.mv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.mv-subhead{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.mv-subhead .brd-asof{text-transform:none}
.mv-card .n{margin-bottom:6px}
.mv-tbl{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.mv-tbl td{padding:5px 0;border-top:1px solid var(--line)}
.mv-tbl tr:first-child td{border-top:0}
.mv-rank{width:22px;color:var(--muted);font-size:12px}
.mv-sym{font-weight:700}
.mv-ltp{color:var(--muted);padding-right:10px!important}
.mv-pct{font-weight:800;width:74px}
.mv-empty{color:var(--muted);font-size:12.5px;padding:8px 0!important}

/* ===== Corporate announcements (Home) ===== */
#ann-home .ann-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;background:none;border:0;padding:0;
  margin:0 0 10px;font-family:inherit;color:var(--muted);text-align:left;cursor:pointer;user-select:none}
#ann-home .ann-toggle:hover{color:var(--teal)}
#ann-home .ann-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
#ann-home .chev{transform:rotate(90deg)}
#ann-home.ann-collapsed .chev{transform:none}
#ann-home.ann-collapsed .ann-toggle{margin-bottom:0}
#ann-home:not(.ann-collapsed) #ann-mini{display:none}
#ann-body{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.ann-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ann-chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:5px 12px;
  font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.ann-chip span{color:var(--muted);font-weight:600;margin-left:3px;font-variant-numeric:tabular-nums}
.ann-chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.ann-chip.on span{color:rgba(255,255,255,.85)}
.ann-chip:focus-visible,.ann-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.ann-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.ann-tools input{flex:1 1 240px;max-width:360px;background:var(--input);border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--ink);font:inherit;font-size:13px}
.ann-btn{border:1px solid var(--line);background:var(--panel2);color:var(--teal);border-radius:10px;padding:7px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.ann-btn:disabled{opacity:.6;cursor:default}
.ann-count{color:var(--muted);font-size:12.5px;margin-left:auto}
.ann-table-wrap{overflow-x:auto}
.ann-tbl{width:100%;border-collapse:collapse;font-size:13px}
.ann-tbl th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.ann-tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.ann-tbl tbody tr[data-ann-id]{cursor:pointer}
.ann-tbl tbody tr[data-ann-id]:hover{background:var(--panel2)}
.ann-tbl tbody tr[data-ann-id]:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.ann-ts{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.ann-sym{font-weight:800;color:var(--teal);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.ann-co{min-width:160px}
.ann-sub b{display:block;font-weight:700}
.ann-sub small{display:block;color:var(--muted);font-size:12px;margin-top:2px;max-width:560px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ann-type{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;border-radius:6px;white-space:nowrap;
  color:var(--tc);background:color-mix(in srgb,var(--tc) 13%,transparent)}
.t-orders{--tc:#1f8a4c}.t-results{--tc:#2f6fd1}.t-div{--tc:#0e8a8a}.t-buyback{--tc:#7a5ad6}.t-mna{--tc:#c2620d}.t-fund{--tc:#b0478e}
.t-cap{--tc:#5b6b7a}.t-mgmt{--tc:#6a7f2b}.t-material{--tc:#c0392b}.t-mou{--tc:#8a6d1f}.t-other{--tc:#7b8794}
.ann-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}
.ann-src{color:var(--muted);font-size:11.5px}

/* brief modal */
.ann-box{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(980px,94vw);max-height:90vh;overflow:auto;padding:26px 28px 22px}
.ann-x{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:0;background:var(--teal);color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.ann-loading{padding:40px 6px;color:var(--muted)}
.ann-kicker{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--teal)}
.ann-box h2{font-size:28px;margin:4px 48px 2px 0;line-height:1.15}
.ann-subj{color:var(--muted);font-size:14px;margin-bottom:16px}
.ann-subj .chartable{color:var(--teal);font-weight:700;cursor:pointer}
.ann-verdict{border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:0 14px 14px 0;padding:14px 18px;margin-bottom:14px;background:var(--panel2)}
.ann-verdict.tone-good{border-left-color:var(--up)}
.ann-verdict h3,.ann-facts h3,.ann-summary h3{font-size:15px;margin:10px 0 6px}
.ann-verdict p{margin:0;line-height:1.55;font-size:15px}
.ann-pills{display:flex;flex-wrap:wrap;gap:8px}
.ann-stance{font-size:11.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:6px 14px;border-radius:999px;color:#fff;background:var(--muted)}
.ann-stance.good{background:var(--up)}
.ann-pill{font-size:12.5px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted)}
.ann-pill b{color:var(--ink);margin-left:3px}
.ann-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.ann-tile{border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.ann-tile span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.ann-tile b{display:block;font-size:18px;margin-top:4px;font-variant-numeric:tabular-nums}
.ann-evidence{margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--teal);background:var(--panel2);border-radius:0 10px 10px 0;font-size:13px;line-height:1.5;color:var(--ink)}
.ann-evidence span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.ann-facts{border:1px solid var(--line);border-radius:14px;padding:4px 16px 10px;margin-bottom:14px}
.ann-facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 24px;margin:0}
.ann-facts dl div{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.ann-facts dt{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.ann-facts dd{margin:0;font-size:14px}
.ann-summary p{margin:0 0 14px;color:var(--ink);font-size:13.5px;line-height:1.5}
.ann-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-bottom:14px}
.ann-card{border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.ann-card.tone-good{border-color:color-mix(in srgb,var(--up) 40%,var(--line));background:color-mix(in srgb,var(--up) 6%,var(--panel))}
.ann-card.tone-bad{border-color:color-mix(in srgb,var(--down) 40%,var(--line));background:color-mix(in srgb,var(--down) 6%,var(--panel))}
.ann-card.tone-ask{border-style:dashed}
.ann-card-h{display:flex;justify-content:space-between;align-items:baseline}
.ann-card-h h4{margin:4px 0 6px;font-size:15px}
.ann-card-h span{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.5px}
.ann-card ul{margin:0;padding-left:18px}
.ann-card li{margin:5px 0;line-height:1.45;font-size:13.5px}
.ann-mfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.ann-mfoot p{margin:0;color:var(--muted);font-size:12.5px;flex:1 1 320px}
.ann-link{background:var(--teal);color:#fff;font-weight:800;font-size:13px;padding:9px 16px;border-radius:999px;text-decoration:none;white-space:nowrap}
@media (max-width:640px){.ann-box{padding:20px 16px}.ann-box h2{font-size:22px}.ann-facts dl div{grid-template-columns:1fr}}

/* Advances/Declines, Top movers, Corporate announcements — standard collapsible Home panels (setupCollapsibles) */
.home-live-panel .panel-head{justify-content:flex-start;gap:10px}
.home-live-panel .ph-meta{color:var(--muted);font-size:12px;font-weight:500}
.home-live-panel .ph-mini{margin-left:auto;display:inline-flex;gap:12px;font-size:12px;font-weight:600;color:var(--muted)}
.home-live-panel:not(.collapsed) .ph-mini{display:none}
.home-live-panel .hlp-body{padding:14px 18px 16px}
.home-live-panel #ann-body{background:none;border:0;border-radius:0}

/* Corporate announcements — Market-moving signals (PRO) */
.ann-views{display:inline-flex;gap:4px;padding:3px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;margin:0 0 12px}
.ann-view{border:0;background:none;padding:6px 14px;border-radius:7px;font:inherit;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}
.ann-view.on{background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.ann-view:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.ann-pro{font-size:9.5px;font-weight:800;letter-spacing:.6px;background:#b8860b;color:#fff;border-radius:5px;padding:1px 5px;margin-left:4px;vertical-align:1px}
.ann-sig-intro{margin:0 0 10px;color:var(--muted);font-size:13px}
.ann-pending{color:var(--teal);font-weight:600}
.ann-free{color:#b8860b;font-weight:700}
.sig-row{display:grid;grid-template-columns:86px 1fr 110px;gap:14px;align-items:start;padding:12px 4px;border-top:1px solid var(--line);cursor:pointer}
.sig-row:first-child{border-top:0}
.sig-row:hover{background:var(--panel2)}
.sig-row:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.sig-score{border-radius:10px;padding:8px 6px;text-align:center;color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,transparent)}
.sig-score.up{--tc:var(--up)}.sig-score.down{--tc:var(--down)}.sig-score.watch{--tc:#b8860b}
.sig-score b{display:block;font-size:22px;font-weight:800;line-height:1.1}
.sig-score span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;margin-top:2px}
.sig-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.sig-sym{font-weight:800;color:var(--teal);text-decoration:underline;text-underline-offset:2px}
.sig-kind{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.sig-flag{font-size:10px;font-weight:800;text-transform:uppercase;color:#b8860b;border:1px solid currentColor;border-radius:5px;padding:0 5px}
.sig-when{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}
.sig-head{font-size:15px;font-weight:700;margin:4px 0 3px;font-variant-numeric:tabular-nums}
.sig-play{color:var(--muted);font-size:12.5px;line-height:1.45}
.sig-today{text-align:right}
.sig-today span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.sig-today b{display:block;font-size:16px;font-variant-numeric:tabular-nums}
.sig-today small{display:block;color:#b8860b;font-size:11px;font-weight:600}
.sig-row.locked{cursor:default;opacity:.85}
.sig-row.locked .sig-sym{color:#b8860b;text-decoration:none}
.sig-blur{color:var(--muted);font-weight:500;font-style:italic}
.sig-upsell{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:14px 16px;border-radius:12px;
  border:1px solid color-mix(in srgb,#b8860b 45%,var(--line));background:color-mix(in srgb,#b8860b 8%,var(--panel))}
.sig-upsell b{display:block;font-size:14.5px}
.sig-upsell span{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.sig-upgrade{border:0;background:#b8860b;color:#fff;font:inherit;font-weight:800;font-size:13px;padding:9px 16px;border-radius:999px;cursor:pointer}
.sig-upgrade:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
@media (max-width:640px){.sig-row{grid-template-columns:70px 1fr}.sig-today{grid-column:2;text-align:left}}
.sig-more{margin:10px 0 2px}

/* Orders view: order value · % of TTM revenue · market cap */
.ann-tbl th.r,.ann-tbl td.r{text-align:right}
.ann-sortable{cursor:pointer;user-select:none}
.ann-sortable:hover{color:var(--teal)}
.ann-sortable:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.ann-om{white-space:nowrap;font-variant-numeric:tabular-nums}
.ann-om b{font-weight:800}
.ann-om small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:1px}
.ann-om.muted{color:var(--muted);font-style:italic}
.ann-hot{color:var(--up)}
.ann-warm{color:#b8860b}

.ec-badge.intrade{background:#fff4dd;color:#9a6200}
.ec-badge.exit{background:#eceff3;color:#44505c}
.act-pnl{font-weight:700}

/* activations: one fixed column grid shared by every day's table, so columns line up from day to day */
.act-tbl{width:100%;table-layout:fixed}
.act-tbl col.c-stock{width:14%}.act-tbl col.c-strat{width:18%}.act-tbl col.c-tf{width:9%}.act-tbl col.c-status{width:12%}
.act-tbl col.c-trade{width:16%}.act-tbl col.c-num{width:11%}.act-tbl col.c-risk{width:9%}
.act-tbl th,.act-tbl td{vertical-align:middle;overflow:hidden;text-overflow:ellipsis}
.act-tbl th{white-space:nowrap}.act-tbl td:nth-child(2){white-space:normal;line-height:1.3}
.act-tbl th.r,.act-tbl td.r{text-align:right}
.act-tbl td:nth-child(5){white-space:nowrap}
.act-tbl td:nth-child(5) .ec-badge{display:block;width:fit-content}
.act-tbl td:nth-child(5) small{display:block;margin-top:3px;opacity:1;font-size:11px;font-weight:600}
.act-tbl td:nth-child(5) small.up{color:var(--good-fg,#177d4f)}.act-tbl td:nth-child(5) small.down{color:#c23b3b}
.act-wait{font-size:12px;color:var(--muted,#7a8794)}
.act-tbl td:nth-child(4) .ec-badge{display:block;width:fit-content}.act-tbl td:nth-child(4) .ec-badge+.ec-badge{margin-top:4px}
.act-tbl{min-width:760px}.act-day{overflow-x:auto}
.act-tbl th.r{white-space:normal;line-height:1.2}.act-tbl td.r,.act-tbl td:nth-child(3){white-space:nowrap;overflow:visible;text-overflow:clip}
.act-tbl td.r small.act-trail{display:block;margin-top:3px;font-size:10.5px;font-weight:600;opacity:1;color:#7a8794;white-space:nowrap}.act-tbl td.r small.act-trail.up{color:var(--good-fg,#177d4f)}

/* ============ Screener results table — compact, aligned, professional ============ */
.screener-tbl{border-collapse:separate;border-spacing:0;font-size:13px}
.screener-tbl th,.screener-tbl td{padding:9px 10px;vertical-align:middle}
.screener-tbl thead th{position:sticky;top:0;background:var(--panel2);color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding-top:8px;padding-bottom:8px;z-index:1}
.screener-tbl thead th.r{text-align:right}
.screener-tbl tbody td{border-bottom:1px solid var(--line)}
.screener-tbl tbody tr:hover td{background:var(--panel2)}
.screener-tbl td.r{font-variant-numeric:tabular-nums}
.screener-tbl.hide-chart th:nth-child(5),.screener-tbl.hide-chart td:nth-child(5){display:none}
.screener-tbl th.fav-col,.screener-tbl td.fav-col{width:30px;padding-left:8px;padding-right:0}
/* scorecard: grade + the four score chips on ONE line, the action underneath */
.screener-tbl .sc-cell{min-width:0;white-space:normal}
.screener-tbl .sc-grade{display:inline-block;vertical-align:middle;font-size:12px;padding:2px 8px;border-radius:6px}
.screener-tbl .sc-tfs{display:inline-flex;vertical-align:middle;margin:0 0 0 8px;gap:3px;flex-wrap:nowrap}
.screener-tbl .sc-b{font-size:10px;padding:2px 5px;font-variant-numeric:tabular-nums}
.screener-tbl .sc-action{margin-top:5px;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;line-height:1.25;max-width:300px;white-space:normal}
.screener-tbl .sc-src{display:none}
/* symbol */
.screener-tbl td.sym{min-width:120px}
.screener-tbl .sym-main{display:flex;align-items:center;gap:6px}
.screener-tbl .sym-main .chartable{font-weight:800;font-size:13.5px;letter-spacing:.01em}
.screener-tbl .sym-main .exch{margin:0;font-size:9px;padding:1px 5px}
.screener-tbl .sym-main .pill{margin:0;font-size:9px;padding:1px 6px}
.screener-tbl .review-setup{display:block;margin:3px 0 0;padding:0;border:0;background:none;color:var(--teal);font-size:11px;font-weight:600;text-align:left}
.screener-tbl .review-setup:hover{color:var(--teal-d);text-decoration:underline}
/* screeners that picked it */
.screener-tbl .scr-chips{max-width:230px;gap:4px}
.screener-tbl .scr-chip{font-size:10.5px;padding:2px 8px;font-weight:600}
/* numbers + labels */
.screener-tbl td:nth-child(6){color:var(--muted);font-size:12px}
.screener-tbl td.vol-avg{font-size:12px}
.screener-tbl td.when{font-size:11.5px;white-space:nowrap}
/* open-in links: three small chips instead of three stacked buttons */
.screener-tbl .scr-links{display:inline-flex;flex-wrap:nowrap;gap:3px}
.screener-tbl .scr-links a{font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:3px 6px;border-radius:5px;border:1px solid var(--line);color:var(--muted);background:transparent;text-decoration:none;line-height:1}
.screener-tbl .scr-links a:hover{color:var(--teal);border-color:var(--teal);background:var(--chip)}

/* ============ Strategy desk tables (.sma200-table / .ema5-table / .zone-table) — same compact, aligned look as the Screeners table ============ */
.sma200-table table,.ema5-table table,.zone-table table{border-collapse:separate;border-spacing:0;min-width:720px;font-size:13px}
.sma200-table table th,.ema5-table table th,.zone-table table th{padding:9px 12px;background:var(--panel2);color:var(--muted);font-size:10.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle}
.sma200-table table td,.ema5-table table td,.zone-table table td{padding:9px 12px;vertical-align:middle;border-bottom:1px solid var(--line);line-height:1.35}
.sma200-table table th.r,.sma200-table table td.r,.ema5-table table th.r,.ema5-table table td.r,.zone-table table th.r,.zone-table table td.r{text-align:right}
.sma200-table table td,.ema5-table table td,.zone-table table td{font-variant-numeric:tabular-nums lining-nums}
.sma200-table table tbody tr:hover td,.ema5-table table tbody tr:hover td,.zone-table table tbody tr:hover td{background:var(--panel2)}
.sma200-table table td small,.ema5-table table td small,.zone-table table td small{display:block;margin-top:2px;font-size:10.5px;line-height:1.35;color:var(--muted);font-weight:400}
/* stock cell: bold symbol + muted price underneath */
.sma200-table td.sym b{font-size:13.5px;font-weight:800;letter-spacing:.01em}
.sma200-table td.sym.chartable{border-bottom:1px solid var(--line)}
.sma200-table td.sym.chartable:hover b{color:var(--teal)}
/* badges: tidy and consistent; several in one cell stack instead of wrapping unevenly */
.sma200-table td .ec-badge{font-size:9.5px;font-weight:800;letter-spacing:.05em;padding:3px 8px;margin:0 4px 3px 0;white-space:nowrap}
.sma200-table td .ec-badge:last-child{margin-bottom:0}
/* metric / year summary tables: first column labels, numbers right */
.sma200-table table.quotes td:first-child,.sma200-table table.quotes th:first-child{padding-left:14px}
.sma200-table table td b{font-weight:700}
.sma200-table tr:last-child td{border-bottom:0}
.sma200-table tr:last-child td,.sma200-table tr:last-child td.sym.chartable{border-bottom:0}
.sma200-table td.sym.chartable{border-bottom-style:solid}

/* open-in: app icons instead of text chips */
.screener-tbl .scr-links{gap:6px;align-items:center}
.screener-tbl .scr-links a{padding:0;width:24px;height:24px;border:0;border-radius:6px;background:none;display:inline-flex;transition:transform .12s,box-shadow .12s}
.screener-tbl .scr-links a img{width:24px;height:24px;display:block;border-radius:6px}
.screener-tbl .scr-links a:hover{background:none;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.18)}

/* ---- Market news: importance rating */
.nw-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 18px 4px}
.nw-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.nw-lbl{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-right:2px}
.nw-chip{border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.nw-chip small{font-weight:700;opacity:.75}
.nw-chip:hover{background:var(--panel2);color:var(--ink)}
.nw-chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.nw-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.nw-dot.hi{background:#e0443a}
.nw-hi{color:#d93b30}.nw-md{color:#b7791f}.nw-lo{color:var(--muted)}
.news-item{align-items:flex-start;border-left:3px solid transparent}
.news-item.lv-hi{border-left-color:#e0443a;background:rgba(224,68,58,.05)}
.news-item.lv-md{border-left-color:#e0a030}
.news-item.lv-lo{opacity:.82}
.news-item.lv-hi .news-title{font-weight:700}
.nw-badge{flex:0 0 auto;font-size:10px;font-weight:800;letter-spacing:.05em;padding:3px 7px;border-radius:5px;margin-top:2px;min-width:38px;text-align:center}
.nw-badge.hi{background:#e0443a;color:#fff}.nw-badge.md{background:#fff3da;color:#9a6200}.nw-badge.lo{background:var(--chip);color:var(--muted)}
.news-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.nw-tags{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.nw-tag{font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px}
.nw-tag.mine{color:#fff;background:var(--teal);border-color:var(--teal)}

/* Home: indices + commodities on one row */
.idx-grid.one-line{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.idx-grid.one-line .icard{padding:12px 12px;min-width:0}
.idx-grid.one-line .icard .n{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idx-grid.one-line .icard .p{font-size:clamp(15px,1.45vw,22px);white-space:nowrap}
.idx-grid.one-line .icard .c{font-size:11px;white-space:nowrap}
@media(max-width:1100px){.idx-grid.one-line{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.idx-grid.one-line{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* global search sits beside the scrolling nav (not inside it) so the nav's overflow can't clip its right edge */
.topbar .nav{min-width:0;flex:1 1 auto}
.topbar>.gsearch{flex:0 0 220px;margin-left:0}

/* Top-bar brand: cropped bull/bear badge + clean two-line wordmark, separated from the nav by a hairline */
.topbar .logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;flex:0 0 auto;
  padding-right:18px;margin-right:4px;border-right:1px solid var(--line);border-bottom:none}
.topbar .logo-mark{width:44px;height:34px;border-radius:9px;overflow:hidden;flex:0 0 auto;background:#0d2238;
  box-shadow:0 1px 3px rgba(15,23,42,.18)}
.topbar .logo-emblem{width:100%;height:100%;object-fit:cover;transform:scale(1.42);display:block}
.topbar .logo-words{display:flex;flex-direction:column;line-height:1.1;gap:3px}
.topbar .logo-name{font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:16.5px;font-weight:700;
  letter-spacing:-.015em;white-space:nowrap;background:linear-gradient(90deg,#128a4b 0%,#128a4b 38%,#c0392b 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.topbar .logo-name em{font-style:normal;font-weight:500;opacity:.75;font-size:.84em;margin:0 .05em}
.topbar .logo-sub{font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
@media(max-width:900px){.topbar .logo-sub{display:none}.topbar .logo{padding-right:12px}}
@media(max-width:620px){.topbar .logo-words{display:none}.topbar .logo{border-right:none;padding-right:0}}
.topbar .navbtn{white-space:nowrap}
/* brand colours: back to the teal→blue theme */
.topbar .logo-name{background:linear-gradient(90deg,#0d9488 0%,#1d7fd0 55%,#2563eb 100%);-webkit-background-clip:text;background-clip:text}
.topbar .logo-name em{opacity:1;-webkit-text-fill-color:#5f7f9e;color:#5f7f9e}
:root[data-theme="dark"] .topbar .logo-name{background:linear-gradient(90deg,#3ec4a3 0%,#63b3ed 60%,#7aa7ff 100%);-webkit-background-clip:text;background-clip:text}
:root[data-theme="dark"] .topbar .logo-name em{-webkit-text-fill-color:#9fb4c9;color:#9fb4c9}
.topbar .logo-sub{color:#4a6a8a}
.topbar .logo-mark{box-shadow:0 1px 4px rgba(37,99,235,.28)}

/* ===== Premium wordmark (final): solid navy, tracked caps, hairline accent ===== */
.topbar .logo{gap:12px;padding-right:20px;margin-right:6px}
.topbar .logo-mark{width:42px;height:42px;border-radius:11px;background:#0b1f3a;position:relative;
  box-shadow:0 0 0 1px rgba(11,31,58,.9),0 0 0 3px rgba(37,99,235,.14),0 3px 8px rgba(11,31,58,.22)}
.topbar .logo-emblem{transform:scale(1.5);object-position:50% 50%}
.topbar .logo-words{gap:5px;line-height:1}
.topbar .logo-name{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:14.5px;font-weight:750;
  letter-spacing:.13em;color:#0b1f3a;background:none;-webkit-text-fill-color:#0b1f3a;white-space:nowrap}
.topbar .logo-name em{font-style:normal;font-weight:500;font-size:.8em;letter-spacing:.1em;margin:0 .15em;
  color:#2f6fd6;-webkit-text-fill-color:#2f6fd6;opacity:1}
.topbar .logo-sub{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:600;letter-spacing:.3em;
  text-transform:uppercase;color:#6b7c93}
.topbar .logo-sub::before{content:"";width:18px;height:1.5px;background:linear-gradient(90deg,#2563eb,#63b3ed);border-radius:2px}
:root[data-theme="dark"] .topbar .logo-name{color:#f1f5fb;-webkit-text-fill-color:#f1f5fb;background:none}
:root[data-theme="dark"] .topbar .logo-name em{color:#7aa7ff;-webkit-text-fill-color:#7aa7ff}
:root[data-theme="dark"] .topbar .logo-sub{color:#8da2bb}
:root[data-theme="dark"] .topbar .logo-mark{box-shadow:0 0 0 1px rgba(122,167,255,.45),0 3px 10px rgba(0,0,0,.4)}
@media(max-width:1100px){.topbar .logo-name{font-size:13px;letter-spacing:.1em}.topbar .logo-sub{letter-spacing:.22em}}
@media(max-width:900px){.topbar .logo-sub{display:none}}
/* "OF" matches the rest of the wordmark exactly (same font, size, weight, spacing, colour) */
.topbar .logo-name em,:root[data-theme="dark"] .topbar .logo-name em{font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;
  margin:0;color:inherit;-webkit-text-fill-color:currentColor;opacity:1}
.topbar .logo-sub{letter-spacing:.24em}

/* brand mark on website charts (TradingView modal, hover preview, fund NAV chart) */
.chart-brand{position:absolute;z-index:6;display:flex;align-items:center;gap:8px;pointer-events:none;user-select:none;opacity:.78}
.chart-brand .cb-mark{width:30px;height:24px;border-radius:6px;overflow:hidden;background:#0b1f3a;flex:none;box-shadow:0 0 0 1px rgba(11,31,58,.55)}
.chart-brand .cb-mark img{width:100%;height:100%;object-fit:cover;transform:scale(1.5);display:block}
.chart-brand .cb-words{display:flex;flex-direction:column;gap:3px;line-height:1}
.chart-brand b{font:700 10.5px/1 Inter,-apple-system,"Segoe UI",sans-serif;letter-spacing:.13em;color:#0b1f3a}
.chart-brand i{font:600 7.5px/1 Inter,-apple-system,"Segoe UI",sans-serif;font-style:normal;letter-spacing:.24em;text-transform:uppercase;color:#6b7c93}
:root[data-theme="dark"] .chart-brand b{color:#e6edf7}
.chart-brand.cb-tv{position:static;justify-content:center;margin:10px auto 8px;opacity:.9;flex:0 0 auto}   /* header row between the title bar and the chart (was an overlay on the chart) */
.chart-brand.cb-compact{top:30px;right:50px}
.chart-brand.cb-compact .cb-words{display:none}
.cb-wrap{position:relative}
.chart-brand.cb-mf{top:8px;right:10px}
.chart-brand.cb-mf .cb-words{display:flex}
@media(max-width:700px){.chart-brand .cb-words{display:none}}

/* auto-wrapped charts: mark centred near the top of the chart, sized to the chart */
.cb-wrap.cb-block{display:block;position:relative}
.cb-wrap.cb-block>svg,.cb-wrap.cb-block>img{display:block;max-width:100%}
.chart-brand.cb-auto{position:static;transform:none;justify-content:center;margin:0 auto 10px;gap:12px;opacity:.9}   /* header row above the chart (was an overlay on the plot) */
.chart-brand.cb-auto .cb-mark{width:46px;height:36px;border-radius:9px}
.chart-brand.cb-auto b{font-size:15px}
.chart-brand.cb-auto i{font-size:8.5px}
@media(max-width:700px){.chart-brand.cb-auto .cb-words{display:none}}

.mv-ex{margin-left:6px;font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--muted)}
.mv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px}.mv-bar .mv-tabs{margin:0}
.mv-turnsel{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--muted)}
.mv-turnsel select{background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font:inherit;font-size:12px;font-weight:600}
.mv-turn{color:var(--muted);font-size:11.5px;white-space:nowrap}

/* FII & DII activity (Home) */
.fd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:820px){.fd-grid{grid-template-columns:1fr}}
.fd-card .fd-net{font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0 0}
.fd-card .fd-verdict{font-size:12px;font-weight:700;margin-bottom:8px}
.fd-bs{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted)}.fd-bs b{color:var(--ink);font-variant-numeric:tabular-nums}
.fd-hint{margin-top:8px;font-size:11.5px;color:var(--muted)}
.fd-tbl{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.fd-tbl th{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.fd-tbl td{padding:6px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.fd-tbl .r{text-align:right;white-space:nowrap}
.fd-bar{display:block;width:90px;height:7px;border-radius:4px;background:var(--chip);overflow:hidden}.fd-bar i{display:block;height:100%;border-radius:4px}
.fd-bar i.up{background:var(--up)}.fd-bar i.down{background:var(--down)}
.fd-sums{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px;font-size:12.5px}.fd-sum b{margin-right:6px}
.fd-note{margin:10px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}
