:root{color-scheme:dark;--bg:#030914;--panel:#0a1828;--edge:#183a52;--cyan:#21e6ef;--green:#42e7a3;--red:#ff6c87;--gold:#f0c06b;--text:#eaf8ff;--muted:#8faabd}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% 0,#0b3150 0,transparent 35%),var(--bg);color:var(--text);font:14px Inter,system-ui,sans-serif}header,main{width:min(1500px,94vw);margin:auto}header{padding:28px 0 20px;display:flex;justify-content:space-between;gap:24px;align-items:end;border-bottom:1px solid var(--edge)}h1{font-size:38px;margin:5px 0}h1 b,h2 b{color:var(--cyan)}h2{margin:4px 0;font-size:22px}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--cyan)}p,small{color:var(--muted)}nav{display:flex;gap:8px;flex-wrap:wrap}a,button{border:1px solid var(--edge);background:#0a1c2d;color:var(--text);padding:10px 13px;border-radius:10px;text-decoration:none;cursor:pointer}button.primary{background:linear-gradient(135deg,#18dce7,#1684ef);color:#001018;font-weight:900}button.danger{border-color:#713246;color:#ff9aac}button:disabled{opacity:.4;cursor:not-allowed}main{padding:18px 0 50px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric,.card,.control{background:linear-gradient(145deg,rgba(14,36,57,.92),rgba(6,18,31,.94));border:1px solid var(--edge);border-radius:16px}.metric{padding:16px}.metric span,.datum span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.metric b{font-size:24px}.control{margin:12px 0;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.control input{margin-left:10px;width:min(420px,55vw);background:#04101d;border:1px solid var(--edge);border-radius:8px;padding:9px;color:white}.control strong{color:var(--green);font-size:11px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:28px 2px 12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px}.card{padding:17px;box-shadow:0 16px 45px #0007}.head,.price-row,.actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.symbol{font-size:20px}.badge{border:1px solid #237595;color:var(--cyan);border-radius:99px;padding:4px 8px;font-size:10px}.score{font-size:25px;color:var(--cyan)}.live{font-size:20px}.positive{color:var(--green)}.negative{color:var(--red)}.data{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.datum{background:#061321;padding:9px;border-radius:9px}.datum b{display:block;margin-top:4px;font-size:12px}.reason{border-left:2px solid var(--cyan);padding-left:10px;min-height:38px}.history{font-size:11px;color:var(--muted);max-height:70px;overflow:auto}.actions{flex-wrap:wrap;margin-top:12px}.actions select,.actions input{background:#051421;border:1px solid var(--edge);color:white;border-radius:8px;padding:9px}.profit-buttons{display:flex;gap:5px;flex-wrap:wrap}.profit-buttons button{padding:7px 9px}#notice{min-height:20px;color:var(--gold)}.empty{padding:24px;color:var(--muted);border:1px dashed var(--edge);border-radius:14px}@media(max-width:720px){header,.control,.section-title{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.data{grid-template-columns:1fr 1fr}.control input{margin:8px 0 0;width:85vw}}

.card-toggle{width:100%;padding:0 0 12px;border:0;border-bottom:1px solid var(--edge);border-radius:0;background:transparent;display:grid;grid-template-columns:1fr auto;gap:4px;text-align:left;align-items:center}.card-toggle>small{grid-column:1/-1;color:var(--muted)}.advice,.expected{display:grid;gap:5px;padding:11px 12px;border-radius:10px;line-height:1.45}.advice{background:#092238;border-left:3px solid var(--cyan);color:#cbe8f5}.expected{background:#10281f;border-left:3px solid var(--green);color:#bdebd5}.advice b,.expected b{font-size:10px;letter-spacing:.08em;color:var(--text)}.candidate-detail[hidden]{display:none}.candidate-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--edge)}.evidence{padding:10px;background:#061321;border-radius:9px}.evidence p{margin:5px 0 0}.history{margin-top:10px}.history-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;padding:8px 0;border-bottom:1px solid #153044}.history-row time{color:var(--muted);font-size:10px}.empty-detail{padding:10px 0;color:var(--muted)}.near-zone{border-color:var(--gold);animation:entry-zone-pulse 1.4s ease-in-out infinite}.near-zone .score{color:var(--gold)}@keyframes entry-zone-pulse{50%{box-shadow:0 0 0 2px rgba(240,192,107,.28),0 0 28px rgba(240,192,107,.32)}}@media(prefers-reduced-motion:reduce){.near-zone{animation:none;box-shadow:0 0 0 2px rgba(240,192,107,.28)}}
.open-positions{position:relative}.open-positions .card{border-color:#276b69}.actions select{min-width:150px;position:relative;z-index:2}.actions .reject{border-color:#713246;color:#ff9aac}
.identity-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.build-status{display:inline-flex;align-items:center;gap:7px;border:1px solid #297c71;border-radius:99px;background:#09271f;color:var(--green);padding:5px 10px;font-size:10px;letter-spacing:.11em}.build-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.build-status.pending{border-color:#765f2c;background:#28200f;color:var(--gold)}.build-status.error{border-color:#713246;background:#28101a;color:var(--red)}
.evidence-badge{border-color:#236b55;color:var(--green)}
.watchlist-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;background:#071625;border:1px solid var(--edge);border-radius:12px}.watchlist-controls label{color:var(--muted)}.watchlist-controls label b{color:var(--cyan)}.watchlist-controls input[type=range]{width:min(320px,55vw);accent-color:var(--cyan)}#candidate-count{color:var(--muted)}button.active{border-color:var(--gold);color:var(--gold);background:#28200f}.range-up{color:var(--green)}.range-down{color:var(--red)}
.pnl-range{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px;margin:12px 0}.pnl-range>div{grid-column:span 2;background:#071a29;border:1px solid #17415b;border-radius:9px;padding:9px;min-width:0}.pnl-range .history-cell,.pnl-range>div:nth-child(3),.pnl-range>div:nth-child(5){grid-column:span 3}.pnl-range span{display:block;font-size:9px;letter-spacing:.08em;color:var(--muted)}.pnl-range b{display:block;font-size:16px;margin:4px 0}.pnl-range small{display:block;font-size:10px;line-height:1.55;overflow-wrap:anywhere}.datum b{overflow-wrap:anywhere}.expected-profit{border:1px solid #236b55;background:#0b241d}@media(max-width:900px){.pnl-range{grid-template-columns:1fr 1fr}.pnl-range>div,.pnl-range .history-cell,.pnl-range>div:nth-child(3),.pnl-range>div:nth-child(5){grid-column:auto}.pnl-range>div:first-child{grid-column:1/-1}}@media(max-width:520px){.pnl-range{grid-template-columns:1fr}.pnl-range>div:first-child{grid-column:auto}}

/* V15: opened watch cards become a full-width live position workspace. */
.open-positions .grid{grid-template-columns:1fr}
.card-status{margin:-17px -17px 15px;padding:9px 16px;display:flex;justify-content:space-between;gap:12px;border-radius:15px 15px 0 0;background:#0b2235;border-bottom:1px solid var(--edge);font-size:10px;letter-spacing:.12em;color:var(--cyan)}
.card-status b{color:var(--text)}
.active-position-status{background:linear-gradient(90deg,#0d3b32,#0b2532);border-bottom-color:#2a8268;color:var(--green)}
.position-card{padding:17px 20px 20px;border:1px solid #2a8268;box-shadow:0 18px 55px #0009,0 0 0 1px rgba(66,231,163,.08)}
.position-hero{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,.55fr) minmax(170px,.55fr);align-items:center;gap:16px;padding:4px 2px 18px}
.hero-price,.hero-pnl{padding:13px 15px;border-left:1px solid var(--edge)}
.hero-price small,.hero-pnl small{display:block;font-size:9px;letter-spacing:.12em}
.hero-price b,.hero-pnl b{display:block;margin-top:5px;font-size:23px}
.workspace-label{margin:4px 0 8px;padding-top:11px;border-top:1px solid #173b4f;color:#72a6bc;font-size:9px;font-weight:800;letter-spacing:.16em}
.position-card .data{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0}
.position-card .datum{min-height:67px}.position-card .datum b{font-size:14px}
.position-pnl-range>div{min-height:76px}
.position-context{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}
.position-context .history{max-height:90px;padding:10px;background:#061321;border-radius:9px}
.position-actions{padding:12px;background:#061321;border-radius:10px}
.watch-card{position:relative}
@media(max-width:1000px){.position-card .data{grid-template-columns:repeat(2,minmax(0,1fr))}.position-hero{grid-template-columns:1fr 1fr}.position-hero>div:first-child{grid-column:1/-1}.position-context{grid-template-columns:1fr}}
@media(max-width:520px){.position-card .data,.position-hero{grid-template-columns:1fr}.position-hero>div:first-child{grid-column:auto}.hero-price,.hero-pnl{border-left:0;border-top:1px solid var(--edge);padding-left:0}.card-status{align-items:flex-start;flex-direction:column}.position-card{padding:17px 14px}.position-card .card-status{margin-left:-14px;margin-right:-14px}}

.pattern-status{display:grid;gap:5px;margin:12px 0;padding:11px;border:1px solid var(--edge);border-radius:10px;background:#061321}.pattern-status b{font-size:11px;letter-spacing:.08em;color:var(--muted)}.pattern-status span{color:var(--text);font-size:12px}.recording .pattern-status b,.record-button.active{color:var(--red);border-color:var(--red)}.pattern-ready{animation:pattern-ready-pulse 1.15s ease-in-out infinite}.pattern-ready .pattern-status{border-color:var(--green);box-shadow:0 0 20px rgba(66,231,163,.22)}.pattern-ready .pattern-status b{color:var(--green)}@keyframes pattern-ready-pulse{0%,100%{box-shadow:0 16px 45px #0007,0 0 0 rgba(66,231,163,0)}50%{box-shadow:0 16px 45px #0007,0 0 24px rgba(66,231,163,.48)}}@media(prefers-reduced-motion:reduce){.pattern-ready{animation:none}}
.desk-runtime{color:var(--muted);font-size:11px;text-align:right}.desk-runtime b{color:var(--cyan)}
.partial-profit-buttons .take-profit{border-color:rgba(66,231,163,.55);color:var(--green)}.loss-buttons button{border-color:rgba(255,108,135,.45);color:var(--red)}
.position-actions .tight-stop{border-color:var(--gold);background:#28200f;color:var(--gold);font-weight:800}
