:root{
  --bg:#05070b;
  --panel:rgba(18,22,32,.76);
  --line:rgba(255,255,255,.105);
  --line2:rgba(255,255,255,.07);
  --text:#f6f8ff;
  --muted:#8f9bb2;
  --muted2:#b9c4d9;
  --green:#36e28b;
  --red:#ff5162;
  --yellow:#f4c95d;
  --blue:#6ea8ff;
  --cyan:#55e5ff;
  --shadow:0 24px 80px rgba(0,0,0,.38);
  --radius:28px;
  --sidebar:270px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 18% -10%,rgba(54,137,255,.22),transparent 35%),
    radial-gradient(circle at 92% 10%,rgba(56,217,140,.13),transparent 30%),
    linear-gradient(180deg,#061019 0%,#050506 52%,#030304 100%);
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent 70%);
}
button,input{font:inherit}
button{
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  padding:10px 15px;
  background:rgba(255,255,255,.075);
  color:var(--text);
  cursor:pointer;
  font-weight:850;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
button:hover{transform:translateY(-1px);background:rgba(255,255,255,.115);border-color:rgba(255,255,255,.16)}
button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.primary,.approve{background:linear-gradient(135deg,#37eca0,#16c977)!important;color:#001d10!important;border-color:rgba(55,236,160,.35)!important}
.danger-soft{background:rgba(255,81,98,.13)!important;color:#ffc2c8!important;border-color:rgba(255,81,98,.18)!important}
.hard-danger{background:linear-gradient(135deg,#ff6473,#ff3048)!important;color:#fff!important;border-color:rgba(255,81,98,.35)!important}
.glass,.panel,.control-card,.search-hero{
  background:linear-gradient(180deg,rgba(21,25,36,.78),rgba(10,12,18,.80));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(22px) saturate(1.15);
}
.lock-screen{position:fixed;inset:0;z-index:99;display:grid;place-items:center;background:rgba(0,0,0,.72);backdrop-filter:blur(18px)}
.lock-card{width:min(420px,92vw);padding:32px;text-align:center;background:linear-gradient(180deg,rgba(22,27,38,.95),rgba(7,9,13,.95));border:1px solid var(--line);border-radius:34px;box-shadow:0 30px 120px rgba(0,0,0,.64)}
.logo-mark,.brand-icon{width:46px;height:46px;border-radius:16px;background:#fff;color:#05070b;display:grid;place-items:center;font-weight:950;letter-spacing:-.04em}
.logo-mark{margin:0 auto 18px;width:62px;height:62px;border-radius:22px}
.lock-card h1{margin:0 0 8px}.lock-card p,.lock-card small{color:var(--muted)}
.lock-card input{width:100%;height:50px;text-align:center;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;outline:none;font-size:22px;margin:18px 0 12px}
.lock-card button{width:100%;background:#fff;color:#000}#lockError{color:var(--red);margin-top:10px}
.locked-blur{filter:blur(8px);pointer-events:none;opacity:.45}
.sidebar{
  position:fixed;
  left:16px; top:16px;
  /* Sidebar cleanup (2026-09-12): #controlStripSection + .side-note removed
     as dead markup (zero JS wiring) left only brand/account/nav content,
     far shorter than a viewport-spanning box. Anchoring both the top and
     the bottom edge here used to force the panel to always fill the full
     viewport height regardless of content, which now left a large empty
     glass void below nav. max-height (with the same visual ceiling this
     box always had) lets it shrink-wrap to its actual content instead,
     while still capping -- and still allowing internal scroll via
     overflow-y:auto (see the later .sidebar override) -- if content ever
     grows past it. */
  max-height:calc(100vh - 32px);
  height:fit-content;
  width:var(--sidebar);
  z-index:30;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:18px;
  overflow:hidden;
  border-radius:28px;
}
.brand-mini{display:flex;align-items:center;gap:12px}
.brand-mini h2{font-size:20px;margin:0;letter-spacing:-.03em}
.brand-mini p{margin:2px 0 0;color:var(--muted);font-size:12px}
.sidebar nav{display:flex;flex-direction:column;gap:8px}
.sidebar nav button{text-align:left;width:100%;border-radius:17px;background:rgba(255,255,255,.055);padding:12px 14px}
.sidebar nav button:hover{background:rgba(110,168,255,.12);border-color:rgba(110,168,255,.22)}
.main{
  width:calc(100vw - var(--sidebar) - 48px);
  margin-left:calc(var(--sidebar) + 32px);
  padding:16px 18px 56px 0;
  max-width:1680px;
}
.topbar{
  position:sticky;top:12px;z-index:25;
  padding:22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  border-radius:30px;
  margin-bottom:18px;
}
.eyebrow{margin:0 0 7px;color:#a8b8ff;text-transform:uppercase;font-size:11px;font-weight:950;letter-spacing:.10em}
.topbar h1{font-size:30px;line-height:1;margin:0;letter-spacing:-.04em}
.muted{color:var(--muted);line-height:1.45}
.topbar .muted{margin:8px 0 0;max-width:850px}
.top-actions,.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.status-badge,.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 13px;border:1px solid var(--line);background:rgba(255,255,255,.055);font-weight:950;white-space:nowrap}
.status-badge i{width:9px;height:9px;border-radius:999px;background:var(--muted)}
.status-badge.off i{background:var(--muted)}
.status-badge.on i{background:var(--green);box-shadow:0 0 16px var(--green)}
.status-badge.error i{background:var(--red);box-shadow:0 0 16px var(--red)}
.search-hero{padding:24px;display:grid;grid-template-columns:minmax(0,520px) minmax(420px,1fr);gap:22px;align-items:center}
.search-hero h2{font-size:28px;letter-spacing:-.03em;margin:0}
.search-box{height:64px;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;border-radius:24px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}
.search-box span{font-size:22px;color:var(--cyan)}
.search-box input{flex:1;border:0;outline:none;background:transparent;color:#fff;font-size:17px;font-weight:750}
.search-box button{height:48px;padding:0 24px;background:#fff;color:#05070b}
.control-strip,.grid-2,.grid-chart,.grid-portfolio{display:grid;gap:18px;margin-top:18px}
.control-strip{grid-template-columns:1.25fr .75fr 1fr}
.grid-2{grid-template-columns:1fr 1fr}
.grid-portfolio{grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);align-items:stretch}
.grid-chart{grid-template-columns:minmax(0,1.58fr) minmax(360px,.62fr);align-items:stretch}
.chart-centered-layout{grid-template-columns:minmax(0,1fr);max-width:1380px;margin-left:auto;margin-right:auto}
.chart-main-panel{max-width:1380px;width:100%;margin:0 auto}
.chart-centered-layout .ticker-ai-card{max-width:1380px;width:100%;margin:0 auto}
.control-card,.panel{padding:22px}
.control-card h2,.panel h2{margin:0;font-size:21px;letter-spacing:-.025em}
.small{font-size:12px}
.switch-line{display:flex;align-items:center;gap:10px;color:var(--muted2);font-weight:750}
.switch-line input{accent-color:var(--green)}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.kpi-grid{display:grid;gap:10px;margin-top:14px}
.kpi-grid.four{grid-template-columns:repeat(4,1fr)}
.kpi-grid div,.api-health-grid div,.position-stats div,.opp-stats div,.analysis-score-grid div{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.065);border-radius:18px;padding:13px;min-width:0;
}
.kpi-grid span,.api-health-grid span,.position-stats span,.opp-stats span,.analysis-score-grid span{
  display:block;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;
}
.kpi-grid b,.api-health-grid b,.position-stats strong,.opp-stats strong,.analysis-score-grid strong{
  display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.portfolio-top{margin-top:18px}
.pnl-line{display:flex;gap:12px;font-weight:950;margin-bottom:12px}
.positive{color:var(--green)!important}.negative{color:var(--red)!important}
.api-call-list::-webkit-scrollbar{width:6px}
.api-call-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.count-badge{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-weight:950}
.position-card{padding:16px;border-radius:24px;border:1px solid var(--line2);background:rgba(255,255,255,.04)}
.position-head{display:flex;justify-content:space-between;gap:12px;cursor:pointer}
.position-head h3{margin:0;font-size:22px}
.position-head p{margin:3px 0 0;color:var(--muted)}
.position-stats,.opp-stats,.analysis-score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.position-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.position-actions button{padding:9px 12px;font-size:12px}
.position-defense-note{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,207,90,.32);
  background:rgba(255,207,90,.08);
  color:#ffe2a1;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
}
.position-defense-note.danger{
  border-color:rgba(255,81,98,.34);
  background:rgba(255,81,98,.08);
  color:#ffb6bf;
}
.stack-list,.scanner-list,.log-list,.timeline,.api-call-list,.event-feed-list{display:flex;flex-direction:column;gap:10px}
.compact-row,.readiness-row,.timeline-row,.scanner-row,.api-call-row,.log-item{
  border:1px solid var(--line2);background:rgba(255,255,255,.04);border-radius:18px;padding:12px;
}
.compact-row,.timeline-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.compact-row span,.timeline-row span{color:var(--muted);font-size:12px}
.button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 10px}
.notice-box{padding:15px;border-radius:20px;border:1px solid rgba(110,168,255,.18);background:rgba(110,168,255,.085);color:#dce9ff;margin-top:15px}
.dashboard-ai-section .notice-box{margin-bottom:0}
.event-feed-list{max-height:340px;overflow:auto;margin-top:12px}
.event-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:13px;border-radius:18px;border:1px solid var(--line2);background:rgba(255,255,255,.04)}
.event-row b{display:block}.event-row p{margin:4px 0;color:var(--muted2);font-size:13px}.event-row small{color:var(--muted);font-size:11px}.event-row span{text-transform:uppercase;font-size:11px;font-weight:950;color:var(--muted)}
.event-row.success{border-color:rgba(54,226,139,.22);background:rgba(54,226,139,.055)}
.event-row.error{border-color:rgba(255,81,98,.25);background:rgba(255,81,98,.06)}
.event-row.warning,.event-row.warn{border-color:rgba(244,201,93,.25);background:rgba(244,201,93,.06)}
.chart-panel{min-height:760px}
.tv-asset-chart{width:100%;height:620px;min-height:620px;margin-top:16px;border-radius:24px;background:linear-gradient(180deg,rgba(3,5,9,.7),rgba(3,5,9,.92));border:1px solid rgba(255,255,255,.055);overflow:hidden}
.tv-ticker-tape-strip{margin:14px 0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.055)}
.chart-centered-layout .tv-asset-chart{height:min(68vh,720px);min-height:560px}
.tv-caption{margin-top:10px;color:var(--muted);font-size:12px}
.tv-details-panel{min-height:760px}
.tv-detail-widget{width:100%;min-height:190px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);margin-bottom:14px}
.tv-technical-widget{min-height:410px}
.asset-canvas-fallback{display:none;width:100%;height:420px;border-radius:22px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);margin-top:14px}
.nrc-lw-chart-panel{width:100%;border-radius:22px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);margin-top:14px;padding:10px 14px 14px}
.nrc-lw-chart-head{font-size:12px;padding:2px 2px 8px}
.nrc-lw-chart-box{width:100%;height:280px}
.nrc-opportunity-chart-box{width:100%;height:220px;margin-top:8px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}
.nrc-opportunity-chart-box[hidden]{display:none}
.nrc-ctrader-source-note{display:flex;flex-direction:column;gap:4px}
.levels-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.compact-head{margin-top:22px;margin-bottom:12px}
.compact-head h2{font-size:18px}
.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:34px;border-radius:999px;border:1px solid rgba(77,240,161,.25);background:rgba(77,240,161,.10);color:#7dffbd;font-size:12px;font-weight:950;letter-spacing:.08em}
.status-pill.warn{border-color:rgba(250,204,21,.35);background:rgba(250,204,21,.12);color:#fde68a}
.status-pill.error{border-color:rgba(251,113,133,.35);background:rgba(251,113,133,.14);color:#fda4af}
.tv-company-details{margin-top:18px;padding-top:4px}
.tv-details-block{margin-top:12px}
.tv-details-block h3{margin:0 0 10px;font-size:14px;color:#eef3ff}
.tv-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tv-detail-grid:empty::before{content:"Dati in caricamento...";grid-column:1/-1;padding:14px;border-radius:18px;border:1px solid var(--line2);background:rgba(255,255,255,.035);color:var(--muted)}
.tv-detail-grid>div{min-height:76px;padding:13px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);min-width:0}
.tv-detail-grid span{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.tv-detail-grid b{display:block;margin-top:7px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finnhub-technical-panel{margin-top:20px;padding-top:2px}
.finnhub-button-row{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 12px}
.finnhub-toggle{border-color:rgba(110,168,255,.22);background:rgba(110,168,255,.09)}
.finnhub-toggle.active{background:linear-gradient(135deg,#35e494,#2ccf86);border-color:rgba(77,240,161,.45);color:#031009}
.finnhub-menu{display:none;margin-top:10px;padding:14px;border-radius:20px;border:1px solid rgba(110,168,255,.16);background:rgba(110,168,255,.055)}
.finnhub-menu.open{display:block}
.finnhub-menu .analysis-notes{margin-top:0}
.ticker-ai-section{margin-top:18px}
.analysis-panel{margin-top:12px}
.analysis-notes{margin-top:14px;color:var(--muted2)}
.analysis-notes h3{font-size:14px;margin:12px 0 6px;color:#fff}
.defensive-decision-card{
  margin-top:14px;
  padding:15px;
  border-radius:18px;
  border:1px solid rgba(110,168,255,.18);
  background:rgba(110,168,255,.07);
}
.defensive-decision-card.reduce,.defensive-decision-card.exit{
  border-color:rgba(255,81,98,.35);
  background:rgba(255,81,98,.08);
}
.defensive-decision-card.watch{
  border-color:rgba(255,207,90,.34);
  background:rgba(255,207,90,.08);
}
.defensive-decision-card h3{margin:0 0 8px;font-size:18px}
.defensive-decision-card p{margin:6px 0;color:var(--muted2);line-height:1.4}
.defensive-decision-card ul{margin:10px 0 0;padding-left:18px;color:var(--muted2)}
.mtf-frame-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.mtf-frame-list div{padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.mtf-frame-list span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:900}
.mtf-frame-list b{display:block;margin-top:5px;color:#fff}
.scanner-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:var(--muted)}
.scanner-row{width:100%;display:grid;grid-template-columns:48px 74px 1fr 76px 76px 90px;gap:10px;align-items:center;text-align:left}
.scanner-row small,.scanner-row em,.scanner-row i{font-style:normal;color:var(--muted)}
.hunter-opportunity-grid{align-items:start}
.hunter-panel{position:relative;overflow:hidden;border:1px solid rgba(111,168,255,.20)!important;background:radial-gradient(circle at 12% 0%, rgba(77,240,161,.13), transparent 30%),radial-gradient(circle at 100% 20%, rgba(111,168,255,.16), transparent 32%),rgba(16,20,32,.74)!important}
.hunter-kpi-grid{display:grid;grid-template-columns:1.35fr repeat(5,1fr);gap:12px;margin:14px 0}
.hunter-kpi-grid>div{min-height:86px;padding:15px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.085)}
.hunter-kpi-grid span{display:block;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.hunter-kpi-grid strong{display:block;color:#fff;font-size:23px;line-height:1.05}
.hunter-hero-card strong{font-size:36px;color:#4df0a1}
.hunter-hero-card p{margin:8px 0 0;color:#dce5ff;font-size:13px;line-height:1.35}
.hunter-autopilot-status{padding:13px;border-radius:18px;border:1px solid var(--line2);background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:4px}
.hunter-autopilot-status.ok{border-color:rgba(54,226,139,.22);background:rgba(54,226,139,.055)}
.hunter-autopilot-status.warn{border-color:rgba(244,201,93,.25);background:rgba(244,201,93,.06)}
.hunter-autopilot-status.bad{border-color:rgba(255,81,98,.25);background:rgba(255,81,98,.06)}
.hunter-trade-box{display:grid;gap:14px;margin-top:12px}
.hunter-trade-card,.opp-card{padding:16px;border-radius:24px;background:rgba(255,255,255,.052);border:1px solid rgba(255,255,255,.085)}
.hunter-grid-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.hunter-grid-mini div{padding:11px;border-radius:16px;background:rgba(255,255,255,.052)}
.hunter-grid-mini span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
.opportunity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.opp-card.primary{border-color:rgba(54,226,139,.28);background:rgba(54,226,139,.07)}
.opp-card.watchlist{border-color:rgba(73,211,232,.28);background:rgba(73,211,232,.055)}
.opp-watch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}
.opp-watch-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;text-align:left;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(7,13,22,.58);color:inherit;cursor:pointer}
.opp-watch-row:hover{border-color:rgba(73,211,232,.45);background:rgba(73,211,232,.08)}
.opp-watch-row b{font-size:15px}
.opp-watch-row span{font-size:12px;color:var(--muted)}
.opp-watch-row strong{grid-column:1/-1;color:#49d3e8;font-size:13px}
.plan-history-panel{margin-top:14px}
.planner-audit-panel{display:block}
.planner-audit-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:14px;margin:14px 0}
.planner-audit-chart,.planner-pine-profile{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:18px;padding:14px;min-width:0}
.planner-audit-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.planner-audit-chart-head h3,.planner-pine-profile h3{margin:0;font-size:20px}
.audit-tradingview-widget{height:520px;min-height:420px;border-radius:14px;overflow:hidden;background:#080b10;border:1px solid rgba(255,255,255,.08)}
.audit-tradingview-widget iframe{width:100%;height:100%;border:0;display:block}
.planner-pine-profile pre{max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:12px 0 0;padding:14px;border-radius:14px;background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.08);color:#dce5ff;font-size:12px;line-height:1.45}
.planner-pine-profile .muted{line-height:1.45}
.plan-history-list{display:grid;gap:10px;margin-top:14px}
.plan-history-card{display:grid;grid-template-columns:minmax(190px,1.05fr) minmax(260px,1.8fr) minmax(160px,.75fr);gap:12px;align-items:stretch;padding:14px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075)}
.plan-history-card.executed{border-color:rgba(54,226,139,.24);background:rgba(54,226,139,.055)}
.plan-history-card.failed{border-color:rgba(255,81,98,.25);background:rgba(255,81,98,.055)}
.plan-history-main h3{margin:0;font-size:17px}
.plan-history-main p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.plan-history-status{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-bottom:8px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:11px;font-weight:950;text-transform:uppercase;color:var(--muted)}
.plan-history-status.pending_approval,.plan-history-status.approved,.plan-history-status.executing{color:#dce9ff;border-color:rgba(110,168,255,.22);background:rgba(110,168,255,.08)}
.plan-history-status.executed{color:var(--green);border-color:rgba(54,226,139,.28);background:rgba(54,226,139,.08)}
.plan-history-status.failed,.plan-history-status.rejected,.plan-history-status.canceled{color:#ffb5bc;border-color:rgba(255,81,98,.28);background:rgba(255,81,98,.08)}
.plan-history-assets{display:flex;gap:8px;flex-wrap:wrap;align-content:flex-start}
.plan-history-assets span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.075);font-size:12px;color:#eef3ff}
.plan-history-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.plan-history-kpis div{padding:10px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06)}
.plan-history-kpis span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}
.plan-history-kpis b{display:block;margin-top:5px;color:#fff;font-size:13px}
@media(max-width:980px){.plan-history-card{grid-template-columns:1fr}.plan-history-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.planner-audit-layout{grid-template-columns:1fr}.audit-tradingview-widget{height:440px}.planner-audit-chart-head{flex-direction:column}}
.api-monitor-panel{margin-top:18px}
.api-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.api-call-list{max-height:520px;overflow:auto;margin-top:12px}
.api-call-row{display:grid;grid-template-columns:1fr 70px 90px 120px;gap:10px;align-items:center}
.api-call-row.ok{border-color:rgba(54,226,139,.17)}.api-call-row.bad{border-color:rgba(255,81,98,.22)}
.api-call-row p{margin:4px 0 0;color:var(--muted);font-size:12px}
.api-call-row span,.api-call-row strong,.api-call-row em{color:var(--muted2);font-style:normal;text-align:right}
#logsSection{margin-top:18px}
pre#apiOutput{white-space:pre-wrap;word-break:break-word;max-height:520px;overflow:auto;background:rgba(0,0,0,.28);border:1px solid var(--line2);border-radius:20px;padding:14px;color:#dce5ff}
.empty-state{border:1px dashed rgba(255,255,255,.12);border-radius:18px;padding:14px;color:var(--muted);background:rgba(255,255,255,.025)}
.api-busy .topbar{box-shadow:0 0 0 1px rgba(85,229,255,.18),0 24px 80px rgba(0,0,0,.38)}
.is-loading{position:relative;opacity:.82}
.is-loading:after{content:"";display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}
.panel-loading{position:relative}
.panel-loading:after{content:"";position:absolute;right:18px;bottom:18px;width:20px;height:20px;border:2px solid rgba(255,255,255,.22);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1250px){
  :root{--sidebar:0px}
  .sidebar{position:relative;left:auto;top:auto;bottom:auto;width:auto;margin:14px 14px 0;display:block}
  .sidebar nav{flex-direction:row;flex-wrap:wrap}
  .main{width:calc(100vw - 28px);margin:0 auto;padding:14px 0 40px}
  .topbar{position:relative;top:auto;grid-template-columns:1fr}
  .control-strip,.grid-2,.grid-chart,.grid-portfolio,.search-hero{grid-template-columns:1fr}
  .tv-asset-chart{height:500px;min-height:500px}
  .tv-details-panel{min-height:auto}
  .hunter-kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .top-actions{justify-content:flex-start}
  .search-box{height:auto;flex-wrap:wrap}
  .search-box input{min-width:180px}
  .control-card,.panel,.search-hero{padding:16px;border-radius:22px}
  .kpi-grid.four,.api-health-grid,.opp-stats,.analysis-score-grid,.hunter-grid-mini{grid-template-columns:1fr}
  .scanner-row{grid-template-columns:34px 64px 1fr}.scanner-row em,.scanner-row i{display:none}
  .api-call-row{grid-template-columns:1fr}.api-call-row span,.api-call-row strong,.api-call-row em{text-align:left}
  .tv-asset-chart{height:420px;min-height:420px}
  .hunter-kpi-grid{grid-template-columns:1fr}
}


/* =========================================================
   nRc v30 · AI Investment Planner unified panel
========================================================= */
.investment-plan-box{display:grid;gap:14px;margin-top:14px}
.investment-plan-card{padding:18px;border-radius:26px;background:linear-gradient(180deg,rgba(54,226,139,.075),rgba(255,255,255,.035));border:1px solid rgba(54,226,139,.22)}
.investment-plan-card.blocked{background:rgba(244,201,93,.06);border-color:rgba(244,201,93,.22)}
.investment-plan-card.bad{background:rgba(255,81,98,.06);border-color:rgba(255,81,98,.22)}
.investment-plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.investment-plan-head h3{margin:0;font-size:26px;letter-spacing:-.035em}
.investment-plan-head p{margin:5px 0 0;color:var(--muted2);line-height:1.42}
.investment-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.investment-plan-grid div{padding:12px;border-radius:18px;background:rgba(255,255,255,.052);border:1px solid rgba(255,255,255,.075)}
.investment-plan-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}
.investment-plan-grid b{display:block;margin-top:6px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hunter-panel .timeline{margin-top:14px}
.hunter-rejected-list{margin-top:14px;display:grid;gap:10px}
.hunter-rejected-row{padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:80px 80px 1fr;gap:10px;align-items:center}
.hunter-rejected-row small{color:var(--muted2)}
@media(max-width:1100px){.investment-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hunter-kpi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.investment-plan-grid{grid-template-columns:1fr}.hunter-rejected-row{grid-template-columns:1fr}}

/* =========================================================
   nRc v30.1 · Single AI Investment Planner container
========================================================= */
.investment-planner-panel{
  margin-top:18px;
  position:relative;
  overflow:hidden;
  border-color:rgba(85,229,255,.18)!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(54,226,139,.12), transparent 28%),
    radial-gradient(circle at 100% 18%, rgba(110,168,255,.16), transparent 32%),
    linear-gradient(180deg,rgba(18,22,32,.82),rgba(8,10,15,.88))!important;
}
.planner-unified-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.planner-subpanel{padding:16px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075)}
.panel-head.compact{margin-bottom:10px}.panel-head.compact h2{font-size:18px}
.planner-loading-box{padding:14px;border-radius:22px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075);margin-top:14px}
.planner-loading-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:950}
.planner-loading-head span{color:var(--cyan)}
.planner-progress{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:12px 0}
.planner-progress i{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--green));box-shadow:0 0 20px rgba(54,226,139,.35);transition:width .38s ease}
.planner-loading-box.loading .planner-progress i{animation:plannerPulse 1.1s ease-in-out infinite}
@keyframes plannerPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.45)}}
.planner-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.planner-steps span{padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:11px;font-weight:900;text-align:center;white-space:nowrap}
.planner-steps span.active{color:#07110c;background:linear-gradient(135deg,#55e5ff,#36e28b);border-color:rgba(85,229,255,.35)}
.planner-steps span.done{color:var(--green);border-color:rgba(54,226,139,.24);background:rgba(54,226,139,.07)}
.planner-result-area{margin-top:16px}
.planner-result-area .hunter-kpi-grid{margin-top:0}
.investment-plan-card.ready{border-color:rgba(54,226,139,.30);background:linear-gradient(180deg,rgba(54,226,139,.16),rgba(54,226,139,.055))}
.investment-plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.planner-notify-note{margin-top:10px;color:var(--muted2);font-size:12px}
@media(max-width:1100px){.planner-unified-grid{grid-template-columns:1fr}.planner-steps{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.planner-steps{grid-template-columns:1fr}.investment-plan-head{display:block}.investment-plan-head button{margin-top:12px;width:100%}}


/* =========================================================
   nRc v30.2 · Sidebar account compact + Portfolio top loading
========================================================= */
.sidebar{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.sidebar::-webkit-scrollbar{width:5px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px}
#nrcAccountWidget.nrc-account-widget{
  width:100%!important;
  margin:2px 0 8px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  flex:0 0 auto!important;
}
#nrcAccountButton.nrc-account-button{
  width:100%!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  overflow:hidden!important;
  text-align:left!important;
}
#nrcAccountAvatar.nrc-account-avatar,
#nrcAccountAvatarBig.nrc-account-avatar.big{
  width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;
  min-height:16px!important;max-height:16px!important;border-radius:50%!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;font-size:8px!important;line-height:16px!important;padding:0!important;margin:0!important;
}
#nrcAccountAvatar img,#nrcAccountAvatarBig img{
  width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;
  min-height:16px!important;max-height:16px!important;border-radius:50%!important;object-fit:cover!important;display:block!important;
}
#nrcAccountButton .nrc-account-mini{min-width:0!important;flex:1!important;line-height:1.08!important}
#nrcAccountButton .nrc-account-mini b{
  display:block!important;font-size:11px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:165px!important;
}
#nrcAccountButton .nrc-account-mini small{
  display:block!important;font-size:9px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:165px!important;color:var(--muted2)!important;
}
#nrcAccountButton .nrc-account-caret{font-size:12px!important;opacity:.9!important;flex:0 0 auto!important}
#nrcAccountMenu.nrc-account-menu{
  display:none;
  margin-top:8px!important;
  padding:10px!important;
  border-radius:18px!important;
  background:rgba(16,20,30,.96)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.42)!important;
}
#nrcAccountWidget.open #nrcAccountMenu{display:grid!important;gap:7px!important}
#nrcAccountMenu .nrc-account-menu-head{display:flex!important;align-items:center!important;gap:8px!important;margin-bottom:4px!important}
#nrcAccountMenu button{width:100%!important;text-align:left!important;padding:9px 12px!important;border-radius:999px!important;font-size:12px!important}
#nrcAccountNotifyBtn::before{content:'🔔 ';}
#nrcAccountPingBtn::before{content:'💾 ';}
#nrcAccountProfileBtn::before{content:'↻ ';}
#nrcAccountLogoutBtn::before{content:'⏻ ';}
.portfolio-first-title{margin-top:18px!important}
.portfolio-loading-box{
  position:absolute;inset:0;z-index:8;display:none;place-items:center;text-align:center;
  background:linear-gradient(180deg,rgba(7,9,14,.88),rgba(7,9,14,.70));
  backdrop-filter:blur(6px);border-radius:inherit;color:#fff;padding:28px;
}
.portfolio-loading .portfolio-loading-box{display:grid!important}
.portfolio-spinner{
  width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.18);border-top-color:var(--green);border-right-color:var(--cyan);
  animation:spin .8s linear infinite;margin:0 auto 12px;
}
.portfolio-loading-box b{font-size:18px;display:block;margin-bottom:5px}
.portfolio-loading-box span{display:block;color:var(--muted2);font-size:13px;max-width:360px}
.portfolio-progress-line{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:14px;width:min(360px,80%)}
.portfolio-progress-line i{display:block;height:100%;width:65%;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:999px;animation:portfolioLoad 1.2s ease-in-out infinite}
@keyframes portfolioLoad{0%{transform:translateX(-120%)}100%{transform:translateX(180%)}}
@media(max-width:1250px){#nrcAccountButton .nrc-account-mini b,#nrcAccountButton .nrc-account-mini small{max-width:220px!important}}


.portfolio-autoreinvest-map{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}

.auto-reinvest-fullwidth{
  width:100%!important;
  margin-top:18px!important;
  padding:22px!important;
  border-radius:28px!important;
  overflow:visible!important;
}

.auto-reinvest-widget{
  grid-column:1 / -1!important;
}

.auto-reinvest-explain{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}

.auto-reinvest-explain div{
  padding:12px;
  border-radius:8px;
  border:1px solid rgba(54,226,139,.18);
  background:rgba(54,226,139,.065);
}

.auto-reinvest-explain b{
  display:block;
  color:#eafff4;
  font-size:13px;
  margin-bottom:5px;
}

.auto-reinvest-explain span{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.auto-reinvest-track{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.auto-reinvest-progress{
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  margin:14px 0;
}

.auto-reinvest-progress i{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--cyan));
}

.auto-step{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}

.auto-step.done{
  border-color:rgba(54,226,139,.45);
  background:rgba(54,226,139,.09);
}

.auto-step.active{
  border-color:rgba(85,229,255,.45);
  background:rgba(85,229,255,.09);
}

.auto-reinvest-diagnostics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.auto-status-card{
  min-height:92px;
  padding:13px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);
  display:grid;
  gap:5px;
  align-content:start;
}

