/* Carter Desk — premium utility-first trading surface */
:root{color-scheme:dark;--bg:#07111f;--panel:#0e1b2b;--raised:#122235;--border:#26364b;--text:#e9f1fb;--muted:#8ca2ba;--accent:#46d6b3;--red:#f17c91;--amber:#efc17a;--blue:#80b8ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 40% -20%,#162b43 0%,transparent 55%),var(--bg);color:var(--text);font-size:13px;line-height:1.5}a{color:#a7ccf7}button,input,select{font:inherit}button{border:1px solid #3d526b;background:#1a2c40;color:#e6f1ff;cursor:pointer;border-radius:8px;padding:10px 13px;font-weight:650}button:hover{background:#263d53}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:#146954;color:white;border-color:#27997d}button.primary:hover{background:#188169}button.secondary{background:#293a51}input,select{background:#0a1725;border:1px solid #364b62;color:#edf6ff;border-radius:7px;padding:9px 11px;min-width:0;width:100%}input::placeholder{color:#63809c}
.shell{max-width:1760px;margin:auto;padding:0 22px 25px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}
.brand{font-size:17px;font-weight:820;letter-spacing:1.1px;display:flex;align-items:center;gap:9px;white-space:nowrap}.brand small{font-size:12px;color:#7794b1;font-weight:550;letter-spacing:.4px}.logo{color:var(--accent);font-size:25px}.topbar nav{display:flex;gap:6px;flex-wrap:wrap}.topbar nav a{font-size:12px;color:#90a6bc;text-decoration:none;padding:7px 10px;border-radius:6px}.topbar nav a:hover,.topbar nav .active{color:#d8fff2;background:#12362e}.mode{font-size:10px;letter-spacing:.8px;color:#8bcec1;border:1px solid #275948;background:#0c2c25;border-radius:6px;padding:7px 10px;font-weight:750}
.disclaimer{color:#bdcde1;background:#19283b;border:1px solid #394b61;padding:10px 13px;margin-top:16px;border-radius:8px;font-size:11px}.disclaimer b{color:#f5c98a}
.titleline{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:30px 0 22px}.eyebrow{font-size:10px;color:#69b7af;letter-spacing:1.3px;font-weight:800;margin:0 0 6px;text-transform:uppercase}.titleline h1{font-size:clamp(24px,2.3vw,35px);line-height:1.15;letter-spacing:-.8px;margin:0 0 8px}.sub{color:var(--muted);max-width:800px;margin:0;font-size:13px}.stamp{font-variant-numeric:tabular-nums;color:#849db5;font-size:11px;white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.stats>div{border:1px solid var(--border);background:#0d1b2b;border-radius:10px;padding:15px;min-width:0}.stats span,.technical-grid span,.ticket-grid span,.price-big span{font-size:10px;color:#829db7;font-weight:750;letter-spacing:.5px;display:block}.stats strong{font-size:21px;letter-spacing:-.6px;display:block;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats small{color:var(--muted);font-size:10px;display:block}
.desk-layout{display:grid;grid-template-columns:minmax(210px,22%) minmax(400px,1fr) minmax(265px,24%);align-items:start;gap:14px}.left-column,.center-column,.right-column{display:grid;gap:14px;min-width:0}.panel{border:1px solid var(--border);background:linear-gradient(165deg,#101f31,#0b1928);border-radius:12px;padding:17px;min-width:0;overflow:hidden}.section-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:12px;flex-wrap:wrap}.section-head h2{font-size:16px;letter-spacing:-.2px;margin:0}.section-head .eyebrow{margin-bottom:3px}.support{color:var(--muted);font-size:11px;margin:0 0 12px;line-height:1.55}.stack{display:grid;gap:8px}.placeholder{color:#839bb6;font-size:12px;line-height:1.7}.boxed{background:#122235;border:1px dashed #3a4d66;border-radius:8px;padding:17px;margin:0 0 12px}.chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid #496076;color:#b7c8da;font-size:10px;padding:4px 8px;border-radius:5px;font-weight:750;white-space:nowrap}.chip.muted{color:#8096ad}.chip.green{background:#123c31;color:#85f0d3;border-color:#24624d}.chip.warn{background:#44321f;color:#ffe0ab;border-color:#775d33}.chip.red{background:#3f2832;color:#ffa7b1;border-color:#764653}
.opportunity{width:100%;text-align:left;padding:11px;border:1px solid #2a4651;background:#102633;border-radius:9px;color:#eaf8f6}.opportunity:hover{background:#173645}.opportunity strong{font-size:14px;display:block}.opportunity small{display:block;color:#90acbe;margin-top:4px;font-size:10px}.opp-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.watch-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #203349}.watch-item:last-child{border-bottom:none}.watch-item b{font-size:11px}.watch-item button{font-size:10px;padding:4px 7px}
.selectline{display:flex;gap:7px;align-items:center}.selectline input{width:128px}.main-head .support{margin:4px 0 0}
.signal-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#13253a;border:1px solid #31465d;padding:14px;border-radius:9px;margin-bottom:16px}.signal-banner strong{display:block;font-size:22px;color:#e9f1fb;letter-spacing:-.5px}.signal-banner.good{background:#102b27;border-color:#275f53}.signal-banner.good strong{color:#73e6c9}.signal-banner.bad{background:#30212b;border-color:#623645}.signal-banner.bad strong{color:#ff9db0}.signal-banner p{font-size:11px;color:#9eafc1;margin:4px 0 0;max-width:530px}.signal-banner .time{color:#91aec6;font-size:11px;white-space:nowrap}
.chart-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;font-size:10px;color:#bbcee3;letter-spacing:.4px;margin-bottom:8px}.chart-heading span{color:#7997b3}.chart-container{border-radius:9px;background:#091725;overflow:hidden;border:1px solid #263a51}.chart-container canvas{display:block;width:100%;height:315px}.technical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.technical-grid div{border:1px solid #273a51;background:#101f32;padding:10px;border-radius:7px;min-width:0}.technical-grid strong{display:block;font-size:12px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.micro{font-size:10px;color:#7893ac;line-height:1.6;margin:12px 0 0}
.table-scroll{overflow:auto;max-height:490px}.table-scroll table{width:100%;border-collapse:collapse;font-size:11px;min-width:430px}.table-scroll th{background:#112439;position:sticky;top:0;text-align:left;font-size:10px;color:#8ca6c0;letter-spacing:.35px}.table-scroll th,.table-scroll td{padding:9px 8px;border-bottom:1px solid #203248;vertical-align:middle}.table-scroll td:nth-child(4){max-width:190px;color:#a2b7cc}.table-scroll tr:hover{background:#132b3e}.table-scroll button{padding:4px 7px;font-size:10px}
.ticket-panel{border-color:#34504c}.price-big{padding:15px;background:#102f29;border-radius:8px;border:1px solid #2c6555;margin-bottom:11px}.price-big strong{font-size:27px;letter-spacing:-.6px;color:#75ebc9;display:block;margin-top:4px;font-variant-numeric:tabular-nums}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.ticket-grid div{padding:10px 0;border-bottom:1px solid #24384b;min-width:0}.ticket-grid b{display:block;font-size:13px;margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ticket-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.ticket-actions button{font-size:11px;padding:10px 7px}.control-block{border-top:1px solid #304359;margin-top:16px;padding-top:14px}.control-block label{color:#a0b6ce;font-size:11px;display:block;margin-bottom:6px}.control-block small{font-size:10px;color:#849eb8;display:block;margin-top:7px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.formgrid label{color:#95aec5;font-size:10px;min-width:0}.formgrid input,.formgrid select{margin-top:4px;font-size:12px}.formgrid label:first-child{grid-column:1/-1}.formgrid button.wide{grid-column:1/-1;margin-top:2px}hr{border:0;border-top:1px solid #25374e;margin:17px 0}.text-button{background:transparent;border:0;padding:8px 0;color:#83bee9;text-align:left;margin-top:8px}.toast{color:#e6c788;font-size:11px;min-height:21px;overflow-wrap:anywhere}
.positions-panel{margin-top:14px}.position-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.position{background:#122538;border:1px solid #31465a;border-radius:9px;padding:14px}.position .head{display:flex;justify-content:space-between;align-items:center}.position strong{font-size:15px}.position p{font-size:11px;color:#90aabe;margin:6px 0}.position .pnl{font-size:20px;font-weight:750;font-variant-numeric:tabular-nums;margin-top:8px}.profit{color:#73e2c2}.loss{color:#fb90a1}footer{color:#7a93ad;font-size:11px;padding:24px 0;text-align:center}footer a{color:#a0bddb}
@media(max-width:1240px){.desk-layout{grid-template-columns:215px minmax(0,1fr)}.right-column{grid-column:1/-1;grid-template-columns:1fr 1fr}.technical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:810px){.shell{padding:0 12px 24px}.titleline{display:block}.stamp{margin-top:8px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.desk-layout{grid-template-columns:1fr}.left-column,.right-column{grid-column:auto;grid-template-columns:1fr}.left-column{grid-template-columns:1fr 1fr}.chart-container canvas{height:255px}.technical-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.left-column{grid-template-columns:1fr}.topbar{justify-content:start}.topbar nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.topbar nav a{white-space:nowrap}.section-head.main-head{display:block}.main-head .selectline{margin-top:12px}.signal-banner{display:block}.signal-banner .time{display:block;margin-top:8px}.stats strong{font-size:17px}.chart-container canvas{height:220px}.ticket-grid b{font-size:11px}.panel{padding:13px}}

.projection{margin-top:16px;padding:14px;background:#0b2130;border:1px solid #36556c;border-radius:9px}
.projection h2{font-size:15px;margin:0}
.projection .ticket-grid div{background:transparent}
.projection .ticket-grid b{color:#d2e9f7}
#paperPositions .position{border-color:#43526b}
#paperStatus{max-width:100%;white-space:normal}

/* A DIL-independent safety invariant: hidden levels must never leak between symbols. */
[hidden]{display:none!important}

#cloudLogin,#cloudOperations{border-top:1px solid #24374b;padding-top:12px;margin-top:11px}
#cloudLogin label,#cloudOperations label{display:block;margin-bottom:2px}
#cloudInfo{min-height:18px;overflow-wrap:anywhere}

/* Carter 4H operator display. Chart stays on-screen with setups and volume levels. */
.trade-plan{background:linear-gradient(155deg,#102c30,#0d1d30);border:1px solid #32635f;
 padding:17px;margin:15px 0 17px;border-radius:10px}
.trade-plan .section-head{margin-bottom:6px}
.trade-plan .section-head h2{font-size:18px;line-height:1.2}
.setup-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0 12px}
.setup-levels>div{border:1px solid #365368;padding:12px;border-radius:8px;background:#101f2e;min-width:0}
.setup-levels span{color:#91a8bd;font-size:9px;font-weight:780;letter-spacing:.6px;display:block}
.setup-levels strong{display:block;font-size:clamp(14px,1.4vw,22px);color:#e9f2ff;letter-spacing:-.4px;overflow-wrap:anywhere;
 font-variant-numeric:tabular-nums;margin:4px 0}
.setup-levels small{color:#9baec3;font-size:10px;display:block;line-height:1.4}
.setup-levels>div:first-child{border-color:#337763}.setup-levels>div:first-child strong{color:#8debd4}
.setup-levels>div:nth-child(2) strong{color:#ff9eb1}
.setup-levels>div:nth-child(3) strong{color:#f1d098}
.setup-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.setup-check{border:1px solid #33485d;border-radius:7px;padding:8px;color:#becce0;font-size:11px;display:flex;align-items:center;gap:7px;min-width:0}
.setup-check::before{content:"●";font-size:9px;color:#eac279}
.setup-check.pass{border-color:#255d51;color:#b8f0dd}.setup-check.pass::before{color:#59d4ae}
.setup-check.fail{border-color:#604357;color:#f8c1c9}.setup-check.fail::before{color:#ee8198}
.setup-check.unknown::before{color:#99aec1}
.chart-heading{margin-top:10px;align-items:center;gap:12px}
.chart-controls{display:flex;gap:4px;align-items:center}
.chart-controls button{font-size:11px;padding:5px 9px;border-radius:5px}
.chart-controls button.active{background:#174c40;border-color:#3b9a81;color:#b3f7db}
.chart-legend{display:flex;flex-wrap:wrap;gap:7px 13px;padding:8px 1px;font-size:10px;color:#a9c2d8}
.chart-legend span{display:inline-flex;align-items:center;gap:5px}
.chart-legend .key{width:17px;height:3px;display:inline-block;border-radius:2px}
.key.ema10{background:#61d8f1}.key.ema55{background:#efc57e}.key.ema200{background:#a88bfc}
.key.vp{background:#ffe1a2}.key.entry{background:#55f0c2}.key.risk{background:#ff7893}.key.target{background:#edc378}
.premium-chart{width:100%;overflow:hidden;border:1px solid #355067}
.premium-chart canvas{height:650px!important;width:100%;display:block;background:#081725}
.chart-footnote{font-size:10px;line-height:1.55;color:#91a7be;margin-top:10px}
@media(max-width:1100px){.setup-levels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.trade-plan{padding:12px}.setup-checks{grid-template-columns:1fr 1fr}
 .setup-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-chart canvas{height:580px!important}
 .chart-controls button{padding:5px 7px}}
[hidden]{display:none!important}
