/* SalesPilot PRO: accessible, editorial-grade commercial analytics design system */
:root{--paper:#f3f5f9;--card:#fff;--line:#e3e9f1;--navy:#111d32;--navy2:#172841;--blue:#4665d6;--ink:#1b2c44;--muted:#6e7e95;--green:#178c72;--shadow:0 1px 2px rgba(10,27,56,.025),0 8px 28px rgba(10,27,56,.035)}
body{background:var(--paper);color:var(--ink);font-family:Inter,'Segoe UI',Arial,system-ui,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}
.sidebar{width:256px;min-width:256px;background:#101e31;padding:30px 13px 24px;border-right:1px solid #203249}
.brand{padding:3px 12px 0;gap:13px;margin-bottom:57px}
.brand-icon{width:45px;height:45px;border:1px solid #5bdaac;background:linear-gradient(150deg,#a5f0d4 0%,#6bcaa7 100%);border-radius:14px;font-size:26px;color:#183d37;box-shadow:0 5px 22px #48c7a021}
.brand strong{font-size:20px;letter-spacing:-.8px}
.brand small{font-size:8px;letter-spacing:1.4px;color:#82acac;margin-top:5px}
.nav-caption{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#7387a2}
.nav-item{font-size:12.5px;min-height:48px;border-radius:10px;font-weight:600;gap:12px;color:#a2b2c7;padding:10px 14px}
.nav-item:hover{background:#22354c}
.nav-item.active{background:#263e53;border-left:3px solid #65d9ae;color:#f8fffe;padding-left:11px;box-shadow:inset 0 0 0 1px #ffffff0a}
.nav-ico{font:750 10px 'Segoe UI',Arial,sans-serif;letter-spacing:.6px;display:grid;place-items:center;width:28px;height:26px;flex:0 0 28px;background:#223349;color:#859bb8;border-radius:7px}
.nav-item.active .nav-ico{background:#244d54;color:#9df0ca}
.sidebar-bottom{padding-top:18px;font-size:11px;border-top:1px solid #2d4058}
.sidebar-bottom small{margin-left:0;font-size:10px}
.status-dot{width:8px;height:8px}
.topbar{height:76px;background:#fff;border-color:#e6eaf0;padding:0 35px}
.breadcrumb{font-size:11px;letter-spacing:1.3px}
.top-actions .btn{font-size:11.5px}
.btn{font-size:12px;font-weight:700;min-height:39px;border-radius:9px}
.btn-primary{background:#264ca2;box-shadow:none}
.btn-primary:hover{background:#1c3f8c}
.source-pill{font-size:10px;padding:7px 12px}
.page{max-width:1620px;padding:33px 38px 28px}
h1{font-size:30px;letter-spacing:-1.1px;line-height:1.18;margin:8px 0 9px;font-weight:800}
.page-head{margin-bottom:27px}
.page-head p{font-size:13px;color:#78879a}
.eyebrow{font-size:10px;letter-spacing:1.45px;color:#7b8ba2}
.date-chip{border-radius:50px;box-shadow:none;border:1px solid #e4e9f1;font-size:11.5px}
.filter-panel{box-shadow:0 2px 12px rgba(18,48,85,.022);padding:15px 16px;border-radius:12px;margin-bottom:13px;gap:11px}
.filter-item label{font-size:11px;color:#6e7f96;margin-bottom:7px}
.filter-item input,.filter-item select{font-size:12px;height:40px;border-radius:8px;background:#fafbfd}
.notice{font-size:12px;border-radius:10px;line-height:1.55}
.range-toolbar{display:flex;align-items:center;gap:6px;margin:0 0 25px;min-height:35px;flex-wrap:wrap}
.range-toolbar>span:first-child{font-weight:800;letter-spacing:1.15px;font-size:10px;color:#8090a7;margin-right:8px}
.range-toolbar>button{border:1px solid #e2e8f0;border-radius:6px;background:white;color:#61718a;padding:7px 13px;font-size:11px;font-weight:700}
.range-toolbar>button:hover,.range-toolbar>button.selected{background:#253e6c;color:white;border-color:#253e6c}
.range-toolbar i{height:15px;border-left:1px solid #d9e0eb;margin:0 9px}
.range-helper{color:#9aa5b5;font-size:11px}
.panel{border:1px solid #e5eaf1;box-shadow:var(--shadow);background:#fff;border-radius:13px;padding:22px 23px 20px;margin-bottom:18px}
.panel-head{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #f0f2f6;align-items:flex-start}
.panel-head h2{font-size:15px;letter-spacing:-.35px;color:#1a2942;font-weight:750}
.panel-sub{font-size:11.5px;line-height:1.5;color:#8491a2;margin-top:6px;display:block}
.panel-head .tag{font-size:9px;color:#587396;background:#f1f5f9;border:1px solid #e7edf5;border-radius:5px;padding:6px 8px;letter-spacing:.45px;font-weight:800}
.dashboard-grid{gap:18px}
.dashboard-grid.strong-pair{grid-template-columns:minmax(0,1.4fr) minmax(390px,1fr)}
.kpi-grid{gap:16px}
.kpi-card{box-shadow:var(--shadow);min-height:147px;border-radius:13px}
.kpi-label{font-size:12px}
.kpi-value{font-size:27px}
.kpi-foot{font-size:11px;line-height:1.5}
.chart-legend,.viz-legend{font-size:11px;color:#66788f}
.viz-footnote,.microcopy{font-size:11px;line-height:1.65;color:#8996a8;margin:12px 0 0}
.table th{font-size:11px}
.table td{font-size:12px}
.table tr:hover td{background:#f5f8fc}
.table-link{border:0;background:transparent;color:#2854ac;font-size:12px;padding:2px 0;font-weight:750;cursor:pointer}
.table-link:hover{text-decoration:underline}
/* Command overview hero */
.command-deck{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.86fr);min-height:319px;border:1px solid #254362;background:#12253d;border-radius:17px;overflow:hidden;margin-bottom:31px;box-shadow:0 10px 40px rgba(21,41,74,.105)}
.deck-main{padding:29px 36px 25px;background:radial-gradient(circle at 94% 2%,#2f4967 0,#172e4b 34%,#13283f 65%);color:#fff;min-width:0}
.deck-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.deck-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.65px;color:#a7c1d0;display:inline-flex;gap:9px;align-items:center}
.status-light{width:8px;height:8px;background:#81efc5;border-radius:50%;box-shadow:0 0 0 4px #77e9ad15}
.deck-tag{font-size:9px;letter-spacing:1.1px;color:#a3e7cf;border:1px solid #9ff4cd38;background:#8cebc910;padding:7px 9px;border-radius:30px;font-weight:800}
.deck-heading{color:#9fb5ca;margin-top:29px;font-size:13px;font-weight:600}
.deck-big{font-size:clamp(32px,2.8vw,49px);font-weight:830;letter-spacing:-2.3px;line-height:1.25;margin:8px 0 11px;white-space:normal;overflow-wrap:anywhere}
.deck-bottom{color:#c2d2e1;font-size:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.deck-delta{font-size:12px;color:#94eed1;font-weight:800;border:1px solid #9ff4d02a;background:#7df1bb16;padding:6px 8px;border-radius:6px}
.deck-delta.negative{color:#ffd4c8;background:#f2adac13;border-color:#e2a19b24}
.deck-line{height:1px;background:#ffffff20;margin:23px 0 16px}
.deck-stats{display:grid;grid-template-columns:1.1fr 1.5fr 1fr;gap:12px}
.deck-stats>div{border-right:1px solid #ffffff24;padding-right:15px}
.deck-stats>div:last-child{border-right:0}
.deck-stats small{display:block;font-size:10.5px;line-height:1.45;color:#9db5c9;margin-bottom:7px}
.deck-stats b{display:block;font-size:15px;color:#f4fbff;white-space:normal;overflow-wrap:anywhere}
.deck-aside{background:#fff;padding:29px 28px 25px;display:flex;flex-direction:column;min-width:0}
.deck-aside-label{font-size:10px;font-weight:800;color:#7d8ea2;letter-spacing:1.5px}
.deck-score{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:22px;font-size:20px;line-height:1.25;color:#233851;font-weight:780;letter-spacing:-.4px}
.score-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%}.score-dot.risk{background:#ed9265;box-shadow:0 0 0 5px #ed92651d}.score-dot.good{background:#2ba581;box-shadow:0 0 0 5px #2ba5811c}
.deck-aside p{font-size:11.5px;color:#8998a8;line-height:1.6;margin:12px 0 23px}
.deck-meter-head{display:flex;justify-content:space-between;gap:10px;color:#53677e;font-size:11px;font-weight:650}
.deck-meter-head b{font-size:12px;color:#233e58}
.deck-meter{height:9px;background:#e9eef4;border-radius:30px;margin:11px 0 6px;overflow:hidden}
.deck-meter i{height:100%;display:block;background:linear-gradient(90deg,#2caa89,#75c8ac);border-radius:30px}
.deck-meter-foot{font-size:10.5px;color:#8796aa}
.deck-action{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border:1px solid #d8e5ef;border-radius:8px;background:#f5f9fc;color:#254873;font-size:12px;font-weight:800;padding:13px 14px;text-align:left}
.deck-action:hover{background:#eaf1f8}
.chapter-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:23px 0 17px}
.chapter-heading h2{font-size:21px;letter-spacing:-.7px;color:#20314a;font-weight:800;margin:6px 0 0}
.chapter-kicker{font-size:10px;letter-spacing:1.45px;color:#778eaa;font-weight:800}
.chapter-meta{font-size:11px;color:#8c9aa8;white-space:nowrap}
.chapter-button{background:none;border:0;color:#275aa9;font-size:12px;font-weight:800;padding:6px;white-space:nowrap}
.actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px}
.action-card{border:1px solid #e2e8f0;border-radius:13px;background:white;min-height:214px;padding:20px 21px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.action-top{display:flex;align-items:center;justify-content:space-between}
.signal-label{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.15px;color:#a46d32;font-weight:800;background:#fff3e6;border-radius:5px;padding:6px 9px}
.signal-label i{width:6px;height:6px;background:#e8a552;border-radius:50%}
.signal-label.high{color:#a9464a;background:#fdf0f1}.signal-label.high i{background:#db666f}
.signal-label.info{color:#3f7099;background:#ecf5ff}.signal-label.info i{background:#5c98d0}
.signal-label.good{color:#218467;background:#eaf8f1}.signal-label.good i{background:#1da57c}
.signal-order{font-size:10px;color:#adb9ca;font-weight:800;letter-spacing:1px}
.action-card h3{font-size:16px;line-height:1.4;letter-spacing:-.3px;margin:14px 0 10px;color:#243954;font-weight:760}
.action-card p{font-size:11.5px;color:#738298;line-height:1.6;margin-bottom:18px}
.action-link{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:auto;border:0;border-top:1px solid #eff2f6;background:none;padding:14px 0 0;color:#2356aa;font-weight:750;font-size:12px;text-align:left}
.action-link:hover{color:#112e6d}
.drivers-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;font-size:11px;color:#8290a4;margin:4px 0 19px}
.drivers-meta b{color:#40546b}
.driver-sum{font-size:11px;font-weight:800;white-space:nowrap}.driver-sum.positive{color:#168d72}.driver-sum.negative{color:#ca5561}
.driver-list{display:flex;flex-direction:column;gap:11px;padding:1px 0 4px}
.driver-row{border:0;background:transparent;width:100%;display:grid;grid-template-columns:minmax(77px,1fr) minmax(95px,1.7fr) 87px;gap:9px;align-items:center;text-align:left;padding:3px 0}
.driver-row:hover .driver-name{text-decoration:underline;color:#244fac}
.driver-name{font-size:11px;font-weight:680;color:#4a5c74;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.driver-rail{height:11px;background:#f1f4f7;border-radius:4px;position:relative;overflow:hidden}
.driver-center{position:absolute;top:0;bottom:0;left:50%;border-left:1px solid #bccbd8;z-index:2}
.driver-fill{position:absolute;top:1px;bottom:1px;border-radius:3px}
.driver-fill.positive{background:#27a68a}.driver-fill.negative{background:#e27d86}
.driver-row strong{font-size:10.5px;white-space:nowrap;text-align:right}
.positive{color:#168e73}.negative{color:#ce6170}
.quality-panel{background:#fff;border:1px solid #e3eaf1;border-radius:14px;padding:18px 22px 22px;margin:5px 0 30px}
.quality-panel .chapter-heading{margin:5px 0 22px}
.quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.quality-item{border-radius:9px;border:1px solid #e6ebf2;background:#f9fbfd;padding:15px 16px;position:relative;min-height:134px}
.quality-item>span{display:block;font-size:11px;color:#8090a3;margin-bottom:11px;font-weight:700}
.quality-item>strong{font-size:23px;font-weight:820;letter-spacing:-.7px}
.quality-item p{font-size:10.5px;color:#8290a4;margin:10px 0 0;line-height:1.5}
.quality-status{position:absolute;top:14px;right:15px;font-size:12px;font-style:normal;font-weight:900;display:grid;place-items:center;width:19px;height:19px;border-radius:6px}
.quality-status.ok{background:#e3f5ec;color:#14866c}.quality-status.warn{background:#fff2e2;color:#b17b34}
.quality-empty{padding:26px 10px;color:#8290a4;font-size:12px;line-height:1.8}
.mini-brief{display:flex;gap:12px;align-items:center;background:#edf4fa;border:1px solid #dfeaf3;padding:15px 19px;border-radius:10px;margin-bottom:23px}
.mini-bullet{background:#4a81ba;border-radius:50%;width:9px;height:9px;flex:0 0 9px}
.mini-brief strong{font-size:12px;color:#2b4b6d}
.mini-brief p{font-size:11px;color:#657f98;margin:5px 0 0}
.mini-brief button{margin-left:auto;white-space:nowrap;border:0;background:transparent;color:#2b609f;font-size:11px;font-weight:800}
.backtest-band{display:grid;grid-template-columns:230px 1fr;gap:22px}
.backtest-metric{border:1px solid #dae6ee;border-radius:12px;padding:23px 19px;background:#f3f8fb;display:flex;flex-direction:column;align-items:flex-start}
.backtest-metric strong{font-size:34px;letter-spacing:-1px;margin:16px 0 9px;color:#1e3956}
.backtest-metric .pill{font-size:10px;max-width:100%;white-space:normal}
.backtest-metric p{color:#8295a7;font-size:11px;line-height:1.65;margin:20px 0 0}
.backtest-detail h3{font-size:13px;margin-bottom:13px;color:#445a75}
.backtest-detail .table-scroll{max-height:320px;overflow:auto}
.allocation-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.8fr);gap:19px}
.allocation-details{border:1px solid #e8ecf3;border-radius:10px;padding:20px;background:#fafcff}
.allocation-details>b{font-size:12px;color:#334c6c}
.allocation-details p{font-size:11px;color:#75879e;line-height:1.75;margin:9px 0 20px}
.allocation-total{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e5eaf2;padding:13px 0;font-size:11px;color:#718197}
.allocation-total strong{color:#254668;font-size:12px}
/* Affiliate products intentionally small, independent from analytical evidence */
.affiliate-section{margin-top:31px;padding:20px 23px 22px;background:#fff;border:1px solid #e2e8f0;border-radius:13px;box-shadow:var(--shadow)}
.affiliate-section .section-heading{margin-bottom:17px}
.affiliate-section h2{font-size:16px}
.affiliate-grid{gap:14px}
.aff-card{box-shadow:none;border:1px solid #e8edf4;background:#fafbfe;border-radius:10px;padding:10px}
.aff-image{width:93px;height:93px;min-width:93px;flex:0 0 93px;border-radius:8px}
.aff-info h3{font-size:12.5px;line-height:1.5}
.aff-info p{font-size:10.5px}
.aff-info .aff-button{font-size:10px;padding:8px 10px}
.affiliate-disclosure{font-size:10px}
footer{font-size:10.5px}
@media(max-width:1380px){.dashboard-grid.strong-pair{grid-template-columns:minmax(0,1.2fr) minmax(340px,1fr)}.page{padding:28px 23px}.sidebar{width:235px;min-width:235px}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1120px){.sidebar{width:74px;min-width:74px;padding:22px 8px}.brand{padding:0 5px}.brand>span:last-child,.sidebar .nav-caption,.sidebar .nav-item>span:last-child,.sidebar-bottom{display:none}.nav-item{justify-content:center;padding:12px 5px}.nav-item.active{padding:12px 2px;border-left:3px solid #65d9ae}.nav-ico{font-size:10px}.command-deck{grid-template-columns:1.25fr .85fr}.dashboard-grid.strong-pair{grid-template-columns:1fr}.filter-panel{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.page{padding:28px 24px}.backtest-band{grid-template-columns:1fr}.backtest-metric{min-height:0}}
@media(max-width:750px){.command-deck{grid-template-columns:1fr}.deck-main,.deck-aside{padding:23px}.deck-aside{gap:7px}.deck-score{margin-top:6px}.deck-aside p{margin:4px 0 12px}.deck-action{margin-top:17px}.actions-grid{grid-template-columns:1fr}.action-card{min-height:0}.quality-grid{grid-template-columns:1fr 1fr}.allocation-grid{grid-template-columns:1fr}.chapter-heading h2{font-size:19px}.range-helper{display:none}.panel{padding:16px}.quality-panel{padding:14px}.deck-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.sidebar{position:fixed;transform:translateX(-110%);width:248px;min-width:248px;padding:26px 12px;transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar.open .brand>span:last-child,.sidebar.open .nav-item>span:last-child,.sidebar.open .nav-caption,.sidebar.open .sidebar-bottom{display:block}.sidebar.open .nav-item{justify-content:flex-start;padding:12px 14px}.sidebar.open .nav-item.active{padding-left:11px}.sidebar.open .nav-caption{display:block}.topbar{padding:10px 13px;gap:9px}.top-actions{gap:6px}.top-actions .btn{font-size:10px;padding:8px 9px;min-height:32px}.desktop-template{display:none}.page{padding:18px 12px 24px}.page-head{margin-bottom:17px}h1{font-size:25px}.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:11px;gap:8px}.filter-item label{font-size:10px}.filter-item input,.filter-item select{font-size:11px;height:37px}.range-toolbar>button{font-size:10px;padding:6px 9px}.range-toolbar i{display:none}.range-toolbar{margin-bottom:16px}.command-deck{border-radius:12px;margin-bottom:24px}.deck-big{font-size:clamp(30px,7vw,41px)}.deck-stats small{font-size:9px}.deck-stats b{font-size:12px}.deck-main,.deck-aside{padding:21px}.actions-grid{gap:10px;margin-bottom:28px}.action-card{padding:17px}.chapter-heading{margin:20px 0 12px}.chapter-meta{font-size:10px}.chapter-heading h2{font-size:18px}.quality-grid{grid-template-columns:1fr 1fr;gap:8px}.quality-item{padding:12px 11px;min-height:133px}.quality-item strong{font-size:19px}.quality-item p{font-size:10px}.quality-status{top:10px;right:8px}.driver-row{grid-template-columns:minmax(55px,1fr) 1fr 75px;gap:6px}.driver-name{font-size:10px}.driver-row strong{font-size:9.5px}.mini-brief{flex-wrap:wrap}.mini-brief button{margin-left:20px}.affiliate-section{padding:15px 12px}.aff-image{width:82px;height:82px;min-width:82px;flex:0 0 82px}.aff-card{padding:9px}.backtest-band{gap:14px}}
@media print{.sidebar,.topbar,.filter-panel,.range-toolbar,.notice,.affiliate-section,footer,.btn,.chapter-button,.action-link,.deck-action,.nav,.toast{display:none!important}.main,.page{width:100%;max-width:100%;padding:0}.app{display:block}.panel,.command-deck,.quality-panel{break-inside:avoid;box-shadow:none!important}.command-deck{-webkit-print-color-adjust:exact;print-color-adjust:exact}.dashboard-grid{grid-template-columns:1fr 1fr}}
/* Mobile chart viewport: scroll the plot, never the whole page. */
.allocation-grid>*,.allocation-grid .panel,.dashboard-grid>*,.backtest-band>*{min-width:0}
@media(max-width:650px){
  .allocation-grid{grid-template-columns:minmax(0,1fr)}
  .allocation-grid>div{min-width:0;max-width:100%}
  .allocation-grid .viz-svg{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
  .allocation-grid .viz-svg svg{min-width:460px}
  .chart{overflow-x:auto;overscroll-behavior-inline:contain}
  .chart svg{min-width:460px}
}