.auto-status-card span{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.auto-status-card b{
  color:var(--text);
  font-size:16px;
}

.auto-status-card small{
  color:var(--muted2);
  font-size:12px;
  line-height:1.35;
}

#autoReinvestSection.auto-state-ready .auto-status-card:first-child,
#autoReinvestSection.auto-state-executed .auto-status-card:first-child{
  border-color:rgba(54,226,139,.55);
  background:rgba(54,226,139,.09);
}

#autoReinvestSection.auto-state-wait .auto-status-card:first-child,
#autoReinvestSection.auto-state-blocked .auto-status-card:first-child{
  border-color:rgba(255,207,90,.38);
  background:rgba(255,207,90,.07);
}

@media(max-width:1050px){
  .auto-reinvest-diagnostics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .auto-reinvest-diagnostics{
    grid-template-columns:1fr;
  }
  .auto-reinvest-explain{
    grid-template-columns:1fr;
  }
}

.panel,.glass,.chart-card,.market-card{
  position:relative;
}

.is-loading::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:20;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(7,9,14,.68),rgba(7,9,14,.46));
  backdrop-filter:blur(4px);
  pointer-events:none;
}

.is-loading::before{
  content:"";
  position:absolute;
  top:18px;
  right:18px;
  z-index:21;
  width:24px;
  height:24px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.18);
  border-top-color:var(--cyan);
  border-right-color:var(--green);
  animation:spin .8s linear infinite;
  pointer-events:none;
}

