/* ═══════════════════════════════════════════════════════════════════
   DIALA — Higher/Lower barrier hedge workspace
   Layout replicates the reference Hybrid workspace (measured values from
   its bundle); branding is Diala's own: royal violet + Rob E Bank gold.
   Higher/Lower semantics keep the universal emerald/rose language.
   ═══════════════════════════════════════════════════════════════════ */

.dl-workspace{display:flex;flex-direction:column;gap:16px;min-width:0;}

/* ── Strategy card logo (nav list) — violet+gold diamond ── */
.strategy-icon-diala{
  background:
    radial-gradient(120% 120% at 22% 18%, rgba(167,139,250,.40), transparent 55%),
    linear-gradient(145deg,#241242 0%,#12091f 55%,#241a06 100%);
  border:1px solid rgba(212,175,55,.45);
  box-shadow:0 6px 16px -6px rgba(139,92,246,.55), inset 0 1px 0 rgba(255,255,255,.12);
}
.strategy-mark-diala{
  font-size:20px;font-weight:800;line-height:1;
  background:linear-gradient(180deg,#a78bfa 45%,#f0c75e 55%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;text-shadow:none;
}

/* ── History filter buttons (own class — avoids Trade X's global handler) ── */
.dl-filter-btn{flex:1;background:rgba(24,16,44,.65);border:1px solid rgba(139,92,246,.32);
  color:rgba(196,181,253,.6);font-size:10.5px;font-weight:500;font-family:inherit;
  padding:5px 8px;border-radius:6px;cursor:pointer;transition:all .2s;text-align:center;}
.dl-filter-btn:hover{background:rgba(60,40,110,.55);border-color:rgba(139,92,246,.5);color:rgba(216,201,255,.9);}
.dl-filter-btn.active{background:rgba(124,58,237,.3);border-color:rgba(167,139,250,.7);color:#c4b5fd;
  font-weight:600;box-shadow:0 0 14px rgba(139,92,246,.3),inset 0 1px 0 rgba(255,255,255,.07);}
.dl-hist{margin-top:4px;}

/* Honest hedge outcomes + risk disclosure (both legs CAN lose) */
.dl-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.dl-outcome{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:9px 6px;border-radius:var(--dl-radius-sm,8px);border:1px solid rgba(226,182,104,.14);
  background:rgba(15,23,42,.55);min-width:0;text-align:center;}
.dl-outcome-h{border-color:rgba(16,185,129,.22);}
.dl-outcome-l{border-color:rgba(244,63,94,.22);}
.dl-outcome-n{border-color:rgba(251,191,36,.22);}
.dl-outcome-lbl{font-size:9.5px;color:#94a3b8;letter-spacing:.02em;white-space:nowrap;}
.dl-outcome-val{font-size:14px;font-weight:700;font-family:'SF Mono',Consolas,monospace;color:#e2e8f0;}
.dl-outcome-val.pos{color:#34d399;}
.dl-outcome-val.neg{color:#fb7185;}
/* Live barrier check — is a winning leg actually profitable at this setup? */
.dl-win-guard{font-size:10.5px;line-height:1.45;margin:0;padding:9px 11px;
  border-radius:var(--dl-radius-sm,8px);border:1px solid;}
.dl-win-guard.ok{color:#6ee7b7;border-color:rgba(16,185,129,.32);background:rgba(16,185,129,.08);}
.dl-win-guard.ok b{color:#34d399;}
.dl-win-guard.bad{color:#fda4af;border-color:rgba(244,63,94,.38);background:rgba(244,63,94,.10);}
.dl-win-guard.bad b{color:#fb7185;}
.dl-hedge-warn{font-size:10px;line-height:1.45;color:#fbbf24;margin:0;
  padding:8px 10px;border-radius:var(--dl-radius-sm,8px);border:1px solid rgba(251,191,36,.28);
  background:rgba(251,191,36,.07);}
.dl-hedge-warn strong{color:#fcd34d;}

/* ── Design tokens ───────────────────────────────────────────────────────────
   One scale for the whole workspace. Every card, control and gap below derives
   from these, so nothing drifts out of alignment. Measured audit that motivated
   them: gaps ran 20/24/32/16/36, selects 37.3 vs inputs 36.7, the two barrier
   inputs 32.7 vs 35.3, and the trade buttons 64/82/86 — all visibly ragged. */
#diala-workspace{
  --dl-gap:16px;          /* the single vertical rhythm between stacked blocks */
  --dl-gap-lg:24px;       /* only for major section breaks */
  --dl-pad:16px;          /* inner card padding */
  --dl-pad-lg:20px;       /* outer card padding */
  --dl-radius:12px;       /* every card */
  --dl-radius-sm:8px;     /* every control */
  --dl-ctl:38px;          /* primary control height (select/input/segment) */
  --dl-ctl-sm:32px;       /* compact control height (steppers/small buttons) */
  --dl-chip:22px;         /* chips + presets */
}

/* ── Cards ── */
.dl-card{background:linear-gradient(135deg,rgba(30,41,59,.6),rgba(15,23,42,.8) 50%,rgba(30,41,59,.6));
  border:1px solid rgba(139,92,246,.30);border-radius:var(--dl-radius);padding:var(--dl-pad-lg);
  backdrop-filter:blur(12px);min-width:0;}
.dl-head-card{display:flex;flex-direction:column;gap:var(--dl-gap);}
.dl-inner-card{background:rgba(15,23,42,.6);border:1px solid rgba(226,182,104,.13);
  border-radius:var(--dl-radius);padding:var(--dl-pad);}
.dl-head-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.dl-head-left{display:flex;align-items:center;gap:12px;}
.dl-head-ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:20px;color:#a78bfa;background:linear-gradient(135deg,rgba(124,58,237,.3),rgba(91,33,182,.3));
  border:1px solid rgba(139,92,246,.3);}
.dl-title{font-size:18px;font-weight:700;color:#fff;margin:0;}
.dl-sub{font-size:12px;color:#94a3b8;margin:0;}
.dl-live-pill{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;
  font-size:12px;font-weight:600;background:rgba(139,92,246,.2);color:#c4b5fd;border:1px solid rgba(139,92,246,.4);}
.dl-live-pill.off{background:rgba(75,85,99,.2);color:#9ca3af;border-color:rgba(75,85,99,.4);}
.dl-live-dot{width:8px;height:8px;border-radius:50%;background:#a78bfa;animation:dlPulse 1.6s infinite;}
.dl-live-pill.off .dl-live-dot{background:#6b7280;animation:none;}
@keyframes dlPulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ── Fields ── */
.dl-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0;}
.dl-field{min-width:0;}
.dl-label{display:block;font-size:13px;font-weight:500;color:#cbd5e1;margin-bottom:8px;}
.dl-label-h{color:#6ee7b7;}
.dl-label-l{color:#fda4af;}
.dl-label-md{font-size:13px;font-weight:500;color:#cbd5e1;}
.dl-tiny-label{font-size:11px;color:#6b7280;}
.dl-tiny-note{font-size:10px;color:#6b7280;}
.dl-tiny-mono{font-size:10px;color:#94a3b8;font-family:'SF Mono',Consolas,monospace;}
.dl-mono{font-family:'SF Mono',Consolas,monospace;}
.dl-select,.dl-input{width:100%;background:rgba(30,41,59,.8);color:#fff;border-radius:8px;
  padding:10px 12px;font-size:13px;border:1px solid rgba(226,182,104,.18);outline:none;min-width:0;}
.dl-select:focus,.dl-input:focus{box-shadow:0 0 0 2px rgba(139,92,246,.5);}
.dl-input-h{border-color:rgba(16,185,129,.2);}
.dl-input-h:focus{box-shadow:0 0 0 2px rgba(16,185,129,.5);}
.dl-input-l{border-color:rgba(244,63,94,.2);}
.dl-input-l:focus{box-shadow:0 0 0 2px rgba(244,63,94,.5);}

/* ── Segmented + chips ── */
.dl-seg{display:flex;border-radius:8px;overflow:hidden;border:1px solid rgba(226,182,104,.18);}
.dl-seg-btn{flex:1;padding:10px 12px;font-size:13px;font-weight:500;background:rgba(30,41,59,.8);
  color:#94a3b8;border:none;cursor:pointer;transition:all .2s;}
.dl-seg-btn+.dl-seg-btn{border-left:1px solid rgba(226,182,104,.18);}
.dl-seg-btn.active{background:rgba(124,58,237,.4);color:#c4b5fd;}
.dl-seg-btn:disabled{opacity:.35;cursor:not-allowed;}
.dl-seg-sm .dl-seg-btn{padding:6px 12px;font-size:11px;flex:0 0 auto;}
.dl-seg-btn.dl-mode-all4.active{background:rgba(212,175,55,.25);color:#f0c75e;}
.dl-win-chips{display:flex;gap:4px;flex-wrap:wrap;}
.dl-chip{font-size:10px;padding:4px 8px;border-radius:6px;font-family:'SF Mono',Consolas,monospace;
  background:rgba(30,41,59,.6);color:#6b7280;border:1px solid rgba(226,182,104,.13);cursor:pointer;transition:all .2s;}
.dl-chip:hover{color:#cbd5e1;}
.dl-chip.active{background:rgba(212,175,55,.2);color:#f0c75e;border-color:rgba(212,175,55,.3);}
.dl-chips-gold .dl-chip.active{background:rgba(212,175,55,.2);color:#f0c75e;border-color:rgba(212,175,55,.3);}
#dl-conf-chips .dl-chip.active{background:rgba(139,92,246,.2);color:#c4b5fd;border-color:rgba(139,92,246,.3);}
.dl-chips-red .dl-chip.active{background:rgba(239,68,68,.2);color:#fca5a5;border-color:rgba(239,68,68,.3);}

/* ── Half barrier + mini toggles ── */
.dl-center{display:flex;align-items:center;justify-content:center;}
.dl-half-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:12px;
  font-weight:600;background:rgba(30,41,59,.8);color:#94a3b8;border:1px solid rgba(226,182,104,.18);
  cursor:pointer;transition:all .2s;}
.dl-half-btn.on{background:rgba(212,175,55,.2);color:#f0c75e;border-color:rgba(212,175,55,.4);}
.dl-half-chip{font-size:10px;padding:2px 6px;border-radius:4px;background:rgba(212,175,55,.2);
  color:#f0c75e;font-family:'SF Mono',Consolas,monospace;}
.dl-mini-toggle{width:32px;height:16px;border-radius:999px;background:rgba(71,85,105,.6);
  position:relative;display:inline-block;transition:all .2s;cursor:pointer;flex:0 0 auto;}
.dl-mini-knob{width:12px;height:12px;border-radius:50%;background:#6b7280;position:absolute;
  top:2px;left:2px;transition:all .2s;}
.dl-half-btn.on .dl-mini-toggle,.dl-mini-toggle.on{background:rgba(212,175,55,.5);}
.dl-half-btn.on .dl-mini-knob,.dl-mini-toggle.on .dl-mini-knob{left:18px;background:#f0c75e;}

/* ── Barrier cards ── */
.dl-bcard{background:rgba(15,23,42,.6);border-radius:12px;padding:16px;min-width:0;}
.dl-bcard-h{border:1px solid rgba(16,185,129,.15);}
.dl-bcard-l{border:1px solid rgba(244,63,94,.15);}
.dl-bcard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px;}
.dl-bcard-title{font-size:13px;font-weight:500;}
.dl-txt-h{color:#6ee7b7;}
.dl-txt-l{color:#fda4af;}
.dl-txt-gold{color:#f0c75e;}
.dl-txt-teal{color:#2dd4bf;}
.dl-txt-violet{color:#a78bfa;}
.dl-txt-red{color:#f87171;}
.dl-txt-cyan{color:#22d3ee;}
.dl-bcard-abs{font-size:10px;color:#6b7280;font-family:'SF Mono',Consolas,monospace;}
.dl-step-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.dl-step-btn{width:32px;height:32px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  border-radius:8px;background:rgba(51,65,85,.6);color:#cbd5e1;border:1px solid rgba(226,182,104,.18);
  cursor:pointer;font-size:14px;transition:all .15s;}
.dl-step-btn:active{transform:scale(.95);}
.dl-off-input{flex:1;min-width:0;background:rgba(30,41,59,.8);color:#fff;text-align:center;border-radius:8px;
  padding:8px;font-size:13px;font-family:'SF Mono',Consolas,monospace;font-weight:700;outline:none;}
.dl-off-h{border:1px solid rgba(16,185,129,.2);}
.dl-off-h:focus{box-shadow:0 0 0 2px rgba(16,185,129,.5);}
.dl-off-l{border:1px solid rgba(244,63,94,.2);}
.dl-off-l:focus{box-shadow:0 0 0 2px rgba(244,63,94,.5);}
.dl-abs-input{margin-bottom:8px;}
.dl-presets{display:flex;flex-wrap:wrap;gap:4px;}
.dl-preset{padding:4px 8px;border-radius:6px;font-size:10px;font-family:'SF Mono',Consolas,monospace;
  font-weight:600;background:rgba(51,65,85,.4);color:#94a3b8;border:1px solid rgba(226,182,104,.13);
  cursor:pointer;transition:all .15s;}
.dl-preset:active{transform:scale(.95);}
.dl-preset.on-h{background:rgba(16,185,129,.25);color:#6ee7b7;border-color:rgba(16,185,129,.4);}
.dl-preset.on-l{background:rgba(244,63,94,.25);color:#fda4af;border-color:rgba(244,63,94,.4);}

/* ── Optimizer / Sideways panels ── */
.dl-opt-card{border-radius:12px;overflow:hidden;border:1px solid rgba(212,175,55,.2);
  background:linear-gradient(135deg,rgba(30,41,59,.6),rgba(15,23,42,.8) 50%,rgba(30,41,59,.6));}
.dl-sideways{border-color:rgba(45,212,191,.2);}
.dl-opt-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:16px;background:transparent;border:none;cursor:pointer;text-align:left;}
.dl-sw-head{cursor:default;}
.dl-opt-head-left{display:flex;align-items:center;gap:12px;min-width:0;}
.dl-opt-ico{width:36px;height:36px;flex:0 0 auto;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:#f0c75e;background:linear-gradient(135deg,rgba(212,175,55,.2),rgba(180,130,20,.2));border:1px solid rgba(212,175,55,.3);}
.dl-sw-ico{width:36px;height:36px;flex:0 0 auto;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:#2dd4bf;background:linear-gradient(135deg,rgba(45,212,191,.2),rgba(34,211,238,.2));border:1px solid rgba(45,212,191,.3);}
.dl-opt-title{font-size:13px;font-weight:700;color:#fff;margin:0;}
.dl-opt-sub{font-size:10px;color:#94a3b8;margin:0;}
.dl-opt-head-right{display:flex;align-items:center;gap:8px;}
.dl-chev{color:#94a3b8;font-size:12px;transition:transform .2s;}
.dl-chev.closed{transform:rotate(-90deg);}
.dl-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;border-radius:999px;}
.dl-pill-live{background:rgba(16,185,129,.15);color:#6ee7b7;border:1px solid rgba(16,185,129,.2);}
.dl-pill-live .dl-live-dot{width:6px;height:6px;background:#34d399;}
.dl-pill-gold{background:rgba(212,175,55,.15);color:#f0c75e;border:1px solid rgba(212,175,55,.2);}
.dl-pill-teal{background:rgba(45,212,191,.15);color:#5eead4;border:1px solid rgba(45,212,191,.2);}
.dl-pill-teal .dl-live-dot{width:6px;height:6px;background:#2dd4bf;}
.dl-pill-violet{background:rgba(139,92,246,.15);color:#c4b5fd;border:1px solid rgba(139,92,246,.2);}
.dl-pill-violet .dl-live-dot{width:6px;height:6px;background:#a78bfa;}
.dl-pill-red{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.2);}
.dl-pill-red .dl-live-dot{width:6px;height:6px;background:#f87171;}
.dl-pill-red-sm{background:rgba(239,68,68,.15);color:#f87171;font-weight:600;font-size:9px;padding:2px 6px;border-radius:4px;}
.dl-pill-cyan-sm{background:rgba(34,211,238,.15);color:#22d3ee;font-weight:600;font-size:9px;padding:2px 6px;border-radius:4px;}
.dl-opt-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:14px;}
.dl-opt-body.hidden{display:none;}
.dl-opt-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.dl-gold-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:12px;
  font-weight:600;color:#1a1206;border:none;cursor:pointer;transition:all .15s;
  background:linear-gradient(90deg,#d4af37,#b8860b);box-shadow:0 4px 14px rgba(120,80,10,.25);}
.dl-gold-btn:hover{filter:brightness(1.1);}
.dl-gold-btn:active{transform:scale(.97);}
.dl-teal-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:12px;
  font-weight:600;color:#fff;border:none;cursor:pointer;transition:all .15s;
  background:linear-gradient(90deg,#0d9488,#0891b2);box-shadow:0 4px 14px rgba(13,80,90,.25);}
.dl-teal-btn:active{transform:scale(.97);}
.dl-stop-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:12px;
  font-weight:600;color:#fff;border:none;cursor:pointer;background:rgba(225,29,72,.8);transition:all .15s;}
.dl-stop-btn:active{transform:scale(.97);}
.dl-opt-status{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#94a3b8;padding:8px 0;}
.dl-spin{width:12px;height:12px;border:2px solid rgba(212,175,55,.3);border-top-color:#f0c75e;border-radius:50%;
  display:inline-block;animation:dlSpin .8s linear infinite;}
@keyframes dlSpin{to{transform:rotate(360deg)}}
.dl-opt-results{display:flex;flex-direction:column;gap:8px;}
.dl-opt-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 0;}
.dl-opt-empty-ico{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  font-size:26px;color:rgba(212,175,55,.6);background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.2);}
.dl-opt-empty-t{font-size:12px;color:#94a3b8;font-weight:500;margin:0;}
.dl-opt-empty-s{font-size:10px;color:#6b7280;margin:0;max-width:260px;text-align:center;}
.dl-explain{border-radius:8px;padding:12px;background:rgba(15,23,42,.4);border:1px solid rgba(226,182,104,.13);
  font-size:10px;color:#6b7280;line-height:1.6;}

/* Optimizer pair cards */
.dl-pair{border-radius:12px;padding:12px;border:1px solid rgba(226,182,104,.13);background:rgba(15,23,42,.6);transition:border .2s;}
.dl-pair.top{background:rgba(212,175,55,.08);border-color:rgba(212,175,55,.25);}
.dl-pair.current{background:rgba(139,92,246,.1);border-color:rgba(139,92,246,.25);box-shadow:0 0 0 1px rgba(139,92,246,.2);}
.dl-pair-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.dl-pair-info{flex:1;min-width:0;}
.dl-pair-name-row{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap;}
.dl-pair-rank{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:rgba(51,65,85,.5);color:#6b7280;}
.dl-pair.top .dl-pair-rank{background:rgba(212,175,55,.2);color:#f0c75e;}
.dl-pair-name{font-size:12px;font-weight:700;color:#fff;}
.dl-pair-active{font-size:9px;padding:2px 6px;border-radius:999px;background:rgba(139,92,246,.2);color:#c4b5fd;border:1px solid rgba(139,92,246,.3);}
.dl-pair-ticks{font-size:9px;color:#4b5563;font-family:'SF Mono',Consolas,monospace;}
.dl-pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;margin-bottom:8px;}
.dl-pair-kv{display:flex;align-items:center;justify-content:space-between;font-size:10px;}
.dl-pair-kv span{color:#6b7280;}
.dl-pair-kv b{font-family:'SF Mono',Consolas,monospace;}
.dl-pair-kv.wide{grid-column:1 / -1;padding-top:4px;border-top:1px solid rgba(226,182,104,.13);}
.dl-pair-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.dl-pair-tag{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:10px;
  font-family:'SF Mono',Consolas,monospace;font-weight:700;}
.dl-tag-h{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#6ee7b7;}
.dl-tag-l{background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.2);color:#fda4af;}
.dl-tag-best-h{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#6ee7b7;font-family:inherit;}
.dl-tag-best-l{background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.2);color:#fda4af;font-family:inherit;}
.dl-tag-learn{background:rgba(139,92,246,.1);border:1px solid rgba(139,92,246,.2);color:#c4b5fd;font-family:inherit;}
.dl-pair-side{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto;}
.dl-pair-score{font-size:18px;font-weight:900;font-family:'SF Mono',Consolas,monospace;}
.dl-score-hi{color:#34d399;}
.dl-score-mid{color:#a78bfa;}
.dl-score-low{color:#f0c75e;}
.dl-score-gray{color:#9ca3af;}
.dl-pair-score-lbl{font-size:8px;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;}
.dl-apply-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:8px;font-size:10px;
  font-weight:700;color:#1a1206;border:none;cursor:pointer;transition:all .15s;
  background:linear-gradient(90deg,rgba(212,175,55,.9),rgba(184,134,11,.9));}
.dl-apply-btn:active{transform:scale(.95);}
.dl-apply-teal{background:linear-gradient(90deg,rgba(13,148,136,.9),rgba(8,145,178,.9));color:#fff;}
.dl-score-track{display:flex;align-items:center;gap:4px;margin-top:8px;}
.dl-score-track .dl-tiny-note{flex:0 0 auto;}
.dl-track{flex:1;height:4px;border-radius:999px;background:rgba(30,41,59,.8);overflow:hidden;}
.dl-track-fill{height:100%;border-radius:999px;transition:width .7s;}
.dl-fill-hi{background:#10b981;}
.dl-fill-mid{background:#8b5cf6;}
.dl-fill-low{background:#d4af37;}
.dl-fill-gray{background:#6b7280;}

/* ── Chart ── */
.dl-chart-wrap{position:relative;border-radius:8px;background:rgba(30,41,59,.6);
  border:1px solid rgba(226,182,104,.13);overflow:hidden;margin-top:8px;}
.dl-chart-loading{height:200px;display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:12px;color:#6b7280;}
.dl-chart-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;
  font-size:11px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid;transition:all .3s;text-align:center;}
.dl-banner-above{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.3);color:#6ee7b7;}
.dl-banner-below{background:rgba(244,63,94,.15);border-color:rgba(244,63,94,.3);color:#fda4af;}
.dl-banner-between{background:rgba(212,175,55,.1);border-color:rgba(212,175,55,.2);color:#f0c75e;}
.dl-banner-dot{width:8px;height:8px;border-radius:50%;animation:dlPulse 1.6s infinite;flex:0 0 auto;}
.dl-chart-svg{width:100%;height:200px;display:block;}
.dl-chart-legend{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 12px;
  border-top:1px solid rgba(226,182,104,.13);background:rgba(15,23,42,.4);flex-wrap:wrap;}
.dl-legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:#94a3b8;}
.dl-legend-line{width:12px;height:2px;border-radius:999px;flex:0 0 auto;}
.dl-zone-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 12px 8px;}
.dl-zone-cell{text-align:center;padding:4px;border-radius:4px;font-size:9px;font-weight:600;
  background:rgba(30,41,59,.6);color:#6b7280;border:1px solid rgba(226,182,104,.13);transition:all .3s;}
.dl-zone-cell.on-h{background:rgba(16,185,129,.2);color:#6ee7b7;border-color:rgba(16,185,129,.4);}
.dl-zone-cell.on-m{background:rgba(212,175,55,.2);color:#f0c75e;border-color:rgba(212,175,55,.4);}
.dl-zone-cell.on-l{background:rgba(244,63,94,.2);color:#fda4af;border-color:rgba(244,63,94,.4);}
.dl-price-big{font-size:18px;font-weight:700;font-family:'SF Mono',Consolas,monospace;color:#fff;}
.dl-price-big.up{color:#34d399;}
.dl-price-big.down{color:#fb7185;}
.dl-price-delta{display:flex;justify-content:flex-end;font-size:10px;font-family:'SF Mono',Consolas,monospace;margin-top:2px;}
.dl-price-delta.up{color:#34d399;}
.dl-price-delta.down{color:#fb7185;}
.dl-anchor-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;
  padding:6px 10px;background:rgba(30,41,59,.6);border-radius:8px;border:1px solid rgba(226,182,104,.13);}
.dl-anchor-reset{background:none;border:none;color:#a78bfa;font-size:10px;font-weight:600;cursor:pointer;}
.dl-anchor-reset:hover{color:#c4b5fd;}

/* ── Stats / moves / prediction ── */
.dl-stat-card{border-radius:12px;padding:16px;}
.dl-stat-h{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);}
.dl-stat-l{background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.2);}
.dl-stat-head{font-size:13px;font-weight:500;margin-bottom:8px;}
.dl-stat-val{font-size:24px;font-weight:700;}
.dl-moves-head{margin-bottom:12px;}
.dl-row-mid{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;}
.dl-row-between{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.dl-streak-badge{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600;}
.dl-streak-h{background:rgba(16,185,129,.2);color:#6ee7b7;border:1px solid rgba(16,185,129,.3);}
.dl-streak-l{background:rgba(244,63,94,.2);color:#fda4af;border:1px solid rgba(244,63,94,.3);}
.dl-moves{display:flex;flex-wrap:wrap;gap:6px;}
.dl-move{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;
  font-size:11px;font-weight:700;}
.dl-move-h{background:rgba(16,185,129,.25);color:#34d399;border:1px solid rgba(16,185,129,.3);}
.dl-move-l{background:rgba(244,63,94,.25);color:#fb7185;border:1px solid rgba(244,63,94,.3);}
.dl-move-e{background:rgba(75,85,99,.25);color:#9ca3af;border:1px solid rgba(75,85,99,.3);}
.dl-pred-card{border-radius:12px;padding:16px;transition:all .3s;}
.dl-pred-higher{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);}
.dl-pred-lower{background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.3);}
.dl-pred-conf{font-size:13px;font-weight:700;color:#9ca3af;}
.dl-pred-conf.hot{color:#34d399;}
.dl-pred-conf.warm{color:#facc15;}
.dl-pred-main{display:flex;align-items:center;gap:12px;margin-top:8px;}
.dl-pred-arrow{font-size:30px;line-height:1;}
.dl-pred-higher .dl-pred-arrow,.dl-pred-higher .dl-pred-dir{color:#34d399;}
.dl-pred-lower .dl-pred-arrow,.dl-pred-lower .dl-pred-dir{color:#fb7185;}
.dl-pred-dir{font-size:20px;font-weight:700;}
.dl-bar{width:100%;height:8px;border-radius:999px;background:#1f2937;overflow:hidden;margin-top:12px;}
.dl-bar-thin{height:6px;margin-top:0;}
.dl-bar-grow{flex:1;}
.dl-bar-fill{height:100%;border-radius:999px;transition:all .5s;background:#8b5cf6;}
.dl-pred-higher .dl-bar-fill{background:#10b981;}
.dl-pred-lower .dl-bar-fill{background:#f43f5e;}

/* ── Status + completing ── */
.dl-status-strip{border-radius:8px;padding:10px 16px;font-size:13px;font-weight:500;border:1px solid;}
.dl-status-info{background:rgba(139,92,246,.1);color:#c4b5fd;border-color:rgba(139,92,246,.3);}
.dl-status-win{background:rgba(16,185,129,.1);color:#6ee7b7;border-color:rgba(16,185,129,.3);}
.dl-status-loss{background:rgba(244,63,94,.1);color:#fda4af;border-color:rgba(244,63,94,.3);}
.dl-completing{position:relative;border-radius:12px;padding:16px;border:2px solid rgba(139,92,246,.5);
  background:rgba(76,29,149,.3);overflow:hidden;}
.dl-completing-fill{position:absolute;inset:0 auto 0 0;background:rgba(139,92,246,.1);transition:width .3s linear;}
.dl-completing-row{position:relative;display:flex;align-items:center;gap:16px;}
.dl-completing-circle{width:56px;height:56px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:24px;font-weight:900;font-family:'SF Mono',Consolas,monospace;color:#c4b5fd;
  background:rgba(139,92,246,.2);border:2px solid rgba(167,139,250,.5);}
.dl-completing-mid{flex:1;min-width:0;}
.dl-completing-title{font-size:13px;font-weight:700;color:#c4b5fd;margin-bottom:4px;}
.dl-completing-label{font-size:11px;color:rgba(196,181,253,.7);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;margin-bottom:6px;}
.dl-completing-bar{background:linear-gradient(90deg,#8b5cf6,#a78bfa);}
.dl-completing-bar.warn{background:linear-gradient(90deg,#f59e0b,#fbbf24);}
.dl-completing-bar.done{background:linear-gradient(90deg,#22c55e,#4ade80);}
.dl-completing-timer{color:rgba(167,139,250,.6);animation:dlPulse 1.6s infinite;}

/* ── Trade buttons ── */
.dl-trade-grid{margin-top:4px;}
.dl-trade-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 12px;border-radius:12px;
  font-weight:700;font-size:13px;color:#fff;border:none;cursor:pointer;transition:all .2s;width:100%;min-width:0;}
.dl-trade-btn:active{transform:scale(.97);}
.dl-trade-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}
.dl-btn-higher{background:linear-gradient(90deg,#059669,#16a34a);box-shadow:0 8px 20px rgba(6,78,59,.3);}
.dl-btn-higher:hover:not(:disabled){background:linear-gradient(90deg,#10b981,#22c55e);}
.dl-btn-lower{background:linear-gradient(90deg,#e11d48,#dc2626);box-shadow:0 8px 20px rgba(136,19,55,.3);}
.dl-btn-lower:hover:not(:disabled){background:linear-gradient(90deg,#f43f5e,#ef4444);}
.dl-btn-hedge{margin-top:12px;padding:16px 12px;border:1px solid rgba(139,92,246,.3);
  background:linear-gradient(90deg,#6d28d9,#7c3aed 50%,#6d28d9);box-shadow:0 8px 20px rgba(76,29,149,.3);}
.dl-btn-hedge:hover:not(:disabled){background:linear-gradient(90deg,#7c3aed,#8b5cf6 50%,#7c3aed);}
.dl-btn-all4{margin-top:12px;padding:16px 12px;border:1px solid rgba(212,175,55,.25);color:#1a1206;
  background:linear-gradient(90deg,#d4af37,#e3b93e 50%,#b8860b);box-shadow:0 8px 20px rgba(120,80,10,.3);}
.dl-trade-btn-top{display:flex;align-items:center;gap:8px;font-size:14px;}
.dl-trade-btn-sub{font-size:11px;font-weight:400;opacity:.9;}

/* ── Auto / Aggressive cards ── */
.dl-auto-card{border-radius:12px;padding:16px;margin-top:16px;background:rgba(15,23,42,.6);
  border:1px solid rgba(226,182,104,.13);transition:all .3s;display:flex;flex-direction:column;gap:12px;}
.dl-auto-card.running{background:linear-gradient(135deg,rgba(76,29,149,.4),rgba(15,23,42,.6) 50%,rgba(76,29,149,.4));
  border-color:rgba(139,92,246,.3);box-shadow:0 8px 24px rgba(139,92,246,.05);}
.dl-aggr-card{border-radius:12px;padding:16px;margin-top:16px;background:rgba(15,23,42,.6);
  border:1px solid rgba(239,68,68,.2);transition:all .3s;display:flex;flex-direction:column;gap:12px;}
.dl-aggr-card.running{background:linear-gradient(135deg,rgba(127,29,29,.4),rgba(15,23,42,.6) 50%,rgba(124,45,18,.4));
  border-color:rgba(239,68,68,.3);}
.dl-all4-card{border-radius:12px;padding:16px;margin-top:16px;background:rgba(15,23,42,.6);
  border:1px solid rgba(212,175,55,.2);display:flex;flex-direction:column;gap:12px;}
#dl-all4-barriers-card{border-color:rgba(34,211,238,.2);}
.dl-auto-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.dl-reinvest-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 10px;border-radius:8px;
  background:rgba(30,41,59,.4);border:1px solid rgba(226,182,104,.13);transition:all .2s;}
.dl-reinvest-strip.on{background:rgba(212,175,55,.1);border-color:rgba(212,175,55,.2);}
.dl-reinvest-strip.on #dl-reinvest-label{color:#f0c75e;}
.dl-reinvest-note{width:100%;font-size:10px;color:rgba(240,199,94,.7);}
.dl-auto-live{display:flex;flex-direction:column;gap:8px;}
.dl-state-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;
  font-size:11px;font-weight:500;background:rgba(107,114,128,.1);border:1px solid rgba(107,114,128,.2);color:#9ca3af;}
.dl-state-chip.placing{background:rgba(212,175,55,.1);border-color:rgba(212,175,55,.2);color:#f0c75e;}
.dl-state-chip.waiting{background:rgba(139,92,246,.1);border-color:rgba(139,92,246,.2);color:#c4b5fd;}
.dl-state-chip.cooldown{background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.2);color:#fdba74;}
.dl-state-chip.signal{background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.2);color:#67e8f9;}
.dl-rounds-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border-radius:8px;font-size:11px;
  background:rgba(30,41,59,.6);border:1px solid rgba(226,182,104,.13);color:#94a3b8;}
.dl-rounds-chip b{color:#cbd5e1;font-family:'SF Mono',Consolas,monospace;}
.dl-auto-msg{font-size:11px;padding:6px 10px;border-radius:8px;font-family:'SF Mono',Consolas,monospace;
  background:rgba(30,41,59,.6);border:1px solid rgba(226,182,104,.13);color:#94a3b8;word-break:break-word;}
.dl-auto-msg.win{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.2);color:#6ee7b7;}
.dl-auto-msg.loss{background:rgba(244,63,94,.1);border-color:rgba(244,63,94,.2);color:#fda4af;}
.dl-auto-bar-row{width:100%;}
#dl-auto-bar{background:#fb923c;}
#dl-auto-bar.signal{background:#8b5cf6;}
#dl-aggr-bar{background:#fb923c;}
.dl-aggr-balance{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;
  padding:6px 10px;border-radius:8px;background:rgba(30,41,59,.6);border:1px solid rgba(226,182,104,.13);}
.dl-push-cells{display:flex;align-items:center;gap:6px;}
.dl-push-cell{flex:1;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(55,65,81,.2);background:rgba(31,41,55,.6);transition:all .3s;font-size:11px;}
.dl-push-cell .dot{width:6px;height:6px;border-radius:50%;background:#4b5563;}
.dl-push-cell.on-up{background:rgba(16,185,129,.25);border-color:rgba(16,185,129,.4);color:#34d399;}
.dl-push-cell.on-down{background:rgba(244,63,94,.25);border-color:rgba(244,63,94,.4);color:#fb7185;}
.dl-push-count{margin-left:4px;font-size:10px;font-weight:700;font-family:'SF Mono',Consolas,monospace;
  min-width:36px;text-align:right;color:#6b7280;}
.dl-push-count.up{color:#34d399;}
.dl-push-count.down{color:#fb7185;}
.dl-cyan-btn.on{background:rgba(34,211,238,.2);color:#67e8f9;border-color:rgba(34,211,238,.4);}
.dl-cyan-btn.on .dl-mini-toggle{background:rgba(34,211,238,.5);}
.dl-cyan-btn.on .dl-mini-knob{left:18px;background:#22d3ee;}
.dl-all4-field label{display:block;font-size:11px;font-weight:500;margin-bottom:4px;}
.dl-all4-field .dl-step-row{margin-bottom:0;}
.dl-all4-field .dl-step-btn{width:24px;height:32px;font-size:12px;}

/* ── Footer + history ── */
.dl-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;
  font-size:11px;color:#6b7280;margin-top:4px;}
.dl-hist-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;}
.dl-hist-stat{background:rgba(15,23,42,.5);border:1px solid rgba(226,182,104,.14);border-radius:10px;
  padding:10px 12px;min-width:0;}
.dl-hist-stat b{font-size:15px;}
.dl-hist-stat b.pos{color:#34d399;}
.dl-hist-stat b.neg{color:#fb7185;}
.dl-tiny-active{font-size:10px;font-weight:600;}
.dl-btype-field{max-width:calc(50% - 8px);}
.dl-toggle-enabled{pointer-events:auto;}

/* ── Alignment normalization ──────────────────────────────────────────────────
   Everything below snaps the workspace to the token scale. Written as one block
   (rather than scattered edits) so the invariants are readable in one place and
   a future card can't silently drift off-grid.

   The head card is a flex column with a single `gap` — so any margin on a child
   ADDS to that gap and breaks the rhythm. Children must therefore own no
   vertical margins; spacing is the parent's job alone.                        */
#diala-workspace .dl-head-card > *{margin-top:0;margin-bottom:0;}

/* Section breaks: the only places allowed a wider gap, applied via the parent
   gap model (padding-top) rather than a margin, so it stays additive-free. */
#diala-workspace .dl-auto-card,
#diala-workspace .dl-aggr-card,
#diala-workspace .dl-all4-card,
#diala-workspace .dl-btn-hedge{margin-top:0;}

/* Cards: identical padding + radius everywhere, including the ones that drifted
   (optimizer had 0 padding, the demo strip 14px, the history card a 9px radius). */
#diala-workspace .dl-inner-card,
#diala-workspace .dl-auto-card,
#diala-workspace .dl-aggr-card,
#diala-workspace .dl-all4-card,
#diala-workspace .dl-opt-card{border-radius:var(--dl-radius);}   /* padding lives on its head/body */
#diala-workspace .dl-opt-body{padding:0 var(--dl-pad) var(--dl-pad);}
#diala-workspace .dl-opt-head{padding:var(--dl-pad);}
.tx-history-card.dl-hist{border-radius:var(--dl-radius);}

/* Controls: one height for primary, one for compact. This is what fixes the
   select-vs-input (37.3/36.7) and the two barrier inputs (32.7/35.3). */
#diala-workspace .dl-select,
#diala-workspace .dl-input{height:var(--dl-ctl);padding-top:0;padding-bottom:0;
  border-radius:var(--dl-radius-sm);line-height:normal;}
#diala-workspace .dl-seg{border-radius:var(--dl-radius-sm);overflow:hidden;}
#diala-workspace .dl-seg-btn{height:var(--dl-ctl);padding-top:0;padding-bottom:0;
  display:flex;align-items:center;justify-content:center;}
#diala-workspace .dl-seg-sm .dl-seg-btn{height:var(--dl-ctl-sm);}
#diala-workspace .dl-step-btn{width:var(--dl-ctl-sm);height:var(--dl-ctl-sm);border-radius:var(--dl-radius-sm);}
#diala-workspace .dl-off-input{height:var(--dl-ctl-sm);padding-top:0;padding-bottom:0;
  border-radius:var(--dl-radius-sm);line-height:normal;}
#diala-workspace .dl-all4-field .dl-step-btn{height:var(--dl-ctl-sm);}
#diala-workspace .dl-half-btn{height:var(--dl-ctl-sm);}
#diala-workspace .dl-chip,
#diala-workspace .dl-preset{height:var(--dl-chip);padding-top:0;padding-bottom:0;
  display:inline-flex;align-items:center;justify-content:center;}

/* Barrier stepper row: the −/input/+ trio must sit on one baseline. */
#diala-workspace .dl-step-row{display:flex;align-items:center;gap:8px;}

/* Trade buttons: HIGHER and LOWER are siblings in a grid and must be the SAME
   height regardless of how their payout sub-text wraps (measured 82 vs 86). */
#diala-workspace .dl-trade-grid{align-items:stretch;}
#diala-workspace .dl-trade-grid .dl-trade-btn{height:100%;min-height:76px;justify-content:center;}
#diala-workspace .dl-btn-hedge{min-height:76px;justify-content:center;}
#diala-workspace .dl-trade-btn-sub{text-align:center;line-height:1.35;}

/* Preset rows wrap on a fixed grid instead of ragged flex lines. */
#diala-workspace .dl-presets{display:flex;flex-wrap:wrap;gap:6px;}

/* ── Responsive ── */
@media (max-width: 640px){
  .dl-grid2{grid-template-columns:1fr;}
  .dl-btype-field{max-width:none;}
  .dl-pair-grid{grid-template-columns:1fr;}
  .dl-hist-stats{grid-template-columns:1fr 1fr;}
  .dl-footer{flex-direction:column;align-items:flex-start;gap:4px;}
}