@keyframes spin{to{transform:rotate(360deg)}}


@media(max-width:980px){
  .chart-centered-layout .tv-asset-chart{
    min-height:500px;
  }
  .tv-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .chart-centered-layout .tv-asset-chart{
    min-height:430px;
  }
  .tv-detail-grid,.levels-row{
    grid-template-columns:1fr;
  }
}

.market-session-chip{
  display:inline-grid;
  gap:2px;
  min-width:220px;
  margin-top:12px;
  padding:10px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}

.market-session-chip b{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.market-session-chip span{
  color:var(--muted);
  font-size:12px;
}

.market-session-chip.open{
  border-color:rgba(54,226,139,.48);
  background:rgba(54,226,139,.09);
}

.market-session-chip.open b{color:var(--green)}

.market-session-chip.closed{
  border-color:rgba(255,207,90,.42);
  background:rgba(255,207,90,.08);
}

.market-session-chip.closed b{color:#ffcf5a}

.auto-reinvest-top-btn,
.auto-reinvest-btn{
  border-color:rgba(54,226,139,.42)!important;
  background:rgba(54,226,139,.16)!important;
  color:#eafff4!important;
}

.auto-reinvest-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.position-defense-note.ready{
  border-color:rgba(54,226,139,.28);
  background:rgba(54,226,139,.08);
  color:#bfffe0;
}

/* Top-alignment audit (2026-09-26): nrc-compact-top was written to pin
   .main flush with .sidebar's own top edge (position:absolute, no longer
   dependent on normal document flow) -- but its only activating JS
   (document.body.classList.add("nrc-compact-top") in control_room.js)
   was dropped from control_room.html's <script> tags long ago (commit
   66ff47b, an unrelated broker/TradingView fix that gutted control_room
   .js down to 280 fewer lines) without ever being migrated to the
   scripts that replaced it -- confirmed via grep, this class is added
   nowhere in any currently-loaded script. Re-wired in control_room_
   bootstrap.js::init(), unconditionally (matching the original always-on
   intent), but the two rules below are scoped to >=1251px specifically:
   under that width, @media(max-width:1250px) already makes .sidebar
   position:relative (stacked in normal flow, not fixed) -- pulling
   .main to position:absolute unconditionally there would overlap it on
   top of the now in-flow, stacked sidebar instead of the intended
   fixed-sidebar alignment fix. .topbar's own reorder just below stays
   unscoped: reordering ticker-tape/topbar within .main's own flex
   column doesn't touch position and can't cause that overlap either
   way. */
@media(min-width:1251px){
  body.nrc-compact-top .sidebar{
    top:14px!important;
    bottom:14px!important;
    left:14px!important;
  }

  body.nrc-compact-top .main{
    position:absolute!important;
    top:14px!important;
    left:calc(var(--sidebar) + 30px)!important;
    margin:0!important;
    margin-left:0!important;
    padding:0 18px 56px 0!important;
    width:calc(100vw - var(--sidebar) - 48px)!important;
    align-self:flex-start!important;
  }
}

body.nrc-compact-top .topbar{
  order:-100!important;
  margin-top:0!important;
}

body.nrc-compact-top #autopilotSection{
  order:-90!important;
}

body.nrc-hero-chart #chartLayoutTitle{
  display:none!important;
}

body.nrc-hero-chart #chartSection{
  order:-80!important;
  width:100%!important;
  max-width:none!important;
  margin:14px 0 18px!important;
  grid-template-columns:minmax(0,1fr)!important;
}

body.nrc-hero-chart #chartSection .chart-main-panel{
  max-width:none!important;
  width:100%!important;
  min-height:auto!important;
  padding:16px!important;
  border-radius:26px!important;
}

body.nrc-hero-chart #chartSection .panel-head{
  margin-bottom:8px!important;
  align-items:center!important;
}

body.nrc-hero-chart #chartSection .panel-head h2{
  font-size:20px!important;
}

body.nrc-hero-chart #chartSection .panel-head .muted{
  display:none!important;
}

body.nrc-hero-chart #chartSection .tv-asset-chart{
  height:min(64vh,720px)!important;
  min-height:560px!important;
  margin-top:8px!important;
  border-radius:22px!important;
}

body.nrc-hero-chart #chartSection .ticker-ai-card,
body.nrc-hero-chart #chartSection .tv-details-panel,
body.nrc-hero-chart #chartSection .tv-company-details,
body.nrc-hero-chart #chartSection .finnhub-technical-panel{
  margin-top:18px!important;
}

body.nrc-compact-top{
  min-height:100vh;
}

body.nrc-compact-top::before{
  top:0!important;
}

.insight-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:10px;
  color:var(--muted2);
  font-size:12px;
}

.insight-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.insight-legend i{
  width:9px;
  height:9px;
  border-radius:999px;
  display:inline-block;
}

.scanner-row{
  grid-template-columns:52px minmax(70px,.8fr) minmax(120px,1.2fr) 86px 86px 88px!important;
  text-align:left;
}

.scanner-row.scanner-strong{
  border-color:rgba(54,226,139,.32)!important;
  background:rgba(54,226,139,.075)!important;
}

.scanner-row.scanner-watch{
  border-color:rgba(85,229,255,.28)!important;
  background:rgba(85,229,255,.055)!important;
}

.scanner-row.scanner-reject{
  border-color:rgba(255,111,145,.22)!important;
  opacity:.76;
}

.trust-detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}

.trust-detail-grid div{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.045);
}

.trust-detail-grid span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.trust-detail-grid b{
  display:block;
  margin-top:6px;
  color:var(--text);
}

@media(max-width:760px){
  body.nrc-compact-top .main{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    width:calc(100vw - 28px)!important;
    margin:14px auto 0!important;
    padding:0 0 40px!important;
  }
  body.nrc-compact-top .sidebar{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    bottom:auto!important;
    margin:14px auto 0!important;
    width:calc(100vw - 28px)!important;
  }
  .scanner-row{
    grid-template-columns:40px 1fr 72px!important;
  }
  .scanner-row small,.scanner-row em,.scanner-row i{
    display:none;
  }
  .trust-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.nrc-hero-chart #chartSection .tv-asset-chart{
    height:520px!important;
    min-height:520px!important;
  }
}

body.nrc-polished-status #missionReadinessSection{
  grid-template-columns:minmax(360px,.78fr) minmax(460px,1.22fr)!important;
}

body.nrc-polished-status #missionReadinessSection .panel{
  padding:20px!important;
}

body.nrc-polished-status #missionReadinessSection .kpi-grid.six{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}

body.nrc-polished-status #missionReadinessSection .kpi-grid.six div{
  min-height:74px!important;
  border-radius:16px!important;
  padding:12px!important;
}

body.nrc-polished-status #missionReadinessSection .kpi-grid.six span{
  letter-spacing:.04em;
}

body.nrc-polished-status #missionReadinessSection .kpi-grid.six b{
  font-size:15px!important;
  white-space:normal!important;
  line-height:1.2!important;
}

body.nrc-polished-status .readiness-row{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:13px 14px!important;
  border-radius:18px!important;
}

body.nrc-polished-status .readiness-row strong{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:15px;
  background:rgba(255,255,255,.08);
}

body.nrc-polished-status .readiness-row div{
  min-width:0;
}

body.nrc-polished-status .readiness-row b{
  display:block;
  font-size:15px;
  line-height:1.15;
}

body.nrc-polished-status .readiness-row span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.3;
}

body.nrc-polished-status .readiness-row em{
  font-style:normal;
  font-weight:900;
  color:var(--text);
  white-space:nowrap;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
}

body.nrc-polished-status .readiness-row.ok{
  border-color:rgba(54,226,139,.24)!important;
  background:rgba(54,226,139,.055)!important;
}

body.nrc-polished-status .readiness-row.warn{
  border-color:rgba(255,207,90,.28)!important;
  background:rgba(255,207,90,.055)!important;
}

body.nrc-polished-status .readiness-row.bad{
  border-color:rgba(255,81,98,.28)!important;
  background:rgba(255,81,98,.06)!important;
}

/* v31.26.2 · keep operational safety cards inside the left terminal rail. */
.sidebar{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  gap:12px!important;
}

.sidebar .brand-mini{order:1!important}
.sidebar .nrc-account-widget{order:2!important}
.sidebar .nrc-premium-widget{order:3!important}
.sidebar nav{order:4!important}

.nrc-premium-widget{
  margin:12px 0;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(54,229,146,.08),rgba(80,170,255,.05));
}
.nrc-premium-widget .premium-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.nrc-premium-widget .eyebrow{
  margin:0 0 3px;
  font-size:10px;
}
.nrc-premium-widget h3{
  margin:0;
  font-size:15px;
  line-height:1.15;
}
.nrc-premium-widget .premium-pill{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.nrc-premium-widget .premium-pill.on{
  border-color:rgba(54,229,146,.45);
  background:rgba(54,229,146,.15);
  color:#7ff0bd;
}
.nrc-premium-widget .premium-meter{
  margin-top:10px;
}
.nrc-premium-widget .premium-meter span{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:rgba(255,255,255,.66);
  font-size:11px;
  font-weight:800;
}
.nrc-premium-widget .premium-bar{
  height:7px;
  margin-top:6px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.nrc-premium-widget .premium-bar i{
  display:block;
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#36e592,#50aaff);
  transition:width .25s ease;
}
.nrc-premium-widget .premium-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
  margin-top:10px;
}
.nrc-premium-widget input{
  width:100%;
  min-width:0;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:#fff;
  padding:8px 9px;
  font-weight:800;
}
.nrc-premium-widget button{
  border-radius:12px;
  padding:8px 10px;
  font-size:11px;
}
.nrc-premium-widget .premium-msg{
  display:block;
  min-height:15px;
  margin-top:7px;
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.3;
}

.broker-workspace{margin-top:18px;display:grid;gap:18px}
.broker-onboarding-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid rgba(255,207,90,.36);border-radius:22px;background:linear-gradient(90deg,rgba(255,207,90,.11),rgba(110,168,255,.06))}.broker-onboarding-banner h2{margin:0;font-size:20px}.broker-onboarding-banner p:not(.eyebrow){margin:7px 0 0;color:var(--muted);line-height:1.4}.broker-banner-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#d92c35;color:#fff;font-weight:950;font-size:13px}.broker-banner-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.broker-banner-actions a,.broker-banner-actions button{padding:10px 12px;border-radius:999px;font-size:12px;font-weight:900}.broker-banner-actions a{background:#fff;color:#070b10;text-decoration:none}.broker-banner-actions button{background:rgba(255,255,255,.06)}
.provider-hidden{display:none!important}
.broker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.broker-grid.broker-grid-merged{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.nrc-open-positions{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(21,25,36,.7),rgba(10,12,18,.72))}
.nrc-open-positions-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.nrc-open-positions-head h2{margin:0}.nrc-position-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.nrc-open-position-card{padding:18px;border:1px solid var(--line2);border-radius:20px;background:rgba(255,255,255,.035)}.nrc-open-position-card .position-head{display:flex;justify-content:space-between;align-items:flex-start}.nrc-open-position-card h3{margin:0;font-size:20px}.nrc-position-side{font-weight:900;letter-spacing:.08em}.nrc-position-side.buy{color:var(--green)}.nrc-position-side.sell{color:var(--red)}.nrc-position-status{display:inline-block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em}.nrc-position-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.nrc-position-kpis div{padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.18)}.nrc-position-kpis span{display:block;color:var(--muted);font-size:11px}.nrc-position-kpis b{display:block;margin-top:4px;font-size:14px}.nrc-position-actions{display:flex;flex-wrap:wrap;gap:8px}.nrc-position-actions button{flex:1;min-width:130px}
@media(max-width:760px){.nrc-open-positions{padding:16px}.nrc-open-positions-head{align-items:flex-start;flex-direction:column}.nrc-open-positions-head button{width:100%}.nrc-position-actions{display:grid;grid-template-columns:1fr}.nrc-position-actions button{width:100%}}
.broker-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}
.broker-kpis div{padding:11px;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.04)}
.broker-kpis span{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.broker-kpis b{display:block;margin-top:6px;font-size:14px;overflow:hidden;text-overflow:ellipsis}
.broker-status-merged{display:grid;grid-template-columns:minmax(0,1fr);align-content:start}
/* Broker card consolidation (2026-09-26 restyling): connection status
   and account data used to be two side-by-side <article> cards
   (.broker-status-card + .broker-account-card) -- now one card, split
   into a connection-status head (badge, reusing the same .status-badge
   .on/.off dot pattern #aiStatusBadge already uses) and an account-data
   section below it (.broker-account-inline, which carries its own top
   divider). The Modalita/API/Sessione row, the Protezione block and the
   connection sentence that used to sit between the two were removed
   2026-09-28 (explicit user request). */
.broker-connection-head{display:flex;flex-direction:column;gap:8px}
.broker-connection-head .status-badge{align-self:flex-start}
/* Broker button restyling (2026-09-27): "Aggiorna broker"/connect-
   disconnect were previously in a separate .broker-toolbar row above
   this card, outside the unified badge/account box -- now on the same
   row as the connection badge and the provider-mode strip
   (#brokerProviderStrip), inside the card. */
.broker-connection-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.broker-connection-top .broker-provider-strip{margin:0}
.broker-connection-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.broker-connection-actions button{display:inline-flex;align-items:center;gap:7px}
.broker-btn-icon{flex:none}
/* Cronologia side column (2026-09-27, explicit user request): the panel
   body is now a flex row -- #nrcCoreMain (scan controls, provider strips,
   candidates, report: everything that used to stack above/below the
   history) plus #nrcReportHistory shown to its LEFT via order:-1. This
   panel is a single .main child whose inside is plain block flow, so the
   page's `order` system doesn't apply here (unlike #chartSection/
   Watchlist) -- a wrapper was needed, verified with the same real-DOM
   nesting check (tests/test_core_history_side_column.py). Flex, not grid,
   so the column disappears entirely (no reserved gap) whenever the history
   section is hidden. Selectors are id-scoped on purpose: the older
   .nrc-intelligence-history / .nrc-control-intelligence #nrcReportHistory
   rules in control_room_intelligence.css (loaded after this file, one of
   them margin:...!important) would otherwise win ties. Rows reuse the
   Watchlist look (same border/background/hover, thin scrollbar, no
   horizontal scroll) -- the row markup itself is JS-generated by
   reportHistory() and untouched. */
.nrc-core-layout{display:flex;align-items:flex-start;gap:18px}
.nrc-core-main{flex:1 1 0;min-width:0}
#nrcCoreIntelligenceSection .nrc-core-layout>#nrcReportHistory{order:-1;flex:0 0 clamp(260px,24%,320px);width:auto;min-width:0;margin:0!important;padding:14px;border:1px solid var(--line2);border-radius:16px;background:rgba(255,255,255,.02)}
/* No global .hidden rule is loaded on this page (style.css, which has one,
   isn't linked), so the section's own "hidden" class never actually hid it
   -- scoped here so the column really is absent until history is requested. */
#nrcCoreIntelligenceSection .nrc-core-layout>#nrcReportHistory.hidden{display:none}
#nrcCoreIntelligenceSection .nrc-core-layout>#nrcReportHistory h3{margin:0 0 6px;font-size:13px;font-weight:900;letter-spacing:.02em}
#nrcCoreIntelligenceSection .nrc-core-layout>#nrcReportHistory>p.muted{margin:0 0 10px;font-size:11px;line-height:1.45}
#nrcCoreIntelligenceSection #nrcReportHistory .nrcReportHistoryRows{display:flex;flex-direction:column;gap:6px;max-height:560px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
#nrcCoreIntelligenceSection #nrcReportHistory .nrcReportHistoryRows::-webkit-scrollbar{width:6px}
#nrcCoreIntelligenceSection #nrcReportHistory .nrcReportHistoryRows::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
#nrcCoreIntelligenceSection #nrcReportHistory .nrcReportHistoryRows button{width:100%;gap:3px;padding:9px 11px;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.035)}
#nrcCoreIntelligenceSection #nrcReportHistory .nrcReportHistoryRows button:hover{background:rgba(255,255,255,.06)}
#nrcCoreIntelligenceSection #nrcReportHistory .nrcReportHistoryRows button b{font-size:13px;font-weight:900;letter-spacing:.02em}
#nrcCoreIntelligenceSection #nrcReportHistory .nrcReportHistoryRows button span{font-size:11px;color:var(--muted2);overflow-wrap:anywhere}
#nrcCoreIntelligenceSection #nrcReportHistory .nrcReportHistoryRows button small{font-size:11px;color:var(--muted)}
/* Under 1250px (same breakpoint the sidebar and the chart/watchlist row
   stack at): single column, history follows the main content in source
   order instead of sitting on the left. */
@media(max-width:1250px){
  .nrc-core-layout{flex-direction:column;align-items:stretch}
  .nrc-core-main{flex:0 0 auto;width:100%}
  #nrcCoreIntelligenceSection .nrc-core-layout>#nrcReportHistory{order:0;flex:none;width:100%}
}
/* Account loading spinner (2026-09-27, explicit user request): shown
   during both the automatic first load and a manual "Aggiorna broker"
   click (broker_polling_controller.js::run(), try/finally around the
   whole request). Deliberately NOT the pre-existing bare .is-loading
   class a few hundred lines up in this file -- that one bundles a
   full blur+dim overlay (.is-loading::after, inset:0, backdrop-filter:
   blur(4px)) meant for a different, now-dead feature, which would
   obscure the account numbers -- the opposite of "i dati precedenti
   non devono sparire bruscamente". Reuses the same @keyframes spin
   animation and the same corner-spinner visual language (top-right,
   cyan/green two-tone border) as .is-loading::before, just without
   the blur -- a spinner (not a progress bar) because the underlying
   call is a single request with no incremental progress to report.
   .broker-status-card already gets position:relative from the shared
   .panel,.glass rule. */
.broker-status-card.nrc-broker-loading::after{content:"";position:absolute;top:18px;right:18px;width:22px;height:22px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:var(--cyan);border-right-color:var(--green);animation:spin .8s linear infinite;pointer-events:none}
.broker-account-inline{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2)}
.broker-table-wrap{overflow:auto}.broker-table{width:100%;border-collapse:collapse}.broker-table th,.broker-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line2);font-size:13px}.broker-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.broker-table td[colspan]{color:var(--muted);text-align:center}
@media(max-width:1050px){.broker-grid,.broker-grid.broker-grid-merged{grid-template-columns:1fr}.broker-connection-top{flex-direction:column;align-items:flex-start}.broker-connection-actions{margin-left:0;margin-top:4px}}
@media(max-width:760px){.broker-onboarding-banner{grid-template-columns:1fr}.broker-banner-actions{justify-content:flex-start}}
.broker-onboarding-modal{display:none;position:fixed;inset:0;z-index:120;place-items:center;padding:20px;background:rgba(3,6,10,.72);backdrop-filter:blur(10px)}.broker-onboarding-modal.open{display:grid}.broker-onboarding-dialog{width:min(500px,100%);padding:28px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#17202a,#0c1118);box-shadow:0 30px 100px rgba(0,0,0,.55)}.broker-onboarding-dialog h2{margin:0;font-size:25px}.broker-onboarding-dialog>p:not(.eyebrow){color:var(--muted);line-height:1.5}.broker-brand-pair{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-weight:950}.broker-brand-pair span{display:grid;place-items:center;height:42px;padding:0 13px;border-radius:12px}.broker-brand-nrc{background:#fff;color:#091018}.broker-brand-ibkr{background:#d92c35;color:#fff}.broker-brand-pair i{font-style:normal;color:var(--muted)}.broker-onboarding-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 16px}.broker-onboarding-actions a{display:inline-flex;align-items:center;text-decoration:none}.broker-onboarding-dialog small{color:var(--muted);line-height:1.4}
.broker-provider-strip{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 18px}.broker-provider-strip button{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);font-weight:900}.broker-provider-strip button.active{background:linear-gradient(135deg,#2ee59d,#42d7ff);color:#061018;border-color:transparent}.broker-provider-strip button[data-broker-provider="directa"]{opacity:.72}
.broker-provider-strip.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.broker-provider-strip.cards button{height:auto;min-height:132px;border-radius:18px;padding:14px;display:grid;gap:8px;justify-items:start;text-align:left}.broker-card-logo{width:42px;height:42px;border-radius:12px;background:#fff;object-fit:contain;padding:6px}.broker-card-name{font-size:16px;font-weight:950}.broker-card-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.broker-card-meta b{color:#ffd166}.broker-card-status{font-size:11px;font-weight:950;text-transform:uppercase;color:var(--muted)}.broker-provider-strip.cards button.active .broker-card-status{color:#061018}.broker-provider-strip.cards button.planned{opacity:.68}
.broker-card-logo.local{display:grid;place-items:center;background:var(--broker-logo-color,#243244);color:#fff;font-size:15px;font-weight:950;padding:0;letter-spacing:0}

.portfolio-breakdown{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0 10px;
}
.portfolio-breakdown div{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  border-radius:8px;
  padding:10px 12px;
  min-width:0;
}
.portfolio-breakdown span,.portfolio-breakdown small{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}
.portfolio-breakdown b{
  display:block;
  color:var(--text);
  font-size:15px;
  margin:4px 0 2px;
}
.portfolio-breakdown .pos,.broker-table .pos{color:var(--green)}
.portfolio-breakdown .neg,.broker-table .neg{color:var(--red)}
.broker-table th,.broker-table td{vertical-align:middle}
.broker-table td b,.broker-table td em,.broker-table td small{display:block}
.broker-table td small{color:var(--muted);font-size:11px;margin-top:3px}
.broker-table td em{font-style:normal;color:var(--muted);font-size:12px;margin-top:3px}
.broker-position-row td:first-child b{font-size:16px}
.broker-order-row{opacity:.82}
.nrc-broker-positions-active{grid-template-columns:1fr}
.nrc-hidden-duplicate-positions{display:none!important}
@media(max-width:900px){.portfolio-breakdown{grid-template-columns:1fr}}
.nrc-close-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.nrc-close-actions button{
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  color:var(--text);
  font-size:11px;
  font-weight:900;
}
.nrc-close-actions button:hover{
  border-color:rgba(54,226,139,.45);
  background:rgba(54,226,139,.12);
}

.nrc-daily-edge-card{
  border-color:rgba(54,226,139,.24)!important;
  background:linear-gradient(180deg,rgba(54,226,139,.08),rgba(255,255,255,.025))!important;
}
.nrc-analysis-bullets{
  margin:12px 0 0;
  padding-left:18px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.nrc-analysis-bullets li{margin:5px 0}
.nrc-pine-filter{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:rgba(0,0,0,.16);
}
.nrc-pine-filter summary{
  cursor:pointer;
  font-weight:900;
}
.nrc-pine-filter p{
  margin:8px 0;
  color:var(--muted);
}
.nrc-pine-filter code{
  display:block;
  color:#bfffe0;
  white-space:normal;
  line-height:1.5;
}
.nrc-mode-panel{
  margin:18px 0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr);
  gap:14px;
  align-items:center;
}
.nrc-mode-panel h3{margin:4px 0 6px;font-size:20px}
.nrc-mode-panel p{margin:0;color:var(--muted);line-height:1.45}
.nrc-mode-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.nrc-mode-buttons button{
  min-height:92px;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.045);
  color:var(--text);
  text-align:left;
}
.nrc-mode-buttons button.active{
  border-color:rgba(54,226,139,.65);
  background:linear-gradient(135deg,rgba(54,226,139,.24),rgba(66,215,255,.16));
}
.nrc-mode-buttons strong,.nrc-mode-buttons small{display:block}
.nrc-mode-buttons small{margin-top:6px;color:var(--muted);line-height:1.3}
.nrc-action-pill{
  display:inline-flex!important;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  font-size:11px!important;
  letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.12);
}
.nrc-action-pill.pos{
  color:#7cffbd;
  border-color:rgba(54,226,139,.5);
  background:rgba(54,226,139,.12);
}
.nrc-action-pill.neg{
  color:#ff9cad;
  border-color:rgba(255,92,122,.48);
  background:rgba(255,92,122,.12);
}
.nrc-action-pill.watch{
  color:#b9d7ff;
  border-color:rgba(66,215,255,.38);
  background:rgba(66,215,255,.1);
}
.nrc-action-pill.pending{
  color:#ffe6a3;
  border-color:rgba(255,207,90,.5);
  background:rgba(255,207,90,.12);
}
.nrc-tv-position-row,
.nrc-tv-order-row{
  transition:background .18s ease,border-color .18s ease,opacity .18s ease;
}
.nrc-tv-position-row td,
.nrc-tv-order-row td{
  vertical-align:middle!important;
}
.nrc-tv-position-row td:first-child b,
.nrc-tv-order-row td:first-child b{
  font-size:16px;
  letter-spacing:.01em;
}
.nrc-tv-position-row td:first-child small,
.nrc-tv-order-row td:first-child small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}
.nrc-tv-position-row td:nth-child(5) strong,
.nrc-tv-position-row td:nth-child(5) em{
  display:block;
  font-style:normal;
  line-height:1.25;
}
.nrc-tv-position-row.is-pending{
  background:rgba(255,207,90,.055);
  outline:1px solid rgba(255,207,90,.18);
}
.nrc-tv-position-row.is-pending td{
  opacity:.92;
}
.nrc-tv-position-row .nrc-close-actions button:disabled{
  opacity:.48;
  cursor:not-allowed;
}
.broker-table-wrap{
  border-radius:18px;
  overflow:auto;
}
.broker-table{
  table-layout:fixed;
}
.broker-table th:nth-child(1){width:16%}
.broker-table th:nth-child(2){width:12%}
.broker-table th:nth-child(3){width:15%}
.broker-table th:nth-child(4){width:15%}
.broker-table th:nth-child(5){width:14%}
.broker-table th:nth-child(6){width:28%}
body[data-nrc-view="operational"] .nrc-study-only,
body[data-nrc-view="studio"] .nrc-operational-only{
  display:none!important;
}
.nrc-view-switcher{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:8px;
}
.sidebar nav .nrc-view-switcher button{
  min-height:40px;
  padding:10px 11px!important;
  text-align:center!important;
  border-radius:14px!important;
  font-size:12px;
  background:rgba(255,255,255,.045);
}
.sidebar nav .nrc-view-switcher button.active{
  border-color:rgba(54,226,139,.58);
  background:linear-gradient(135deg,rgba(54,226,139,.22),rgba(66,215,255,.12));
  color:#dfffee;
}
body[data-nrc-view="operational"] #brokerSection{
  order:12!important;
}
body[data-nrc-view="operational"] #chartLayoutTitle{
  order:13!important;
}
body[data-nrc-view="operational"] #chartSection{
  order:14!important;
}
body[data-nrc-view="operational"] #brokerSection{
  gap:12px;
}
body[data-nrc-view="operational"] #brokerSection .nrc-layout-section-title{
  margin:10px 0 0;
}
body[data-nrc-view="operational"] #brokerSection .broker-orders-panel{
  min-height:260px;
}
body[data-nrc-view="operational"] #brokerSection .broker-provider-strip{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
  gap:10px;
}
body[data-nrc-view="operational"] #brokerSection .broker-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:12px;
}
body[data-nrc-view="operational"] #brokerSection .broker-status-card,
body[data-nrc-view="operational"] #brokerSection .broker-account-card{
  min-height:170px;
  padding:18px;
}
body[data-nrc-view="operational"] #brokerSection .broker-orders-panel{
  order:20;
}
body[data-nrc-view="operational"] #chartSection .tv-asset-chart{
  height:min(62vh,680px)!important;
  min-height:520px!important;
}
body[data-nrc-view="studio"] #autopilotSection{
  order:10!important;
}
body[data-nrc-view="studio"] #investmentModeSection{
  order:11!important;
}
body[data-nrc-view="studio"] #marketSection{
  order:20!important;
}
body[data-nrc-view="studio"] #hunterSection{
  order:30!important;
}
body[data-nrc-view="studio"] #logsSection{
  order:31!important;
}
body[data-nrc-view="studio"] #autoReinvestLayoutTitle,
body[data-nrc-view="studio"] #autoReinvestSection{
  order:40!important;
}
body[data-nrc-view="studio"] #apiMonitorSection{
  order:70!important;
}
@media(max-width:980px){
  body[data-nrc-view="operational"] #brokerSection .broker-grid{grid-template-columns:1fr!important}
  .nrc-mode-panel{grid-template-columns:1fr}
  .nrc-mode-buttons{grid-template-columns:1fr}
  .nrc-accelerator-grid,
  .nrc-leverage-controls{grid-template-columns:1fr}
}

#investmentModeSection.nrc-investment-mode-panel{
  margin:18px 0;
}
#investmentModeSection .nrc-mode-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
#investmentModeSection .nrc-mode-card{
  min-height:118px!important;
  padding:14px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.045)!important;
  color:var(--text)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:7px!important;
  text-align:left!important;
  white-space:normal!important;
  line-height:1.25!important;
}
#investmentModeSection .nrc-mode-card.active{
  border-color:rgba(54,226,139,.65)!important;
  background:linear-gradient(135deg,rgba(54,226,139,.24),rgba(66,215,255,.16))!important;
}
#investmentModeSection .nrc-mode-card b{
  font-size:15px!important;
  line-height:1.2!important;
}
#investmentModeSection .nrc-mode-card span,
#investmentModeSection .nrc-mode-card small{
  display:block!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.35!important;
}

.nrc-accelerator-panel{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(0,0,0,.16);
  display:grid;
  gap:12px;
}
.nrc-accelerator-panel h3{
  margin:2px 0 5px;
  font-size:17px;
}
.nrc-accelerator-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.nrc-accelerator-card{
  min-height:92px;
  padding:12px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.045)!important;
  text-align:left!important;
  white-space:normal!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:7px!important;
}
.nrc-accelerator-card.active{
  border-color:rgba(54,226,139,.55)!important;
  background:linear-gradient(135deg,rgba(54,226,139,.20),rgba(66,215,255,.12))!important;
}
.nrc-accelerator-card[data-plan-accelerator="leverage"].active,
.nrc-accelerator-card[data-plan-accelerator="hybrid"].active{
  border-color:rgba(251,191,36,.60)!important;
  background:linear-gradient(135deg,rgba(251,191,36,.20),rgba(255,111,97,.10))!important;
}
.nrc-accelerator-card span{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.nrc-leverage-controls{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.nrc-leverage-controls label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.nrc-leverage-controls select{
  width:100%;
  height:42px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
  color:var(--text);
  padding:0 10px;
  outline:none;
}
.nrc-leverage-controls select:disabled{
  opacity:.48;
}
.nrc-planner-controls{
  margin-top:4px;
  padding:12px;
  border:1px solid rgba(66,215,255,.18);
  border-radius:8px;
  background:rgba(66,215,255,.045);
  display:grid;
  gap:10px;
}
.nrc-planner-controls h3{
  margin:2px 0 5px;
  font-size:16px;
}
.nrc-planner-control-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#hunterLeverageAdvice[data-tone="warn"]{
  color:#fbbf24;
}
#hunterLeverageAdvice[data-tone="safe"]{
  color:#36e28b;
}
.nrc-risk-note{
  margin:0;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid rgba(54,226,139,.22);
  background:rgba(54,226,139,.08);
  color:#dfffee;
  font-size:12px;
  line-height:1.4;
}
.nrc-risk-note[data-tone="warn"]{
  border-color:rgba(251,191,36,.34);
  background:rgba(251,191,36,.10);
  color:#fde68a;
}
.leverage-warning{
  margin:10px 0 0!important;
  padding:9px 10px;
  border-radius:8px;
  border:1px solid rgba(251,191,36,.34);
  background:rgba(251,191,36,.10);
  color:#fde68a!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.portfolio-utility-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:14px!important;
}
.portfolio-utility-grid div{
  border:1px solid rgba(255,255,255,.09)!important;
  background:rgba(255,255,255,.045)!important;
  border-radius:8px!important;
  padding:12px!important;
  min-width:0!important;
}
.portfolio-utility-grid span,
.portfolio-utility-grid small{
  display:block!important;
  color:var(--muted)!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.portfolio-utility-grid b{
  display:block!important;
  color:var(--text)!important;
  font-size:16px!important;
  margin:4px 0!important;
}
.portfolio-utility-grid .pos{color:var(--green)!important}
.portfolio-utility-grid .neg{color:var(--red)!important}
@media(max-width:980px){
  #investmentModeSection .nrc-mode-grid,
  .portfolio-utility-grid{grid-template-columns:1fr!important}
}
.nrc-daily-edge-card{
  border-color:rgba(54,226,139,.24)!important;
  background:linear-gradient(180deg,rgba(54,226,139,.08),rgba(255,255,255,.025))!important;
}
.nrc-analysis-bullets{
  margin:12px 0 0;
  padding-left:18px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.nrc-analysis-bullets li{margin:5px 0}
.nrc-pine-filter{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:rgba(0,0,0,.16);
}
.nrc-pine-filter summary{
  cursor:pointer;
  font-weight:900;
}
.nrc-pine-filter p{
  margin:8px 0;
  color:var(--muted);
}
.nrc-pine-filter code{
  display:block;
  color:#bfffe0;
  white-space:normal;
  line-height:1.5;
}


/* v1.10 lightweight chart: keep scanner CPU free */
.nrc-light-chart-host{height:auto!important;min-height:72px!important;padding:10px!important;display:block!important;}
.nrc-light-chart-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;border:1px solid rgba(54,226,139,.22);background:rgba(54,226,139,.055);color:var(--text);}
.nrc-light-chart-note span{color:var(--muted);font-size:12px;flex:1;}
.nrc-light-chart-note button{min-width:auto!important;padding:8px 12px!important;}
.asset-canvas-fallback.nrc-light-chart-canvas{display:block!important;width:100%!important;height:420px!important;margin-top:12px!important;}
.asset-canvas-fallback.nrc-hidden-light-canvas{display:none!important;}


/* v1.10.1 opportunity progress */
.nrc-opportunity-progress{margin:14px 0;padding:14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);display:grid;gap:9px;}
.nrc-opportunity-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;}
.nrc-opportunity-progress-head b{color:var(--text);}
.nrc-opportunity-progress-head span{color:var(--muted);font-weight:700;}
.nrc-opportunity-progress-track{height:9px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden;}
.nrc-opportunity-progress-track i{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#36e28b,#42d7ff);transition:width .28s ease;}
.nrc-opportunity-progress p{margin:0;color:var(--muted);font-size:12px;}
.nrc-opportunity-progress.done{border-color:rgba(54,226,139,.34);background:rgba(54,226,139,.065);}
.nrc-opportunity-progress.error{border-color:rgba(255,81,98,.38);background:rgba(255,81,98,.07);}
.nrc-opportunity-progress.error .nrc-opportunity-progress-track i{background:linear-gradient(90deg,#ff5162,#f4c95d);}
.portfolio-breakdown.portfolio-pnl-strip {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.portfolio-pnl-strip > div {
  min-height: 72px;
  border: 1px solid rgba(154, 166, 194, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  padding: 12px 14px;
}

.portfolio-pnl-strip span,
.portfolio-pnl-strip small {
  display: block;
  color: var(--muted);
}

.portfolio-pnl-strip b {
  display: block;
  margin: 4px 0;
}

.portfolio-pnl-strip .pnl-strip-main b {
  font-size: 26px;
}

.portfolio-pnl-strip b.pos {
  color: var(--green);
}

.portfolio-pnl-strip b.neg {
  color: var(--red);
}

.portfolio-pnl-strip b.watch {
  color: #b9d7ff;
}

.nrc-hidden-duplicate-positions {
  display: none !important;
}

@media (max-width: 900px) {
  .portfolio-breakdown.portfolio-pnl-strip {
    grid-template-columns: 1fr;
  }
}

/* v1.21 decision panels: replaces the old readiness checklist */
#missionReadinessSection.grid-1 {
  grid-template-columns: 1fr !important;
}

/* v1.23 auto reinvest clarity panel */
.nrc-reinvest-clarity-panel {
  max-width: 1420px;
  margin-inline: auto;
}

.nrc-reinvest-clarity-panel .panel-head {
  align-items: flex-start;
}

.nrc-reinvest-clarity-panel .panel-head .button-row {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.nrc-reinvest-clarity {
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(180px, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.nrc-reinvest-clarity > div {
  min-height: 92px;
  border: 1px solid rgba(54, 226, 139, .28);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(54, 226, 139, .10), rgba(66, 215, 255, .035));
  padding: 13px 14px;
}

.nrc-reinvest-clarity .nrc-reinvest-clarity-main {
  border-color: rgba(66, 215, 255, .34);
  background: linear-gradient(135deg, rgba(66, 215, 255, .13), rgba(54, 226, 139, .045));
}

.nrc-reinvest-clarity span {
  display: block;
  color: var(--muted2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.nrc-reinvest-clarity b {
  display: block;
  color: var(--text);
  font-size: 18px;
  line-height: 1.15;
}

.nrc-reinvest-clarity small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  margin-top: 7px;
}

.nrc-reinvest-clarity-panel .status-timeline,
.nrc-reinvest-clarity-panel .timeline,
.nrc-reinvest-clarity-panel .reinvest-steps {
  margin-top: 12px;
}

.nrc-reinvest-clarity-panel canvas {
  max-height: 300px;
}

@media (max-width: 1180px) {
  .nrc-reinvest-clarity {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .nrc-reinvest-clarity {
    grid-template-columns: 1fr;
  }
}

/* v1.24 TradingView chart cleanup + Finnhub details */
.nrc-native-chart-hidden {
  display: none !important;
}

#chartSection canvas:not(#trustPieCanvas),
#chartCanvas,
#assetChartCanvas,
#priceChartCanvas,
#candlestickCanvas,
#nativeChartCanvas,
.legacy-chart-panel,
.native-chart-panel,
.chart-canvas,
.chart-wrap.native-chart,
.lightweight-chart-container {
  display: none !important;
}

body[data-nrc-view="operativa"] #chartLayoutTitle {
  display: flex !important;
}

body[data-nrc-view="operativa"] #chartSection,
body[data-nrc-view="studio"] #chartSection {
  display: grid !important;
}

body[data-nrc-view="operativa"] #chartSection .nrc-chart-details-panel {
  display: none !important;
}

body[data-nrc-view="operativa"] #chartSection .nrc-tradingview-main-panel {
  grid-column: 1 / -1;
}

.nrc-finnhub-detail-box {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  min-height: 0 !important;
  padding: 12px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(154, 166, 194, .18) !important;
  background: rgba(255, 255, 255, .035) !important;
}

.nrc-finnhub-detail-box span,
.nrc-finnhub-detail-box b {
  display: block;
}

.nrc-finnhub-detail-box span {
  color: var(--muted2);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nrc-finnhub-detail-box b {
  color: var(--text);
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.nrc-finnhub-detail-box em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-style: normal;
}

#chartSection .tv-asset-chart,
#chartSection .tradingview-widget-container {
  min-height: 560px;
}

@media (max-width: 900px) {
  .nrc-finnhub-detail-box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #chartSection .tv-asset-chart,
  #chartSection .tradingview-widget-container {
    min-height: 420px;
  }
}
