/* ============================================================
   🌐 CRYPTOARBITOR UI THEME — CLEANED (Option 1: no visual changes)
   Structure: Variables → Base → Components → Themes (Light/Dark/System) → Responsive
   ============================================================ */

/* ---------- 🟩 PALETTE & THEME VARIABLES ---------- */
:root {
    --color-primary: #00B5C9;
    --color-dark: #0A1B2A;
    --color-light: #F5F7FA;
    --color-success: #00C98D;
    --color-danger: #E85D5D;
    --color-warning: #FFC857;
    --color-warning-level-2: #f9b428;
    --color-warning-level-3: #e39800;
    --color-info: #1C75BC;
    /* Defaults = Light */
    --bg-color: var(--color-light);
    --text-color: var(--color-dark);
    /* Cards / tables (overridable per theme) */
    --card-bg: #ffffff;
    --card-border: rgba(0, 0, 0, 0.05);
    --table-head-bg: #f6f9fc;
    --table-row-bg: #ffffff;
    --muted-text: #6c757d;
    --muted-text-badge: #545454;
}

/* Diagnose */
.diagnostics-page { display:grid; gap:1rem; padding:.9rem 0 1.5rem; }
.diagnostics-hero,.grid-trend-intro,.grid-trend-panel,.grid-trend-disclaimer,.diagnostics-tool-card { border:1px solid var(--card-border); background:var(--card-bg); }
.diagnostics-hero { padding:1.25rem 1.35rem; border-radius:20px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)),var(--card-bg) 58%,color-mix(in srgb,#8b5cf6 5%,var(--card-bg))); }
.diagnostics-hero>span,.diagnostics-kicker { display:inline-flex; align-items:center; gap:.4rem; color:var(--color-primary); font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.diagnostics-hero h1,.grid-trend-intro h1 { margin:.48rem 0 .35rem; color:var(--text-color); font-size:clamp(1.45rem,3vw,2.25rem); font-weight:850; letter-spacing:-.035em; }
.diagnostics-hero p,.grid-trend-intro p { max-width:780px; margin:0; color:var(--muted-text); font-size:.84rem; line-height:1.55; }
.diagnostics-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.diagnostics-tool-card { display:flex; min-height:142px; align-items:center; gap:.85rem; padding:1rem; border-radius:17px; color:inherit; text-decoration:none; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
a.diagnostics-tool-card:hover { color:inherit; border-color:color-mix(in srgb,var(--color-primary) 38%,var(--card-border)); box-shadow:0 12px 28px rgba(8,30,44,.07); transform:translateY(-1px); }
.diagnostics-tool-icon { display:grid; width:46px; height:46px; flex:0 0 46px; place-items:center; border-radius:14px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 12%,transparent); }
.diagnostics-tool-card>span:nth-child(2) { display:grid; min-width:0; flex:1; gap:.22rem; }
.diagnostics-tool-card small { color:var(--color-primary); font-size:.59rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.diagnostics-tool-card strong { color:var(--text-color); font-size:.92rem; }
.diagnostics-tool-card em { color:var(--muted-text); font-size:.72rem; font-style:normal; line-height:1.42; }
.diagnostics-tool-card>i { color:var(--color-primary); }
.diagnostics-tool-card.is-placeholder { opacity:.7; }
.ta-entry-replay-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
.ta-entry-replay-meta span,.ta-entry-replay-meta a,.ta-entry-replay-meta button { display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .58rem; border:1px solid var(--card-border); border-radius:999px; color:var(--muted-text); background:var(--card-bg); font:inherit; font-size:.66rem; font-weight:750; text-decoration:none; }
.ta-entry-replay-meta a,.ta-entry-replay-meta button { margin-left:auto; color:var(--color-primary); cursor:pointer; }
.ta-entry-replay-meta button:disabled { cursor:wait; opacity:.62; }
.ta-entry-replay-loading { display:flex; align-items:center; justify-content:center; gap:.7rem; min-height:180px; padding:1.2rem; border:1px solid var(--card-border); border-radius:16px; color:var(--muted-text); background:var(--card-bg); text-align:left; }
.ta-entry-replay-loading>i { color:var(--color-primary); font-size:1.2rem; }
.ta-entry-replay-loading span { display:grid; gap:.18rem; font-size:.72rem; line-height:1.5; }
.ta-entry-replay-loading strong { color:var(--text-color); font-size:.82rem; }
.ta-entry-replay-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.ta-entry-replay-card { overflow:hidden; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); }
.ta-entry-replay-card>header { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.72rem .78rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 4%,var(--card-bg)); }
.ta-entry-replay-card>header>div { display:flex; align-items:baseline; gap:.35rem; }
.ta-entry-replay-card>header strong { font-size:.92rem; }
.ta-entry-replay-card>header span { color:var(--color-primary); font-size:.67rem; font-weight:800; }
.ta-entry-replay-card>header small { color:var(--muted-text); font-size:.57rem; text-align:right; }
.ta-entry-replay-card-loading { display:flex; min-height:150px; align-items:center; justify-content:center; gap:.55rem; padding:1rem; color:var(--muted-text); font-size:.7rem; text-align:center; }
.ta-entry-replay-card-loading>i { color:var(--color-primary); }
.ta-entry-replay-card.is-error .ta-entry-replay-card-loading>i { color:#b4232e; }
.ta-entry-replay-current { display:grid; gap:.28rem; padding:.62rem .7rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,#f59e0b 7%,var(--card-bg)); }
.ta-entry-replay-current.is-executable { background:color-mix(in srgb,#059669 8%,var(--card-bg)); }
.ta-entry-replay-current span { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.ta-entry-replay-current small { color:var(--muted-text); font-size:.58rem; }
.ta-entry-replay-current strong { font-size:.63rem; text-align:right; }
.ta-entry-replay-current p { margin:.12rem 0 0; color:var(--muted-text); font-size:.58rem; line-height:1.45; }
.ta-entry-replay-costs { display:flex; flex-wrap:wrap; gap:.3rem .55rem; padding:.42rem .62rem; border-bottom:1px solid var(--card-border); color:var(--muted-text); background:color-mix(in srgb,var(--section-bg) 50%,var(--card-bg)); font-size:.55rem; }
.ta-entry-replay-costs strong { color:var(--text-color); }
.ta-entry-replay-funnel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--card-border); }
.ta-entry-replay-funnel span { display:flex; align-items:center; justify-content:space-between; gap:.4rem; padding:.56rem .62rem; background:var(--card-bg); }
.ta-entry-replay-funnel span.is-executable { grid-column:1/-1; color:#047857; background:rgba(5,150,105,.06); }
.ta-entry-replay-funnel small { color:var(--muted-text); font-size:.59rem; font-weight:750; }
.ta-entry-replay-funnel strong { font-size:.82rem; }
.ta-entry-replay-setup-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border-top:1px solid var(--card-border); border-bottom:1px solid var(--card-border); background:var(--card-border); }
.ta-entry-replay-setup-totals span { display:flex; align-items:center; justify-content:space-between; gap:.4rem; padding:.52rem .62rem; background:color-mix(in srgb,var(--color-primary) 4%,var(--card-bg)); }
.ta-entry-replay-setup-totals small { color:var(--muted-text); font-size:.59rem; font-weight:750; }
.ta-entry-replay-setup-totals strong { color:var(--color-primary); font-size:.82rem; }
.ta-entry-replay-card details { padding:.62rem .7rem .72rem; }
.ta-entry-replay-card details+details { border-top:1px solid var(--card-border); }
.ta-entry-replay-card summary { cursor:pointer; font-size:.7rem; font-weight:850; }
.ta-entry-replay-card ol { display:grid; gap:.3rem; margin:.52rem 0 0; padding:0; list-style:none; }
.ta-entry-replay-card li { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.35rem .42rem; border-radius:8px; background:color-mix(in srgb,var(--section-bg) 58%,var(--card-bg)); }
.ta-entry-replay-card li>span { display:flex; min-width:0; align-items:center; gap:.35rem; color:var(--muted-text); font-size:.61rem; }
.ta-entry-replay-card li b { padding:.12rem .25rem; border-radius:5px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); font-size:.52rem; }
.ta-entry-replay-card li>strong { flex:0 0 auto; font-size:.66rem; }
.ta-entry-replay-card li>strong small { color:var(--muted-text); font-size:.53rem; }
.ta-entry-replay-card li>strong.is-passed { color:#047857; }
.ta-entry-replay-empty { margin:.52rem 0 0; color:var(--muted-text); font-size:.63rem; line-height:1.45; }
.ta-entry-replay-setups li { align-items:flex-start; }
.ta-entry-replay-setups li>span>span { overflow-wrap:anywhere; }
.ta-entry-replay-setups li>strong { max-width:46%; color:#b45309; font-weight:750; line-height:1.35; text-align:right; }
.ta-entry-replay-error { margin:.7rem; color:#b4232e; font-size:.7rem; line-height:1.5; }
.diagnostics-subheader { display:flex; align-items:center; justify-content:space-between; gap:.7rem; }
.diagnostics-subheader>a,.diagnostics-subheader>span { display:inline-flex; align-items:center; gap:.35rem; color:var(--muted-text); font-size:.7rem; font-weight:750; text-decoration:none; }
.diagnostics-subheader>a:hover { color:var(--color-primary); }
.diagnostics-subheader>span { padding:.34rem .55rem; border-radius:999px; color:#047857; background:rgba(16,185,129,.09); }
.grid-trend-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,320px); align-items:end; gap:1rem; padding:1.15rem 1.25rem; border-radius:19px; }
.grid-trend-asset-form { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(120px,.65fr); gap:.55rem; }
.grid-trend-form-field { display:grid; min-width:0; gap:.32rem; margin:0; }
.grid-trend-form-field>small { padding-left:.15rem; color:var(--muted-text); font-size:.62rem; font-weight:800; }
.grid-trend-form-field>span { position:relative; }
.grid-trend-asset-form select { width:100%; height:46px; padding:0 2.1rem 0 .78rem; appearance:none; border:1px solid color-mix(in srgb,var(--color-primary) 25%,var(--card-border)); border-radius:12px; color:var(--text-color); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); font-size:.76rem; font-weight:800; }
.grid-trend-asset-form i { position:absolute; top:50%; right:.8rem; color:var(--color-primary); font-size:.65rem; pointer-events:none; transform:translateY(-50%); }
.grid-trend-tabs { display:flex; width:max-content; max-width:100%; gap:.35rem; padding:.3rem; border:1px solid var(--card-border); border-radius:13px; background:var(--card-bg); }
.grid-trend-tabs button { display:inline-flex; min-height:38px; align-items:center; gap:.35rem; padding:.45rem .75rem; border:0; border-radius:9px; color:var(--muted-text); background:transparent; font-size:.7rem; font-weight:800; }
.grid-trend-tabs button.is-active { color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); }
.grid-trend-panel { overflow:hidden; border-radius:19px; }
.grid-trend-panel[hidden] { display:none!important; }
.grid-trend-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.grid-trend-panel-header>div>span { color:var(--muted-text); font-size:.62rem; font-weight:750; }
.grid-trend-panel-header h2 { margin:.18rem 0 .22rem; color:var(--text-color); font-size:1.05rem; font-weight:850; }
.grid-trend-panel-header p { max-width:760px; margin:0; color:var(--muted-text); font-size:.72rem; line-height:1.45; }
.grid-trend-safety-state { display:inline-flex; flex:0 0 auto; align-items:center; gap:.38rem; padding:.42rem .62rem; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:999px; color:#047857; background:rgba(16,185,129,.07); font-size:.66rem; font-weight:850; white-space:nowrap; }
.grid-trend-panel.is-blocked .grid-trend-safety-state { color:#b4232e; border-color:rgba(220,75,85,.2); background:rgba(220,75,85,.07); }
.grid-trend-panel.is-current-only .grid-trend-safety-state { color:#a16207; border-color:rgba(245,158,11,.22); background:rgba(245,158,11,.08); }
.grid-trend-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-bottom:1px solid var(--card-border); }
.grid-trend-metrics article { display:grid; min-width:0; gap:.16rem; padding:.78rem .85rem; border-left:1px solid var(--card-border); }
.grid-trend-metrics article:first-child { border-left:0; }
.grid-trend-metrics small { color:var(--muted-text); font-size:.58rem; font-weight:750; }
.grid-trend-metrics strong { overflow:hidden; color:var(--text-color); font-size:.78rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.grid-trend-metrics span { color:var(--muted-text); font-size:.55rem; }
.grid-trend-rules { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; padding:.75rem 1rem 0; }
.grid-trend-rules article { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:.65rem; padding:.65rem .75rem; border:1px solid var(--card-border); border-radius:12px; background:color-mix(in srgb,var(--muted-text) 2%,var(--card-bg)); }
.grid-trend-rules article>span { display:flex; align-items:center; gap:.4rem; color:var(--muted-text); font-size:.68rem; font-weight:750; }
.grid-trend-rules article strong { font-size:.7rem; }
.grid-trend-rules article.is-paused strong { color:#b4232e; }
.grid-trend-rules article.is-allowed strong { color:#047857; }
.grid-trend-rules.is-directional article { align-items:flex-start; }
.grid-trend-direction-access { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; }
.grid-trend-direction-access em { display:inline-flex; align-items:center; gap:.25rem; padding:.25rem .4rem; border-radius:999px; font-size:.61rem; font-style:normal; white-space:nowrap; }
.grid-trend-direction-access em.is-free { color:#047857; background:rgba(16,185,129,.09); }
.grid-trend-direction-access em.is-locked { color:#b4232e; background:rgba(220,75,85,.09); }
.grid-trend-next-review { display:grid; grid-template-columns:34px minmax(150px,auto) minmax(0,1fr); align-items:center; gap:.65rem; margin:.7rem 1rem 0; padding:.65rem .75rem; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:12px; background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
.grid-trend-next-review>i { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 12%,transparent); }
.grid-trend-next-review>span { display:grid; gap:.08rem; }
.grid-trend-next-review small { color:var(--muted-text); font-size:.56rem; font-weight:750; }
.grid-trend-next-review strong { color:var(--text-color); font-size:.7rem; }
.grid-trend-next-review p { margin:0; color:var(--muted-text); font-size:.64rem; line-height:1.45; }
.grid-trend-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; padding:.75rem 1rem; }
.grid-trend-chart-grid>article,.grid-trend-timeline-card { overflow:hidden; border:1px solid var(--card-border); border-radius:14px; background:color-mix(in srgb,var(--muted-text) 1.5%,var(--card-bg)); }
.grid-trend-chart-grid header,.grid-trend-timeline-card>header { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.62rem .72rem; border-bottom:1px solid var(--card-border); }
.grid-trend-chart-grid header strong,.grid-trend-timeline-card header strong { color:var(--text-color); font-size:.7rem; }
.grid-trend-chart-grid header small,.grid-trend-timeline-card header small { color:var(--muted-text); font-size:.57rem; }
.grid-trend-chart-grid>article>div { height:260px; padding:.55rem; }
.grid-trend-timeline-card { margin:0 1rem 1rem; }
.grid-trend-timeline { display:flex; height:28px; gap:1px; padding:.7rem .72rem .35rem; }
.grid-trend-timeline>i { min-width:1px; flex:1; border-radius:2px; background:rgba(16,185,129,.55); }
.grid-trend-timeline>i.is-current { background:rgba(245,158,11,.78); }
.grid-trend-timeline>i.is-candidate { background:rgba(139,92,246,.72); }
.grid-trend-timeline>i.is-both { background:rgba(220,75,85,.78); }
.grid-trend-timeline-row { display:grid; grid-template-columns:42px minmax(0,1fr) 100px; align-items:center; gap:.45rem; padding:0 .72rem; }
.grid-trend-timeline-row:first-of-type { padding-top:.35rem; }
.grid-trend-timeline-row:last-of-type { padding-bottom:.2rem; }
.grid-trend-timeline-row>b { color:var(--text-color); font-size:.6rem; }
.grid-trend-timeline-row>.grid-trend-timeline { width:100%; padding-right:0; padding-left:0; }
.grid-trend-timeline-row>small { color:var(--muted-text); font-size:.54rem; text-align:right; }
.grid-trend-timeline-card>footer { display:flex; flex-wrap:wrap; gap:.65rem; padding:.35rem .72rem .65rem; color:var(--muted-text); font-size:.56rem; }
.grid-trend-timeline-card>footer span { display:flex; align-items:center; gap:.25rem; }
.grid-trend-timeline-card>footer i { width:8px; height:8px; border-radius:2px; background:rgba(16,185,129,.55); }
.grid-trend-timeline-card>footer i.is-current { background:rgba(245,158,11,.78); }
.grid-trend-timeline-card>footer i.is-candidate { background:rgba(139,92,246,.72); }
.grid-trend-timeline-card>footer i.is-both { background:rgba(220,75,85,.78); }
.grid-trend-disclaimer,.diagnostics-message { display:flex; align-items:flex-start; gap:.6rem; padding:.75rem .85rem; border-radius:14px; color:var(--muted-text); font-size:.68rem; line-height:1.45; }
.grid-trend-disclaimer>i,.diagnostics-message>i { margin-top:.1rem; color:var(--color-primary); }
.grid-trend-disclaimer span,.diagnostics-message span { display:grid; gap:.12rem; }
.grid-trend-disclaimer strong,.diagnostics-message strong { color:var(--text-color); }
.diagnostics-message.is-error { color:#b4232e; border:1px solid rgba(220,75,85,.2); background:rgba(220,75,85,.06); }
.diagnostics-message.is-error>i { color:#b4232e; }

/* TA-patroondiagnose */
.ta-pattern-intro { grid-template-columns:minmax(0,1fr) minmax(340px,440px); }
.ta-pattern-filter-form { display:grid; grid-template-columns:1.35fr .85fr; gap:.55rem; }
.ta-pattern-filter-form label { display:grid; gap:.32rem; margin:0; }
.ta-pattern-filter-form label>span { padding-left:.15rem; color:var(--muted-text); font-size:.62rem; font-weight:800; }
.ta-pattern-filter-form label>i { position:relative; display:block; font-style:normal; }
.ta-pattern-filter-form select { width:100%; height:46px; padding:0 2rem 0 .72rem; appearance:none; border:1px solid color-mix(in srgb,var(--color-primary) 25%,var(--card-border)); border-radius:12px; color:var(--text-color); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); font-size:.72rem; font-weight:800; }
.ta-pattern-filter-form label>i>b { position:absolute; top:50%; right:.72rem; color:var(--color-primary); font-size:.62rem; pointer-events:none; transform:translateY(-50%); }
.ta-pattern-replay { display:grid; gap:.7rem; padding:.9rem 1rem; border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); border-radius:18px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg)); }
.ta-pattern-replay>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.ta-pattern-replay>header>div { display:grid; gap:.12rem; }
.ta-pattern-replay>header span { color:var(--color-primary); font-size:.58rem; font-weight:850; text-transform:uppercase; letter-spacing:.045em; }
.ta-pattern-replay>header strong { color:var(--text-color); font-size:.94rem; font-weight:900; }
.ta-pattern-replay>header p { margin:0; color:var(--muted-text); font-size:.62rem; line-height:1.45; }
.ta-pattern-replay button { display:inline-flex; min-height:34px; align-items:center; justify-content:center; gap:.35rem; padding:.38rem .58rem; border:1px solid var(--card-border); border-radius:9px; color:var(--muted-text); background:var(--card-bg); font-size:.58rem; font-weight:850; cursor:pointer; }
.ta-pattern-replay button:hover:not(:disabled),.ta-pattern-replay button.primary { border-color:color-mix(in srgb,var(--color-primary) 55%,var(--card-border)); color:#007f73; background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg)); }
.ta-pattern-replay button:disabled { opacity:.42; cursor:not-allowed; }
.ta-pattern-replay-controls { display:grid; grid-template-columns:auto auto auto minmax(140px,1fr) auto; align-items:center; gap:.4rem; }
.ta-pattern-replay-controls input { width:100%; accent-color:var(--color-primary); cursor:pointer; }
.ta-pattern-replay-meta { display:flex; flex-wrap:wrap; gap:.4rem .9rem; padding-top:.55rem; border-top:1px solid color-mix(in srgb,var(--card-border) 75%,transparent); }
.ta-pattern-replay-meta span { display:inline-flex; align-items:center; gap:.35rem; color:var(--muted-text); font-size:.57rem; }
.ta-pattern-replay-meta i { color:var(--color-primary); }
.ta-pattern-replay-meta b { color:var(--text-color); font-weight:800; }
.ta-pattern-replay-meta .is-error i,.ta-pattern-replay-meta .is-error b { color:#b4232e; }
.ta-pattern-replay-events { display:grid; max-height:112px; gap:.25rem; overflow:auto; margin:0; padding:0; list-style:none; }
.ta-pattern-replay-events li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:.45rem; color:var(--muted-text); font-size:.58rem; line-height:1.4; }
.ta-pattern-replay-events time { color:var(--color-primary); font-weight:850; }
.ta-pattern-quality { display:grid; gap:.75rem; padding:1rem; border:1px solid var(--card-border); border-radius:18px; background:var(--card-bg); }
.ta-pattern-quality>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.ta-pattern-quality>header>div { display:grid; gap:.15rem; }
.ta-pattern-quality>header span { color:var(--color-primary); font-size:.58rem; font-weight:850; text-transform:uppercase; letter-spacing:.045em; }
.ta-pattern-quality h2 { margin:0; color:var(--text-color); font-size:1rem; }
.ta-pattern-quality>header p { max-width:760px; margin:0; color:var(--muted-text); font-size:.62rem; line-height:1.45; }
.ta-pattern-quality>header>strong { display:flex; min-width:72px; min-height:58px; align-items:baseline; justify-content:center; padding:.65rem; border-radius:14px; font-size:1.25rem; background:color-mix(in srgb,var(--card-border) 35%,transparent); }
.ta-pattern-quality>header>strong small { font-size:.58rem; }
.ta-pattern-quality>header>strong.is-good { color:#047857; background:rgba(16,185,129,.1); }
.ta-pattern-quality>header>strong.is-warning { color:#a16207; background:rgba(245,158,11,.11); }
.ta-pattern-quality>header>strong.is-poor { color:#b4232e; background:rgba(220,75,85,.09); }
.ta-pattern-quality-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--card-border); border-radius:12px; }
.ta-pattern-quality-summary span { display:grid; gap:.08rem; padding:.55rem .7rem; border-left:1px solid var(--card-border); }
.ta-pattern-quality-summary span:first-child { border-left:0; }
.ta-pattern-quality-summary small { color:var(--muted-text); font-size:.55rem; font-weight:750; }
.ta-pattern-quality-summary strong { color:var(--text-color); font-size:.82rem; }
.ta-pattern-reference-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.ta-pattern-reference-list article { display:grid; align-content:start; gap:.32rem; min-width:0; padding:.8rem; border:1px solid var(--card-border); border-left:4px solid var(--card-border); border-radius:13px; background:color-mix(in srgb,var(--card-bg) 94%,var(--page-bg)); }
.ta-pattern-reference-list article.is-correct { border-left-color:#059669; }
.ta-pattern-reference-list article.is-missed,.ta-pattern-reference-list article.is-false-positive { border-left-color:#dc4b55; }
.ta-pattern-reference-list article.is-timing { border-left-color:#d89a18; }
.ta-pattern-reference-heading { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.ta-pattern-reference-heading span { color:var(--muted-text); font-size:.55rem; }
.ta-pattern-reference-heading b { padding:.18rem .38rem; border-radius:999px; color:var(--text-color); background:color-mix(in srgb,var(--card-border) 55%,transparent); font-size:.52rem; white-space:nowrap; }
.ta-pattern-reference-list article>strong { color:var(--text-color); font-size:.7rem; }
.ta-pattern-reference-list article>p { margin:0; color:var(--muted-text); font-size:.57rem; line-height:1.45; }
.ta-pattern-reference-list dl { display:grid; gap:.22rem; margin:.12rem 0 0; }
.ta-pattern-reference-list dl div { display:grid; grid-template-columns:64px minmax(0,1fr); gap:.4rem; font-size:.56rem; line-height:1.4; }
.ta-pattern-reference-list dt { color:var(--muted-text); font-weight:750; }
.ta-pattern-reference-list dd { margin:0; color:var(--text-color); }
.ta-pattern-reference-list button { justify-self:start; margin-top:.15rem; padding:.32rem .48rem; border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--card-border)); border-radius:8px; color:var(--color-primary); background:transparent; font-size:.56rem; font-weight:800; cursor:pointer; }
.ta-pattern-interval-quality { display:grid; gap:.75rem; padding:1rem; border:1px solid color-mix(in srgb,#7c6ee6 28%,var(--card-border)); border-radius:18px; background:linear-gradient(135deg,color-mix(in srgb,#7c6ee6 5%,var(--card-bg)),var(--card-bg)); }
.ta-pattern-interval-quality>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.ta-pattern-interval-quality>header>div { display:grid; gap:.15rem; }
.ta-pattern-interval-quality>header span { color:#6959d9; font-size:.58rem; font-weight:850; text-transform:uppercase; letter-spacing:.045em; }
.ta-pattern-interval-quality h2 { margin:0; color:var(--text-color); font-size:1rem; }
.ta-pattern-interval-quality>header p { max-width:760px; margin:0; color:var(--muted-text); font-size:.62rem; line-height:1.45; }
.ta-pattern-interval-quality>header>strong { display:flex; min-width:72px; min-height:58px; align-items:baseline; justify-content:center; padding:.65rem; border-radius:14px; font-size:1.25rem; }
.ta-pattern-interval-quality>header>strong small { font-size:.58rem; }
.ta-pattern-interval-quality>header>strong.is-good { color:#047857; background:rgba(16,185,129,.1); }
.ta-pattern-interval-quality>header>strong.is-warning { color:#a16207; background:rgba(245,158,11,.11); }
.ta-pattern-interval-quality>header>strong.is-poor { color:#b4232e; background:rgba(220,75,85,.09); }
.ta-pattern-interval-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; border:1px solid var(--card-border); border-radius:12px; }
.ta-pattern-interval-summary span { display:grid; gap:.08rem; padding:.55rem .7rem; border-left:1px solid var(--card-border); }
.ta-pattern-interval-summary span:first-child { border-left:0; }
.ta-pattern-interval-summary small { color:var(--muted-text); font-size:.55rem; font-weight:750; }
.ta-pattern-interval-summary strong { color:var(--text-color); font-size:.82rem; }
.ta-pattern-interval-list { display:grid; gap:.65rem; }
.ta-pattern-interval-list article { display:grid; gap:.42rem; padding:.82rem; border:1px solid var(--card-border); border-left:4px solid var(--card-border); border-radius:13px; background:var(--card-bg); }
.ta-pattern-interval-list article.is-stable { border-left-color:#059669; }
.ta-pattern-interval-list article.is-partial { border-left-color:#d89a18; }
.ta-pattern-interval-list article.is-problem { border-left-color:#dc4b55; }
.ta-pattern-interval-list article>strong { color:var(--text-color); font-size:.72rem; }
.ta-pattern-interval-list article>p { margin:0; color:var(--muted-text); font-size:.58rem; line-height:1.45; }
.ta-pattern-interval-bars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.ta-pattern-interval-bars label { display:grid; gap:.22rem; }
.ta-pattern-interval-bars label>span { display:flex; justify-content:space-between; color:var(--muted-text); font-size:.53rem; text-transform:none; }
.ta-pattern-interval-bars label>span b { color:var(--text-color); }
.ta-pattern-interval-bars label>i { display:block; height:6px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--card-border) 70%,transparent); }
.ta-pattern-interval-bars label>i>em { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0ea5a4,#7c6ee6); }
.ta-pattern-interval-list dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:0; }
.ta-pattern-interval-list dl div { display:grid; gap:.08rem; padding:.38rem .45rem; border:1px solid var(--card-border); border-radius:8px; }
.ta-pattern-interval-list dt { color:var(--muted-text); font-size:.51rem; font-weight:700; }
.ta-pattern-interval-list dd { margin:0; color:var(--text-color); font-size:.58rem; font-weight:800; }
.ta-pattern-interval-explanation { padding-top:.28rem; border-top:1px solid var(--card-border); }
.ta-pattern-interval-actions { display:flex; gap:.35rem; }
.ta-pattern-interval-actions button { padding:.32rem .48rem; border:1px solid color-mix(in srgb,#7c6ee6 35%,var(--card-border)); border-radius:8px; color:#6959d9; background:transparent; font-size:.56rem; font-weight:800; cursor:pointer; }
.ta-pattern-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); overflow:hidden; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); }
.ta-pattern-summary article { display:grid; min-width:0; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:.55rem; padding:.72rem; border-left:1px solid var(--card-border); }
.ta-pattern-summary article:first-child { border-left:0; }
.ta-pattern-summary article>i { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); }
.ta-pattern-summary article:nth-child(1)>i { color:#047857; background:rgba(16,185,129,.1); }
.ta-pattern-summary article:nth-child(2)>i { color:#a16207; background:rgba(245,158,11,.11); }
.ta-pattern-summary article:nth-child(3)>i { color:#b4232e; background:rgba(220,75,85,.09); }
.ta-pattern-summary span { display:grid; min-width:0; gap:.08rem; }
.ta-pattern-summary small { color:var(--muted-text); font-size:.56rem; font-weight:750; }
.ta-pattern-summary strong { overflow:hidden; color:var(--text-color); font-size:.76rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.ta-pattern-layers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }
.ta-pattern-layers article { display:grid; align-content:start; gap:.28rem; min-width:0; padding:.82rem .9rem; border:1px solid var(--card-border); border-top:3px solid #0ea5a4; border-radius:15px; background:var(--card-bg); }
.ta-pattern-layers article.is-confirmed { border-top-color:#059669; }
.ta-pattern-layers article.is-developing { border-top-color:#d89a18; }
.ta-pattern-layers article.is-completed { border-top-color:#7c6ee6; }
.ta-pattern-layers article.is-previous { border-top-color:#7c6ee6; }
.ta-pattern-layers article.is-empty { border-top-color:var(--card-border); }
.ta-pattern-layers span { color:var(--muted-text); font-size:.58rem; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.ta-pattern-layers strong { color:var(--text-color); font-size:.76rem; line-height:1.3; }
.ta-pattern-layers p { margin:0; color:var(--muted-text); font-size:.59rem; line-height:1.45; }
.ta-pattern-layers button { justify-self:start; margin-top:.18rem; padding:.32rem .48rem; border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--card-border)); border-radius:8px; color:var(--color-primary); background:transparent; font-size:.56rem; font-weight:800; cursor:pointer; }
.ta-pattern-layers button:hover,.ta-pattern-layers button.active { border-color:color-mix(in srgb,var(--color-primary) 65%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg)); }
.ta-pattern-page.is-blind [data-ta-engine-output] { display:none!important; }
.ta-pattern-audit-card { overflow:hidden; border:1px solid color-mix(in srgb,#2563eb 35%,var(--card-border)); border-radius:19px; background:var(--card-bg); }
.ta-pattern-audit-card>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,#2563eb 6%,var(--card-bg)); }
.ta-pattern-audit-card>header>div { display:grid; gap:.12rem; }
.ta-pattern-audit-card>header span { color:#2563eb; font-size:.58rem; font-weight:850; text-transform:uppercase; letter-spacing:.035em; }
.ta-pattern-audit-card h2 { margin:0; color:var(--text-color); font-size:1rem; font-weight:850; }
.ta-pattern-audit-card header p { margin:0; color:var(--muted-text); font-size:.62rem; line-height:1.45; }
.ta-pattern-audit-card>header>strong { flex:0 0 auto; padding:.36rem .55rem; border-radius:999px; color:#1d4ed8; background:rgba(37,99,235,.1); font-size:.58rem; }
.ta-pattern-audit-fields { display:grid; grid-template-columns:minmax(150px,1fr) minmax(120px,.65fr) minmax(250px,1.4fr); gap:.7rem; padding:.85rem 1rem .45rem; }
.ta-pattern-audit-fields label,.ta-pattern-audit-boundaries { display:grid; gap:.28rem; }
.ta-pattern-audit-fields label>span,.ta-pattern-audit-boundaries>span { color:var(--muted-text); font-size:.56rem; font-weight:800; }
.ta-pattern-audit-fields select { width:100%; min-height:36px; padding:.38rem .55rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); font-size:.64rem; font-weight:750; }
.ta-pattern-audit-boundaries { grid-template-columns:1fr 1fr; }
.ta-pattern-audit-boundaries>span { grid-column:1/-1; }
.ta-pattern-audit-boundaries button,.ta-pattern-audit-actions button { display:inline-flex; min-height:36px; align-items:center; justify-content:center; gap:.35rem; padding:.4rem .6rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--hover-bg); font-size:.59rem; font-weight:850; cursor:pointer; }
.ta-pattern-audit-boundaries button.active { border-color:#2563eb; color:#1d4ed8; background:rgba(37,99,235,.1); }
.ta-pattern-audit-boundaries button:disabled,.ta-pattern-audit-actions button:disabled { opacity:.45; cursor:not-allowed; }
.ta-pattern-audit-selection { margin:0; padding:.3rem 1rem .7rem; color:var(--muted-text); font-size:.61rem; line-height:1.45; }
.ta-pattern-audit-actions { display:flex; flex-wrap:wrap; gap:.45rem; padding:0 1rem .9rem; }
.ta-pattern-audit-actions [data-ta-audit-save],.ta-pattern-audit-actions [data-ta-audit-reveal] { border-color:color-mix(in srgb,#2563eb 45%,var(--card-border)); color:#1d4ed8; background:rgba(37,99,235,.08); }
.ta-pattern-audit-result { margin:0 1rem 1rem; padding:.72rem .8rem; border:1px solid var(--card-border); border-radius:11px; }
.ta-pattern-audit-result strong { display:block; color:var(--text-color); font-size:.7rem; }
.ta-pattern-audit-result p { margin:.16rem 0 0; color:var(--muted-text); font-size:.61rem; line-height:1.45; }
.ta-pattern-audit-result.is-correct { border-color:rgba(5,150,105,.3); background:rgba(16,185,129,.07); }
.ta-pattern-audit-result.is-problem { border-color:rgba(220,75,85,.32); background:rgba(220,75,85,.07); }
.ta-pattern-chart-card { overflow:hidden; border:1px solid var(--card-border); border-radius:19px; background:var(--card-bg); }
.ta-pattern-chart-card>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.85rem 1rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.ta-pattern-chart-card>header>div:first-child { display:grid; gap:.12rem; }
.ta-pattern-chart-card>header span { color:var(--muted-text); font-size:.58rem; font-weight:750; }
.ta-pattern-chart-card h2 { margin:0; color:var(--text-color); font-size:1rem; font-weight:850; }
.ta-pattern-chart-card header p { margin:0; color:var(--muted-text); font-size:.62rem; line-height:1.45; }
.ta-pattern-chart-ranges { display:flex; flex:0 0 auto; gap:.3rem; }
.ta-pattern-chart-ranges button { min-height:29px; padding:.3rem .52rem; border:1px solid var(--card-border); border-radius:8px; color:var(--muted-text); background:var(--hover-bg); font-size:.57rem; font-weight:800; }
.ta-pattern-chart-ranges button.active { border-color:color-mix(in srgb,var(--color-primary) 55%,var(--card-border)); color:#007f73; background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg)); }
.ta-pattern-chart-stage { min-width:0; padding:.65rem .75rem .2rem; }
.ta-pattern-price-chart { position:relative; height:340px; }
.ta-pattern-volume-chart { position:relative; height:82px; margin-top:.12rem; border-top:1px solid color-mix(in srgb,var(--card-border) 70%,transparent); }
.ta-pattern-chart-card>footer { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem .8rem; padding:.55rem .9rem .68rem; border-top:1px solid var(--card-border); color:var(--muted-text); font-size:.55rem; }
.ta-pattern-chart-card>footer span { display:inline-flex; align-items:center; gap:.3rem; }
.ta-pattern-chart-card>footer i { display:block; width:10px; height:6px; border-radius:2px; }
.ta-pattern-chart-card>footer .is-up { background:#00a783; }
.ta-pattern-chart-card>footer .is-down { background:#ef4444; }
.ta-pattern-chart-card>footer .is-boundary { height:2px; background:#0ea5a4; }
.ta-pattern-chart-card>footer .is-point { width:7px; height:7px; border-radius:50%; background:#0ea5a4; }
.ta-pattern-chart-card>footer small { margin-left:auto; font-size:.55rem; }
.ta-pattern-catalogue { overflow:hidden; border:1px solid var(--card-border); border-radius:19px; background:var(--card-bg); }
.ta-pattern-catalogue>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.ta-pattern-catalogue>header div { display:grid; gap:.1rem; }
.ta-pattern-catalogue>header span,.ta-pattern-catalogue>header small { color:var(--muted-text); font-size:.6rem; font-weight:750; }
.ta-pattern-catalogue h2 { margin:0; color:var(--text-color); font-size:1rem; font-weight:850; }
.ta-pattern-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--card-border); }
.ta-pattern-row { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; gap:.55rem .7rem; align-content:start; padding:.82rem; background:var(--card-bg); }
.ta-pattern-identity { display:flex; min-width:0; align-items:center; gap:.55rem; }
.ta-pattern-identity>i { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:9px; color:var(--muted-text); background:color-mix(in srgb,var(--muted-text) 8%,transparent); font-size:.68rem; }
.ta-pattern-identity>span { display:grid; min-width:0; gap:.08rem; }
.ta-pattern-identity small { color:var(--muted-text); font-size:.54rem; font-weight:750; }
.ta-pattern-identity strong { color:var(--text-color); font-size:.78rem; font-weight:850; line-height:1.25; }
.ta-pattern-state { display:inline-flex; align-items:center; align-self:start; gap:.28rem; padding:.3rem .45rem; border-radius:999px; color:var(--muted-text); background:color-mix(in srgb,var(--muted-text) 7%,transparent); font-size:.57rem; font-weight:850; white-space:nowrap; }
.ta-pattern-row>p { grid-column:1/-1; min-height:2.5em; margin:0; color:var(--muted-text); font-size:.64rem; line-height:1.45; }
.ta-pattern-measures { display:flex; grid-column:1/-1; flex-wrap:wrap; gap:.35rem; }
.ta-pattern-measures>span { display:flex; align-items:center; gap:.25rem; padding:.28rem .4rem; border:1px solid var(--card-border); border-radius:8px; background:color-mix(in srgb,var(--muted-text) 2%,var(--card-bg)); }
.ta-pattern-measures small { color:var(--muted-text); font-size:.51rem; }
.ta-pattern-measures strong { color:var(--text-color); font-size:.56rem; }
.ta-pattern-show-chart { display:inline-flex; min-height:28px; align-items:center; gap:.3rem; padding:.28rem .48rem; border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--card-border)); border-radius:8px; color:#007f73; background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); font-size:.54rem; font-weight:850; }
.ta-pattern-show-chart:hover,.ta-pattern-show-chart.active { border-color:color-mix(in srgb,var(--color-primary) 65%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 14%,var(--card-bg)); }
.ta-pattern-row.is-confirmed .ta-pattern-identity>i,.ta-pattern-row.is-confirmed .ta-pattern-state { color:#047857; background:rgba(16,185,129,.1); }
.ta-pattern-row.is-developing .ta-pattern-identity>i,.ta-pattern-row.is-developing .ta-pattern-state { color:#a16207; background:rgba(245,158,11,.11); }
.ta-pattern-row.is-completed .ta-pattern-identity>i,.ta-pattern-row.is-completed .ta-pattern-state { color:#6554c0; background:rgba(124,110,230,.11); }
.ta-pattern-row.is-invalidated .ta-pattern-identity>i,.ta-pattern-row.is-invalidated .ta-pattern-state { color:#b4232e; background:rgba(220,75,85,.09); }
.ta-pattern-row.is-absent { opacity:.82; }

@media (max-width:991.98px) {
    .diagnostics-tools,.grid-trend-chart-grid { grid-template-columns:1fr; }
    .ta-pattern-intro { grid-template-columns:1fr; }
    .ta-pattern-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ta-pattern-layers { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ta-pattern-reference-list { grid-template-columns:1fr; }
    .ta-pattern-summary article:nth-child(4) { border-left:0; }
    .ta-pattern-summary article:nth-child(n+4) { border-top:1px solid var(--card-border); }
    .ta-pattern-chart-card>header { flex-direction:column; }
    .ta-pattern-audit-card>header { flex-direction:column; }
    .ta-pattern-audit-fields { grid-template-columns:1fr 1fr; }
    .ta-pattern-audit-boundaries { grid-column:1/-1; }
    .ta-pattern-chart-card>footer small { width:100%; margin-left:0; }
    .ta-pattern-replay-controls { grid-template-columns:auto auto auto minmax(100px,1fr) auto; }
    .grid-trend-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .grid-trend-metrics article:nth-child(4) { border-left:0; }
    .grid-trend-metrics article:nth-child(n+4) { border-top:1px solid var(--card-border); }
}

@media (max-width:767.98px) {
    .diagnostics-page { padding:.55rem 0 5rem; }
    .diagnostics-hero,.grid-trend-intro { padding:.9rem; border-radius:16px; }
    .diagnostics-hero h1,.grid-trend-intro h1 { font-size:1.35rem; }
    .diagnostics-tools,.grid-trend-intro { grid-template-columns:1fr; }
    .grid-trend-asset-form { grid-template-columns:minmax(0,1fr) minmax(115px,.58fr); }
    .ta-pattern-filter-form { grid-template-columns:1fr; }
    .ta-pattern-replay>header { flex-direction:column; }
    .ta-pattern-quality>header { align-items:stretch; flex-direction:column; }
    .ta-pattern-quality>header>strong { min-height:auto; }
    .ta-pattern-interval-quality>header { align-items:stretch; flex-direction:column; }
    .ta-pattern-interval-quality>header>strong { min-height:auto; }
    .ta-pattern-replay>header>button { width:100%; }
    .ta-pattern-replay-controls { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .ta-pattern-replay-controls input { grid-column:1/-1; grid-row:1; }
    .ta-pattern-replay-controls button span { display:none; }
    .ta-pattern-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ta-pattern-layers { grid-template-columns:1fr; }
    .ta-pattern-audit-fields { grid-template-columns:1fr; }
    .ta-pattern-audit-boundaries { grid-column:auto; }
    .ta-pattern-audit-actions button { width:100%; }
    .ta-pattern-quality-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ta-pattern-quality-summary span:nth-child(3) { border-left:0; border-top:1px solid var(--card-border); }
    .ta-pattern-quality-summary span:nth-child(4) { border-top:1px solid var(--card-border); }
    .ta-pattern-interval-bars,.ta-pattern-interval-list dl { grid-template-columns:1fr; }
    .ta-pattern-summary article:nth-child(odd) { border-left:0; }
    .ta-pattern-summary article:nth-child(n+3) { border-top:1px solid var(--card-border); }
    .ta-pattern-list { grid-template-columns:1fr; }
    .ta-pattern-catalogue>header { align-items:flex-start; flex-direction:column; gap:.25rem; }
    .ta-pattern-row { grid-template-columns:minmax(0,1fr); }
    .ta-pattern-state { grid-row:2; width:max-content; }
    .ta-pattern-row>p { grid-row:3; }
    .ta-pattern-measures { grid-row:4; }
    .ta-pattern-chart-stage { padding:.45rem .25rem .15rem; }
    .ta-pattern-price-chart { height:285px; }
    .ta-pattern-volume-chart { height:68px; }
    .ta-pattern-chart-ranges { width:100%; }
    .ta-pattern-chart-ranges button { flex:1; }
    .diagnostics-tool-card { min-height:112px; padding:.78rem; border-radius:14px; }
    .grid-trend-tabs { width:100%; }
    .grid-trend-tabs button { flex:1; justify-content:center; }
    .grid-trend-panel { border-radius:16px; }
    .grid-trend-panel-header { display:grid; padding:.82rem; }
    .grid-trend-safety-state { width:max-content; }
    .grid-trend-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grid-trend-metrics article:nth-child(odd) { border-left:0; }
    .grid-trend-metrics article:nth-child(n+3) { border-top:1px solid var(--card-border); }
    .grid-trend-rules { grid-template-columns:1fr; padding:.65rem .72rem 0; }
    .grid-trend-rules.is-directional article { display:grid; }
    .grid-trend-direction-access { justify-content:flex-start; }
    .grid-trend-next-review { grid-template-columns:34px minmax(0,1fr); margin:.65rem .72rem 0; }
    .grid-trend-next-review p { grid-column:1/-1; }
    .grid-trend-chart-grid { gap:.6rem; padding:.65rem .72rem; }
    .grid-trend-chart-grid>article>div { height:230px; }
    .grid-trend-timeline-card { margin:0 .72rem .72rem; }
    .grid-trend-timeline-card>header { align-items:flex-start; flex-direction:column; gap:.15rem; }
    .grid-trend-timeline-row { grid-template-columns:38px minmax(0,1fr); }
    .grid-trend-timeline-row>small { grid-column:2; margin-top:-.35rem; text-align:left; }
}

/* Portfolio-gridtest: eigen bediening en performance, los van de tradingbotpagina. */
.portfolio-grid-bot-trigger { position:relative; color:var(--color-primary)!important; background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg))!important; }
.portfolio-grid-bot-trigger.is-active { border-color:color-mix(in srgb,#10b981 40%,var(--card-border))!important; color:var(--portfolio-positive-text,#07866d)!important; background:color-mix(in srgb,#10b981 10%,var(--card-bg))!important; }
.portfolio-grid-bot-dot { position:absolute; top:4px; right:4px; width:6px; height:6px; border:1px solid var(--card-bg); border-radius:50%; background:#10b981; box-shadow:0 0 0 2px color-mix(in srgb,#10b981 16%,transparent); }
.portfolio-actions .btn:disabled { opacity:.38; cursor:not-allowed; pointer-events:auto; }
.portfolio-bot-balance { display:flex; flex-direction:column; gap:.08rem; margin-top:.3rem; color:var(--muted-text); font-size:.58rem; line-height:1.4; }
.portfolio-bot-balance span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-bot-balance i { width:1rem; color:var(--color-primary); text-align:center; }

.portfolio-grid-dialog { width:min(94vw,720px); max-width:none; max-height:calc(100dvh - 1rem); padding:0; overflow:hidden; border:0; border-radius:22px; color:var(--text-color); background:transparent; box-shadow:0 28px 80px rgba(3,25,38,.3); }
.portfolio-grid-dialog::backdrop { background:rgba(3,20,31,.62); backdrop-filter:blur(4px); }
body:has(.portfolio-grid-dialog[open]) { overflow:hidden; }
.portfolio-grid-dialog-panel { max-height:calc(100dvh - 1rem); overflow:auto; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:22px; background:var(--card-bg); }
.portfolio-grid-dialog-header { position:sticky; top:0; z-index:2; display:grid; grid-template-columns:44px minmax(0,1fr) 38px; align-items:center; gap:.75rem; padding:1rem 1.1rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)); }
.portfolio-grid-dialog-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,#00b9ad,#00899b); box-shadow:0 8px 20px rgba(0,169,156,.18); }
.portfolio-grid-dialog-header small { display:block; color:var(--color-primary); font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.portfolio-grid-dialog-header h2 { margin:.08rem 0 0; font-size:1.2rem; }
.portfolio-grid-dialog-header p { margin:.15rem 0 0; color:var(--muted-text); font-size:.72rem; line-height:1.4; }
.portfolio-grid-dialog-header button { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--card-border); border-radius:11px; color:var(--muted-text); background:var(--card-bg); }
.portfolio-grid-dialog section[data-portfolio-grid-start] { padding:1rem 1.1rem 1.15rem; }
.portfolio-grid-allocation { padding:.9rem; border:1px solid color-mix(in srgb,var(--color-primary) 26%,var(--card-border)); border-radius:15px; background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
.portfolio-grid-allocation>div:first-child { display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.75rem; font-weight:800; }
.portfolio-grid-allocation output { padding:.25rem .55rem; border-radius:999px; color:#fff; background:var(--color-primary); font-size:.75rem; }
.portfolio-grid-allocation input[type=range] { width:100%; margin:.72rem 0; accent-color:var(--color-primary); }
.portfolio-grid-allocation-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; }
.portfolio-grid-allocation-preview span { min-width:0; padding:.5rem; border:1px solid var(--card-border); border-radius:10px; color:var(--muted-text); background:var(--card-bg); font-size:.62rem; }
.portfolio-grid-allocation-preview b { display:block; overflow:hidden; margin-top:.15rem; color:var(--text-color); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-grid-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.72rem; margin-top:.85rem; }
.portfolio-grid-form-grid label { display:flex; min-width:0; flex-direction:column; gap:.32rem; color:var(--muted-text); font-size:.68rem; font-weight:750; }
.portfolio-grid-form-grid input,.portfolio-grid-form-grid select { width:100%; min-height:44px; padding:.58rem .7rem; border:1px solid var(--card-border); border-radius:11px; color:var(--text-color); background:var(--input-bg,var(--card-bg)); font-size:.78rem; font-weight:750; }
.portfolio-grid-risk { grid-column:1/-1; }
.portfolio-grid-input-suffix { position:relative; display:block; }
.portfolio-grid-input-suffix input { padding-right:2.1rem; }
.portfolio-grid-input-suffix i { position:absolute; top:50%; right:.72rem; color:var(--color-primary); font-style:normal; transform:translateY(-50%); }
.portfolio-grid-start-note { display:flex; gap:.55rem; margin-top:.8rem; padding:.72rem; border-radius:11px; color:var(--muted-text); background:var(--hover-bg); font-size:.67rem; line-height:1.5; }
.portfolio-grid-start-note i { margin-top:.16rem; color:var(--color-primary); }
.portfolio-grid-start-button { display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; min-height:48px; margin-top:.85rem; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,#009e94,#05788d); font-size:.8rem; font-weight:850; }

.portfolio-grid-performance { padding:1rem 1.1rem 1.15rem; }
.portfolio-grid-status-line { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:.75rem; padding:.65rem .72rem; border:1px solid color-mix(in srgb,#10b981 24%,var(--card-border)); border-radius:12px; background:color-mix(in srgb,#10b981 7%,var(--card-bg)); }
.portfolio-grid-status-line span { color:var(--portfolio-positive-text,#07866d); font-size:.76rem; font-weight:850; }
.portfolio-grid-status-line span i { display:inline-block; width:8px; height:8px; margin-right:.35rem; border-radius:50%; background:#10b981; box-shadow:0 0 0 4px color-mix(in srgb,#10b981 13%,transparent); }
.portfolio-grid-status-line small { color:var(--muted-text); font-size:.62rem; }
.portfolio-grid-performance-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.portfolio-grid-performance-cards article { padding:.72rem; border:1px solid var(--card-border); border-radius:12px; background:var(--hover-bg); }
.portfolio-grid-performance-cards small { display:block; color:var(--muted-text); font-size:.61rem; }
.portfolio-grid-performance-cards strong { display:block; margin-top:.2rem; font-size:.93rem; }
.portfolio-grid-performance-cards .positive strong { color:var(--portfolio-positive-text,#07866d); }
.portfolio-grid-performance-cards .negative strong { color:var(--portfolio-negative-text,#c63f49); }
.portfolio-grid-virtual-balance { margin-top:.7rem; padding:.78rem; border:1px solid var(--card-border); border-radius:13px; }
.portfolio-grid-virtual-balance h3 { margin:0 0 .45rem; font-size:.78rem; }
.portfolio-grid-virtual-balance>div { display:flex; justify-content:space-between; gap:1rem; padding:.3rem 0; color:var(--muted-text); font-size:.67rem; }
.portfolio-grid-virtual-balance strong { color:var(--text-color); text-align:right; }
.portfolio-grid-virtual-balance .total { margin-top:.25rem; padding-top:.55rem; border-top:1px solid var(--card-border); color:var(--text-color); font-weight:850; }
.portfolio-grid-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; margin-top:.7rem; }
.portfolio-grid-meta span { padding:.55rem; border-radius:10px; color:var(--muted-text); background:var(--hover-bg); font-size:.61rem; }
.portfolio-grid-meta b { display:block; margin-top:.12rem; color:var(--text-color); font-size:.7rem; }
.portfolio-grid-analysis { display:flex; gap:.45rem; margin:.7rem 0; padding:.68rem; border-radius:11px; color:var(--muted-text); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); font-size:.66rem; line-height:1.5; }
.portfolio-grid-analysis i { margin-top:.16rem; color:var(--color-primary); }
.portfolio-grid-transactions { overflow:hidden; border:1px solid var(--card-border); border-radius:12px; }
.portfolio-grid-transactions summary { display:flex; align-items:center; justify-content:space-between; padding:.68rem .75rem; cursor:pointer; font-size:.7rem; font-weight:800; list-style:none; }
.portfolio-grid-transactions summary b { display:grid; min-width:22px; height:22px; place-items:center; border-radius:999px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); font-size:.6rem; }
.portfolio-grid-transactions>div { max-height:240px; overflow:auto; border-top:1px solid var(--card-border); }
.portfolio-grid-transactions article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.12rem .5rem; padding:.65rem .72rem; border-top:1px solid var(--card-border); }
.portfolio-grid-transactions article:first-child { border-top:0; }
.portfolio-grid-transactions article>span { grid-row:1/3; align-self:center; padding:.22rem .38rem; border-radius:999px; font-size:.55rem; font-weight:850; }
.portfolio-grid-transactions .buy { color:var(--portfolio-positive-text,#07866d); background:color-mix(in srgb,#10b981 12%,transparent); }
.portfolio-grid-transactions .sell { color:var(--portfolio-negative-text,#c63f49); background:color-mix(in srgb,#ef5b68 11%,transparent); }
.portfolio-grid-transactions article strong { overflow:hidden; font-size:.67rem; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-grid-transactions article small { color:var(--muted-text); font-size:.58rem; }
.portfolio-grid-transactions article em { grid-row:1/3; grid-column:3; align-self:center; color:var(--muted-text); font-size:.58rem; font-style:normal; text-align:right; }
.portfolio-grid-stop { width:100%; min-height:46px; margin-top:.8rem; padding:.65rem; border:1px solid color-mix(in srgb,#ef5b68 34%,var(--card-border)); border-radius:12px; color:#bd3442; background:color-mix(in srgb,#ef5b68 6%,var(--card-bg)); font-size:.72rem; font-weight:800; }

@media (max-width:767.98px) {
    .portfolio-bot-balance { font-size:.62rem; }
    .portfolio-grid-dialog { width:calc(100vw - .7rem); max-height:calc(100dvh - .7rem); border-radius:18px; }
    .portfolio-grid-dialog-panel { max-height:calc(100dvh - .7rem); border-radius:18px; }
    .portfolio-grid-dialog-header { grid-template-columns:40px minmax(0,1fr) 36px; gap:.58rem; padding:.82rem; }
    .portfolio-grid-dialog-icon { width:40px; height:40px; }
    .portfolio-grid-dialog-header h2 { font-size:1.02rem; }
    .portfolio-grid-dialog-header p { font-size:.68rem; }
    .portfolio-grid-dialog section[data-portfolio-grid-start],.portfolio-grid-performance { padding:.8rem; }
    .portfolio-grid-form-grid input,.portfolio-grid-form-grid select { font-size:16px; }
    .portfolio-grid-performance-cards { gap:.45rem; }
    .portfolio-grid-performance-cards article { padding:.62rem; }
}

@media (max-width:430px) {
    .portfolio-compact-table tbody tr { grid-template-columns:minmax(62px,.8fr) minmax(72px,1fr) minmax(72px,1fr) 102px; }
    .portfolio-compact-table .portfolio-actions { flex-wrap:nowrap; }
    .portfolio-grid-allocation-preview { grid-template-columns:1fr; }
    .portfolio-grid-form-grid { grid-template-columns:1fr 1fr; gap:.58rem; }
    .portfolio-grid-performance-cards { grid-template-columns:1fr 1fr; }
    .portfolio-grid-status-line { align-items:flex-start; flex-direction:column; }
    .portfolio-grid-meta { grid-template-columns:repeat(3,1fr); }
    .portfolio-grid-transactions article { grid-template-columns:auto minmax(0,1fr); }
    .portfolio-grid-transactions article em { grid-row:auto; grid-column:2; text-align:left; }
}

/* ---------- 🧱 BASE LAYOUT ---------- */
html {
    font-size: 14px;
    min-height: 100%;
    position: relative;
    scroll-behavior: smooth;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    margin-bottom: 60px;
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
    transition: background-color .3s ease, color .3s ease;
}

/* iOS safe-area padding for bottom nav/footer */
@supports (padding: max(0px)) {
    body {
        padding-bottom: max(70px, env(safe-area-inset-bottom));
        background-color: var(--bg-color);
    }
}

/* ---------- ✨ FOCUS / BUTTONS ---------- */
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 .1rem #fff, 0 0 0 .25rem var(--color-primary);
}

.btn-primary {
    background: linear-gradient(90deg, var(--color-primary), #00D1E8);
    border: none;
    color: #fff;
    font-weight: 600;
}

    .btn-primary:hover {
        background: linear-gradient(90deg, #00A3B4, #00C2DB);
    }

/* ---------- 🔷 NAVBAR ---------- */
.navbar {
    background-color: var(--color-dark) !important;
}

.navbar-brand img {
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
}

.navbar-brand span {
    color: var(--color-primary);
    font-weight: 600;
}

/* ---------- 💰 BITVAVO CARD ---------- */
.bitvavo-card {
    align-items: center;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 1rem;
    box-shadow: 0 2px 6px rgba(0,0,0,.05);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding: 1rem 1.2rem;
}

.bitvavo-header {
    display: flex;
    align-items: center;
}

.bitvavo-logo {
    background: #fff;
    border-radius: 4px;
    height: 26px;
    margin-right: 10px;
    object-fit: contain;
    padding: 2px;
    width: 26px;
}

.bitvavo-title {
    color: var(--color-primary);
    font-weight: 600;
    margin: 0;
}

/* ---------- 📊 TABLE / EXCHANGES ---------- */
.exchange-logo {
    background: #fff;
    border-radius: 4px;
    height: 22px;
    margin-right: 8px;
    object-fit: contain;
    padding: 1px;
    width: 22px;
}

.exchange-table .table {
    background-color: var(--card-bg);
    border-collapse: collapse;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
}

.exchange-table thead th {
    background-color: var(--table-head-bg);
    border-bottom: 1px solid rgba(0,0,0,.05);
    color: var(--color-dark);
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .03em;
    padding: .75rem 1rem;
    text-transform: uppercase;
}

.exchange-table tbody tr {
    background: var(--table-row-bg);
    border-bottom: 1px solid rgba(0,0,0,.04);
    color: var(--color-dark);
    transition: background-color .2s ease-in-out, transform .15s ease;
}

    .exchange-table tbody tr:hover {
        background-color: #f9fafb;
        transform: translateY(-1px);
    }

.exchange-table tbody td {
    padding: .8rem 1rem;
    vertical-align: middle;
}

.exchange-table tbody tr:last-child td {
    border-bottom: none;
}

/* ---------- 🎨 BADGES ---------- */
.table .badge {
    box-shadow: inset 0 0 6px rgba(0,0,0,.05);
    border-radius: .5rem;
    display: inline-block;
    font-size: .87rem;
    font-weight: 600;
    min-width: 72px;
    padding: 4px 8px;
    text-align: center;
}

.badge.green {
    background-color: var(--color-success);
    color: #fff;
}

.badge.red {
    background-color: var(--color-danger);
    color: #fff;
}

.badge.gray {
    background-color: #adb5bd;
    color: #fff;
}

.badge.warning {
    background-color: var(--color-warning);
    color: #fff;
}

.badge.warning-level-2 {
    background-color: var(--color-warning-level-2);
    color: #fff;
}

.badge.warning-level-3 {
    background-color: var(--color-warning-level-3);
    color: #fff;
}

.exchange-table tbody tr:hover .badge {
    filter: brightness(1.05);
}

/* ---------- 🔤 TITLES ---------- */
.container h1 span, h2, h3, h4 {
    background: linear-gradient(90deg, var(--color-primary), #00D1E8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}

/* ---------- 🌗 THEME TOGGLE + DROPDOWN ---------- */
.theme-toggle .btn {
    background: transparent;
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
}

    .theme-toggle .btn:hover {
        border-color: var(--color-primary);
        color: var(--color-primary);
    }

.dropdown-menu {
    background-color: var(--color-dark);
    border: 1px solid rgba(255,255,255,.15);
}

.dropdown-item {
    color: #fff;
}

    .dropdown-item:hover {
        background-color: var(--color-primary);
        color: #fff;
    }

/* ---------- 🧭 BREADCRUMB / MUTED TEXT ---------- */
.page-breadcrumb, .text-muted.small {
    color: var(--muted-text);
}

    .page-breadcrumb .text-dark, .text-muted.small .text-dark {
        color: var(--color-dark);
    }

/* ---------- 🏠 FEATURE CARDS ---------- */
.feature-box {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 1rem;
    box-shadow: 0 2px 6px rgba(0,0,0,.05);
    color: var(--text-color);
    padding: 1.5rem;
    transition: all .3s ease;
}

    .feature-box:hover {
        box-shadow: 0 4px 12px rgba(0,0,0,.08);
        transform: translateY(-3px);
    }

/* ---------- 🔐 LOGIN & REGISTER ---------- */
.login-card, .register-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 1rem;
    box-shadow: 0 4px 10px rgba(0,0,0,.05);
    transition: background-color .3s ease, color .3s ease;
}

/* ---------- 📱 FIXED MOBILE NAV (bottom) ---------- */
.mobile-nav {
    align-items: center;
    background-color: #ffffff;
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    border-top: 1px solid rgba(146,173,189,.24);
    bottom: 0;
    display: flex;
    height: calc(68px + env(safe-area-inset-bottom, 0px));
    justify-content: center;
    gap:.4rem;
    left: 0;
    padding:6px 14px max(6px, env(safe-area-inset-bottom, 0px));
    position: fixed;
    top: auto;
    right: 0;
    box-shadow:0 -10px 28px rgba(8,30,44,.11);
    z-index: 1050;
    /* Keep native fixed positioning; an extra compositing layer can retain
       an obsolete viewport position while iOS browser controls collapse. */
    transform: none;
}

.mobile-nav-item {
    align-items: center;
    color: var(--text-color);
    display: flex;
    flex:0 1 112px;
    flex-direction: column;
    font-size: .69rem;
    font-weight:700;
    gap:2px;
    justify-content: center;
    min-height:52px;
    position:relative;
    border-radius:14px;
    text-align: center;
    text-decoration: none;
    transition: all .2s ease-in-out;
}

    .mobile-nav-item i {
        display:grid;
        width:34px;
        height:28px;
        place-items:center;
        border-radius:10px;
        font-size: 1.12rem;
        transition:background-color .2s ease, transform .2s ease;
    }

    .mobile-nav-item.active, .mobile-nav-item:hover {
        color: var(--color-primary);
    }

    .mobile-nav-item.active {
        background:rgba(0,181,201,.09);
        font-weight:850;
    }

    .mobile-nav-item.active:before {
        position:absolute;
        top:-6px;
        width:26px;
        height:3px;
        border-radius:0 0 5px 5px;
        background:var(--color-primary);
        content:"";
    }

    .mobile-nav-item.active i {
        background:rgba(0,181,201,.12);
        transform:translateY(-1px);
    }

/* ---------- ⚙️ SETTINGS (Exchange-instellingen) ---------- */
.settings-card {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
    margin-bottom: 1.5rem;
    padding: 1.2rem 1.4rem;
    transition: background-color .25s ease, border-color .25s ease;
}

    .settings-card h5 {
        color: var(--color-primary);
        font-weight: 600;
        margin-bottom: .25rem;
    }

    .settings-card p {
        color: var(--text-color);
        font-size: .9rem;
        opacity: .75;
    }

.exchange-grid {
    display: grid;
    gap: .6rem 1rem;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

.exchange-item {
    align-items: center;
    border-radius: 6px;
    display: flex;
    gap: .5rem;
    padding: .4rem .6rem;
    transition: background-color .15s ease;
}

    .exchange-item input[type=checkbox] {
        accent-color: var(--color-primary);
        cursor: pointer;
        height: 1.1rem;
        width: 1.1rem;
    }

    .exchange-item label {
        color: var(--text-color);
        cursor: pointer;
        font-size: .95rem;
        user-select: none;
    }

/* ============================================================
   🌞 LIGHT MODE (explicit override)
   ============================================================ */
:root[data-theme="light"] {
    --bg-color: var(--color-light);
    --text-color: var(--color-dark);
    --card-bg: #ffffff;
    --card-border: rgba(0, 0, 0, 0.05);
    --table-head-bg: #f6f9fc;
    --table-row-bg: #ffffff;
    --muted-text: #6c757d;
}

    /* Light-specific tweaks */
    :root[data-theme="light"] .mobile-nav {
        background-color: #ffffff;
        border-top-color:rgba(16,62,80,.12);
    }

    :root[data-theme="light"] .mobile-nav-item {
        color:#637986;
    }

        :root[data-theme="light"] .mobile-nav-item.active,
        :root[data-theme="light"] .mobile-nav-item:hover {
            color: var(--color-primary);
        }

    /* Badge contrast in light */
    :root[data-theme="light"] .badge.green {
        background-color: #00B77A !important;
        color: #fff !important;
    }

    :root[data-theme="light"] .badge.red {
        background-color: #E34848 !important;
        color: #fff !important;
    }

    :root[data-theme="light"] .badge.gray {
        background-color: #8a96a3 !important;
        color: #fff !important;
    }

    :root[data-theme="light"] .badge.warning-level-3 {
        background-color: var(--color-warning-level-3) !important;
        color: #fff !important;
    }

    /* Opportunities subtle text in light */
    :root[data-theme="light"] .opportunities-table .small.text-muted {
        color: #495057 !important;
    }

/* ============================================================
   🌙 DARK MODE (explicit override)
   ============================================================ */
:root[data-theme="dark"] {
    --bg-color: #0B1726;
    --text-color: #F1F5F9;
    --card-bg: #132235;
    --card-border: #1F3B52;
    --table-head-bg: #13253A;
    --table-row-bg: #162B44;
    --muted-text: #AFC8E0;
}

    :root[data-theme="dark"] body {
        background-color: var(--bg-color);
        color: var(--text-color);
    }

    :root[data-theme="dark"] .navbar {
        background-color: #08121F !important;
    }

    :root[data-theme="dark"] .bitvavo-card {
        box-shadow: 0 2px 10px rgba(0,0,0,.4);
        color: #E6ECF3;
    }

    :root[data-theme="dark"] .exchange-table thead th {
        border-bottom: 1px solid rgba(255,255,255,.05);
        color: #C8E7F9;
    }

    :root[data-theme="dark"] .exchange-table tbody tr {
        border-bottom: 1px solid rgba(255,255,255,.05);
        color: #F3F8FC;
    }

        :root[data-theme="dark"] .exchange-table tbody tr:hover {
            background-color: #1D3958;
        }

    :root[data-theme="dark"] .exchange-table tbody td,
    :root[data-theme="dark"] .exchange-table thead th {
        color: #E5F2FF !important;
    }

    /* Dark badges */
    :root[data-theme="dark"] .badge.green {
        background-color: #00DFA2;
        color: #fff
    }

    :root[data-theme="dark"] .badge.red {
        background-color: #FF7070;
        color: #fff;
    }

    :root[data-theme="dark"] .badge.gray {
        background-color: #607080;
        color: #fff;
    }

    :root[data-theme="dark"] .badge.warning {
        background-color: #FFCD61;
        color: #fff;
    }

    :root[data-theme="dark"] .badge.warning-level-3 {
        background-color: var(--color-warning-level-3);
        color: #fff;
    }

    /* Select */
    :root[data-theme="dark"] #pairSelect {
        background-color: #14263C;
        border-color: #1D3958;
        box-shadow: 0 1px 4px rgba(0,0,0,.3);
        color: #F3F8FC;
    }

        :root[data-theme="dark"] #pairSelect:hover {
            background-color: #1C3552;
        }

    /* Headings gradient in dark */
    :root[data-theme="dark"] h1,
    :root[data-theme="dark"] h2,
    :root[data-theme="dark"] h3,
    :root[data-theme="dark"] h4 {
        background: linear-gradient(90deg, #00B5C9, #25E6FF);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    /* Breadcrumb / muted text */
    :root[data-theme="dark"] .page-breadcrumb,
    :root[data-theme="dark"] .text-muted.small {
        color: #AFC8E0 !important;
    }

        :root[data-theme="dark"] .page-breadcrumb .text-dark,
        :root[data-theme="dark"] .text-muted.small .text-dark {
            color: #E6F3FF !important;
        }

    /* Login / Register inputs in dark */
    :root[data-theme="dark"] .login-card input,
    :root[data-theme="dark"] .register-card input {
        background-color: #0A1B2A;
        border-color: #2A3D52;
        color: #F5F7FA;
    }

        :root[data-theme="dark"] .login-card input:focus,
        :root[data-theme="dark"] .register-card input:focus {
            border-color: #00B5C9;
            box-shadow: 0 0 0 .25rem rgba(0,181,201,.25);
        }

    /* Mobile nav base in dark */
    :root[data-theme="dark"] .mobile-nav {
        background-color: #0B1726;
        border-top-color:rgba(123,178,198,.16);
        box-shadow:0 -10px 30px rgba(0,0,0,.28);
    }

    :root[data-theme="dark"] footer,
    :root[data-theme="dark"] .mobile-nav {
        background-color: #0B1726;
    }

    /* Opportunities small text in dark */
    :root[data-theme="dark"] .opportunities-table .small.text-muted {
        color: #d3dae2 !important;
    }

/* ============================================================
   🖥️ SYSTEM THEME (when no explicit data-theme is set)
   ============================================================ */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
        --bg-color: #0B1726;
        --text-color: #F1F5F9;
        --card-bg: #132235;
        --card-border: #1F3B52;
        --table-head-bg: #13253A;
        --table-row-bg: #162B44;
        --muted-text: #AFC8E0;
    }

        :root:not([data-theme]) .navbar {
            background-color: #08121F !important;
        }

        :root:not([data-theme]) .bitvavo-card {
            box-shadow: 0 2px 10px rgba(0,0,0,.4);
            color: #E6ECF3;
        }

        :root:not([data-theme]) .exchange-table thead th {
            border-bottom: 1px solid rgba(255,255,255,.05);
            color: #C8E7F9 !important;
            font-weight: 600;
        }

        :root:not([data-theme]) .exchange-table tbody tr {
            border-bottom: 1px solid rgba(255,255,255,.05);
            color: #F3F8FC;
        }

            :root:not([data-theme]) .exchange-table tbody tr:hover {
                background-color: #1D3958;
            }

        :root:not([data-theme]) .exchange-table tbody td,
        :root:not([data-theme]) .exchange-table thead th {
            color: #E5F2FF !important;
        }

        /* Badge colors */
        :root:not([data-theme]) .badge.green {
            background-color: #00DFA2;
            color: #fff;
        }

        :root:not([data-theme]) .badge.red {
            background-color: #FF7070;
            color: #fff;
        }

        :root:not([data-theme]) .badge.gray {
            background-color: #607080;
            color: #fff;
        }

        :root:not([data-theme]) .badge.warning {
            background-color: #FFCD61;
            color: #fff;
        }

        :root:not([data-theme]) .badge.warning-level-3 {
            background-color: var(--color-warning-level-3);
            color: #fff;
        }

        /* Select */
        :root:not([data-theme]) #pairSelect {
            background-color: #14263C;
            border-color: #1D3958;
            box-shadow: 0 1px 4px rgba(0,0,0,.3);
            color: #F3F8FC;
        }

            :root:not([data-theme]) #pairSelect:hover {
                background-color: #1C3552;
            }

        /* Headings gradient */
        :root:not([data-theme]) h1,
        :root:not([data-theme]) h2,
        :root:not([data-theme]) h3,
        :root:not([data-theme]) h4 {
            background: linear-gradient(90deg, #00B5C9, #25E6FF);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /* System-dark table text emphasis (as in original) */
        :root:not([data-theme]) .exchange-table thead th,
        :root:not([data-theme]) .exchange-table tbody td,
        :root:not([data-theme]) .exchange-table tbody tr,
        :root:not([data-theme]) .exchange-logo {
            color: #EAF6FF !important;
        }

            :root:not([data-theme]) .exchange-table tbody td:nth-child(2) {
                color: #F7FAFF !important;
                font-weight: 500;
            }

            :root:not([data-theme]) .exchange-table tbody tr:hover td {
                color: #FFFFFF !important;
                transition: color .15s ease-in-out;
            }

        /* Footer & mobile nav background in system dark */
        :root:not([data-theme]) footer,
        :root:not([data-theme]) .mobile-nav {
            background-color: #0B1726;
        }
}

/* System light explicit (keep parity with original) */
@media (prefers-color-scheme: light) {
    :root:not([data-theme]) .feature-box {
        background-color: #ffffff;
        border: 1px solid rgba(0,0,0,.05);
        box-shadow: 0 2px 6px rgba(0,0,0,.05);
        color: var(--color-dark);
    }
}

/* ============================================================
   📈 OPPORTUNITIES TABLE (shared)
   ============================================================ */
.opportunities-table td {
    vertical-align: middle;
}

.opportunities-table .exchange-logo {
    background: #fff;
    border-radius: 4px;
    height: 22px;
    object-fit: contain;
    width: 22px;
}

.opportunities-table .small.text-muted {
    font-size: .8rem;
    color: #6c757d !important;
}

.best-opportunity {
    border-left: 3px solid var(--color-success);
    background: rgba(0, 201, 141, 0.05);
}

/* Hover hints for settings list */
html[data-theme='dark'] .exchange-item:hover {
    background-color: rgba(255,255,255,.05);
}

html[data-theme='light'] .exchange-item:hover {
    background-color: rgba(0,0,0,.04);
}

/* ============================================================
   📱 RESPONSIVE
   ============================================================ */

/* Houd de netto marge zichtbaar; alleen de minder belangrijke brutokolom verdwijnt. */
@media (max-width: 768px) {
    .opportunities-table thead {
        display: table-header-group;
    }

    .opportunities-table th:nth-child(4),
    .opportunities-table td:nth-child(4) {
        display: none !important;
    }

    .opportunities-table th,
    .opportunities-table td {
        font-size: .9rem;
        padding: .55rem .6rem;
        vertical-align: middle;
        white-space: nowrap;
    }

    .exchange-logo {
        width: 18px;
        height: 18px;
        vertical-align: middle;
    }

    .opportunities-table .badge {
        font-size: .8rem;
        padding: 3px 7px;
    }

    .opportunities-table td:first-child {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

        .opportunities-table td:first-child .badge {
            border-radius: .4rem;
            font-size: .75rem;
            margin-top: 2px;
            padding: 3px 6px;
        }

    /* Compact mobile */
    .opportunities-table th, .opportunities-table td {
        padding: .6rem .5rem;
    }

    .opportunities-table .small.text-muted {
        font-size: .75rem;
    }

    /* Bottom nav hidden on desktop only */
    /* (kept from original) */
}

/* Hide mobile nav on desktop */
@media (min-width: 768px) {
    .mobile-nav {
        display: none;
    }
}

/* ============================================================
   🧭 SAFARI / MOBILE NAV TWEAKS
   ============================================================ */
@supports (-webkit-touch-callout: none) {
    .mobile-nav {
        background-clip: padding-box;
        border-top: 1px solid rgba(255, 255, 255, .1);
        /* Subtle glass effect without an additional transformed layer. */
        -webkit-backdrop-filter: blur(24px) saturate(140%);
        backdrop-filter: blur(24px) saturate(140%);
    }
}
/* ============================================================
   🔘 CRYPTOARBITOR TOGGLE SWITCH — Volledig pakket
   Past perfect in de Opportunities-header (desktop & mobiel)
   ============================================================ */

/* 🔹 Headercontainer waar de toggle in zit */
.header-toggle {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 0.4rem;
    margin-bottom: 1rem;
}

/* 🔹 Wrapper rond switch en label */
.toggle-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* ============================================================
   🌙 Switch Styling
   ============================================================ */

.form-switch {
    position: relative;
    display: inline-block;
    width: 2.8em;
    height: 1.4em;
    flex-shrink: 0;
}

/* 🔸 Verborgen checkbox */
.toggle-input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* 🔸 Achtergrond (baan van slider) */
.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--color-dark);
    border: 2px solid var(--color-primary);
    border-radius: 20px;
    transition: all 0.25s ease-in-out;
}

    /* 🔸 Bolletje (de “knop”) */
    .toggle-slider::before {
        content: "";
        position: absolute;
        height: 0.9em;
        width: 0.9em;
        left: 3px;
        bottom: 2px;
        background-color: white;
        border-radius: 50%;
        transition: all 0.25s ease-in-out;
    }

/* 🔸 Actieve toestand (aan) */
.toggle-input:checked + .toggle-slider {
    background-color: var(--color-primary);
    box-shadow: 0 0 6px rgba(0, 181, 201, 0.6);
}

    .toggle-input:checked + .toggle-slider::before {
        transform: translateX(1.3em);
        background-color: var(--color-dark);
    }

/* 🔸 Hover & Focus */
.toggle-slider:hover {
    box-shadow: 0 0 8px rgba(0, 181, 201, 0.4);
}

.toggle-input:focus + .toggle-slider {
    outline: none;
    box-shadow: 0 0 6px rgba(0, 181, 201, 0.5);
}

/* ============================================================
   🏷️ Label & Teller
   ============================================================ */

.form-check-label {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--color-dark);
    cursor: pointer;
    user-select: none;
}

#validCount {
    display: inline-block;
    background-color: var(--color-light);
    color: var(--color-dark);
    border-radius: 8px;
    padding: 0.05rem 0.45rem;
    font-size: 0.8rem;
    font-weight: 600;
    vertical-align: middle;
}

/* ============================================================
   🌗 Dark Mode Correcties
   ============================================================ */

[data-theme="dark"] .toggle-slider {
    background-color: #1a1f29;
    border-color: var(--color-primary);
}

[data-theme="dark"] .toggle-input:checked + .toggle-slider {
    background-color: var(--color-primary);
}

[data-theme="dark"] .form-check-label {
    color: var(--color-light);
}

[data-theme="dark"] #validCount {
    background-color: var(--color-dark);
    color: var(--color-light);
}

/* ============================================================
   📱 Mobiel gedrag
   ============================================================ */

@media (max-width: 576px) {
    .header-toggle {
        flex-direction: column;
        align-items: flex-start;
    }

    .toggle-wrapper {
        width: 100%;
        justify-content: flex-start;
    }

    .form-check-label {
        font-size: 0.85rem;
    }

    #validCount {
        font-size: 0.75rem;
        padding: 0.05rem 0.4rem;
    }
}
/* ============================================================
   📱 MOBILE HEADER ALIGN FIX (Arbitrage Opportunities)
   ============================================================ */

@media (max-width: 576px) {
    .header-toggle {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 1.2rem;
    }

    .header-toggle h4 {
        width: 100%;
        margin-bottom: 0.6rem !important;
        font-size: 1.15rem;
        text-align: left;
    }

    .toggle-wrapper {
        width: 100%;
        justify-content: flex-start;
        gap: 0.6rem;
    }

    .toggle-wrapper label.form-check-label {
        font-size: 0.9rem;
        text-align: left;
    }
}
/* ============================================
   🌓 FIX: Toggle-label kleur in Dark/System mode
   ============================================ */

/* Alleen in dark-mode (of system-dark) */
@media (prefers-color-scheme: dark) {
    .form-check-label,
    .toggle-wrapper .form-check-label,
    .toggle-wrapper label[for="onlyValidToggle"] {
        color: #fff !important;
    }

    /* optioneel ook de badge binnen label lichter maken */
    .form-check-label .badge {
        background-color: rgba(255,255,255,0.15) !important;
        color: #fff !important;
    }
}

/* Extra fallback: expliciete dark-theme class (indien je die gebruikt) */
html[data-theme='dark'] .form-check-label,
html[data-theme='dark'] .toggle-wrapper .form-check-label {
    color: #fff !important;
}



/* NEW BADGES OPTION A */
.badge {
    display: inline-block;
    min-width: 64px;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.85rem;
    text-align: center;
    border: none;
    color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.12);
}
.badge.green { background-color:#12B76A !important; color:#fff !important; }
.badge.red { background-color:#F04438 !important; color:#fff !important; }
.badge.warning { background-color:#FEC84B !important; color:#3A2E00 !important; }
.badge.warning-level-2 { background-color:#FB8A24 !important; color:#3A1800 !important; }
.badge.warning-level-3 { background-color:#D97706 !important; color:#1E1200 !important; }
.badge.gray { background-color:#98A2B3 !important; color:#fff !important; }
:root[data-theme="light"] .badge { box-shadow:0 2px 4px rgba(0,0,0,0.10); }
:root[data-theme="dark"] .badge { box-shadow:0 2px 6px rgba(0,0,0,0.45); }

/* Badge overrides - white text */
.badge,
.badge.green,
.badge.red,
.badge.yellow,
.badge.orange,
.badge.warning,
.badge.warning-level-2,
.badge.warning-level-3 {
    color: #ffffff !important;
}
/* Fix: force dark text for small counter badges in toggle */
.badge.bg-light.text-dark,
.bg-light.text-dark.badge,
.badge-counter,
.toggle-wrapper .badge,
.header-toggle .badge {
    color: var(--color-dark) !important;
    background-color: #fff !important;
}
/* Fix: info badges (zoals 'Totaal: xxx') terug naar donkere tekst */
.badge.bg-info,
.bg-info.badge,
.badge.badge-info,
.header-stats .badge,
.card .badge.bg-info {
    color: var(--color-dark) !important;
}
/* ============================================================
   CRYPTOARBITOR — UNIVERSAL TEXT FIX FOR DARK + SYSTEM DARK
   ============================================================ */

/* 🔥 1. Dark mode via toggle */
html[data-theme="dark"] .opportunities-table td,
html[data-theme="dark"] .opportunities-table th,
html[data-theme="dark"] .opportunities-table .text-muted,
html[data-theme="dark"] .opportunities-table .native-compact {
    color: #E6F0FF !important;
}

/* 🔥 2. System-dark Mode (iOS/Android/Windows/macOS) */
@media (prefers-color-scheme: dark) {
    html:not([data-theme]) .opportunities-table td,
    html:not([data-theme]) .opportunities-table th,
    html:not([data-theme]) .opportunities-table .text-muted,
    html:not([data-theme]) .opportunities-table .native-compact {
        color: #E6F0FF !important;
    }
}

/* ===== ARBITRAGE MONITOR ===== */
.opportunities-page { --op-border: color-mix(in srgb, var(--text-color) 10%, transparent); --op-soft: color-mix(in srgb, var(--color-primary) 8%, var(--card-bg)); max-width: 1240px; margin: 0 auto; }
.opportunities-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); gap:2rem; align-items:center; padding:clamp(1.5rem,4vw,3.5rem); border:1px solid rgba(74,222,218,.18); border-radius:26px; color:#f7fbff; background:radial-gradient(circle at 82% 18%,rgba(0,213,190,.20),transparent 30%),linear-gradient(135deg,#071827 0%,#0a2533 55%,#0b3440 100%); box-shadow:0 20px 60px rgba(6,27,42,.18); }
.opportunities-hero::after { content:""; position:absolute; width:260px; height:260px; right:-100px; bottom:-170px; border:38px solid rgba(255,255,255,.025); border-radius:50%; }
.hero-copy,.hero-controls { position:relative; z-index:1; }
.hero-copy { max-width:720px; }
.eyebrow { display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1rem; color:#75e9df; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero-copy h1 { margin:0 0 .8rem; color:#fff; background:none!important; -webkit-text-fill-color:currentColor!important; font-size:clamp(2rem,5vw,3.5rem); line-height:1.02; letter-spacing:-.045em; }
.hero-copy p { max-width:650px; margin:0; color:#b9cad6; font-size:1.02rem; line-height:1.7; }
.hero-controls { display:flex; flex-direction:column; align-items:stretch; gap:.75rem; }
.live-status { align-self:flex-end; display:inline-flex; gap:.5rem; align-items:center; padding:.45rem .75rem; color:#c8d9e2; font-size:.78rem; font-weight:700; }
.live-dot { width:8px; height:8px; border-radius:50%; background:#44e2a8; box-shadow:0 0 0 5px rgba(68,226,168,.12); }
.quality-filter { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:rgba(255,255,255,.07); backdrop-filter:blur(12px); cursor:pointer; }
.quality-filter strong,.quality-filter small { display:block; }
.quality-filter strong { color:#fff; font-size:.9rem; }
.quality-filter small { margin-top:.18rem; color:#9fb5c3; font-size:.72rem; }
.method-strip { display:flex; align-items:center; gap:1rem; margin:1rem 0 1.4rem; padding:.8rem 1.1rem; border:1px solid var(--op-border); border-radius:14px; background:var(--card-bg); color:var(--muted-text); font-size:.78rem; font-weight:650; }
.method-strip span { display:inline-flex; align-items:center; gap:.45rem; }
.method-strip span i { color:var(--color-primary); }
.strip-arrow { color:color-mix(in srgb,var(--muted-text) 45%,transparent); font-size:.65rem; }
.method-strip .quality-count { margin-left:auto; padding:.32rem .65rem; border-radius:999px; color:var(--text-color); background:var(--op-soft); }
#opportunitiesContainer { transition:opacity .18s ease; }
#opportunitiesContainer { opacity:1; }
.opportunity-loading,.opportunity-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:260px; padding:2rem; border:1px dashed var(--op-border); border-radius:20px; color:var(--muted-text); background:var(--card-bg); text-align:center; }
.opportunity-loading { flex-direction:row; gap:1rem; text-align:left; }
.opportunity-loading strong,.opportunity-loading span,.opportunity-empty strong,.opportunity-empty span { display:block; }
.opportunity-loading strong,.opportunity-empty strong { margin-bottom:.25rem; color:var(--text-color); }
.opportunity-empty>i { margin-bottom:1rem; color:var(--color-primary); font-size:2rem; }
.opportunity-empty.error>i { color:var(--color-danger); }
.opportunity-empty.compact { min-height:180px; margin-bottom:1rem; }
.loading-pulse { width:42px; height:42px; border:3px solid color-mix(in srgb,var(--color-primary) 20%,transparent); border-top-color:var(--color-primary); border-radius:50%; animation:op-spin .8s linear infinite; }
@keyframes op-spin { to { transform:rotate(360deg); } }
.guest-notice { display:flex; align-items:center; gap:.7rem; margin-bottom:1rem; padding:.85rem 1rem; border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent); border-radius:13px; background:var(--op-soft); color:var(--text-color); font-size:.83rem; }
.guest-notice>i { color:var(--color-primary); }
.guest-notice a { margin-left:auto; color:var(--color-primary); font-weight:750; text-decoration:none; }
.guest-notice span strong { display:block; margin-bottom:.12rem; color:var(--text-color); }
.guest-actions { display:flex; align-items:center; gap:.7rem; margin-left:auto; flex:none; }
.guest-actions a { margin-left:0; }
.guest-actions .guest-register { padding:.42rem .65rem; border-radius:8px; color:#fff; background:var(--color-primary); }
.guest-results-gate { display:flex; align-items:center; gap:.85rem; margin-top:1rem; padding:1rem 1.15rem; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:15px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)),var(--card-bg)); box-shadow:0 12px 30px rgba(8,30,44,.06); }
.guest-gate-icon { display:grid; place-items:center; width:40px; height:40px; flex:none; border-radius:12px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 12%,transparent); }
.guest-results-gate>div { min-width:0; flex:1; }
.guest-results-gate strong,.guest-results-gate span { display:block; }
.guest-results-gate strong { color:var(--text-color); font-size:.78rem; }
.guest-results-gate>div span { margin-top:.15rem; color:var(--muted-text); font-size:.66rem; }
.guest-results-gate .btn { flex:none; font-size:.68rem; }
.opportunity-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; margin-bottom:1rem; }
.stat-card { min-width:0; padding:1.05rem 1.15rem; border:1px solid var(--op-border); border-radius:16px; background:var(--card-bg); box-shadow:0 8px 24px rgba(8,30,44,.04); }
.stat-card>span,.stat-card>small,.stat-card>strong { display:block; }
.stat-card>span { overflow:hidden; color:var(--muted-text); font-size:.7rem; font-weight:750; letter-spacing:.045em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.stat-card>strong { margin:.45rem 0 .2rem; color:var(--text-color); font-size:1.45rem; line-height:1; }
.stat-card>small { color:var(--muted-text); font-size:.72rem; }
.stat-highlight { border-color:color-mix(in srgb,var(--color-success) 32%,transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--color-success) 10%,var(--card-bg)),var(--card-bg)); }
.stat-highlight>strong { color:var(--color-success); }
.opportunity-table-shell { overflow:hidden; border:1px solid var(--op-border); border-radius:19px; background:var(--card-bg); box-shadow:0 14px 35px rgba(8,30,44,.06); }
.table-caption { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--op-border); }
.table-caption strong,.table-caption span { display:block; }
.table-caption strong { color:var(--text-color); font-size:.95rem; }
.table-caption div>span { margin-top:.15rem; color:var(--muted-text); font-size:.72rem; }
.calculation-note { color:var(--muted-text); font-size:.72rem; }
.calculation-note i { margin-right:.3rem; color:var(--color-primary); }
.opportunities-table { --bs-table-bg:transparent; color:var(--text-color); }
.opportunities-table thead th { padding:.75rem 1rem; border-bottom:1px solid var(--op-border); color:var(--muted-text); background:color-mix(in srgb,var(--card-bg) 92%,var(--text-color)); font-size:.67rem; letter-spacing:.07em; text-transform:uppercase; }
.opportunities-table tbody td { padding:1rem; border-bottom-color:var(--op-border); color:var(--text-color); }
.opportunities-table tbody tr:last-child td { border-bottom:0; }
.opportunities-table tbody tr { transition:background-color .16s ease; }
.opportunities-table tbody tr:hover { background:var(--op-soft); }
.asset-cell { white-space:nowrap; }
.asset-symbol { font-weight:800; }
.pair-quote { color:var(--muted-text); font-size:.72rem; }
.chain-pill { display:inline-block; max-width:100px; overflow:hidden; margin-top:.35rem; padding:.18rem .4rem; border-radius:6px; color:var(--muted-text); background:var(--op-soft); font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
.exchange-cell { display:flex; align-items:center; gap:.65rem; min-width:145px; }
.exchange-cell .exchange-logo { flex:0 0 28px; width:28px; height:28px; margin:0; border:1px solid var(--op-border); border-radius:8px; padding:4px; }
.exchange-cell strong,.exchange-cell span,.exchange-cell small { display:block; }
.exchange-cell strong { color:var(--text-color); font-size:.78rem; }
.exchange-cell span { color:var(--text-color); font-size:.76rem; font-variant-numeric:tabular-nums; }
.exchange-cell small { color:var(--muted-text); font-size:.62rem; }
.gross-margin { display:block; color:var(--text-color); font-size:.78rem; font-weight:750; }
.fee-line,.age-line { display:block; margin-top:.18rem; color:var(--muted-text); font-size:.6rem; white-space:nowrap; }
.net-margin { display:inline-block; min-width:70px; padding:.42rem .62rem; border-radius:9px; color:#047857; background:#d7faed; font-size:.82rem; font-weight:850; text-align:center; font-variant-numeric:tabular-nums; }
.confidence-pill { display:inline-flex; align-items:center; gap:.3rem; padding:.32rem .52rem; border-radius:999px; font-size:.65rem; font-weight:750; white-space:nowrap; }
.confidence-pill.high { color:#047857; background:#d7faed; }
.confidence-pill.indicative { color:#9a6700; background:#fff1c2; }
.table-footnote { margin:0; padding:.75rem 1.25rem; border-top:1px solid var(--op-border); color:var(--muted-text); background:color-mix(in srgb,var(--card-bg) 94%,var(--text-color)); font-size:.67rem; }
:root[data-theme="dark"] .net-margin,:root[data-theme="dark"] .confidence-pill.high { color:#6ee7b7; background:rgba(16,185,129,.14); }
:root[data-theme="dark"] .confidence-pill.indicative { color:#fcd34d; background:rgba(245,158,11,.14); }
@media (prefers-color-scheme:dark) { :root:not([data-theme]) .net-margin,:root:not([data-theme]) .confidence-pill.high { color:#6ee7b7; background:rgba(16,185,129,.14); } :root:not([data-theme]) .confidence-pill.indicative { color:#fcd34d; background:rgba(245,158,11,.14); } }
@media (max-width:991.98px) { .opportunities-hero { grid-template-columns:1fr; } .hero-controls { max-width:480px; } .live-status { align-self:flex-start; } .opportunity-stats { grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px) { .opportunities-page { padding-top:1rem!important; } .opportunities-hero { margin:0 -.25rem; padding:1.5rem 1.15rem; border-radius:20px; } .hero-copy h1 { font-size:2.15rem; } .hero-copy p { font-size:.9rem; } .method-strip { overflow-x:auto; margin-left:-.25rem; margin-right:-.25rem; gap:.65rem; white-space:nowrap; } .method-strip .quality-count { position:absolute; left:-9999px; } .opportunity-stats { grid-template-columns:repeat(3,1fr); gap:.6rem; } .stat-card { padding:.9rem .72rem; } .stat-card>span { font-size:.67rem; line-height:1.3; } .stat-card>strong { font-size:1.3rem; } .stat-card>small { font-size:.66rem; line-height:1.35; } .update-card { display:none; } .guest-notice { align-items:flex-start; flex-wrap:wrap; } .guest-notice>span { flex:1; } .guest-actions { width:100%; margin-left:1.45rem; } .guest-actions a { width:auto; margin-left:0; } .guest-results-gate { align-items:flex-start; flex-wrap:wrap; } .guest-results-gate>div { width:calc(100% - 55px); } .guest-results-gate .btn { width:100%; } .table-caption,.table-footnote { padding-left:.85rem; padding-right:.85rem; } .table-caption strong { font-size:.86rem; } .table-caption span,.table-footnote { font-size:.68rem; line-height:1.55; } .opportunity-table-shell .table-responsive { overflow-x:hidden; } .opportunities-table { width:100%; min-width:0; table-layout:fixed; } .opportunities-table th:nth-child(1) { width:19%; } .opportunities-table th:nth-child(2),.opportunities-table th:nth-child(3) { width:29%; } .opportunities-table th:nth-child(5) { width:23%; } .opportunities-table thead th,.opportunities-table tbody td { padding:1rem .38rem; } .opportunities-table thead th { font-size:.67rem; letter-spacing:.025em; } .exchange-cell { min-width:0; gap:.38rem; } .exchange-cell>div { min-width:0; } .exchange-cell .exchange-logo { flex:0 0 22px; width:22px; height:22px; padding:3px; } .exchange-cell strong { display:block; max-width:100%; overflow:hidden; font-size:.76rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; } .exchange-cell span { display:block; overflow:hidden; color:var(--text-color); font-size:.75rem; font-weight:700; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; } .exchange-cell small { display:block; overflow:hidden; margin-top:.08rem; color:var(--muted-text); font-size:.65rem; font-weight:600; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; } .chain-pill { display:none; } .asset-cell { min-width:0; flex-wrap:wrap; gap:.12rem; } .asset-symbol { font-size:.8rem; line-height:1.3; } .pair-quote { font-size:.63rem; line-height:1.3; } .row-calculator-icon { display:none; } .net-margin { min-width:0; width:100%; padding:.45rem .25rem; font-size:.8rem; line-height:1.2; } }

/* ===== SITE-WIDE VISUAL SYSTEM ===== */
body { margin-bottom:0; min-height:100vh; background:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--color-primary) 6%,transparent),transparent 28%),var(--bg-color); }
.app-navbar { position:sticky; top:0; z-index:1030; min-height:68px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(7,24,39,.96)!important; box-shadow:0 8px 30px rgba(3,15,24,.12); backdrop-filter:blur(18px); }
.navbar-brand { letter-spacing:-.02em; }
.navbar-brand img { width:34px; height:34px; border:1px solid rgba(255,255,255,.15); }
.app-nav { gap:.2rem; margin-left:1.25rem; }
.app-nav .nav-link { display:flex; align-items:center; gap:.45rem; padding:.55rem .75rem!important; border-radius:9px; color:#b8cad6!important; font-size:.83rem; font-weight:650; white-space:nowrap; }
.app-nav .nav-link:hover { color:#fff!important; background:rgba(255,255,255,.07); }
.app-nav .nav-link.active { color:#7ce9df!important; background:rgba(0,181,201,.13); }
.app-nav .nav-link i { font-size:.75rem; }
.app-nav .dropdown-toggle::after { margin-left:.08rem; opacity:.55; transform:translateY(1px); }
.app-nav-dropdown { width:245px; margin-top:.42rem!important; padding:.45rem; border:1px solid rgba(255,255,255,.11); border-radius:13px; background:#0d2637; box-shadow:0 18px 42px rgba(0,0,0,.28); }
.app-nav-dropdown .settings-link { color:#c3d2dc; }
.app-nav-dropdown .settings-link:hover { color:#fff; background:rgba(255,255,255,.07); }
.app-nav-dropdown .settings-link.active { color:#8cece3; background:rgba(0,181,201,.14); }
.app-nav-dropdown .settings-link.active small { color:#a9c9ce; }
.nav-actions { display:flex; align-items:center; gap:.55rem; }
.nav-language { display:inline-flex; align-items:center; gap:2px; }
.nav-language a { position:relative; display:inline-flex; width:40px; height:38px; align-items:center; justify-content:center; border-radius:8px; opacity:.7; transition:opacity .18s ease,background .18s ease; }
.nav-language a:hover { opacity:1; background:rgba(255,255,255,.12); }
.nav-language a:focus-visible { opacity:1; outline:2px solid #7ce9df; outline-offset:2px; }
.nav-language a.active { opacity:1; }
.nav-language a.active::after { position:absolute; right:13px; bottom:1px; left:13px; height:2px; border-radius:2px; background:#7ce9df; content:""; }
.nav-language svg { display:block; width:29px; height:20px; border-radius:1px; }
.nav-language-mobile { margin-left:auto; margin-right:.4rem; }
.nav-language-desktop { display:none; }
@media (min-width:1500px) {
    .app-navbar .container-xl { max-width:none; padding-inline:clamp(16px,2vw,36px); flex-wrap:nowrap; }
    .app-navbar .navbar-brand { margin-right:.5rem; white-space:nowrap; }
    .app-navbar .navbar-toggler,.nav-language-mobile { display:none; }
    .app-navbar .navbar-collapse { display:flex!important; flex-basis:auto; }
    .app-navbar .navbar-nav { flex-direction:row; }
    .app-navbar .navbar-nav .dropdown-menu { position:absolute; }
    .nav-language-desktop { display:block; }
    .app-nav { gap:0; margin-left:.75rem; }
    .app-nav .nav-link { padding:.55rem .55rem!important; }
    .nav-actions { gap:.35rem; margin-left:.75rem; }
    .app-nav,.nav-actions { flex-shrink:0; }
    .nav-settings-button,.nav-auth-link,.nav-user-profile { white-space:nowrap; }
    .nav-user-profile span { display:inline-block; max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
@media (max-width:1499.98px) {
    .app-nav { margin-left:0; padding-top:1rem; }
    .app-nav-dropdown { width:100%; margin:.2rem 0 .45rem!important; box-shadow:none; }
    .nav-actions { align-items:stretch; flex-direction:column; gap:.55rem; margin:0; padding:.75rem 0 .5rem; border-top:1px solid rgba(255,255,255,.08); }
    .settings-menu,.nav-settings-button { width:100%; }
    .nav-settings-button { justify-content:flex-start; }
    .settings-dropdown { width:100%; }
    .nav-account-actions,.nav-user-actions { width:100%; }
    .nav-guest-actions { display:grid; grid-template-columns:1fr 1fr; }
    .nav-auth-link,.nav-auth-primary { width:100%; }
}
@media (max-width:575.98px) { .app-navbar .navbar-brand { margin-right:0; font-size:1rem; } .app-navbar .navbar-toggler { padding:.25rem .35rem; } }
.nav-settings-button { display:flex; min-width:40px; height:40px; align-items:center; justify-content:center; gap:.45rem; padding:0 .7rem; border:1px solid rgba(255,255,255,.13); border-radius:11px; color:#a9becb; background:rgba(255,255,255,.035); font-size:.7rem; font-weight:700; transition:border-color .18s ease,color .18s ease,background .18s ease; }
.nav-settings-button::after { margin-left:.1rem; opacity:.55; }
.nav-settings-button:hover,.nav-settings-button[aria-expanded="true"],.nav-settings-button.active { border-color:rgba(124,233,223,.38); color:#fff; background:rgba(124,233,223,.09); }
.settings-dropdown { width:270px; padding:.45rem; border-radius:13px; box-shadow:0 18px 45px rgba(0,0,0,.28); }
.settings-dropdown .dropdown-divider { border-color:rgba(255,255,255,.12); }
.settings-dropdown .dropdown-header { padding:.55rem .7rem .35rem; color:#829dab; font-size:.62rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.settings-link { display:grid; grid-template-columns:28px minmax(0,1fr); gap:.55rem; align-items:center; padding:.65rem .7rem; border-radius:9px; }
.settings-link>i { color:#7ce9df; text-align:center; }
.settings-link span,.settings-link strong,.settings-link small { display:block; }
.settings-link strong { color:inherit; font-size:.74rem; }
.settings-link small { margin-top:.08rem; color:#8fa7b5; font-size:.61rem; }
.settings-link:hover small { color:rgba(255,255,255,.78); }
.theme-option { display:grid; grid-template-columns:28px minmax(0,1fr) 16px; gap:.55rem; align-items:center; width:100%; padding:.58rem .7rem; border:0; border-radius:9px; text-align:left; }
.theme-option>i:first-child { color:#9fb6c3; text-align:center; }
.theme-option .theme-check { visibility:hidden; color:#7ce9df; font-size:.65rem; }
.theme-option.active { color:#fff; background:rgba(0,181,201,.14); }
.theme-option.active .theme-check { visibility:visible; }
.nav-user-actions { display:flex; align-items:center; gap:.35rem; }
.nav-auth-link { display:flex; min-height:40px; align-items:center; justify-content:center; gap:.4rem; padding:.55rem .75rem; border:0; border-radius:10px; color:#c5d5de; background:transparent; font-size:.76rem; font-weight:720; text-decoration:none; transition:color .18s ease,background .18s ease; }
.nav-auth-link:hover { color:#fff; background:rgba(255,255,255,.065); }
.nav-auth-primary { display:flex; min-height:40px; align-items:center; justify-content:center; gap:.5rem; padding:.55rem .9rem; border:1px solid rgba(77,230,214,.34); border-radius:10px; color:#062833; background:linear-gradient(135deg,#75eee1,#21c8bd); box-shadow:0 8px 22px rgba(12,190,178,.14); font-size:.76rem; font-weight:850; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.nav-auth-primary:hover { color:#041f28; box-shadow:0 11px 28px rgba(12,190,178,.23); transform:translateY(-1px); }
.nav-auth-primary i { font-size:.68rem; }
.nav-logout-button { cursor:pointer; }
.app-shell { min-height:calc(100vh - 132px); }
.app-main { min-width:0; }
.app-footer { padding:1.3rem 0; border-top:1px solid var(--card-border); color:var(--muted-text); font-size:.72rem; }
.standard-page { max-width:1180px; margin:0 auto; }
.narrow-page { max-width:820px; }
.page-heading { max-width:720px; margin-bottom:2rem; }
.page-heading h1,.page-hero h1 { margin:.2rem 0 .55rem; color:var(--text-color); background:none!important; -webkit-text-fill-color:currentColor!important; font-size:clamp(2rem,4vw,3rem); letter-spacing:-.04em; }
.page-heading p,.page-hero p { margin:0; color:var(--muted-text); line-height:1.65; }
.page-hero { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem; border:1px solid rgba(81,213,210,.16); border-radius:22px; color:#fff; background:linear-gradient(135deg,#081b2a,#0c3441); box-shadow:0 16px 45px rgba(6,27,42,.12); }
.page-hero h1 { color:#fff; }
.page-hero p { max-width:650px; color:#b7cbd6; }
.compact-hero { min-height:190px; }
.page-control { min-width:230px; }
.page-control label { display:block; margin-bottom:.45rem; color:#a9bfcb; font-size:.7rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.page-control .form-select,.page-control.input-group .form-select,.page-control .input-group-text { min-height:46px; border-color:rgba(255,255,255,.12); color:#fff; background-color:rgba(255,255,255,.08); }
.page-control .form-select option { color:#132235; background:#fff; }
.data-section { margin-top:1rem; transition:opacity .18s ease; }
.data-section { opacity:1; }
.js-price-value,.js-percentage-value,.js-reference-value,.js-buy-price,.js-sell-price,.js-gross-percentage,.js-net-percentage { border-radius:6px; transition:color .2s ease,background-color .25s ease,box-shadow .25s ease; font-variant-numeric:tabular-nums; }
.tick-up { color:#047857!important; background:rgba(16,185,129,.14)!important; box-shadow:0 0 0 4px rgba(16,185,129,.06); }
.tick-down { color:#b42318!important; background:rgba(239,68,68,.12)!important; box-shadow:0 0 0 4px rgba(239,68,68,.05); }
.top-prices-page .tick-up { color:#008d6b!important; background:transparent!important; box-shadow:none!important; }
.top-prices-page .tick-down { color:#c63f49!important; background:transparent!important; box-shadow:none!important; }
@media (prefers-reduced-motion:reduce) { .tick-up,.tick-down { transition:none; } }
.content-card { padding:clamp(1.15rem,3vw,2rem); border:1px solid var(--card-border); border-radius:18px; color:var(--text-color); background:var(--card-bg); box-shadow:0 12px 35px rgba(8,30,44,.06); }
.prose-card h2 { margin-top:1.7rem; color:var(--text-color); font-size:1.05rem; }
.prose-card h2:first-child { margin-top:0; }
.prose-card p { color:var(--muted-text); line-height:1.75; }
.card { border-color:var(--card-border)!important; color:var(--text-color); background:var(--card-bg); box-shadow:0 12px 35px rgba(8,30,44,.06)!important; }
.card .card-body { color:var(--text-color); }
.form-control,.form-select,.input-group-text { border-color:var(--card-border); color:var(--text-color); background-color:var(--card-bg); border-radius:10px; }
.form-control:focus,.form-select:focus { border-color:var(--color-primary); color:var(--text-color); background-color:var(--card-bg); }
.table { --bs-table-bg:transparent; --bs-table-color:var(--text-color); --bs-table-border-color:var(--card-border); color:var(--text-color); }
.table thead th { color:var(--muted-text); background:color-mix(in srgb,var(--card-bg) 92%,var(--text-color)); font-size:.7rem; letter-spacing:.055em; text-transform:uppercase; }
.table tbody tr:hover { background:color-mix(in srgb,var(--color-primary) 6%,transparent); }
.nav-tabs { gap:.35rem; border:0; }
.nav-tabs .nav-link { border:0; border-radius:9px; color:var(--muted-text); font-size:.8rem; font-weight:700; }
.nav-tabs .nav-link.active { color:var(--color-primary); background:var(--op-soft); }
.search-box { position:relative; }
.search-box i { position:absolute; z-index:1; top:50%; left:1rem; color:var(--muted-text); transform:translateY(-50%); }
.search-box .form-control { height:48px; padding-left:2.7rem; }

/* Home */
.home-page { max-width:1240px; margin:0 auto; }
.home-hero { overflow:hidden; display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center; min-height:540px; padding:clamp(2rem,5vw,4.5rem); border-radius:28px; color:#fff; background:radial-gradient(circle at 82% 15%,rgba(37,230,255,.18),transparent 28%),linear-gradient(135deg,#061725,#0a2a38 62%,#0b3b44); box-shadow:0 24px 70px rgba(5,26,40,.2); }
.home-hero h1 { max-width:720px; margin:.25rem 0 1rem; color:#fff; background:none!important; -webkit-text-fill-color:currentColor!important; font-size:clamp(2.7rem,6vw,5rem); line-height:.98; letter-spacing:-.06em; }
.home-hero-copy>p { max-width:650px; color:#b7c9d4; font-size:1.05rem; line-height:1.75; }
.hero-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin:1.7rem 0; }
.hero-actions .btn { display:inline-flex; align-items:center; gap:.55rem; border-radius:11px; }
.btn-ghost-light { border:1px solid rgba(255,255,255,.18); color:#fff; background:rgba(255,255,255,.06); }
.btn-ghost-light:hover { border-color:#78e8df; color:#78e8df; }
.hero-trust { display:flex; gap:1rem; flex-wrap:wrap; color:#9db4c1; font-size:.72rem; }
.hero-trust i { margin-right:.3rem; color:#51ddb1; }
.market-visual { display:flex; flex-direction:column; gap:.7rem; padding:1.2rem; border:1px solid rgba(255,255,255,.1); border-radius:22px; background:rgba(255,255,255,.055); backdrop-filter:blur(14px); }
.market-card { padding:1.25rem; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(3,16,25,.38); }
.market-card span,.market-card small,.market-card strong { display:block; }
.market-card span { color:#93adba; font-size:.7rem; text-transform:uppercase; }
.market-card strong { margin:.35rem 0; font-size:2rem; }
.market-card small { color:#9eb3bf; }
.market-card-buy strong { color:#69e2d6; }.market-card-sell strong { color:#65e7ae; }
.market-route { display:flex; align-items:center; justify-content:center; gap:.6rem; color:#8ea8b5; font-size:.7rem; }
.section-heading { max-width:680px; margin:4.5rem auto 2rem; text-align:center; }
.section-heading>span { color:var(--color-primary); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.section-heading h2,.home-cta h2 { margin:.55rem 0; color:var(--text-color); background:none!important; -webkit-text-fill-color:currentColor!important; letter-spacing:-.035em; }
.section-heading p { color:var(--muted-text); }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.feature-grid .feature-box { position:relative; padding:2rem; text-align:left; }
.feature-grid .feature-box:hover { transform:translateY(-4px); }
.feature-grid .feature-box>i { margin-bottom:1.4rem; color:var(--color-primary); font-size:1.5rem; }
.feature-grid h3 { color:var(--text-color); font-size:1rem; }
.feature-grid p { margin:0; color:var(--muted-text); font-size:.83rem; line-height:1.65; }
.feature-number { position:absolute; right:1.2rem; top:1rem; color:color-mix(in srgb,var(--muted-text) 35%,transparent); font-size:1.6rem; font-weight:850; }
.home-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:4rem; padding:2rem; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); }
.home-cta>div>span { color:var(--color-primary); font-size:.72rem; font-weight:800; text-transform:uppercase; }

/* CryptoPhase public homepage */
.cryptophase-home { max-width:1320px; }
.phase-hero { grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr); min-height:650px; background:radial-gradient(circle at 86% 12%,rgba(27,220,208,.2),transparent 28%),radial-gradient(circle at 5% 100%,rgba(0,158,120,.12),transparent 34%),linear-gradient(135deg,#061725,#0a2a38 60%,#0b4147); }
.phase-hero .eyebrow { color:#72e5d6; }
.phase-hero h1 { font-size:clamp(3rem,6vw,5.4rem); }
.phase-preview { position:relative; overflow:hidden; padding:1.35rem; border:1px solid rgba(255,255,255,.16); border-radius:24px; color:#102536; background:rgba(255,255,255,.96); box-shadow:0 32px 80px rgba(0,12,20,.3); transform:rotate(1.2deg); }
.phase-preview::before { position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg,rgba(18,199,200,.08),transparent 38%); content:""; }
.phase-preview-head,.phase-score-grid,.phase-indicators { position:relative; z-index:1; }
.phase-preview-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.35rem .2rem 1.1rem; }
.phase-preview-head div small,.phase-preview-head div strong { display:block; }
.phase-preview-head small { margin-bottom:.2rem; color:#7a8993; font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.phase-preview-head strong { color:#092236; font-size:1.1rem; }
.phase-status { display:inline-flex; align-items:center; gap:.42rem; padding:.5rem .65rem; border-radius:999px; color:#a96d00; background:#fff1d6; font-size:.68rem; font-weight:800; }
.phase-score-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.phase-score-grid>div { display:grid; grid-template-columns:1fr auto; gap:.35rem .7rem; padding:.7rem .8rem; border:1px solid #e5eaed; border-radius:12px; background:#fff; }
.phase-score-grid span { color:#697985; font-size:.66rem; font-weight:750; }
.phase-score-grid strong { font-size:.85rem; }
.phase-score-grid i { grid-column:1/-1; overflow:hidden; height:5px; border-radius:999px; background:#edf0f2; }
.phase-score-grid i b { display:block; height:100%; border-radius:inherit; }
.phase-score-grid>div:first-child i b { background:#009c78; }
.phase-score-grid>div:last-child i b { background:#ea4e59; }
.score-buy { color:#009c78; }.score-sell { color:#e34855; }
.phase-chart-heading { display:flex; position:relative; z-index:1; align-items:center; justify-content:space-between; margin:.85rem .2rem 0; color:#647682; font-size:.6rem; font-weight:750; }
.phase-chart-heading span { display:flex; align-items:center; gap:.38rem; color:#087f72; }
.phase-chart-heading span i { width:15px; height:3px; border-radius:99px; background:#00a88e; }
.phase-chart { position:relative; height:185px; margin:.2rem -.3rem 0; }
.phase-chart svg,.analysis-window-chart svg { width:100%; height:100%; }
.phase-chart-grid,.window-grid { fill:none; stroke:#e6ecef; stroke-width:1; vector-effect:non-scaling-stroke; }
.phase-chart-area { fill:url(#phase-area); }
.phase-chart-line,.window-line { fill:none; stroke:#00a88e; stroke-width:4; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.phase-marker { position:absolute; display:grid; place-items:center; width:25px; height:25px; border:3px solid #fff; border-radius:50%; color:#fff; font-size:.62rem; font-style:normal; font-weight:850; box-shadow:0 5px 14px rgba(3,26,38,.18); transform:translate(-50%,-50%); }
.marker-buy,.legend-buy { background:#009c78; }.marker-top,.legend-top { background:#7a3fe1; }.marker-warning { background:#ee9800; }.marker-sell,.legend-sell { background:#ea4653; }
.phase-mini-charts { display:grid; position:relative; z-index:1; grid-template-columns:1fr 1fr; gap:.45rem; margin:.15rem 0 .5rem; }
.phase-mini-charts>div { overflow:hidden; padding:.5rem .6rem .2rem; border:1px solid #e7ecef; border-radius:10px; background:#fbfcfd; }
.phase-mini-charts span { display:flex; align-items:center; gap:.3rem; color:#667985; font-size:.52rem; font-weight:750; }
.phase-mini-charts span strong { margin-left:auto; color:#18313e; font-size:.5rem; }
.phase-mini-charts span b { width:6px; height:6px; flex:0 0 6px; border-radius:50%; }
.fear-dot { background:#ee9800; }.rsi-dot { background:#8458ed; }
.phase-mini-charts svg { width:100%; height:34px; margin-top:.1rem; }
.mini-grid { fill:none; stroke:#e8edef; stroke-width:1; vector-effect:non-scaling-stroke; }
.mini-fear-line,.mini-rsi-line { fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.mini-fear-line { stroke:#ee9800; }.mini-rsi-line { stroke:#8458ed; }
.mini-rsi-levels { fill:none; stroke:#e9dffc; stroke-width:1; stroke-dasharray:4 4; vector-effect:non-scaling-stroke; }
.phase-indicators { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; }
.phase-indicators>span { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:.5rem; padding:.62rem; border:1px solid #e7ecef; border-radius:10px; background:#fff; }
.phase-indicators i { grid-row:1/3; align-self:center; color:#00a889; }
.phase-indicators small { color:#82909a; font-size:.57rem; }
.phase-indicators strong { color:#132b3a; font-size:.66rem; }
.phase-history-preview { display:grid; position:relative; z-index:1; grid-template-columns:1fr 1fr; gap:.45rem; margin-top:.5rem; padding-top:.5rem; border-top:1px solid #e6ecef; }
.phase-history-preview>div { display:grid; grid-template-columns:1fr auto; gap:.1rem .45rem; padding:.5rem .6rem; border-radius:9px; background:#f7fafb; }
.phase-history-preview small { color:#74848e; font-size:.5rem; font-weight:750; }
.phase-history-preview strong { grid-row:1/3; grid-column:2; align-self:center; font-size:.78rem; }
.phase-history-preview span { color:#87959e; font-size:.46rem; }
.history-dip { color:#d67a00; }.history-rise { color:#009c78; }
.phase-asset-strip { display:flex; align-items:center; justify-content:center; gap:clamp(.7rem,2.2vw,2rem); margin:1.2rem 0 0; padding:1rem 1.25rem; border:1px solid var(--card-border); border-radius:16px; color:var(--muted-text); background:var(--card-bg); box-shadow:0 8px 30px rgba(8,30,44,.04); }
.phase-asset-strip span { font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.phase-asset-strip strong { color:var(--text-color); font-size:.76rem; }
.phase-feature-grid .feature-box { overflow:hidden; min-height:235px; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); box-shadow:0 12px 35px rgba(8,30,44,.05); }
.phase-feature-grid h3 { font-size:1.12rem; }
.phase-feature-grid p { font-size:.86rem; }
.product-showcase,.portfolio-showcase { display:grid; grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr); gap:clamp(2rem,5vw,4.5rem); align-items:center; margin-top:5rem; padding:clamp(1.2rem,3vw,2rem); }
.showcase-kicker { display:block; margin-bottom:.65rem; color:var(--color-primary); font-size:.68rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.showcase-copy h2 { margin:0 0 1rem; color:var(--text-color); background:none!important; -webkit-text-fill-color:currentColor!important; font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.045em; }
.showcase-copy p { color:var(--muted-text); font-size:.94rem; line-height:1.75; }
.showcase-copy ul { display:grid; gap:.72rem; margin:1.4rem 0 0; padding:0; list-style:none; color:var(--text-color); font-size:.83rem; }
.showcase-copy li { display:flex; align-items:center; gap:.65rem; }
.showcase-copy li i { color:#00a77d; }
.analysis-window { overflow:hidden; border:1px solid var(--card-border); border-radius:22px; background:var(--card-bg); box-shadow:0 28px 65px rgba(5,29,42,.12); }
.analysis-window-top { display:flex; align-items:center; gap:.35rem; padding:.9rem 1rem; border-bottom:1px solid var(--card-border); }
.analysis-window-top>span { width:8px; height:8px; border-radius:50%; background:#dce3e7; }
.analysis-window-top>span:first-child { background:#ff8585; }.analysis-window-top>span:nth-child(2) { background:#ffc660; }.analysis-window-top>span:nth-child(3) { background:#62d7ac; }
.analysis-window-top strong { margin-left:.45rem; color:var(--muted-text); font-size:.65rem; }
.analysis-window-chart { position:relative; height:300px; margin:1rem; }
.window-area { fill:color-mix(in srgb,#00a88e 10%,transparent); }
.analysis-window-legend { display:flex; justify-content:flex-end; gap:1rem; padding:0 1.2rem 1.15rem; color:var(--muted-text); font-size:.62rem; }
.analysis-window-legend span { display:flex; align-items:center; gap:.35rem; }
.analysis-window-legend b { display:grid; place-items:center; width:19px; height:19px; border-radius:50%; color:#fff; font-size:.55rem; }
.portfolio-showcase { grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr); padding:clamp(2rem,5vw,4rem); border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--card-border)); border-radius:28px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg)); }
.portfolio-mini-card { display:flex; flex-direction:column; padding:1.35rem; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); box-shadow:0 20px 55px rgba(6,31,44,.12); }
.portfolio-preview-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.portfolio-preview-head span { color:var(--color-primary); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.portfolio-preview-head small { padding:.28rem .48rem; border-radius:999px; color:#008c77; background:rgba(0,185,137,.1); font-size:.56rem; font-weight:800; }
.portfolio-preview-summary { display:grid; grid-template-columns:1.35fr .85fr; gap:.85rem; padding-bottom:1rem; }
.portfolio-preview-summary>div { display:flex; flex-direction:column; justify-content:center; min-width:0; }
.portfolio-preview-summary small { color:var(--muted-text); font-size:.58rem; font-weight:750; letter-spacing:.03em; text-transform:uppercase; }
.portfolio-preview-summary strong { margin:.15rem 0; color:var(--text-color); font-size:1.65rem; line-height:1.1; }
.portfolio-preview-summary em,.portfolio-preview-summary span { color:#009c78; font-size:.65rem; font-style:normal; font-weight:800; }
.portfolio-preview-result { padding-left:.85rem; border-left:1px solid var(--card-border); }
.portfolio-preview-result strong { font-size:1.02rem; }
.portfolio-preview-allocation { display:flex; overflow:hidden; height:8px; margin-bottom:.85rem; border-radius:999px; background:#e0eef0; }
.portfolio-preview-allocation i { display:block; height:100%; }
.allocation-btc { width:76%; background:#00aa92; }
.allocation-eth { width:17%; background:#7665e8; }
.allocation-sol { width:7%; background:#f09b00; }
.portfolio-preview-positions { display:flex; flex-direction:column; gap:.42rem; }
.portfolio-preview-positions>div { display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:.58rem; padding:.55rem .6rem; border:1px solid color-mix(in srgb,var(--card-border) 75%,transparent); border-radius:11px; background:color-mix(in srgb,var(--card-bg) 88%,var(--hover-bg)); }
.portfolio-preview-positions b { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; color:#fff; font-size:.8rem; }
.portfolio-preview-positions span { display:flex; min-width:0; flex-direction:column; }
.portfolio-preview-positions span strong { color:var(--text-color); font-size:.68rem; }
.portfolio-preview-positions span small { color:var(--muted-text); font-size:.53rem; }
.portfolio-preview-positions em { color:var(--text-color); font-size:.68rem; font-style:normal; font-weight:850; }
.coin-btc { background:#f7931a; }.coin-eth { background:#627eea; }.coin-sol { background:linear-gradient(135deg,#18e2b5,#7958f0); }
.phase-cta { border-color:color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)),var(--card-bg)); }
.phase-cta p { margin:0; color:var(--muted-text); font-size:.75rem; }

/* Settings and account */
.settings-hub { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.hub-card { display:flex; flex-direction:column; min-height:260px; padding:1.6rem; border:1px solid var(--card-border); border-radius:18px; color:var(--text-color); background:var(--card-bg); box-shadow:0 10px 30px rgba(8,30,44,.05); text-decoration:none; transition:transform .2s ease,border-color .2s ease; }
.hub-card:hover { border-color:color-mix(in srgb,var(--color-primary) 45%,transparent); color:var(--text-color); transform:translateY(-4px); }
.hub-card.disabled { opacity:.62; }
.hub-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:2rem; border-radius:12px; color:var(--color-primary); background:var(--op-soft); font-size:1.2rem; }
.hub-card h2 { margin:0 0 .5rem; color:var(--text-color); background:none!important; -webkit-text-fill-color:currentColor!important; font-size:1.15rem; }
.hub-card p { color:var(--muted-text); font-size:.8rem; line-height:1.6; }
.hub-arrow { margin-top:auto; color:var(--color-primary); }
.coming-soon { display:inline-block; margin-bottom:.45rem; color:var(--color-primary); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.settings-card { border-radius:18px; box-shadow:0 10px 30px rgba(8,30,44,.05); }
.exchange-item { border:1px solid transparent; background:color-mix(in srgb,var(--card-bg) 94%,var(--text-color)); }
.account-manage-card { padding:1.25rem; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); box-shadow:0 14px 38px rgba(8,30,44,.055); }
.account-manage-card>.row { --bs-gutter-x:2rem; }
.account-manage-card .nav-pills { gap:.45rem; }
.account-manage-card .nav-link { display:flex; min-height:46px; align-items:center; gap:.65rem; padding:.7rem .8rem; border-radius:11px; color:var(--muted-text); font-size:.86rem; font-weight:750; }
.account-manage-card .nav-link i { width:18px; color:var(--color-primary); text-align:center; }
.account-manage-card .nav-link.active { color:#fff; background:var(--color-primary); }
.account-manage-card .nav-link.active i { color:#fff; }
.login-card,.register-card,.container .card.shadow-lg { overflow:hidden; border-radius:20px!important; }

@media (max-width:991.98px) { .app-nav { margin-left:0; padding-top:1rem; } .app-nav-dropdown { width:100%; margin:.2rem 0 .45rem!important; box-shadow:none; } .nav-actions { align-items:stretch; flex-direction:column; gap:.55rem; margin:0; padding:.75rem 0 .5rem; border-top:1px solid rgba(255,255,255,.08); } .settings-menu,.nav-settings-button { width:100%; } .nav-settings-button { justify-content:flex-start; } .settings-dropdown { width:100%; } .nav-account-actions,.nav-user-actions { width:100%; } .nav-guest-actions { display:grid; grid-template-columns:1fr 1fr; } .nav-auth-link,.nav-auth-primary { width:100%; } .home-hero { grid-template-columns:1fr; } .phase-preview { max-width:650px; transform:none; } .market-visual { max-width:560px; } .feature-grid,.settings-hub { grid-template-columns:1fr 1fr; } .product-showcase,.portfolio-showcase { grid-template-columns:1fr; } .product-showcase .showcase-copy { max-width:720px; } }
@media (max-width:767.98px) { .app-footer { padding-bottom:78px; } .page-hero { align-items:stretch; flex-direction:column; } .page-control { width:100%; min-width:0; } .home-hero { min-height:auto; border-radius:20px; } .feature-grid,.settings-hub { grid-template-columns:1fr; } .home-cta { align-items:flex-start; flex-direction:column; } .phase-asset-strip { overflow:auto; justify-content:flex-start; } .phase-asset-strip>* { flex:0 0 auto; } .product-showcase,.portfolio-showcase { margin-top:3.5rem; padding:1rem 0; } .portfolio-showcase { padding:1.4rem; } }
@media (max-width:575.98px) { .home-hero { margin:0 -.25rem; padding:2rem 1.2rem; } .home-hero h1 { font-size:2.65rem; } .phase-hero { gap:2rem; } .phase-preview { padding:.8rem; border-radius:17px; } .phase-preview-head { align-items:flex-start; flex-direction:column; } .phase-score-grid { grid-template-columns:1fr 1fr; } .phase-chart { height:150px; } .phase-mini-charts { grid-template-columns:1fr; } .phase-mini-charts svg { height:29px; } .phase-indicators>span { padding:.48rem; } .phase-indicators i { display:none; } .phase-indicators strong { font-size:.6rem; } .phase-history-preview { grid-template-columns:1fr; } .analysis-window-chart { height:220px; margin:.65rem; } .analysis-window-legend { justify-content:flex-start; flex-wrap:wrap; gap:.5rem .8rem; } .portfolio-preview-summary strong { font-size:1.42rem; } .portfolio-preview-result strong { font-size:.95rem; } .portfolio-preview-positions>div { grid-template-columns:30px minmax(0,1fr) auto; padding:.5rem; } .market-visual { padding:.75rem; } .hero-trust { flex-direction:column; gap:.4rem; } .page-hero { margin:0 -.25rem; padding:1.35rem; border-radius:18px; } .section-heading { margin-top:3rem; } }

/* ===== OPPORTUNITY CALCULATOR ===== */
.opportunity-row { cursor:pointer; }
.opportunity-row:focus-visible { position:relative; z-index:1; outline:2px solid var(--color-primary); outline-offset:-2px; }
.row-calculator-icon { margin-left:.45rem; color:var(--color-primary); font-size:.65rem; opacity:.35; transition:opacity .15s ease,transform .15s ease; }
.opportunity-row:hover .row-calculator-icon,.opportunity-row:focus .row-calculator-icon { opacity:1; transform:scale(1.08); }
.opportunity-calculator-modal .modal-dialog { max-width:620px; }
.opportunity-calculator-modal .modal-content { overflow:hidden; border:1px solid var(--card-border); border-radius:22px; color:var(--text-color); background:var(--card-bg); box-shadow:0 30px 90px rgba(3,18,29,.28); }
.opportunity-calculator-modal .modal-header { align-items:flex-start; padding:1.5rem 1.6rem 1.2rem; border-bottom:1px solid var(--card-border); background:linear-gradient(145deg,color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)),var(--card-bg)); }
.opportunity-calculator-modal .modal-title { margin:.15rem 0 .25rem; color:var(--text-color); background:none!important; -webkit-text-fill-color:currentColor!important; font-size:1.55rem; letter-spacing:-.035em; }
.opportunity-calculator-modal .modal-header p { color:var(--muted-text); font-size:.78rem; }
.modal-eyebrow { color:var(--color-primary); font-size:.65rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.opportunity-calculator-modal .modal-body { padding:1.5rem 1.6rem 1.6rem; }
.calculator-label { color:var(--muted-text); font-size:.72rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.calculator-input-group .form-control,.calculator-input-group .input-group-text { min-height:52px; font-size:1rem; }
.calculator-input-group .form-control { font-size:1.25rem; font-weight:750; font-variant-numeric:tabular-nums; }
.calculator-rate { margin-top:.45rem; color:var(--muted-text); font-size:.65rem; }
.calculator-depth-hint { min-height:34px; margin-top:.65rem; padding:.55rem .7rem; border-radius:9px; font-size:.69rem; }
.calculator-depth-hint.success { color:#047857; background:rgba(16,185,129,.11); }
.calculator-depth-hint.warning { color:#9a6700; background:rgba(245,158,11,.13); }
.calculator-flow { display:grid; grid-template-columns:1fr auto 1fr; gap:.75rem; align-items:center; margin:1.25rem 0; }
.calculator-flow>i { color:var(--color-primary); font-size:.8rem; }
.calculator-leg { min-width:0; padding:1rem; border:1px solid var(--card-border); border-radius:13px; background:color-mix(in srgb,var(--card-bg) 95%,var(--text-color)); }
.calculator-leg span,.calculator-leg b,.calculator-leg small { display:block; }
.calculator-leg span { overflow:hidden; margin-bottom:.35rem; color:var(--muted-text); font-size:.67rem; text-overflow:ellipsis; white-space:nowrap; }
.calculator-leg span strong { color:var(--text-color); }
.calculator-leg b { overflow:hidden; color:var(--text-color); font-size:.92rem; text-overflow:ellipsis; white-space:nowrap; }
.calculator-leg.result b { color:var(--color-success); }
.calculator-leg small { margin-top:.3rem; color:var(--muted-text); font-size:.6rem; }
.calculator-summary { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid var(--card-border); border-radius:14px; }
.calculator-summary>div { padding:1rem 1.1rem; }
.calculator-summary>div+div { border-left:1px solid var(--card-border); }
.calculator-summary span,.calculator-summary strong { display:block; }
.calculator-summary span { margin-bottom:.35rem; color:var(--muted-text); font-size:.67rem; }
.calculator-summary strong { color:var(--text-color); font-size:1.25rem; font-variant-numeric:tabular-nums; }
.calculator-summary .positive { color:var(--color-success); }
.calculator-summary .negative { color:var(--color-danger); }
.calculator-disclaimer { display:flex; gap:.55rem; margin-top:1rem; padding:.75rem; border-radius:10px; color:var(--muted-text); background:var(--op-soft); font-size:.65rem; line-height:1.5; }
.calculator-disclaimer i { flex:0 0 auto; margin-top:.12rem; color:var(--color-primary); }
:root[data-theme="dark"] .opportunity-calculator-modal .btn-close { filter:invert(1) grayscale(100%) brightness(200%); }
@media (prefers-color-scheme:dark) { :root:not([data-theme]) .opportunity-calculator-modal .btn-close { filter:invert(1) grayscale(100%) brightness(200%); } }
@media (max-width:575.98px) { .opportunity-calculator-modal .modal-dialog { align-items:flex-end; min-height:100%; margin:0; } .opportunity-calculator-modal .modal-content { border-radius:22px 22px 0 0; } .opportunity-calculator-modal .modal-header,.opportunity-calculator-modal .modal-body { padding-left:1rem; padding-right:1rem; } .calculator-flow { grid-template-columns:1fr; } .calculator-flow>i { transform:rotate(90deg); text-align:center; } }

/* ===== NOTIFICATION SETTINGS ===== */
.notification-page { max-width:1120px; }
.page-back-link { display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1.25rem; color:var(--muted-text); font-size:.76rem; font-weight:700; text-decoration:none; transition:.2s ease; }
.page-back-link:hover { color:var(--color-primary); transform:translateX(-2px); }
.notification-heading { max-width:720px; margin-bottom:2rem; }
.notification-heading h1 { max-width:680px; }
.notification-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr); gap:1.15rem; align-items:start; }
.notification-card { border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); box-shadow:0 14px 38px rgba(8,30,44,.07); }
.notification-form-card { padding:1.6rem; }
.notification-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.65rem; padding-bottom:1.2rem; border-bottom:1px solid var(--card-border); }
.notification-card h2 { margin:.2rem 0 0; color:var(--text-color); font-size:1.2rem; letter-spacing:-.025em; }
.section-kicker { color:var(--color-primary); font-size:.64rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.connection-status { display:inline-flex; align-items:center; gap:.38rem; flex:none; padding:.42rem .65rem; border-radius:99px; font-size:.66rem; font-weight:750; }
.connection-status.connected { color:#047857; background:rgba(16,185,129,.13); }
.connection-status.not-connected { color:var(--muted-text); background:var(--hover-bg); }
.notification-fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.notification-field .form-label { margin-bottom:.45rem; color:var(--text-color); font-size:.75rem; font-weight:750; }
.notification-field small { display:block; margin-top:.45rem; color:var(--muted-text); font-size:.66rem; line-height:1.5; }
.notification-input .input-group-text,.notification-input .form-control { min-height:50px; }
.notification-input .input-group-text { color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); }
.notification-input .input-suffix { color:var(--muted-text); font-weight:750; }
.notification-input .form-control { border-left:0; font-size:.86rem; }
.notification-input .form-control:focus { border-left:1px solid var(--color-primary); }
.alert-preview { display:flex; align-items:center; gap:.8rem; margin-top:1.15rem; padding:.9rem 1rem; border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--card-border)); border-radius:13px; background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
.alert-preview-icon { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 12%,transparent); }
.alert-preview span,.alert-preview strong { display:block; }
.alert-preview span { color:var(--muted-text); font-size:.64rem; }
.alert-preview strong { margin-top:.08rem; color:var(--text-color); font-size:.78rem; }
.notification-actions { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:1.35rem; }
.notification-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:.48rem; min-height:44px; padding:.65rem .9rem; font-size:.73rem; font-weight:750; }
.button-spinner { display:none; }
.notification-actions .is-loading .button-spinner { display:inline-block; }
.notification-actions .is-loading>i { display:none; }
.telegram-guide-card { position:relative; overflow:hidden; padding:1.6rem; }
.telegram-guide-card:before { position:absolute; top:-70px; right:-65px; width:180px; height:180px; border-radius:50%; background:rgba(34,158,217,.09); content:""; }
.telegram-mark { position:relative; display:grid; place-items:center; width:48px; height:48px; margin-bottom:1rem; border-radius:14px; color:#fff; background:linear-gradient(145deg,#2aabee,#1785bd); box-shadow:0 10px 24px rgba(34,158,217,.24); font-size:1.45rem; }
.telegram-guide-card>p { margin:.55rem 0 1.2rem; color:var(--muted-text); font-size:.75rem; line-height:1.6; }
.telegram-guide-card>p strong { color:var(--text-color); }
.telegram-steps { display:grid; gap:.85rem; margin:0; padding:0; list-style:none; }
.telegram-steps li { display:flex; align-items:flex-start; gap:.7rem; }
.telegram-steps li>span { display:grid; place-items:center; width:25px; height:25px; flex:none; border-radius:8px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); font-size:.65rem; font-weight:850; }
.telegram-steps strong,.telegram-steps small { display:block; }
.telegram-steps strong { color:var(--text-color); font-size:.72rem; }
.telegram-steps small { margin-top:.1rem; color:var(--muted-text); font-size:.64rem; line-height:1.45; }
.telegram-widget-wrap { display:flex; align-items:center; flex-direction:column; gap:.7rem; margin-top:1.35rem; padding:1rem; border:1px dashed var(--card-border); border-radius:13px; background:var(--hover-bg); text-align:center; }
.telegram-widget-wrap>span { color:var(--muted-text); font-size:.65rem; }
.privacy-note { display:flex; align-items:flex-start; gap:.5rem; margin-top:1rem; color:var(--muted-text); font-size:.61rem; line-height:1.5; }
.privacy-note i { margin-top:.12rem; color:var(--color-primary); }
.notification-message-area { min-height:0; }
.notification-feedback { display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; padding:.85rem 1rem; border:1px solid transparent; border-radius:12px; font-size:.72rem; font-weight:650; }
.notification-feedback.success { color:#047857; border-color:rgba(16,185,129,.22); background:rgba(16,185,129,.11); }
.notification-feedback.danger { color:#b42318; border-color:rgba(239,68,68,.2); background:rgba(239,68,68,.09); }
@media (max-width:991.98px) { .notification-layout { grid-template-columns:1fr; } .telegram-guide-card { display:grid; grid-template-columns:auto 1fr; column-gap:1rem; } .telegram-guide-card .telegram-mark { grid-row:1/4; } .telegram-guide-card .telegram-steps,.telegram-guide-card .telegram-widget-wrap,.telegram-guide-card .privacy-note { grid-column:1/-1; } }
@media (max-width:575.98px) { .notification-heading { margin-bottom:1.35rem; } .notification-heading h1 { font-size:2rem; } .notification-form-card,.telegram-guide-card { padding:1.15rem; border-radius:17px; } .notification-card-header { align-items:flex-start; flex-direction:column; } .notification-fields { grid-template-columns:1fr; } .notification-actions { flex-direction:column; } .notification-actions .btn { width:100%; } .telegram-guide-card { display:block; } }

/* ===== EXCHANGE SETTINGS ===== */
.exchange-settings-page { max-width:1120px; }
.exchange-settings-heading { max-width:760px; margin-bottom:1.8rem; }
.exchange-settings-form { display:grid; gap:1rem; }
.exchange-settings-summary { display:grid; grid-template-columns:180px 180px 1fr; gap:.75rem; padding:.85rem; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); }
.exchange-settings-summary>div { display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:.6rem; padding:.55rem .65rem; border-radius:11px; background:var(--hover-bg); }
.summary-icon { display:grid; place-items:center; width:34px; height:34px; grid-row:1/3; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 12%,transparent); }
.summary-icon.opportunity { color:#f59e0b; background:rgba(245,158,11,.13); }
.exchange-settings-summary span:not(.summary-icon) { color:var(--muted-text); font-size:.62rem; }
.exchange-settings-summary strong { grid-column:3; grid-row:1/3; color:var(--text-color); font-size:1.15rem; }
.exchange-settings-summary>p { display:flex; align-items:center; gap:.5rem; margin:0; padding:.65rem; color:var(--muted-text); font-size:.65rem; line-height:1.5; }
.exchange-settings-summary>p i { color:var(--color-primary); }
.exchange-preference-card { padding:1.45rem; border:1px solid var(--card-border); border-radius:19px; background:var(--card-bg); box-shadow:0 12px 32px rgba(8,30,44,.05); }
.preference-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.15rem; }
.preference-card-header h2 { margin:.18rem 0 .28rem; color:var(--text-color); font-size:1.13rem; }
.preference-card-header p { margin:0; color:var(--muted-text); font-size:.7rem; }
.select-all-button,.clear-selection-button { display:inline-flex; align-items:center; gap:.4rem; flex:none; font-size:.66rem; }
.exchange-choice-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.65rem; }
.exchange-choice { position:relative; display:flex; align-items:center; gap:.65rem; min-width:0; padding:.78rem; border:1px solid var(--card-border); border-radius:13px; background:var(--card-bg); cursor:pointer; transition:.18s ease; }
.exchange-choice:hover { border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border)); transform:translateY(-1px); }
.exchange-choice.selected { border-color:color-mix(in srgb,var(--color-primary) 45%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
.exchange-choice>input { position:absolute; opacity:0; pointer-events:none; }
.exchange-choice-mark { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,transparent); font-size:.75rem; font-weight:850; }
.exchange-choice-mark.opportunity { color:#f59e0b; background:rgba(245,158,11,.12); }
.exchange-choice-copy { min-width:0; flex:1; }
.exchange-choice-copy strong,.exchange-choice-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.exchange-choice-copy strong { color:var(--text-color); font-size:.72rem; }
.exchange-choice-copy small { margin-top:.12rem; color:var(--muted-text); font-size:.58rem; }
.exchange-check { display:grid; place-items:center; width:19px; height:19px; flex:none; border:1px solid var(--card-border); border-radius:6px; color:transparent; font-size:.55rem; }
.exchange-choice.selected .exchange-check { border-color:var(--color-primary); color:#fff; background:var(--color-primary); }
.sticky-save-bar { position:sticky; bottom:1rem; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; border:1px solid var(--card-border); border-radius:15px; background:color-mix(in srgb,var(--card-bg) 92%,transparent); box-shadow:0 16px 45px rgba(5,22,35,.16); backdrop-filter:blur(15px); }
.sticky-save-bar strong,.sticky-save-bar span { display:block; }
.sticky-save-bar strong { color:var(--text-color); font-size:.75rem; }
.sticky-save-bar span { color:var(--muted-text); font-size:.61rem; }
.sticky-save-bar .btn { display:inline-flex; align-items:center; gap:.45rem; flex:none; font-size:.7rem; }

/* ===== ACCOUNT PASSWORD ===== */
.account-panel-heading { margin-bottom:1.5rem; padding-bottom:1.1rem; border-bottom:1px solid var(--card-border); }
.account-panel-heading .section-kicker { display:flex; align-items:center; gap:.4rem; color:var(--color-primary); font-size:.72rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.account-panel-heading h2 { margin:.25rem 0 .38rem; color:var(--text-color); font-size:1.65rem; font-weight:900; letter-spacing:-.025em; }
.account-panel-heading p { max-width:680px; margin:0; color:var(--muted-text); font-size:.88rem; line-height:1.55; }
.password-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:1.25rem; align-items:start; }
.password-form { display:grid; gap:1.15rem; padding:1.2rem; border:1px solid var(--card-border); border-radius:16px; background:color-mix(in srgb,var(--card-bg) 97%,var(--text-color)); }
.password-form-intro { display:flex; align-items:center; gap:.7rem; padding:.8rem; border-radius:12px; color:#08766c; background:rgba(16,185,129,.09); }
.password-form-intro>i { font-size:.9rem; }
.password-form-intro span,.password-form-intro strong,.password-form-intro small { display:block; }
.password-form-intro strong { font-size:.78rem; }
.password-form-intro small { margin-top:.12rem; color:var(--muted-text); font-size:.68rem; }
.password-field .form-label { margin-bottom:.42rem; color:var(--text-color); font-size:.82rem; font-weight:800; }
.password-field .notification-input { min-height:48px; border-radius:12px; }
.password-field .form-control { font-size:.82rem; }
.password-field .text-danger { display:block; margin-top:.25rem; font-size:.69rem; }
.password-field-help { display:block; margin-top:.32rem; color:var(--muted-text); font-size:.68rem; line-height:1.45; }
.password-submit { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:.5rem; justify-self:start; padding:.7rem 1rem; border-radius:11px; font-size:.78rem; font-weight:850; }
.password-advice { padding:1.15rem; border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--card-border)); border-radius:16px; background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
.password-advice-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 12%,transparent); font-size:.9rem; }
.password-advice h3 { margin:.8rem 0 .35rem; color:var(--text-color); font-size:1rem; font-weight:850; }
.password-advice>p { margin:0 0 .85rem; color:var(--muted-text); font-size:.7rem; line-height:1.5; }
.password-advice ul { display:grid; gap:.7rem; margin:0; padding:0; list-style:none; }
.password-advice li { display:flex; gap:.55rem; color:var(--muted-text); font-size:.7rem; line-height:1.4; }
.password-advice li i { margin-top:.13rem; color:#10b981; }
.password-advice li span,.password-advice li strong { display:block; }
.password-advice li strong { margin-bottom:.08rem; color:var(--text-color); font-size:.73rem; }
.password-privacy-note { display:flex; gap:.45rem; margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--card-border); color:var(--muted-text); font-size:.66rem; line-height:1.45; }
.password-privacy-note i { margin-top:.15rem; color:var(--color-primary); }

/* ===== ADMIN USERS ===== */
.admin-users-page,.admin-user-form-page { max-width:1160px; }
.admin-user-form-page.narrow { max-width:760px; }
.admin-page-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.admin-page-hero h1 { margin:.35rem 0 .35rem; color:var(--text-color); font-size:2.35rem; letter-spacing:-.045em; }
.admin-page-hero p { max-width:650px; margin:0; color:var(--muted-text); font-size:.78rem; }
.admin-page-hero>.btn { display:inline-flex; align-items:center; gap:.45rem; flex:none; }
.admin-user-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-bottom:1rem; }
.admin-user-stats>div { padding:1rem; border:1px solid var(--card-border); border-radius:15px; background:var(--card-bg); }
.admin-user-stats span,.admin-user-stats small { display:block; color:var(--muted-text); font-size:.72rem; }
.admin-user-stats strong { display:block; margin:.15rem 0; color:var(--text-color); font-size:1.35rem; }
.admin-users-card,.admin-edit-card { border:1px solid var(--card-border); border-radius:19px; background:var(--card-bg); box-shadow:0 14px 38px rgba(8,30,44,.06); }
.admin-users-card { overflow:hidden; }
.admin-users-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; border-bottom:1px solid var(--card-border); }
.admin-users-toolbar h2 { margin:0; color:var(--text-color); font-size:1.12rem; }
.admin-users-toolbar span { color:var(--muted-text); font-size:.72rem; }
.admin-user-search { position:relative; width:260px; }
.admin-user-search i { position:absolute; top:50%; left:.75rem; color:var(--muted-text); font-size:.68rem; transform:translateY(-50%); }
.admin-user-search input { width:100%; min-height:44px; padding:.5rem .7rem .5rem 2rem; border:1px solid var(--card-border); border-radius:10px; color:var(--text-color); background:var(--card-bg); font-size:.78rem; }
.admin-users-table thead th { padding:.8rem 1rem; border-color:var(--card-border); color:var(--muted-text); background:var(--table-header-bg,var(--hover-bg)); font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; }
.admin-users-table tbody td { padding:.85rem 1rem; border-color:var(--card-border); }
.admin-user-cell { display:flex; align-items:center; gap:.65rem; }
.user-avatar { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:10px; color:#fff; background:linear-gradient(145deg,var(--color-primary),#0e7490); font-size:.72rem; font-weight:850; }
.admin-user-cell strong,.admin-user-cell small { display:block; }
.admin-user-cell strong { color:var(--text-color); font-size:.82rem; }
.admin-user-cell small { margin-top:.12rem; color:var(--muted-text); font-size:.66rem; }
.role-list { display:flex; gap:.3rem; flex-wrap:wrap; }
.role-badge { padding:.35rem .52rem; border-radius:8px; color:#0369a1; background:rgba(14,165,233,.11); font-size:.66rem; font-weight:800; }
.role-badge.admin { color:#7c3aed; background:rgba(124,58,237,.11); }
.role-badge.trader { color:#08766c; background:rgba(16,185,129,.11); }
.role-badge.empty { color:var(--muted-text); background:var(--hover-bg); }
.user-status { display:inline-flex; align-items:center; gap:.38rem; padding:.4rem .55rem; border-radius:8px; font-size:.67rem; font-weight:800; }
.user-status.active { color:#047857; background:rgba(16,185,129,.11); }
.user-status.locked { color:#b42318; background:rgba(239,68,68,.1); }
.admin-row-actions { display:flex; justify-content:flex-end; gap:.35rem; }
.admin-row-actions form { display:inline; }
.admin-row-actions .btn { display:inline-flex; align-items:center; gap:.38rem; min-height:38px; font-size:.68rem; font-weight:750; }
.admin-empty { display:flex; align-items:center; flex-direction:column; padding:3rem; color:var(--muted-text); text-align:center; }
.admin-empty i { margin-bottom:.75rem; color:var(--color-primary); font-size:1.8rem; }
.admin-empty strong,.admin-empty span { display:block; }
.admin-empty strong { color:var(--text-color); }
.admin-empty span { margin-top:.25rem; font-size:.7rem; }
.admin-edit-card { padding:1.5rem; }
.admin-user-form-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; margin:.85rem 0 1rem; padding:1.25rem 1.35rem; border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--card-border)); border-radius:19px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg)); }
.admin-user-form-hero>.user-avatar { width:52px; height:52px; border-radius:15px; font-size:1rem; }
.admin-user-form-hero h1 { overflow:hidden; margin:.16rem 0 .2rem; color:var(--text-color); font-size:1.45rem; font-weight:900; letter-spacing:-.025em; text-overflow:ellipsis; white-space:nowrap; }
.admin-user-form-hero p { margin:0; color:var(--muted-text); font-size:.76rem; line-height:1.5; }
.admin-user-edit-form { padding:0; overflow:hidden; }
.admin-edit-section { padding:1.3rem 1.4rem; border-bottom:1px solid var(--card-border); }
.admin-edit-section-heading { display:flex; align-items:center; gap:.7rem; margin-bottom:1rem; }
.admin-edit-section-heading>span { display:grid; width:38px; height:38px; flex:none; place-items:center; border-radius:11px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); }
.admin-edit-section-heading h2 { margin:0; color:var(--text-color); font-size:1rem; font-weight:850; }
.admin-edit-section-heading p { margin:.14rem 0 0; color:var(--muted-text); font-size:.7rem; }
.admin-wide-field { max-width:680px; }
.admin-wide-field .form-label { margin-bottom:.42rem; color:var(--text-color); font-size:.78rem; font-weight:800; }
.admin-wide-field .notification-input { min-height:48px; border-radius:12px; }
.admin-wide-field .form-control { font-size:.8rem; }
.admin-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.admin-form-section { margin-top:1.25rem; padding-top:1.15rem; border-top:1px solid var(--card-border); }
.admin-form-section h2 { margin:0; color:var(--text-color); font-size:.95rem; }
.admin-form-section>p { margin:.25rem 0 .8rem; color:var(--muted-text); font-size:.65rem; }
.role-choice-grid { display:flex; gap:.55rem; flex-wrap:wrap; }
.role-choice { cursor:pointer; }
.role-choice input { position:absolute; opacity:0; }
.role-choice>span { display:inline-flex; align-items:center; gap:.5rem; padding:.62rem .75rem; border:1px solid var(--card-border); border-radius:11px; color:var(--muted-text); font-size:.72rem; font-weight:750; }
.role-choice input:checked+span { border-color:var(--color-primary); color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)); }
.role-choice-grid-detailed { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.role-choice-grid-detailed .role-choice>span { display:grid; min-height:78px; grid-template-columns:28px minmax(0,1fr) 18px; }
.role-choice-grid-detailed .role-choice>span>i:first-child { font-size:.9rem; text-align:center; }
.role-choice-grid-detailed .role-choice>span>span,.role-choice-grid-detailed strong,.role-choice-grid-detailed small { display:block; }
.role-choice-grid-detailed strong { color:var(--text-color); font-size:.78rem; }
.role-choice-grid-detailed small { margin-top:.12rem; color:var(--muted-text); font-size:.64rem; font-weight:650; line-height:1.4; }
.role-choice-check { color:transparent; }
.role-choice input:checked+span .role-choice-check { color:var(--color-primary); }
.admin-confirm-choice { display:flex; align-items:flex-start; gap:.65rem; margin-top:1.2rem; padding:.85rem; border-radius:12px; background:var(--hover-bg); cursor:pointer; }
.admin-confirm-choice input { margin-top:.2rem; accent-color:var(--color-primary); }
.admin-confirm-choice strong,.admin-confirm-choice small { display:block; }
.admin-confirm-choice strong { color:var(--text-color); font-size:.78rem; }
.admin-confirm-choice small { margin-top:.12rem; color:var(--muted-text); font-size:.67rem; line-height:1.45; }
.admin-form-actions { display:flex; gap:.6rem; margin-top:1.3rem; }
.admin-form-actions .btn { display:inline-flex; min-height:44px; align-items:center; gap:.45rem; padding:.62rem .8rem; font-size:.74rem; font-weight:800; }
.admin-form-actions-spread { align-items:center; justify-content:space-between; margin:0; padding:1rem 1.4rem; }
.locked-user-note,.security-warning { display:flex; align-items:flex-start; gap:.55rem; margin-top:1rem; padding:.8rem; border-radius:11px; font-size:.64rem; line-height:1.5; }
.locked-user-note { color:#b42318; background:rgba(239,68,68,.09); }
.security-warning { color:#9a6700; background:rgba(245,158,11,.11); }
.hub-card.admin { border-color:color-mix(in srgb,#7c3aed 25%,var(--card-border)); }

@media (max-width:991.98px) {
    .account-manage-card>.row { --bs-gutter-x:1rem; }
    .password-layout { grid-template-columns:1fr; }
    .password-advice { display:grid; grid-template-columns:auto 1fr; column-gap:.8rem; }
    .password-advice h3 { align-self:end; margin:.15rem 0 .2rem; }
    .password-advice>p,.password-advice ul,.password-privacy-note { grid-column:1/-1; }
}

@media (max-width:767.98px) {
    .account-manage-card { padding:.8rem; }
    .account-manage-card .nav-pills { margin-bottom:1rem; flex-direction:row!important; overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
    .account-manage-card .nav-pills::-webkit-scrollbar { display:none; }
    .account-manage-card .nav-item { flex:0 0 auto; }
    .account-manage-card .nav-link { min-height:42px; white-space:nowrap; }
    .account-panel-heading h2 { font-size:1.4rem; }
    .account-panel-heading p { font-size:.78rem; }
    .password-form { padding:.9rem; }
    .admin-user-form-hero { grid-template-columns:auto minmax(0,1fr); padding:1rem; }
    .admin-user-form-hero>.user-status { grid-column:1/-1; width:max-content; }
    .admin-user-form-hero h1 { font-size:1.15rem; }
    .admin-user-form-hero p { font-size:.7rem; }
    .admin-edit-section { padding:1rem; }
    .role-choice-grid-detailed { grid-template-columns:1fr; }
    .admin-form-actions-spread { align-items:stretch; flex-direction:column-reverse; padding:1rem; }
    .admin-form-actions-spread .btn { width:100%; justify-content:center; }
}

/* Authentication */
.auth-page { position:relative; display:grid; min-height:calc(100vh - 205px); place-items:center; padding:3rem 1rem; isolation:isolate; }
.auth-page:before { position:absolute; z-index:-1; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(0,181,201,.11),rgba(0,181,201,0) 68%); content:""; }
.auth-card { width:min(100%,440px); overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--card-border)); border-radius:24px; background:var(--card-bg); box-shadow:0 28px 80px rgba(8,30,44,.12); }
.auth-brand { display:flex; align-items:center; gap:1rem; padding:1.6rem 1.7rem 1.3rem; border-bottom:1px solid var(--card-border); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)),var(--card-bg)); }
.auth-logo { display:grid; width:56px; height:56px; flex:none; place-items:center; border-radius:17px; background:#092231; box-shadow:0 10px 26px rgba(0,181,201,.18); }
.auth-logo img { width:45px; height:45px; }
.auth-brand span:not(.auth-logo) { color:var(--color-primary); font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.auth-brand h1 { margin:.12rem 0 0; color:var(--text-color); font-size:1.65rem; letter-spacing:-.035em; }
.auth-form { display:grid; gap:1.05rem; padding:1.55rem 1.7rem 1.35rem; }
.auth-field label { display:block; margin-bottom:.4rem; color:var(--text-color); font-size:.75rem; font-weight:760; }
.auth-input { display:grid; grid-template-columns:40px 1fr; min-height:52px; overflow:hidden; border:1px solid var(--card-border); border-radius:13px; background:color-mix(in srgb,var(--card-bg) 96%,var(--text-color)); transition:border-color .18s ease,box-shadow .18s ease; }
.auth-input:focus-within { border-color:color-mix(in srgb,var(--color-primary) 70%,var(--card-border)); box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 10%,transparent); }
.auth-input i { display:grid; place-items:center; color:var(--color-primary); font-size:.8rem; }
.auth-input input { min-width:0; border:0; outline:0; color:var(--text-color); background:transparent; font-size:.82rem; }
.auth-input input::placeholder { color:var(--muted-text); opacity:.75; }
.auth-field .text-danger { display:block; margin-top:.3rem; font-size:.66rem; }
.auth-options { display:flex; align-items:center; justify-content:flex-start; gap:1rem; color:var(--muted-text); font-size:.69rem; }
.auth-options a,.auth-footer a { color:var(--color-primary); font-weight:760; text-decoration:none; }
.auth-options a:hover,.auth-footer a:hover { text-decoration:underline; }
.auth-remember { display:flex; align-items:center; gap:.38rem; cursor:pointer; }
.auth-remember input { accent-color:var(--color-primary); }
.auth-submit { display:flex; min-height:50px; align-items:center; justify-content:center; gap:.55rem; border:0; border-radius:13px; color:#fff; background:linear-gradient(135deg,#08b9c9,#009d96); box-shadow:0 12px 28px rgba(0,181,201,.2); font-size:.8rem; font-weight:850; transition:transform .18s ease,box-shadow .18s ease; }
.auth-submit:hover { box-shadow:0 15px 34px rgba(0,181,201,.28); transform:translateY(-1px); }
.auth-footer { display:flex; justify-content:center; gap:.35rem; padding:1rem 1.4rem; border-top:1px solid var(--card-border); color:var(--muted-text); background:color-mix(in srgb,var(--card-bg) 96%,var(--text-color)); font-size:.7rem; }
.nav-user-profile { min-height:40px; align-items:center; gap:.3rem; padding:.5rem .7rem; border-radius:10px; color:#d7e5ec; font-size:.72rem; font-weight:720; text-decoration:none; transition:color .18s ease,background .18s ease; }
.nav-user-profile:hover { color:#fff; background:rgba(255,255,255,.065); }
.nav-user-profile-arrow { margin-left:.2rem; font-size:.48rem; opacity:.65; }

/* Super-administrator */
.admin-page-hero { align-items:center; margin-bottom:1rem; padding:1.4rem 1.5rem; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:22px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)),var(--card-bg)); box-shadow:0 16px 42px rgba(8,30,44,.06); }
.admin-hero-copy { display:flex; align-items:center; gap:1rem; }
.admin-hero-icon { display:grid; width:56px; height:56px; flex:none; place-items:center; border-radius:17px; color:#fff; background:linear-gradient(145deg,var(--color-primary),#087f8c); box-shadow:0 12px 28px color-mix(in srgb,var(--color-primary) 24%,transparent); font-size:1.2rem; }
.admin-page-hero h1 { margin:.16rem 0 .16rem; font-size:1.85rem; }
.admin-page-hero p { font-size:.72rem; }
.admin-create-user { min-height:44px; padding:.65rem .9rem; border-radius:12px; font-size:.72rem; font-weight:800; }
.admin-user-stats { gap:.65rem; }
.admin-user-stats .admin-stat-card { display:flex; align-items:center; gap:.75rem; min-height:82px; padding:.85rem 1rem; border-radius:15px; }
.admin-stat-card>i { display:grid; width:38px; height:38px; flex:none; place-items:center; border-radius:11px; color:#087f8c; background:rgba(0,181,201,.1); font-size:.82rem; }
.admin-stat-card.active>i { color:#047857; background:rgba(16,185,129,.11); }
.admin-stat-card.admin>i { color:#7c3aed; background:rgba(124,58,237,.1); }
.admin-user-stats .admin-stat-card span { display:flex; flex-direction:column-reverse; }
.admin-user-stats .admin-stat-card small { font-size:.64rem; }
.admin-user-stats .admin-stat-card strong { margin:0; font-size:1.45rem; line-height:1.05; }
.admin-users-card { border-radius:21px; box-shadow:0 18px 48px rgba(8,30,44,.075); }
.admin-users-toolbar { padding:1.2rem 1.3rem; }
.admin-users-toolbar h2 { font-size:1.05rem; }
.admin-user-search input { min-height:43px; border-radius:12px; font-size:.72rem; }
.admin-users-table tbody tr { transition:background .15s ease; }
.admin-users-table tbody tr:hover { background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.admin-users-table tbody td { padding:.95rem 1rem; }
.admin-user-cell strong { font-size:.76rem; }
.admin-row-actions .btn { min-height:36px; border-radius:9px; }

/* Users overview */
.admin-users-page { max-width:1240px; }
.admin-users-page .admin-page-hero { margin-bottom:1.15rem; padding:1.25rem 1.4rem; background:linear-gradient(120deg,color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)),var(--card-bg) 62%); }
.admin-users-page .admin-page-hero h1 { font-size:1.75rem; }
.admin-users-page .admin-page-hero p { max-width:720px; font-size:.8rem; line-height:1.55; }
.admin-users-page .admin-create-user { min-height:48px; padding:.7rem 1rem; font-size:.78rem; box-shadow:0 10px 24px color-mix(in srgb,var(--color-primary) 19%,transparent); }
.admin-users-page .admin-user-stats { gap:.8rem; margin-bottom:1.15rem; }
.admin-users-page .admin-stat-card { min-height:94px; border-color:color-mix(in srgb,var(--color-primary) 10%,var(--card-border)); background:linear-gradient(145deg,var(--card-bg),color-mix(in srgb,var(--color-primary) 3%,var(--card-bg))); }
.admin-users-page .admin-stat-card.active { background:linear-gradient(145deg,var(--card-bg),color-mix(in srgb,#10b981 4%,var(--card-bg))); }
.admin-users-page .admin-stat-card.admin { background:linear-gradient(145deg,var(--card-bg),color-mix(in srgb,#7c3aed 4%,var(--card-bg))); }
.admin-users-page .admin-stat-card>i { width:44px; height:44px; border-radius:13px; font-size:.92rem; }
.admin-users-page .admin-user-stats .admin-stat-card small { font-size:.72rem; font-weight:700; }
.admin-users-page .admin-user-stats .admin-stat-card strong { font-size:1.65rem; }
.admin-users-page .admin-users-card { padding-bottom:.45rem; background:color-mix(in srgb,var(--card-bg) 96%,var(--color-primary)); }
.admin-users-page .admin-users-toolbar { padding:1.15rem 1.3rem .85rem; border-bottom:0; }
.admin-users-page .admin-users-toolbar h2 { font-size:1.2rem; font-weight:900; }
.admin-users-page .admin-users-toolbar span { font-size:.76rem; line-height:1.45; }
.admin-users-page .admin-user-search { width:285px; }
.admin-users-page .admin-user-search input { min-height:46px; padding-left:2.15rem; border-radius:13px; font-size:.78rem; background:var(--card-bg); }
.admin-users-page .admin-user-search i { left:.82rem; font-size:.75rem; }
.admin-users-page .admin-users-table { width:calc(100% - 1.5rem); margin:0 .75rem!important; border-collapse:separate; border-spacing:0 .55rem; }
.admin-users-page .admin-users-table thead th { padding:.2rem .9rem .35rem; border:0; background:transparent; font-size:.69rem; }
.admin-users-page .admin-users-table tbody tr,.admin-users-page .admin-users-table tbody tr:hover { background:transparent; }
.admin-users-page .admin-users-table tbody td { padding:.82rem .9rem; border-top:1px solid var(--card-border); border-bottom:1px solid var(--card-border); background:var(--card-bg); transition:border-color .16s ease,background .16s ease; }
.admin-users-page .admin-users-table tbody td:first-child { border-left:1px solid var(--card-border); border-radius:14px 0 0 14px; }
.admin-users-page .admin-users-table tbody td:last-child { border-right:1px solid var(--card-border); border-radius:0 14px 14px 0; }
.admin-users-page .admin-users-table tbody tr:hover td { border-color:color-mix(in srgb,var(--color-primary) 25%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 2.5%,var(--card-bg)); }
.admin-users-page .admin-user-cell { gap:.78rem; }
.admin-users-page .user-avatar { width:42px; height:42px; border-radius:12px; font-size:.82rem; box-shadow:0 7px 18px rgba(8,114,131,.16); }
.admin-users-page .admin-user-cell strong { font-size:.88rem; font-weight:850; }
.admin-email-state { display:flex!important; align-items:center; gap:.3rem; margin-top:.22rem!important; font-size:.7rem!important; }
.admin-email-state.confirmed i { color:#10a173; }
.admin-email-state.unconfirmed { color:#b45309!important; }
.admin-users-page .role-list { gap:.38rem; }
.admin-users-page .role-badge { display:inline-flex; align-items:center; gap:.34rem; padding:.42rem .58rem; border-radius:9px; font-size:.7rem; }
.admin-users-page .user-status { gap:.4rem; padding:.45rem .62rem; border-radius:9px; font-size:.71rem; }
.admin-row-actions { align-items:center; gap:.4rem; }
.admin-row-action { display:inline-flex; width:auto; min-width:40px; min-height:40px; align-items:center; justify-content:center; gap:.42rem; padding:.55rem .7rem; border:1px solid var(--card-border); border-radius:10px; color:var(--muted-text); background:var(--card-bg); font-size:.71rem; font-weight:800; line-height:1; text-decoration:none; transition:transform .15s ease,border-color .15s ease,color .15s ease,background .15s ease; }
.admin-row-action:hover { border-color:color-mix(in srgb,var(--color-primary) 38%,var(--card-border)); color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)); transform:translateY(-1px); }
.admin-row-action.primary { border-color:color-mix(in srgb,var(--color-primary) 25%,var(--card-border)); color:#087f8c; background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); }
.admin-row-action.icon { width:40px; padding:0; }
.admin-row-action.danger { color:#d92d3a; border-color:rgba(217,45,58,.2); background:rgba(217,45,58,.045); }
.admin-row-action.unlock { color:#047857; border-color:rgba(16,185,129,.22); background:rgba(16,185,129,.06); }
.admin-row-actions form { margin:0; }

@media (max-width:767.98px) {
    .admin-users-page .admin-users-table { width:calc(100% - .7rem); margin:0 .35rem!important; }
    .admin-users-page .admin-users-table thead th { padding-right:.55rem; padding-left:.55rem; }
    .admin-users-page .admin-users-table tbody td { padding:.7rem .55rem; }
    .admin-users-page .admin-row-action.primary { width:40px; padding:0; }
    .admin-users-page .admin-row-action.primary span { display:none; }
}

@media (max-width:767.98px) {
    .auth-page { min-height:calc(100vh - 145px); padding:1.4rem .25rem 5.5rem; }
    .auth-page:before { width:350px; height:350px; }
    .auth-card { border-radius:20px; }
    .auth-brand { padding:1.25rem; }
    .auth-form { padding:1.25rem; }
    .admin-page-hero { padding:1rem; }
    .admin-hero-icon { width:48px; height:48px; border-radius:14px; }
    .admin-page-hero h1 { font-size:1.55rem; }
    .admin-page-hero>.btn { width:100%; justify-content:center; }
}

/* Paper trading bot */
.bot-page {
    --grid-log-border:#d9e9ee;
    --grid-log-surface:#f8fcfd;
    --grid-log-muted:#647784;
    --grid-log-text:#092d3c;
    --grid-log-heading:#0a3445;
    --grid-log-allowed-bg:#eaf9f5;
    --grid-log-allowed-text:#087c67;
    --grid-log-paused-bg:#fff4e5;
    --grid-log-paused-text:#a65a00;
    --grid-log-event-bg:#fbfdfe;
    --grid-log-event-border:#dce9ed;
    --grid-log-event-text:#526775;
    --grid-log-icon-bg:#e8f8f3;
    --grid-log-icon-text:#07836c;
    --grid-log-warning-icon-bg:#fff0e8;
    --grid-log-warning-icon-text:#bb5e20;
    --grid-log-recenter-icon-bg:#f0ecff;
    --grid-log-recenter-icon-text:#6e4bc5;
    display:grid;
    gap:.85rem;
    padding:.8rem 0 2rem;
}
.bot-card,.bot-card button,.bot-card input,.bot-card select,.bot-card textarea { font-family:inherit; }
.bot-hero { display:flex; position:relative; align-items:center; justify-content:space-between; gap:1.2rem; padding:1.25rem 1.4rem; overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--card-border)); border-radius:20px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)),var(--card-bg)); box-shadow:0 14px 38px rgba(8,30,44,.055); }
.bot-hero:after { content:""; position:absolute; right:-36px; bottom:-72px; width:180px; height:180px; border:25px solid color-mix(in srgb,var(--color-primary) 6%,transparent); border-radius:50%; pointer-events:none; }
.bot-hero>div,.bot-safety { position:relative; z-index:1; }
.bot-eyebrow { display:flex; align-items:center; gap:.42rem; color:var(--color-primary); font-size:.65rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.bot-hero h1 { margin:.18rem 0 .16rem; font-size:1.75rem; font-weight:900; letter-spacing:-.04em; }
.bot-hero p { margin:0; color:var(--muted-text); font-size:.78rem; }
.bot-safety { display:flex; align-items:center; gap:.45rem; padding:.58rem .75rem; border-radius:999px; color:#047857; background:rgba(16,185,129,.1); font-size:.68rem; font-weight:850; white-space:nowrap; }
.bot-overview-bar { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.7rem; padding:.45rem; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); box-shadow:0 10px 30px rgba(8,30,44,.045); }
.bot-top-totals { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin:0; }
.bot-top-metric { display:flex; min-width:0; align-items:center; gap:.45rem; padding:.42rem .5rem; border-left:1px solid var(--card-border); background:transparent; }
.bot-top-metric>span:last-child { display:grid; min-width:0; grid-template-columns:auto auto; align-items:baseline; column-gap:.38rem; }
.bot-top-totals small { grid-column:1/-1; color:var(--muted-text); font-size:.59rem; font-weight:750; }
.bot-top-totals strong { color:var(--text-color); font-size:.84rem; font-weight:900; white-space:nowrap; }
.bot-top-totals em { color:var(--muted-text); font-size:.62rem; font-style:normal; font-weight:800; }
.bot-top-total-icon { display:grid; width:30px; height:30px; flex:none; place-items:center; border-radius:9px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,transparent); font-size:.68rem; }
.bot-top-totals .is-positive strong,.bot-top-totals .is-positive em { color:#059669; }
.bot-top-totals .is-negative strong,.bot-top-totals .is-negative em { color:#dc4b55; }
.bot-capital-toggle { display:none; }
.bot-capital-allocation { display:none; }
.bot-capital-allocation-track { display:block; height:5px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); }
.bot-capital-allocation-track i { display:block; width:clamp(0%,var(--bot-used-percentage),100%); height:100%; border-radius:inherit; background:#08706f; }
.bot-capital-allocation small { color:var(--muted-text); font-size:.52rem; font-weight:650; white-space:nowrap; }
.bot-notice { display:flex; align-items:center; gap:.5rem; padding:.75rem .9rem; border:1px solid rgba(16,185,129,.2); border-radius:13px; color:#047857; background:rgba(16,185,129,.07); font-size:.72rem; font-weight:750; }
.bot-notice[hidden] { display:none; }
.bot-notice.is-error { border-color:rgba(220,75,85,.22); color:#b4232e; background:rgba(220,75,85,.08); }
.bot-mode-tabs { display:flex; width:max-content; align-items:stretch; gap:.18rem; padding:.18rem; border:1px solid var(--card-border); border-radius:12px; background:color-mix(in srgb,var(--section-bg) 62%,var(--card-bg)); }
.bot-mode-tabs button { display:flex; align-items:center; gap:.42rem; min-height:36px; padding:.45rem .8rem; border:1px solid transparent; border-radius:9px; color:var(--muted-text); background:transparent; font-size:.68rem; font-weight:850; transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease; }
.bot-mode-tabs button:hover { color:var(--text-color); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
.bot-mode-tabs button:focus-visible { outline:0; box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent); }
.bot-mode-tabs button.is-active { color:#075d61; border-color:color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); box-shadow:0 3px 10px rgba(8,74,82,.08); }
.bot-mode-tabs button.is-active i { color:var(--color-primary); }
.bot-list-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(235px,auto) auto; align-items:center; gap:.65rem; padding:.62rem .7rem; border:1px solid var(--card-border); border-radius:15px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 4%,var(--card-bg)),var(--card-bg)); box-shadow:0 9px 26px rgba(8,30,44,.045); }
.bot-list-controls[hidden],.bot-overview-actions [data-mode-specific-action][hidden] { display:none!important; }
.bot-list-filter { display:flex; min-width:0; align-items:center; gap:.32rem; overflow:visible; flex-wrap:wrap; }
.bot-list-filter::-webkit-scrollbar { display:none; }
.bot-list-filter button { display:inline-flex; min-height:35px; flex:none; align-items:center; justify-content:center; gap:.35rem; padding:.42rem .68rem; border:1px solid transparent; border-radius:9px; color:var(--muted-text); background:transparent; font-size:.63rem; font-weight:825; white-space:nowrap; transition:color .16s ease,border-color .16s ease,background .16s ease; }
.bot-list-filter button:hover { color:var(--text-color); background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)); }
.bot-list-filter button.is-active { color:#08736f; border-color:color-mix(in srgb,var(--color-primary) 25%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); }
.bot-list-mobile-filter { display:none; }
.bot-list-sort { display:flex; align-items:center; gap:.45rem; color:var(--muted-text); font-size:.6rem; font-weight:800; white-space:nowrap; }
.bot-list-sort>span { display:flex; align-items:center; gap:.3rem; }
.bot-list-sort-select { position:relative; min-width:245px; }
.bot-list-sort select { width:100%; min-width:245px; height:38px; padding:0 2rem 0 .72rem; appearance:none; border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--card-border)); border-radius:10px; color:var(--text-color); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)),var(--card-bg)); box-shadow:0 3px 10px rgba(8,30,44,.045); font:inherit; font-size:.64rem; font-weight:800; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.bot-list-sort select:hover { border-color:color-mix(in srgb,var(--color-primary) 38%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)); }
.bot-list-sort select:focus { outline:0; border-color:var(--color-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent); }
.bot-list-sort-select>i { position:absolute; top:50%; right:.72rem; color:var(--color-primary); font-size:.58rem; pointer-events:none; transform:translateY(-50%); }
.bot-list-count { min-width:72px; color:var(--muted-text); font-size:.58rem; font-weight:750; text-align:right; white-space:nowrap; }
.bot-all-list>.bot-card[hidden] { display:none!important; }
.bot-all-list .bot-all-margin-card { border-color:color-mix(in srgb,#7c5ce7 24%,var(--card-border)); background:linear-gradient(135deg,color-mix(in srgb,#7c5ce7 4%,var(--card-bg)),color-mix(in srgb,#5b4bc4 3%,var(--card-bg)) 55%,color-mix(in srgb,#7c5ce7 3%,var(--card-bg))); box-shadow:inset 3px 0 0 color-mix(in srgb,#7c5ce7 48%,transparent),0 10px 28px rgba(59,45,122,.045); }
.bot-all-list .bot-all-margin-card:hover { border-color:color-mix(in srgb,#7c5ce7 42%,var(--card-border)); }
.bot-all-list .bot-all-margin-card .bot-card-header,.bot-all-list .bot-all-margin-card .bot-grid-details,.bot-all-list .bot-all-margin-card .bot-grid-details>summary,.bot-all-list .bot-all-margin-card .bot-grid-balance-bar,.bot-all-list .bot-all-margin-card .bot-grid-details-body,.bot-all-list .bot-all-margin-card .bot-grid-prices,.bot-all-list .bot-all-margin-card .bot-grid-monitor,.bot-all-list .bot-all-margin-card .bot-card-actions { background:color-mix(in srgb,#7c5ce7 4%,var(--card-bg)); }
.bot-kind-marker { display:inline-flex; height:18px; padding:0 .42rem; align-items:center; border:1px solid rgba(124,92,231,.3); border-radius:999px; color:#6242c7; background:rgba(124,92,231,.11); font-size:.49rem; font-weight:900; letter-spacing:.045em; line-height:1; text-transform:uppercase; }
.bot-strategy-badge.is-bulltrend { color:#047857; border-color:rgba(16,185,129,.24); background:rgba(16,185,129,.09); }
[data-theme="dark"] .bot-all-list .bot-all-margin-card { border-color:rgba(167,139,250,.22); background:linear-gradient(135deg,rgba(124,92,231,.06),rgba(91,75,196,.035) 58%,color-mix(in srgb,#8b6df0 4%,var(--card-bg))); box-shadow:inset 3px 0 0 rgba(167,139,250,.42),0 12px 30px rgba(0,0,0,.13); }
[data-theme="dark"] .bot-all-list .bot-all-margin-card .bot-card-header,[data-theme="dark"] .bot-all-list .bot-all-margin-card .bot-grid-details,[data-theme="dark"] .bot-all-list .bot-all-margin-card .bot-grid-details>summary,[data-theme="dark"] .bot-all-list .bot-all-margin-card .bot-grid-balance-bar,[data-theme="dark"] .bot-all-list .bot-all-margin-card .bot-grid-details-body,[data-theme="dark"] .bot-all-list .bot-all-margin-card .bot-grid-prices,[data-theme="dark"] .bot-all-list .bot-all-margin-card .bot-grid-monitor,[data-theme="dark"] .bot-all-list .bot-all-margin-card .bot-card-actions { background:color-mix(in srgb,#8b6df0 7%,var(--card-bg)); }
[data-theme="dark"] .bot-kind-marker { color:#d8ccff; border-color:rgba(167,139,250,.34); background:rgba(124,92,231,.18); }
.bot-open-create { display:flex; min-width:140px; align-items:center; justify-content:center; gap:.45rem; padding:.55rem .85rem; border:1px solid rgba(82,216,211,.2); border-radius:12px; color:#f4ffff; background:linear-gradient(135deg,#0b2a3a,#103d4d); box-shadow:0 7px 18px rgba(6,30,43,.12); font-size:.7rem; font-weight:850; white-space:nowrap; transition:background .16s ease,box-shadow .16s ease,transform .16s ease; }
.bot-open-create i { display:grid; width:25px; height:25px; place-items:center; border-radius:8px; color:#bafff7; background:rgba(45,211,198,.18); font-size:.65rem; }
.bot-open-create:hover { background:linear-gradient(135deg,#10384a,#145164); box-shadow:0 9px 22px rgba(6,30,43,.18); transform:translateY(-1px); }
.bot-open-create:focus-visible { outline:0; box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 22%,transparent),0 9px 22px rgba(6,30,43,.18); }
.bot-overview-actions { display:flex; align-items:stretch; gap:.45rem; }
.bot-overview-actions[hidden] { display:none!important; }
.bot-overview-actions form { display:flex; margin:0; }
.bot-grid-comparison-action { display:grid; width:42px; min-width:42px; min-height:42px; place-items:center; border:0; border-radius:11px; color:#087b7a; background:transparent; font-size:.86rem; text-decoration:none; transition:color .16s ease,background .16s ease; }
.bot-grid-comparison-action:hover { color:#055f64; background:rgba(8,170,164,.08); }
.bot-grid-comparison-action:focus-visible { outline:0; box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent); }
.bot-bulk-control { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 .7rem; padding:.65rem .8rem; border:1px solid color-mix(in srgb,var(--color-primary) 15%,var(--card-border)); border-radius:14px; background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.bot-operations-panel { margin:0 0 .85rem; padding:.75rem; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:16px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)),var(--card-bg)); box-shadow:0 10px 28px rgba(15,42,58,.05); }
.bot-operations-heading,.bot-operations-heading>span,.bot-engine-health,.bot-risk-health { display:flex; align-items:center; }
.bot-operations-heading { justify-content:space-between; gap:1rem; margin-bottom:.65rem; }
.bot-operations-heading>span { gap:.55rem; min-width:0; }
.bot-operations-heading>span>i { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,transparent); }
.bot-operations-heading span span { display:flex; flex-direction:column; }
.bot-operations-heading strong { font-size:.76rem; }
.bot-operations-heading small,.bot-operations-heading time { color:var(--muted-text); font-size:.58rem; }
.bot-engine-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) minmax(260px,1.25fr); gap:.55rem; }
.bot-engine-health,.bot-risk-health { position:relative; min-width:0; gap:.55rem; padding:.62rem; border:1px solid var(--card-border); border-radius:12px; background:var(--card-bg); }
.bot-engine-health>i,.bot-risk-health>i { display:grid; width:31px; height:31px; flex:none; place-items:center; border-radius:9px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 9%,transparent); }
.bot-engine-health>span,.bot-risk-health>span { display:flex; min-width:0; flex:1; flex-direction:column; }
.bot-engine-health strong,.bot-risk-health strong { font-size:.66rem; }
.bot-engine-health small,.bot-risk-health small { overflow:hidden; color:var(--muted-text); font-size:.54rem; text-overflow:ellipsis; white-space:nowrap; }
.bot-engine-health>b { display:flex; align-items:center; gap:.3rem; color:var(--muted-text); font-size:.55rem; }
.bot-engine-health>b>i { width:7px; height:7px; border-radius:50%; background:#e3a314; }
.bot-engine-health.is-healthy>b { color:#078d69; }.bot-engine-health.is-healthy>b>i { background:#0fbd8c; box-shadow:0 0 0 4px rgba(15,189,140,.12); }
.bot-engine-health.is-error>b { color:#dc4051; }.bot-engine-health.is-error>b>i { background:#e54859; box-shadow:0 0 0 4px rgba(229,72,89,.12); }
.bot-engine-health>p { position:absolute; right:.55rem; bottom:-1.1rem; z-index:2; display:none; max-width:300px; padding:.45rem; border-radius:8px; background:#fff2f3; color:#bf3041; font-size:.53rem; box-shadow:0 6px 20px rgba(43,23,25,.15); }
.bot-engine-health:hover>p { display:block; }
.bot-risk-health { display:grid; grid-template-columns:auto 1fr auto auto; }
.bot-risk-health>div { display:flex; flex-direction:column; padding-left:.55rem; border-left:1px solid var(--card-border); }
.bot-risk-health em { color:var(--muted-text); font-size:.48rem; font-style:normal; }.bot-risk-health div b { font-size:.57rem; }
.bot-risk-limits { margin-top:.55rem; border-top:1px solid var(--card-border); }
.bot-risk-limits summary { display:flex; cursor:pointer; align-items:center; justify-content:space-between; padding:.58rem .15rem .05rem; color:var(--text-color); font-size:.6rem; list-style:none; }
.bot-risk-limits summary span { display:flex; align-items:center; gap:.45rem; }.bot-risk-limits summary span i { color:var(--color-primary); }
.bot-risk-limits[open] summary>i { transform:rotate(180deg); }.bot-risk-limits summary>i { transition:transform .2s; }
.bot-risk-limits>form { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)) auto; align-items:end; gap:.45rem; margin-top:.55rem; }
.bot-risk-limits>form>label { display:flex; min-width:0; flex-direction:column; gap:.22rem; padding:.5rem; border:1px solid var(--card-border); border-radius:10px; background:var(--card-bg); }
.bot-risk-limits>form>label>span:first-child { overflow:hidden; color:var(--muted-text); font-size:.48rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }.bot-risk-limits>form>label>span:first-child i { margin-right:.2rem; color:var(--color-primary); }
.bot-risk-limits input { width:100%; min-width:0; height:30px; padding:.25rem .4rem; border:1px solid var(--card-border); border-radius:7px; color:var(--text-color); background:var(--input-bg,var(--card-bg)); font-size:.62rem; font-weight:800; }
.bot-risk-limits label small { color:var(--muted-text); font-size:.44rem; white-space:nowrap; }
.bot-risk-input { position:relative; display:block; }.bot-risk-input input { padding-right:1.2rem; }.bot-risk-input b { position:absolute; top:50%; right:.42rem; transform:translateY(-50%); color:var(--color-primary); font-size:.55rem; }
.bot-risk-limits form>button { height:42px; padding:0 .75rem; border:0; border-radius:10px; color:#fff; background:var(--color-primary); font-size:.57rem; font-weight:850; white-space:nowrap; }
.bot-risk-limits>p { margin:.45rem .1rem 0; color:var(--muted-text); font-size:.51rem; }
.bot-strategy-comparison { margin-top:.55rem; border-top:1px solid var(--card-border); }
.bot-strategy-comparison summary { display:flex; cursor:pointer; align-items:center; justify-content:space-between; gap:1rem; padding:.62rem .15rem .1rem; list-style:none; }
.bot-strategy-comparison summary>span { display:flex; align-items:center; gap:.5rem; }.bot-strategy-comparison summary span small { margin-left:.25rem; color:var(--muted-text); font-size:.54rem; font-weight:500; }
.bot-strategy-comparison[open] summary>i { transform:rotate(180deg); }.bot-strategy-comparison summary>i { transition:transform .2s; }
.bot-strategy-comparison .table-responsive { margin-top:.55rem; border:1px solid var(--card-border); border-radius:11px; }
.bot-strategy-comparison table { width:100%; border-collapse:collapse; font-size:.59rem; }.bot-strategy-comparison th,.bot-strategy-comparison td { padding:.48rem .55rem; border-bottom:1px solid var(--card-border); text-align:left; white-space:nowrap; }
.bot-strategy-comparison td.positive { color:#00996f; font-weight:800; }.bot-strategy-comparison td.negative { color:#df4051; font-weight:800; }
.bot-strategy-comparison>p { margin:.45rem .1rem 0; color:var(--muted-text); font-size:.53rem; }
@media (max-width:720px) {
    .bot-operations-panel { padding:.62rem; border-radius:14px; }
    .bot-operations-heading { align-items:flex-start; }.bot-operations-heading time { white-space:nowrap; }
    .bot-operations-heading small { display:none; }
    .bot-engine-grid { grid-template-columns:1fr 1fr; }
    .bot-risk-health { grid-column:1/-1; grid-template-columns:auto 1fr; }
    .bot-risk-health>div { margin-top:.35rem; padding:.35rem 0 0; border-top:1px solid var(--card-border); border-left:0; }
    .bot-risk-health>div:nth-of-type(2) { padding-left:.6rem; border-left:1px solid var(--card-border); }
    .bot-engine-health { align-items:flex-start; flex-wrap:wrap; }.bot-engine-health>b { width:100%; padding-left:2.55rem; }
    .bot-strategy-comparison summary span small { display:none; }
    .bot-strategy-comparison table { min-width:720px; }
    .bot-risk-limits>form { grid-template-columns:1fr 1fr; }.bot-risk-limits>form>label:nth-child(5),.bot-risk-limits>form>button { grid-column:1/-1; }.bot-risk-limits form>button { width:100%; }
}
.bot-bulk-control>span { display:flex; min-width:0; align-items:center; gap:.55rem; }
.bot-bulk-control>span>i { display:grid; width:30px; height:30px; flex:none; place-items:center; border-radius:9px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); }
.bot-bulk-control>span>span { display:flex; min-width:0; flex-direction:column; }
.bot-bulk-control strong { font-size:.7rem; font-weight:900; }
.bot-bulk-control small { color:var(--muted-text); font-size:.56rem; }
.bot-bulk-control form { margin:0; }
.bot-bulk-control-actions { display:flex; flex:none; align-items:center; gap:.65rem; }
.bot-inline-engine { display:inline-flex; align-items:center; gap:.35rem; color:var(--muted-text); font-size:.57rem; font-weight:850; white-space:nowrap; }
.bot-inline-engine>i { width:7px; height:7px; flex:none; border-radius:50%; background:#e3a314; }
.bot-inline-engine.is-healthy { color:#078d69; }.bot-inline-engine.is-healthy>i { background:#0fbd8c; box-shadow:0 0 0 4px rgba(15,189,140,.12); }
.bot-inline-engine.is-error { color:#dc4051; }.bot-inline-engine.is-error>i { background:#e54859; box-shadow:0 0 0 4px rgba(229,72,89,.12); }
.bot-bulk-switch { display:flex; min-width:92px; align-items:center; justify-content:center; gap:.42rem; padding:.38rem .55rem; border:1px solid var(--card-border); border-radius:999px; color:var(--muted-text); background:var(--card-bg); font-size:.62rem; font-weight:850; }
.bot-bulk-switch>i { position:relative; width:30px; height:17px; flex:none; border-radius:999px; background:color-mix(in srgb,var(--muted-text) 20%,var(--card-bg)); }
.bot-bulk-switch>i::after { position:absolute; top:3px; left:3px; width:11px; height:11px; border-radius:50%; background:var(--muted-text); content:""; transition:.18s ease; }
.bot-bulk-switch.is-active { color:#047857; border-color:rgba(16,185,129,.24); background:rgba(16,185,129,.07); }
.bot-bulk-switch.is-active>i { background:rgba(16,185,129,.22); }
.bot-bulk-switch.is-active>i::after { left:16px; background:#10b981; }
.bot-reset-result { display:flex; align-items:center; justify-content:center; gap:.4rem; min-width:116px; padding:.55rem .7rem; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:12px; color:#087b7a; background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); font-size:.68rem; font-weight:850; white-space:nowrap; }
.bot-reset-result:hover { color:#075f64; background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)); }
.bot-history-link { display:flex; min-width:124px; align-items:center; justify-content:center; gap:.4rem; padding:.55rem .7rem; border:1px solid var(--card-border); border-radius:12px; color:var(--muted-text); background:var(--card-bg); font-size:.68rem; font-weight:850; text-decoration:none; white-space:nowrap; }
.bot-history-link:hover { color:var(--color-primary); border-color:color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
.bot-create-dialog { width:min(880px,calc(100vw - 64px)); max-width:880px; max-height:calc(100dvh - 32px); padding:0; overflow:visible; border:0; border-radius:20px; color:var(--text-color); background:transparent; box-shadow:0 26px 80px rgba(4,25,35,.26); }
.bot-create-dialog::backdrop { background:rgba(4,25,35,.58); backdrop-filter:blur(5px); }
.bot-dialog-shell { overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:20px; background:var(--card-bg); }
.bot-dialog-header { display:grid; grid-template-columns:42px minmax(0,1fr) 36px; align-items:center; gap:.7rem; padding:1rem 1.05rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 4%,var(--card-bg)); }
.bot-dialog-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(145deg,var(--color-primary),#008f84); box-shadow:0 8px 18px color-mix(in srgb,var(--color-primary) 18%,transparent); }
.bot-dialog-header>div>span { color:var(--color-primary); font-size:.56rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.bot-dialog-header h2 { margin:.08rem 0 0; font-size:1rem; font-weight:900; }
.bot-dialog-header p { margin:.12rem 0 0; color:var(--muted-text); font-size:.64rem; }
.bot-dialog-close { display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--card-border); border-radius:10px; color:var(--muted-text); background:var(--card-bg); font-size:.75rem; }
.bot-dialog-close:hover,.bot-dialog-close:focus-visible { color:var(--text-color); border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border)); outline:0; }
.bot-dialog-body { max-height:calc(100dvh - 180px); min-height:215px; padding:1.15rem; overflow:auto; overscroll-behavior:contain; }
.bot-create-card.bot-create-card-dialog { display:block; padding:0; border:0; border-radius:0; box-shadow:none; }
.bot-create-card.bot-create-card-dialog[hidden] { display:none; }
.bot-create-card-dialog .bot-create-form { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"coin mode" "timeframe amount" "risk target" "strategy strategy" "action action"; align-items:start; gap:.9rem 1rem; }
.bot-create-card-dialog .bot-create-form:has(.bot-field-target[hidden]) { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"coin mode" "timeframe amount" "risk risk" "strategy strategy" "action action"; }
.bot-create-card-dialog .bot-spot-create-form,
.bot-create-card-dialog .bot-spot-create-form:has(.bot-field-target[hidden]) { grid-template-areas:"coin amount" "mode timeframe" "risk risk" "summary summary" "action action"; }
.bot-create-card-dialog .bot-spot-create-form:has(.bot-field-grid-range:not([hidden])) { grid-template-areas:"coin amount" "mode timeframe" "gridstrategy gridstrategy" "gridrange gridlevels" "gridstart gridreserve" "risk risk" "summary summary" "action action"; }
.bot-create-card-dialog .bot-field-coin { grid-area:coin; }
.bot-create-card-dialog .bot-field-mode { grid-area:mode; }
.bot-create-card-dialog .bot-field-direction { grid-area:direction; }
.bot-create-card-dialog .bot-field-timeframe { grid-area:timeframe; }
.bot-create-card-dialog .bot-field-daily { grid-area:daily; }
.bot-create-card-dialog .bot-edit-spot-form { grid-template-areas:"coin daily" "timeframe risk" "target risk" "strategy strategy" "action action"; }
.bot-create-card-dialog .bot-edit-spot-form:has(.bot-field-target[hidden]) { grid-template-areas:"coin daily" "timeframe risk" "strategy strategy" "action action"; }
.bot-spot-analysis-method { display:flex; min-width:0; flex-direction:column; gap:.32rem; color:var(--muted-text); font-size:.62rem; font-weight:780; }
.bot-spot-analysis-method>span { min-height:1rem; display:flex; align-items:flex-end; }
.bot-spot-analysis-method>div { display:grid; min-height:44px; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:.55rem; padding:.42rem .65rem; border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); border-radius:11px; background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)); }
.bot-spot-analysis-method>div>i:first-child { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,transparent); font-size:.72rem; }
.bot-spot-analysis-method>div>span { display:flex; min-width:0; flex-direction:column; }
.bot-spot-analysis-method strong { color:var(--text-color); font-size:.75rem; font-weight:900; line-height:1.2; }
.bot-spot-analysis-method small { margin-top:.08rem; overflow:hidden; color:var(--muted-text); font-size:.54rem; font-weight:650; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.bot-spot-analysis-method>div>i:last-child { color:color-mix(in srgb,var(--muted-text) 58%,transparent); font-size:.58rem; }
.bot-analysis-toggle>div { cursor:pointer; }
.bot-field-daily { display:flex; min-width:0; flex-direction:column; gap:.32rem; color:var(--muted-text); font-size:.62rem; font-weight:780; }
.bot-field-daily>span { min-height:1rem; display:flex; align-items:flex-end; }
.bot-field-daily>div { display:grid; min-height:44px; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:.55rem; padding:.42rem .65rem; border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); border-radius:11px; background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)); }
.bot-field-daily>div>i:first-child { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,transparent); font-size:.72rem; }
.bot-field-daily>div>span { display:flex; min-width:0; flex-direction:column; }
.bot-field-daily strong { color:var(--text-color); font-size:.75rem; font-weight:900; line-height:1.2; }
.bot-field-daily small { margin-top:.08rem; overflow:hidden; color:var(--muted-text); font-size:.54rem; font-weight:650; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.bot-analysis-toggle input[type="checkbox"] { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.bot-toggle-track { position:relative; display:block!important; width:34px; height:20px; border:1px solid color-mix(in srgb,var(--muted-text) 32%,transparent); border-radius:999px; background:color-mix(in srgb,var(--muted-text) 16%,var(--card-bg)); transition:.18s ease; }
.bot-toggle-track>i { position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:var(--muted-text); transition:.18s ease; }
.bot-analysis-toggle input[type="checkbox"]:checked+.bot-toggle-track { border-color:color-mix(in srgb,var(--color-primary) 55%,transparent); background:color-mix(in srgb,var(--color-primary) 30%,var(--card-bg)); }
.bot-analysis-toggle input[type="checkbox"]:checked+.bot-toggle-track>i { left:17px; background:var(--color-primary); }
.bot-analysis-toggle:focus-within>div { outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent); outline-offset:2px; }
.bot-field-grid-timeframe { transition:opacity .18s ease,filter .18s ease; }
.bot-field-grid-timeframe.is-disabled { opacity:.48; filter:saturate(.35); }
.bot-field-grid-timeframe.is-disabled select { cursor:not-allowed; }
.bot-create-card-dialog .bot-field-amount { grid-area:amount; }
.bot-create-card-dialog .bot-field-leverage { grid-area:leverage; }
.bot-create-card-dialog .bot-field-target { grid-area:target; }
.bot-create-card-dialog .bot-field-strategy { grid-area:strategy; }
.bot-create-card-dialog .bot-field-risk { grid-area:risk; }
.bot-create-card-dialog .bot-field-grid-range { grid-area:gridrange; }
.bot-create-card-dialog .bot-field-grid-levels { grid-area:gridlevels; }
.bot-create-card-dialog .bot-field-grid-start-inventory { grid-area:gridstart; }
.bot-create-card-dialog .bot-field-grid-profit-reserve { grid-area:gridreserve; }
.bot-create-card-dialog .bot-field-grid-strategy { grid-area:gridstrategy; }
.bot-create-card-dialog .bot-strategy-summary { grid-area:summary; }
.bot-create-card-dialog .bot-create-form>button { grid-area:action; }
.bot-create-card-dialog .bot-create-form>button { grid-column:1/-1; min-height:46px; margin-top:.1rem; border:1px solid rgba(82,216,211,.2); color:#f4ffff; background:linear-gradient(135deg,#0b2a3a,#103d4d); box-shadow:0 7px 18px rgba(6,30,43,.12); transition:background .16s ease,box-shadow .16s ease,transform .16s ease; }
.bot-create-card-dialog .bot-create-form>button:hover { background:linear-gradient(135deg,#10384a,#145164); box-shadow:0 9px 22px rgba(6,30,43,.18); transform:translateY(-1px); }
.bot-create-card-dialog .bot-create-form>button:focus-visible { outline:0; box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 22%,transparent),0 9px 22px rgba(6,30,43,.18); }
.bot-create-card-dialog .bot-margin-form { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"coin mode" "direction timeframe" "daily daily" "amount leverage" "target risk" "strategy strategy" "action action"; row-gap:.78rem; }
.bot-create-card-dialog .bot-margin-form:has(.bot-field-target[hidden]) { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"coin mode" "direction timeframe" "daily daily" "amount leverage" "strategy strategy" "risk risk" "action action"; }
.bot-create-card-dialog .bot-margin-form:has(.bot-field-grid-range:not([hidden])) { grid-template-areas:"coin mode" "direction timeframe" "gridstrategy leverage" "amount risk" "gridrange gridlevels" "action action"; }
.bot-create-card-dialog .bot-margin-create-form:has([data-swing-field]:not([hidden])) { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"coin mode" "summary summary" "swingentry swingentry" "direction timeframe" "amount leverage" "risk risk" "action action"; }
.bot-margin-create-form [data-margin-swing-option] { grid-area:swingentry; }
.bot-margin-form [data-margin-swing-option] input[type="checkbox"] { width:1.1rem; height:1.1rem; min-height:0; flex:none; accent-color:var(--color-primary); }
.bot-margin-form [data-margin-swing-option] small { font-weight:400; line-height:1.5; }
.bot-create-card-dialog .bot-edit-margin-form { grid-template-areas:"coin direction" "timeframe daily" "leverage leverage" "target risk" "strategy strategy" "action action"; }
.bot-create-card-dialog .bot-edit-margin-form:has(.bot-field-target[hidden]) { grid-template-areas:"coin direction" "timeframe daily" "leverage leverage" "strategy strategy" "risk risk" "action action"; }
.bot-create-card-dialog .bot-edit-margin-form:has(.bot-field-grid-range:not([hidden])) { grid-template-areas:"coin direction" "timeframe leverage" "gridstrategy gridstrategy" "gridrange gridlevels" "risk risk" "action action"; }
.bot-create-card-dialog .bot-margin-form .bot-field-daily>div { min-height:52px; padding:.48rem .7rem; }
.bot-create-card-dialog .bot-margin-form .bot-field-daily small { overflow:visible; line-height:1.35; text-overflow:clip; white-space:normal; }
.bot-create-card-dialog .bot-margin-form .bot-field-leverage { align-self:stretch; justify-content:center; }
.bot-create-card-dialog .bot-margin-form .bot-field-strategy select { font-weight:850; }
.bot-create-card-dialog .bot-margin-form .bot-field-timeframe.is-disabled { opacity:.62; }
.bot-create-card-dialog .bot-margin-form .bot-field-timeframe.is-disabled select { cursor:not-allowed; background:var(--section-bg); }
.bot-create-card-dialog .bot-margin-form .bot-analysis-toggle>div:has(input:checked) { border-color:color-mix(in srgb,var(--color-primary) 58%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 10%,transparent); }
.bot-create-card-dialog .bot-margin-form select:focus-visible,
.bot-create-card-dialog .bot-margin-form .bot-money-input:focus-within,
.bot-create-card-dialog .bot-edit-margin-form .bot-field-coin input:focus-visible { border-color:color-mix(in srgb,var(--color-primary) 62%,var(--card-border)); outline:0; box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 13%,transparent); }
.bot-create-card-dialog .bot-edit-margin-form .bot-field-coin input { color:var(--text-color); background:color-mix(in srgb,var(--section-bg) 72%,var(--card-bg)); }

.bot-strategy-summary { overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:15px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)),var(--card-bg)); }
.bot-strategy-summary>header { display:flex; align-items:center; gap:.7rem; padding:.72rem .82rem; }
.bot-strategy-summary>header>span { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:11px; color:#fff; background:linear-gradient(145deg,var(--color-primary),#008f84); box-shadow:0 6px 14px color-mix(in srgb,var(--color-primary) 18%,transparent); }
.bot-strategy-summary>header>div { display:grid; min-width:0; gap:.12rem; }
.bot-strategy-summary>header strong { color:var(--text-color); font-size:.76rem; font-weight:900; }
.bot-strategy-summary>header small { color:var(--muted-text); font-size:.59rem; font-weight:650; line-height:1.35; }
.bot-strategy-summary>p { margin:0; padding:0 .82rem .78rem 3.72rem; color:var(--muted-text); font-size:.62rem; font-weight:650; line-height:1.5; }
.bot-signal-flow { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:.38rem; padding:.68rem .82rem; border-top:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--card-border)); background:color-mix(in srgb,var(--section-bg) 58%,var(--card-bg)); }
.bot-signal-flow>span { display:grid; min-width:0; grid-template-columns:27px minmax(0,1fr); align-items:center; gap:.42rem; }
.bot-signal-flow b { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; color:#fff; font-size:.65rem; font-weight:950; }
.bot-signal-flow small { overflow:hidden; color:var(--text-color); font-size:.58rem; font-weight:800; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.bot-signal-flow>i { color:color-mix(in srgb,var(--muted-text) 45%,transparent); font-size:.5rem; }
.bot-signal-flow .is-buy b { background:#059669; }
.bot-signal-flow .is-top b { background:#7c3aed; }
.bot-signal-flow .is-warning b { background:#f59e0b; }
.bot-signal-flow .is-sell b { background:#ef4444; }
.bot-strategy-summary.is-grid { border-color:color-mix(in srgb,#2563eb 18%,var(--card-border)); background:linear-gradient(135deg,color-mix(in srgb,#2563eb 5%,var(--card-bg)),var(--card-bg)); }
.bot-strategy-summary.is-grid>header>span { background:linear-gradient(145deg,#2563eb,#0e7490); box-shadow:0 6px 14px rgba(37,99,235,.16); }

@media (min-width:992px) {
    .bot-create-dialog { height:auto; }
    .bot-dialog-body:has(.bot-coin-picker.is-open) { min-height:min(500px,calc(100dvh - 180px)); }
}
.bot-create-card { display:grid; grid-template-columns:minmax(180px,.46fr) minmax(0,1.8fr); align-items:center; gap:1rem; padding:.85rem 1rem; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); box-shadow:0 10px 30px rgba(8,30,44,.045); }
.bot-create-copy { display:flex; align-items:center; gap:.7rem; }
.bot-create-copy>span { display:grid; width:38px; height:38px; flex:none; place-items:center; border-radius:11px; color:#fff; background:linear-gradient(145deg,var(--color-primary),#008f84); box-shadow:0 7px 16px color-mix(in srgb,var(--color-primary) 18%,transparent); }
.bot-create-copy h2 { margin:0; font-size:.9rem; font-weight:850; }
.bot-create-copy p { margin:.14rem 0 0; color:var(--muted-text); font-size:.64rem; }
.bot-create-form { display:grid; grid-template-columns:minmax(105px,.7fr) minmax(135px,1fr) minmax(105px,.72fr) minmax(105px,.72fr) auto; align-items:end; gap:.55rem; }
.bot-validation { grid-column:1/-1; font-size:.65rem; }
.bot-create-form label { display:flex; min-width:0; flex-direction:column; gap:.32rem; color:var(--muted-text); font-size:.62rem; font-weight:780; }
.bot-create-card-dialog .bot-create-form label>span:first-child { min-height:1rem; display:flex; align-items:flex-end; }
.bot-field-help { display:flex; align-items:flex-start; gap:.35rem; margin:.08rem .08rem 0; color:var(--muted-text); font-size:.59rem; font-weight:650; line-height:1.4; }
.bot-field-help i { margin-top:.12rem; color:var(--color-primary); }
.bot-leverage-control { padding:.62rem .7rem; border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--card-border)); border-radius:12px; background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.bot-slider-heading { display:flex!important; min-height:0!important; align-items:center!important; justify-content:space-between; gap:.65rem; }
.bot-slider-heading>span { color:var(--muted-text); }
.bot-slider-heading output { display:grid; min-width:42px; height:28px; padding:0 .55rem; place-items:center; border-radius:999px; color:#f4ffff; background:linear-gradient(135deg,var(--color-primary),#008f84); font-size:.72rem; font-weight:900; box-shadow:0 5px 12px color-mix(in srgb,var(--color-primary) 18%,transparent); }
.bot-leverage-control input[type="range"] { width:100%; height:20px; margin:.18rem 0 0; padding:0; appearance:none; -webkit-appearance:none; cursor:pointer; accent-color:var(--color-primary); background:transparent; }
.bot-leverage-control input[type="range"]::-webkit-slider-runnable-track { height:6px; border-radius:999px; background:linear-gradient(to right,var(--color-primary) 0 var(--slider-progress,100%),color-mix(in srgb,var(--muted-text) 20%,var(--card-bg)) var(--slider-progress,100%) 100%); }
.bot-leverage-control input[type="range"]::-webkit-slider-thumb { width:22px; height:22px; margin-top:-8px; appearance:none; border:3px solid var(--card-bg); border-radius:50%; background:var(--color-primary); box-shadow:0 3px 10px color-mix(in srgb,var(--color-primary) 35%,transparent); }
.bot-leverage-control input[type="range"]::-moz-range-track { height:6px; border-radius:999px; background:color-mix(in srgb,var(--muted-text) 20%,var(--card-bg)); }
.bot-leverage-control input[type="range"]::-moz-range-progress { height:6px; border-radius:999px; background:var(--color-primary); }
.bot-leverage-control input[type="range"]::-moz-range-thumb { width:18px; height:18px; border:3px solid var(--card-bg); border-radius:50%; background:var(--color-primary); box-shadow:0 3px 10px color-mix(in srgb,var(--color-primary) 35%,transparent); }
.bot-slider-scale { display:flex!important; min-height:0!important; align-items:center!important; justify-content:space-between; color:var(--muted-text); font-size:.55rem; font-weight:800; }
.bot-edit-margin-form .bot-leverage-control.is-locked { opacity:.58; }
.bot-edit-margin-form .bot-leverage-control.is-locked .bot-field-help:before { content:"\f023"; font-family:"Font Awesome 6 Free"; font-weight:900; }
.bot-create-form select,.bot-money-input { min-height:44px; border:1px solid var(--card-border); border-radius:11px; color:var(--text-color); background:var(--card-bg); font-size:.75rem; font-weight:750; }
.bot-create-form select { padding:0 .65rem; }
.bot-coin-picker { position:relative; min-width:0; }
.bot-coin-picker-trigger { width:100%; min-height:44px; display:grid !important; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:.5rem !important; padding:.35rem .55rem !important; border:1px solid var(--card-border) !important; border-radius:11px !important; color:var(--text-color) !important; background:var(--card-bg) !important; box-shadow:none !important; text-align:left; }
.bot-coin-picker-trigger > span:nth-child(2),.bot-coin-options button > span:nth-child(2) { display:flex; min-width:0; flex-direction:column; line-height:1.12; }
.bot-coin-picker-trigger strong,.bot-coin-options strong { color:var(--text-color); font-size:.75rem; font-weight:850; }
.bot-coin-picker-trigger small,.bot-coin-options small { overflow:hidden; color:var(--muted-text); font-size:.57rem; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.bot-coin-picker-trigger > i { color:var(--muted-text); font-size:.62rem; transition:transform .18s ease; }
.bot-coin-picker.is-open .bot-coin-picker-trigger > i { transform:rotate(180deg); }
.bot-coin-picker-avatar { position:relative; width:30px; height:30px; display:grid !important; overflow:hidden; place-items:center; flex:0 0 auto; border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--color-primary),#007b78); font-size:.57rem; font-weight:900; letter-spacing:-.02em; }
.bot-coin-picker-avatar b { display:grid; width:100%; height:100%; place-items:center; font:inherit; }
.bot-coin-picker-avatar img { position:absolute; z-index:1; inset:0; display:block; width:100%; height:100%; padding:2px; border-radius:inherit; background:#fff; object-fit:contain; }
.bot-coin-picker-avatar img[hidden] { display:none; }
.bot-coin-picker-avatar.has-logo b { visibility:hidden; }
.bot-coin-picker-menu { position:absolute; z-index:80; top:calc(100% + 6px); left:0; width:max(260px,100%); padding:.5rem; border:1px solid var(--card-border); border-radius:13px; background:var(--card-bg); box-shadow:0 18px 48px rgba(7,28,43,.18); }
.bot-coin-search { position:relative; display:block !important; }
.bot-coin-search > i { position:absolute; z-index:1; top:50%; left:.7rem; color:var(--muted-text); font-size:.7rem; transform:translateY(-50%); }
.bot-coin-search input { width:100%; height:39px; padding:0 .65rem 0 2rem; border:1px solid var(--card-border); border-radius:9px; outline:0; color:var(--text-color); background:var(--section-bg); font-size:.7rem; font-weight:700; }
.bot-coin-search input:focus { border-color:var(--color-primary); box-shadow:0 0 0 3px rgba(0,183,190,.1); }
.bot-coin-options { max-height:285px; margin-top:.4rem; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.bot-coin-options button { width:100%; min-height:43px; display:grid; grid-template-columns:30px minmax(0,1fr) 18px; align-items:center; gap:.5rem; padding:.3rem .4rem; border:0; border-radius:9px; color:var(--text-color); background:transparent; text-align:left; }
.bot-coin-options button:hover,.bot-coin-options button:focus-visible { background:var(--section-bg); outline:0; }
.bot-coin-options button[aria-selected="true"] { background:rgba(0,183,190,.09); }
.bot-coin-options button > i { color:var(--color-primary); font-size:.65rem; opacity:0; }
.bot-coin-options button[aria-selected="true"] > i { opacity:1; }
.bot-coin-empty { margin:.65rem 0 .25rem; color:var(--muted-text); font-size:.65rem; text-align:center; }
.bot-money-input { display:grid; grid-template-columns:34px 1fr; align-items:center; overflow:hidden; }
.bot-money-input i { color:var(--color-primary); font-style:normal; text-align:center; }
.bot-money-input input { width:100%; min-width:0; height:42px; border:0; outline:0; color:var(--text-color); background:transparent; font-size:.76rem; font-weight:800; }
.bot-percent-input { grid-template-columns:1fr 30px; }
.bot-margin-form { grid-template-columns:minmax(90px,.7fr) minmax(85px,.65fr) minmax(120px,1fr) minmax(80px,.55fr) minmax(105px,.78fr) minmax(95px,.72fr) auto; }
.bot-create-form > button { display:flex; min-height:44px; align-items:center; justify-content:center; gap:.45rem; padding:.6rem .9rem; border:0; border-radius:11px; color:#fff; background:linear-gradient(135deg,var(--color-primary),#008f84); font-size:.7rem; font-weight:850; white-space:nowrap; }
#paperTradingDashboard { min-width:0; }

/* Afgeronde paper-tradingposities */
.bot-history-page { display:grid; gap:.85rem; padding:.8rem 0 2rem; }
.bot-page-tabs { display:flex; width:max-content; max-width:100%; gap:.28rem; padding:.28rem; border:1px solid var(--card-border); border-radius:13px; background:var(--card-bg); }
.bot-page-tabs a { display:flex; min-height:36px; align-items:center; gap:.4rem; padding:.45rem .7rem; border-radius:9px; color:var(--muted-text); font-size:.67rem; font-weight:850; text-decoration:none; }
.bot-page-tabs a:hover { color:var(--text-color); background:var(--hover-bg); }
.bot-page-tabs a.is-active { color:#087b7a; background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)); }
.completed-bot-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:.85rem; }
.completed-bot-details { border-top:1px solid var(--card-border); background:color-mix(in srgb,var(--section-bg) 58%,var(--card-bg)); }
.completed-bot-details>summary { display:flex; min-height:46px; align-items:center; gap:.45rem; padding:.65rem .8rem; color:var(--text-color); font-size:.68rem; font-weight:850; cursor:pointer; list-style:none; }
.completed-bot-details>summary::-webkit-details-marker { display:none; }
.completed-bot-details>summary i { color:var(--color-primary); }
.completed-bot-analysis { padding:.7rem .8rem; border-top:1px solid var(--card-border); color:var(--muted-text); font-size:.66rem; line-height:1.5; }
.completed-bot-details .table-responsive { border-top:1px solid var(--card-border); }
.bot-history-hero { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.3rem; border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--card-border)); border-radius:19px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)),var(--card-bg)); box-shadow:0 12px 34px rgba(8,30,44,.05); }
.bot-history-hero h1 { margin:.16rem 0 .12rem; font-size:1.55rem; font-weight:900; letter-spacing:-.035em; }
.bot-history-hero p { margin:0; color:var(--muted-text); font-size:.73rem; }
.bot-history-hero>a { display:flex; min-height:40px; align-items:center; gap:.42rem; padding:.52rem .72rem; border:1px solid var(--card-border); border-radius:11px; color:var(--text-color); background:var(--card-bg); font-size:.68rem; font-weight:850; text-decoration:none; white-space:nowrap; }
.bot-history-hero>a:hover { color:var(--color-primary); border-color:color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); }
.bot-history-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); box-shadow:0 10px 28px rgba(8,30,44,.045); }
.bot-history-summary>div { display:grid; min-height:78px; grid-template-columns:38px minmax(0,1fr); align-content:center; column-gap:.62rem; padding:.68rem .8rem; border-left:1px solid var(--card-border); }
.bot-history-summary>div:first-child { border-left:0; }
.bot-history-summary>div>span { display:grid; width:38px; height:38px; grid-row:1/4; place-items:center; align-self:center; border-radius:11px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); }
.bot-history-summary small { color:var(--muted-text); font-size:.58rem; font-weight:760; }
.bot-history-summary strong { margin-top:.08rem; color:var(--text-color); font-size:1rem; font-weight:900; }
.bot-history-summary em { color:var(--muted-text); font-size:.56rem; font-style:normal; }
.bot-history-summary .is-positive strong { color:#059669; }
.bot-history-summary .is-negative strong { color:#dc4b55; }
.bot-history-panel { overflow:hidden; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); box-shadow:0 10px 30px rgba(8,30,44,.045); }
.bot-history-panel>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem .9rem; border-bottom:1px solid var(--card-border); }
.bot-history-panel h2 { margin:0; font-size:.9rem; font-weight:900; }
.bot-history-panel header p { margin:.12rem 0 0; color:var(--muted-text); font-size:.61rem; }
.bot-history-tools { display:flex; align-items:center; gap:.45rem; }
.bot-history-tools form { margin:0; }
.bot-history-filters { display:flex; gap:.2rem; padding:.18rem; border:1px solid var(--card-border); border-radius:10px; background:var(--section-bg); }
.bot-history-filters button { min-height:32px; padding:.34rem .65rem; border:0; border-radius:8px; color:var(--muted-text); background:transparent; font-size:.62rem; font-weight:850; }
.bot-history-filters button.is-active { color:#087b7a; background:var(--card-bg); box-shadow:0 3px 9px rgba(8,30,44,.07); }
.bot-history-filters a { display:flex; min-height:32px; align-items:center; justify-content:center; padding:.34rem .65rem; border-radius:8px; color:var(--muted-text); font-size:.62rem; font-weight:850; text-decoration:none; }
.bot-history-filters a.is-active { color:#087b7a; background:var(--card-bg); box-shadow:0 3px 9px rgba(8,30,44,.07); }
.live-history-summary { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.bot-history-reset { display:flex; min-height:38px; align-items:center; justify-content:center; gap:.35rem; padding:.38rem .62rem; border:1px solid rgba(220,75,85,.3); border-radius:10px; color:#bd2d39; background:rgba(220,75,85,.08); font-size:.62rem; font-weight:850; }
.bot-history-reset:hover { border-color:rgba(220,75,85,.5); background:rgba(220,75,85,.14); }
.bot-history-list { display:grid; }
.bot-history-row { display:grid; grid-template-columns:minmax(145px,1.25fr) repeat(4,minmax(105px,.8fr)) minmax(115px,.85fr); align-items:center; column-gap:.7rem; padding:.7rem .85rem; border-top:1px solid var(--card-border); }
.bot-history-row:first-child { border-top:0; }
.bot-history-row[hidden] { display:none; }
.bot-history-row>div:not(.bot-history-coin) { display:flex; min-width:0; flex-direction:column; }
.bot-history-row small { color:var(--muted-text); font-size:.53rem; font-weight:750; }
.bot-history-row strong { margin-top:.1rem; overflow:hidden; color:var(--text-color); font-size:.7rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.bot-history-row>div>span { color:var(--muted-text); font-size:.56rem; }
.bot-history-coin { display:flex; min-width:0; align-items:center; gap:.58rem; }
.bot-history-coin>.bot-coin-icon { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--color-primary),#008f84); box-shadow:0 5px 12px rgba(15,34,49,.12); }
.bot-history-coin>span { display:flex; min-width:0; flex-direction:column; }
.bot-history-coin>span>strong { color:var(--color-primary); font-size:.8rem; }
.bot-history-result.is-positive strong,.bot-history-result.is-positive span { color:#059669; }
.bot-history-result.is-negative strong,.bot-history-result.is-negative span { color:#dc4b55; }
.bot-history-row>details { grid-column:1/-1; margin-top:.5rem; padding-top:.48rem; border-top:1px dashed var(--card-border); }
.bot-history-row>details summary { width:max-content; cursor:pointer; color:var(--muted-text); font-size:.57rem; font-weight:800; }
.bot-history-row>details summary i { margin-right:.3rem; color:var(--color-primary); }
.bot-history-row>details p { margin:.45rem 0 .15rem; color:var(--text-color); font-size:.62rem; line-height:1.45; }
.bot-history-row>details>span { color:var(--muted-text); font-size:.56rem; }
.trade-execution-quality { min-width:0; margin:.75rem 0; padding:.8rem; border:1px solid var(--card-border); border-radius:10px; overflow-wrap:anywhere; color:var(--text-color); background:var(--card-bg); }
.trade-execution-quality h3 { margin:0 0 .6rem; font-size:.85rem; color:var(--text-color); }
.trade-execution-quality dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:0 0 .6rem; }
.trade-execution-quality dl>div { min-width:0; }
.trade-execution-quality dt { font-size:.72rem; font-weight:500; color:var(--muted-text); }
.trade-execution-quality dd { margin:.2rem 0 0; font-size:.8rem; font-weight:600; font-variant-numeric:tabular-nums; }
.trade-execution-quality small { display:block; color:var(--muted-text); font-size:.7rem; line-height:1.5; }
.st-live-page .st-bot .bot-grid-details-body .trade-execution-quality dt { font-size:.8rem; }
.st-live-page .st-bot .bot-grid-details-body .trade-execution-quality dd { font-size:.88rem; }
.st-live-page .st-bot .bot-grid-details-body .trade-execution-quality small { font-size:.76rem; }
@media(max-width:480px) { .trade-execution-quality dl { grid-template-columns:minmax(0,1fr); } }
.bot-history-empty { display:grid; min-height:260px; place-items:center; align-content:center; padding:2rem; text-align:center; }
.bot-history-empty>i { color:var(--color-primary); font-size:1.5rem; }
.bot-history-empty h2 { margin:.65rem 0 .15rem; }
.bot-history-empty p { margin:0; color:var(--muted-text); font-size:.7rem; }
.bot-total-summary { display:grid; grid-template-columns:minmax(170px,1.15fr) repeat(3,minmax(130px,1fr)); margin-bottom:.7rem; overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:15px; background:var(--card-bg); box-shadow:0 10px 28px rgba(8,30,44,.045); }
.bot-total-summary>div { display:flex; min-width:0; min-height:70px; padding:.65rem .85rem; flex-direction:column; justify-content:center; border-left:1px solid var(--card-border); }
.bot-total-summary>div:first-child { border-left:0; }
.bot-total-summary small { color:var(--muted-text); font-size:.58rem; font-weight:750; }
.bot-total-summary strong { margin:.16rem 0 0; overflow:hidden; color:var(--text-color); font-size:.92rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.bot-total-summary span { color:var(--muted-text); font-size:.58rem; }
.bot-total-summary .is-positive strong,.bot-total-summary .is-positive span { color:#059669; }
.bot-total-summary .is-negative strong,.bot-total-summary .is-negative span { color:#dc4b55; }
.bot-total-summary .bot-total-heading { flex-direction:row; align-items:center; justify-content:flex-start; gap:.62rem; }
.bot-total-heading>span { display:grid; width:34px; height:34px; flex:none; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(145deg,var(--color-primary),#008f84); font-size:.72rem; }
.bot-total-heading>div { display:flex; min-width:0; flex-direction:column; }
.bot-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.bot-card { overflow:hidden; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); box-shadow:0 10px 28px rgba(8,30,44,.045); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
@media (min-width:992px) {
    .bot-list { align-items:start; }
    .bot-list .bot-card { display:flex; flex-direction:column; }
    .bot-list .bot-card-actions { margin-top:auto; }
}
.bot-card:hover { border-color:color-mix(in srgb,var(--color-primary) 25%,var(--card-border)); box-shadow:0 14px 34px rgba(8,30,44,.075); transform:translateY(-1px); }
.bot-card-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.68rem .8rem; border-bottom:1px solid var(--card-border); }
.bot-coin { display:flex; min-width:0; flex:1 1 auto; align-items:center; gap:.62rem; }
.bot-coin>span { display:grid; width:32px; min-width:32px; height:32px; min-height:32px; flex:0 0 32px; aspect-ratio:1/1; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#00b989,#008f84); font-size:.68rem; font-weight:900; }
.bot-coin>div { min-width:0; flex:1 1 auto; }
.bot-coin>span.bot-coin-icon { box-shadow:0 5px 12px rgba(15,34,49,.14); font-size:1rem; }
.bot-coin-icon.has-image { overflow:hidden; padding:2px; color:inherit; background:#fff; }
.bot-coin-icon.has-image>img { display:block; width:100%; height:100%; border-radius:50%; object-fit:contain; }
.bot-coin-icon.coin-btc { background:#f7931a; }
.bot-coin-icon.coin-eth { background:linear-gradient(145deg,#8498ef,#5667be); }
.bot-coin-icon.coin-sol { background:linear-gradient(145deg,#9945ff,#14f195); }
.bot-coin-icon.coin-ada { background:#176fba; }
.bot-coin-icon .coin-logo-cardano { display:block; width:23px; height:23px; fill:currentColor; }
.bot-coin-icon.coin-xrp { background:#23292f; }
.bot-coin-icon.coin-sui { background:linear-gradient(145deg,#83d7f7,#4da2d9); }
.bot-coin-icon.has-symbol-fallback { background:linear-gradient(145deg,#10a99d,#087f82); }
.bot-coin-icon.coin-doge { background:linear-gradient(145deg,#d9bd62,#a58b2c); }
.bot-coin-icon.coin-ltc { background:linear-gradient(145deg,#5e6d7b,#293743); }
.bot-coin-icon.coin-near { color:#111827; background:linear-gradient(145deg,#fff,#dbe4ea); }
.bot-coin-icon.coin-moodeng { background:linear-gradient(145deg,#ef78ae,#9d4edd); }
.bot-coin-icon.coin-usdt { background:#26a17b; }
.bot-coin-icon.coin-usdc { background:#2775ca; }
.bot-coin-icon.coin-bnb { color:#171717; background:#f3ba2f; }
.bot-coin-icon.coin-avax { background:#e84142; }
.bot-coin-icon.coin-dot { background:#e6007a; }
.bot-coin-icon.coin-link { background:#2a5ada; }
.bot-coin-icon.coin-trx { background:#ef0027; }
.bot-coin-icon.coin-xlm { color:#17212b; background:#e8eef2; }
.bot-coin-icon.coin-shib { background:linear-gradient(145deg,#f59e0b,#dc2626); }
.bot-coin-icon .coin-symbol-fallback { display:grid; min-width:0; place-items:center; color:inherit; font-family:Arial,sans-serif; font-size:.72rem; font-weight:900; letter-spacing:-.045em; line-height:1; }
.bot-coin-icon .coin-symbol-fallback:is(:only-child) { max-width:90%; }
.bot-title-row { display:flex; min-width:0; align-items:center; gap:.45rem; flex-wrap:wrap; }
.bot-coin h2 { margin:0; font-size:.9rem; font-weight:900; }
.bot-coin h2 em { display:inline-flex; margin-left:.28rem; padding:.15rem .34rem; border-radius:999px; color:#08756f; background:rgba(16,185,129,.1); font-size:.5rem; font-style:normal; text-transform:uppercase; vertical-align:middle; }
.bot-strategy-badges { display:inline-flex; min-width:0; max-width:100%; flex-wrap:wrap; align-items:center; gap:.25rem; }
@media (max-width:767.98px) {
    .bot-strategy-badges.is-rider-badges { flex-wrap:nowrap; gap:.2rem; }
    .is-rider-badges .bot-badge-prefix { display:none; }
    .bot-strategy-badges.is-rider-badges .bot-strategy-badge,
    .bot-strategy-badges.is-rider-badges .bot-timeframe-badge { padding:0 .3rem; letter-spacing:0; }
}
.bot-strategy-badge,.bot-timeframe-badge { display:inline-flex; flex-shrink:0; height:18px; padding:0 .38rem; align-items:center; gap:.24rem; border:1px solid transparent; border-radius:999px; font-size:.5rem; font-weight:900; letter-spacing:.035em; line-height:1; white-space:nowrap; }
.bot-strategy-badge i,.bot-timeframe-badge i { font-size:.52rem; }
.bot-strategy-badge.is-grid { border-color:rgba(139,92,246,.22); color:#6d28d9; background:rgba(139,92,246,.1); }
.bot-strategy-badge.is-adaptive-grid { border-color:rgba(8,170,164,.24); color:#087d81; background:rgba(8,170,164,.11); }
.bot-strategy-badge.is-trend-rider { border-color:rgba(249,115,22,.3); color:#c2410c; background:linear-gradient(135deg,rgba(249,115,22,.14),rgba(251,146,60,.08)); }
.bot-strategy-badge.is-grid-guard { border-color:rgba(245,158,11,.28); color:#a16207; background:rgba(245,158,11,.12); }
.bot-strategy-badge.is-ta { border-color:rgba(8,145,178,.24); color:#0e7490; background:rgba(6,182,212,.1); }
.bot-strategy-badge.is-signals { border-color:rgba(236,72,153,.26); color:#be185d; background:rgba(236,72,153,.1); }
.bot-strategy-badge.is-swing { border-color:rgba(37,99,235,.26); color:#1d4ed8; background:rgba(59,130,246,.1); }
.bot-strategy-badge.is-near-entry { border-color:rgba(245,158,11,.34); color:#92400e; background:rgba(245,158,11,.16); }
.bot-strategy-badge.is-daily { border-color:rgba(245,158,11,.24); color:#a16207; background:rgba(245,158,11,.11); }
.bot-strategy-badge.is-trend-up { border-color:rgba(16,185,129,.28); color:#047857; background:rgba(16,185,129,.11); }
.bot-strategy-badge.is-trend-down { border-color:rgba(239,68,68,.28); color:#b91c1c; background:rgba(239,68,68,.1); }
.bot-strategy-badge.is-trend-warning { border-color:rgba(245,158,11,.3); color:#a16207; background:rgba(245,158,11,.12); }
.bot-strategy-badge.is-trend-recovering { border-color:rgba(37,99,235,.26); color:#1d4ed8; background:rgba(59,130,246,.1); }
.bot-strategy-badge.is-trend-neutral,.bot-strategy-badge.is-trend-unavailable { border-color:color-mix(in srgb,var(--muted-text) 22%,transparent); color:var(--muted-text); background:color-mix(in srgb,var(--muted-text) 8%,transparent); }
.bot-timeframe-badge { border-color:color-mix(in srgb,var(--muted-text) 18%,transparent); color:var(--muted-text); background:color-mix(in srgb,var(--muted-text) 7%,transparent); letter-spacing:.01em; text-transform:none; }
[data-theme="dark"] .bot-strategy-badge.is-grid { color:#c4b5fd; background:rgba(139,92,246,.14); }
[data-theme="dark"] .bot-strategy-badge.is-adaptive-grid { color:#5eead4; background:rgba(20,184,166,.14); }
[data-theme="dark"] .bot-strategy-badge.is-trend-rider { color:#fdba74; background:linear-gradient(135deg,rgba(249,115,22,.2),rgba(251,146,60,.12)); }
[data-theme="dark"] .bot-strategy-badge.is-grid-guard { color:#fcd34d; background:rgba(245,158,11,.16); }
[data-theme="dark"] .bot-strategy-badge.is-ta { color:#67e8f9; background:rgba(6,182,212,.14); }
[data-theme="dark"] .bot-strategy-badge.is-signals { color:#f9a8d4; background:rgba(236,72,153,.15); }
[data-theme="dark"] .bot-strategy-badge.is-swing { color:#93c5fd; background:rgba(59,130,246,.15); }
[data-theme="dark"] .bot-strategy-badge.is-near-entry { color:#fcd34d; background:rgba(245,158,11,.18); }
[data-theme="dark"] .bot-strategy-badge.is-daily { color:#fcd34d; background:rgba(245,158,11,.14); }
[data-theme="dark"] .bot-strategy-badge.is-trend-up { color:#6ee7b7; background:rgba(16,185,129,.15); }
[data-theme="dark"] .bot-strategy-badge.is-trend-down { color:#fca5a5; background:rgba(239,68,68,.15); }
[data-theme="dark"] .bot-strategy-badge.is-trend-warning { color:#fcd34d; background:rgba(245,158,11,.16); }
[data-theme="dark"] .bot-strategy-badge.is-trend-recovering { color:#93c5fd; background:rgba(59,130,246,.15); }
.bot-leverage-badge { display:inline-flex; min-width:32px; height:16px; margin-left:.28rem; padding:0 .3rem; align-items:center; justify-content:center; gap:.14rem; border:1px solid color-mix(in srgb,#f59e0b 24%,transparent); border-radius:999px; color:var(--text-color); background:color-mix(in srgb,#f59e0b 7%,transparent); -webkit-background-clip:border-box; background-clip:border-box; box-shadow:none; font-size:.55rem; font-weight:900; letter-spacing:.01em; line-height:1; vertical-align:middle; }
.bot-leverage-badge>span { color:#f59e0b; -webkit-text-fill-color:#f59e0b!important; font-size:.58rem; line-height:1; }
.bot-leverage-badge>strong { color:var(--text-color); -webkit-text-fill-color:var(--text-color)!important; }
.bot-leverage-badge>strong { font:inherit; white-space:nowrap; }
[data-theme="dark"] .bot-leverage-badge { border-color:rgba(251,191,36,.22); color:var(--text-color); background:rgba(251,191,36,.07); box-shadow:none; }
[data-theme="dark"] .bot-leverage-badge>strong { color:var(--text-color); -webkit-text-fill-color:var(--text-color)!important; }
.margin-bot-card.is-short .bot-coin h2 em { color:#b4232e; background:rgba(220,75,85,.1); }
.bot-coin p { margin:.1rem 0 0; color:var(--muted-text); font-size:.58rem; }
.bot-state { display:flex; flex:0 0 auto; align-items:center; gap:.32rem; padding:.3rem .5rem; border:1px solid transparent; border-radius:999px; font-size:.6rem; font-weight:800; line-height:1; }
.bot-state i { display:grid; width:16px; height:16px; flex:0 0 16px; place-items:center; border-radius:5px; font-size:.48rem; }
.bot-state.is-active,.bot-state.is-long { color:#047857; border-color:rgba(16,185,129,.18); background:rgba(16,185,129,.055); }
.bot-state.is-active i,.bot-state.is-long i { color:#047857; background:rgba(16,185,129,.11); }
:root[data-theme="dark"] .bot-state.is-active,:root[data-theme="dark"] .bot-state.is-long { color:#5ee6b2; border-color:rgba(52,211,153,.2); background:rgba(16,185,129,.08); box-shadow:none; }
:root[data-theme="dark"] .bot-state.is-active i,:root[data-theme="dark"] .bot-state.is-long i { color:#5ee6b2; background:rgba(52,211,153,.12); box-shadow:none; }
@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) .bot-state.is-active,:root:not([data-theme]) .bot-state.is-long { color:#5ee6b2; border-color:rgba(52,211,153,.2); background:rgba(16,185,129,.08); box-shadow:none; }
    :root:not([data-theme]) .bot-state.is-active i,:root:not([data-theme]) .bot-state.is-long i { color:#5ee6b2; background:rgba(52,211,153,.12); box-shadow:none; }
}
.bot-state.is-waiting { color:#2563eb; border-color:rgba(37,99,235,.16); background:rgba(37,99,235,.05); }
.bot-state.is-waiting i { color:#2563eb; background:rgba(37,99,235,.1); }
.bot-state.is-monitoring { color:#a16207; border-color:rgba(245,158,11,.2); background:rgba(245,158,11,.06); }
.bot-state.is-monitoring i { color:#a16207; background:rgba(245,158,11,.12); }
:root[data-theme="dark"] .bot-state.is-monitoring { color:#fbbf24; border-color:rgba(251,191,36,.18); background:rgba(245,158,11,.08); box-shadow:none; }
@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) .bot-state.is-monitoring { color:#fbbf24; border-color:rgba(251,191,36,.18); background:rgba(245,158,11,.08); box-shadow:none; }
}
.bot-state.is-short,.bot-state.is-stopped { color:#b4232e; border-color:rgba(220,75,85,.18); background:rgba(220,75,85,.055); }
.bot-state.is-short i,.bot-state.is-stopped i { color:#b4232e; background:rgba(220,75,85,.1); }
.bot-state.is-paused { color:#64748b; border-color:rgba(100,116,139,.16); background:rgba(100,116,139,.045); }
.bot-state.is-paused i { color:#64748b; background:rgba(100,116,139,.1); }
.bot-grid-prices { display:flex; align-items:stretch; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--hover-bg) 58%,var(--card-bg)); }
.bot-grid-prices.is-spot .bot-grid-price { flex-basis:25%; }
.bot-grid-price { display:flex; min-width:0; flex:1 1 0; align-items:center; gap:.5rem; padding:.52rem .8rem; }
.bot-grid-price+.bot-grid-price { border-left:1px solid var(--card-border); }
.bot-grid-price>i { display:grid; width:26px; height:26px; flex:0 0 26px; place-items:center; border-radius:8px; font-size:.62rem; }
.bot-grid-price>span { display:grid; min-width:0; gap:.05rem; }
.bot-grid-price small { color:var(--muted-text); font-size:.54rem; font-weight:750; }
.bot-grid-price strong { color:var(--text-color); font-size:1rem; font-weight:900; line-height:1.2; font-variant-numeric:tabular-nums; }
.bot-grid-price.is-entry>i,.bot-grid-price.is-long>i { color:#047857; background:rgba(16,185,129,.12); }
.bot-grid-price.is-cash>i { color:#087d81; background:rgba(8,170,164,.11); }
.bot-grid-price.is-step>i { color:#6d28d9; background:rgba(139,92,246,.1); }
.bot-grid-price.is-short>i { color:#b4232e; background:rgba(220,75,85,.11); }
.bot-grid-price.is-risk>i { color:#c2414d; background:rgba(220,75,85,.1); }
.bot-grid-prices.is-position-open { justify-content:center; gap:.42rem; padding:.5rem .8rem; color:var(--muted-text); font-size:.58rem; font-weight:700; text-align:center; }
.bot-grid-prices.is-position-open>i { color:#8b5cf6; }
.bot-rider-decision { display:flex; align-items:flex-start; gap:.5rem; margin:0 0 .5rem; padding:.65rem .7rem; border:1px solid var(--card-border); border-radius:12px; color:var(--text-color); background:var(--card-bg); font-family:inherit; font-size:16px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.bot-rider-decision>i { flex-shrink:0; margin-top:.15rem; color:var(--muted-text); font-size:inherit; }
.bot-rider-decision>span { display:grid; min-width:0; gap:.2rem; }
.bot-rider-decision strong { font-family:inherit; font-size:inherit; font-weight:600; line-height:1.35; }
.bot-rider-decision small { color:var(--muted-text); font-family:inherit; font-size:inherit; font-weight:500; line-height:1.5; }
.bot-rider-decision small:last-child { font-size:inherit; }
.bot-rider-evaluation { margin:0 0 .6rem; border:1px solid var(--card-border); border-radius:12px; color:var(--text-color); background:var(--card-bg); font:inherit; font-size:16px; line-height:1.5; }
.bot-rider-evaluation>summary { padding:.65rem .7rem; cursor:pointer; font-weight:600; }
.bot-rider-evaluation-body { padding:0 .7rem .65rem; min-width:0; overflow-wrap:anywhere; }
.bot-rider-evaluation-body p { margin:.45rem 0; color:var(--muted-text); font-size:inherit; }
.bot-rider-evaluation-body>strong { font-size:inherit; font-weight:600; }
.bot-rider-evaluation-list { margin:.6rem 0; }
.bot-rider-evaluation-list>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; padding:.4rem 0; border-bottom:1px solid var(--card-border); }
.bot-rider-evaluation-list dt { font-weight:500; }
.bot-rider-evaluation-list dd { margin:0; font-variant-numeric:tabular-nums; }
.bot-rider-evaluation-list dd span { color:var(--muted-text); }
.bot-rider-evaluation { min-width:0; max-width:100%; }
.rider-scale-check { min-width:0; margin:1rem 0; padding-top:.75rem; border-top:1px solid var(--card-border); }
.rider-scale-check h3 { font:inherit; font-weight:600; }
.rider-scale-check dd { text-align:right; }
.rider-trend-chart { max-width:100%; overflow-x:auto; color:var(--text-color); border:1px solid var(--card-border); border-radius:8px; }
.rider-trend-chart svg { display:block; width:100%; min-width:600px; height:auto; }
.rider-trend-chart:focus-visible { outline:2px solid var(--color-primary); }
.rider-chart-caption { overflow-wrap:anywhere; }
.rider-sales-page { font-size:16px; max-width:960px; margin:1rem auto; padding:0 .75rem; }
.rider-sales-page>h1 { font-size:1.3rem; margin:1rem 0; }
.rider-sales-page>p { color:var(--muted-text); font-size:inherit; }
.rider-sale { padding:.8rem; margin:1rem 0; overflow-wrap:anywhere; }
.rider-sale h2 { font-size:1em; font-weight:600; }
.rider-sale p { font-size:inherit; color:var(--muted-text); }
.rider-sale dt small { display:block; font-size:inherit; font-weight:400; color:var(--muted-text); }
.rider-sale dd { text-align:right; }
@media (max-width:640px) { .bot-rider-evaluation-list>div { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }

.bot-grid-details-body:has(.bot-rider-decision)>.bot-field-help { font-size:16px; font-weight:500; line-height:1.5; }
/* Use the same text face and weight as the existing bot values, including help text. */
.bot-grid-details-body:has(.bot-rider-decision) .bot-grid-price strong { font-weight:500; }
.bot-rider-decision,
.bot-rider-evaluation,
.rider-sales-page,
.bot-grid-details-body:has(.bot-rider-decision)>.bot-field-help {
    font-family:'Inter','Segoe UI',Roboto,sans-serif;
    font-style:normal;
    font-weight:500;
    letter-spacing:normal;
}
.bot-rider-decision small,
.bot-rider-evaluation-body p,
.rider-sale p,
.rider-sale dt small,
.rider-sales-page>p,
.bot-grid-details-body:has(.bot-rider-decision)>.bot-field-help {
    font-family:inherit;
    font-weight:500;
    font-style:normal;
    color:var(--text-color);
}
.bot-grid-monitor { display:grid; grid-template-columns:1.05fr 1.5fr .95fr .9fr 1fr; border-bottom:1px solid var(--card-border); background:var(--card-bg); }
.bot-grid-monitor-status { display:grid; min-width:0; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:.42rem; padding:.48rem .62rem; }
.bot-grid-monitor-status>i { display:grid; width:28px; height:28px; place-items:center; border-radius:999px; color:#047857; background:rgba(16,185,129,.12); font-size:.68rem; }
.bot-grid-monitor.is-paused .bot-grid-monitor-status>i { color:#a16207; background:rgba(245,158,11,.13); }
.bot-grid-monitor-status>span,.bot-grid-monitor-metric { display:grid; min-width:0; align-content:center; gap:.04rem; }
.bot-grid-monitor-status small,.bot-grid-monitor-metric small { color:var(--muted-text); font-size:.54rem; font-weight:800; line-height:1.2; }
.bot-grid-monitor-status strong,.bot-grid-monitor-metric strong { color:var(--text-color); font-size:1rem; font-weight:900; line-height:1.25; font-variant-numeric:tabular-nums; }
.bot-grid-review-time { display:flex; min-width:0; align-items:center; gap:.25rem; margin-top:.12rem; color:var(--muted-text); font-size:.64rem; font-style:normal; font-weight:750; line-height:1.3; }
.bot-grid-review-time>i { flex:0 0 auto; color:#a16207; font-size:.6rem; }
.bot-grid-monitor.is-allowed .bot-grid-monitor-status strong { color:#047857; }
.bot-grid-monitor.is-paused .bot-grid-monitor-status strong { color:#a16207; }
.bot-grid-monitor.is-margin-grid .bot-grid-monitor-status strong { display:block; overflow:visible; white-space:normal; font-size:1rem; }
.bot-grid-monitor.is-margin-grid .bot-grid-monitor-status strong .is-open { color:#047857; }
.bot-grid-monitor.is-margin-grid .bot-grid-monitor-status strong .is-blocked { color:#a16207; }
.bot-grid-direction-statuses { display:flex!important; align-items:center; flex-wrap:wrap; gap:.28rem; }
.bot-grid-direction-statuses>span { display:inline-flex; min-height:23px; align-items:center; gap:.24rem; padding:.16rem .34rem .16rem .2rem; border:1px solid transparent; border-radius:999px; font-size:.56rem; font-weight:700; line-height:1; white-space:nowrap; }
.bot-grid-direction-statuses>span.is-long.is-open { color:#047857; border-color:rgba(16,185,129,.16); background:rgba(16,185,129,.075); }
.bot-grid-direction-statuses>span.is-short.is-open { color:#b4232e; border-color:rgba(220,75,85,.16); background:rgba(220,75,85,.07); }
.bot-grid-direction-statuses>span.is-blocked { color:#a16207; border-color:rgba(245,158,11,.18); background:rgba(245,158,11,.09); }
.bot-grid-direction-statuses .bot-grid-direction-icon { display:grid; width:16px; height:16px; place-items:center; border-radius:50%; background:color-mix(in srgb,currentColor 10%,transparent); font-size:.5rem; }
.bot-grid-direction-statuses .bot-grid-direction-state { font-size:.46rem; opacity:.82; }
.bot-grid-monitor-info { display:grid; width:24px; min-width:24px; height:24px; min-height:24px; padding:0; place-items:center; border:0; border-radius:999px; color:var(--muted-text); background:transparent; font-size:.66rem; box-shadow:none; }
.bot-grid-monitor-info:hover,.bot-grid-monitor-info:focus-visible { color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 9%,transparent); outline:0; box-shadow:none; }
.bot-grid-monitor-actions { display:flex; align-items:center; gap:.12rem; }
.bot-grid-monitor-actions form { margin:0; }
.bot-grid-monitor-unlock { display:grid; width:24px; min-width:24px; height:24px; min-height:24px; padding:0; place-items:center; border:1px solid rgba(161,98,7,.22); border-radius:999px; color:#a16207; background:rgba(245,158,11,.1); font-size:.66rem; box-shadow:none; }
.bot-grid-monitor-unlock:hover,.bot-grid-monitor-unlock:focus-visible { color:#854d0e; border-color:rgba(161,98,7,.42); background:rgba(245,158,11,.2); outline:0; box-shadow:0 0 0 3px rgba(245,158,11,.12); }
.bot-grid-monitor-metric { padding:.48rem .62rem; border-left:1px solid var(--card-border); }
.bot-grid-monitor-metric strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bot-grid-monitor-metric em { color:var(--muted-text); font-size:.5rem; font-style:normal; font-weight:700; line-height:1.25; }
.bot-grid-monitor-metric.is-range strong { display:flex; min-width:0; align-items:center; gap:.32rem; overflow:visible; text-overflow:clip; }
.bot-grid-monitor-metric.is-range strong span { min-width:0; }
.bot-grid-monitor-metric.is-range strong i { flex:none; color:var(--color-primary); font-size:.55rem; }
.bot-grid-monitor-metric.is-positive strong { color:#059669; }
.bot-grid-monitor-metric.is-negative strong { color:#dc4b55; }
.bot-grid-details { border:0; background:var(--card-bg); }
.bot-grid-details>summary { display:grid; min-height:70px; grid-template-columns:repeat(3,minmax(0,1fr)) 36px 22px; align-items:center; gap:.5rem; padding:.58rem .72rem; cursor:pointer; list-style:none; background:var(--card-bg); }
.bot-grid-details.has-visible-status>summary { grid-template-columns:repeat(4,minmax(0,1fr)) 36px 22px; }
.bot-grid-details>summary::-webkit-details-marker { display:none; }
.bot-grid-details>summary:hover,.bot-grid-details>summary:focus-visible { background:color-mix(in srgb,var(--color-primary) 2.5%,var(--card-bg)); outline:0; }
.bot-grid-details[open]>summary { border-bottom:1px solid var(--card-border); }
.bot-grid-primary-metric { display:grid; min-width:0; gap:.08rem; }
.bot-grid-details.has-visible-status>summary>.bot-grid-primary-metric { align-self:start; align-content:start; grid-template-rows:auto auto auto; gap:.12rem; padding-top:.06rem; }
.bot-grid-primary-metric small { overflow:hidden; color:var(--muted-text); font-size:.56rem; font-weight:800; line-height:1.25; text-overflow:ellipsis; }
.bot-grid-primary-metric strong { overflow:hidden; color:var(--text-color); font-size:1.02rem; font-weight:900; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.bot-grid-primary-metric em { color:var(--muted-text); font-size:.52rem; font-style:normal; font-weight:700; }
.bot-grid-primary-metric.is-positive strong { color:#059669; }
.bot-grid-primary-metric.is-negative strong { color:#dc4b55; }
.bot-grid-status-value { display:flex!important; min-width:0; align-items:center; gap:.3rem; }
.bot-grid-status-value .bot-phase-icon { display:grid; width:22px; height:22px; flex:0 0 22px; place-items:center; border-radius:7px; color:#2563eb; background:rgba(37,99,235,.1); font-size:.58rem; }
.bot-grid-status-value>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bot-grid-status-value.is-position { color:#087d81!important; }
.bot-grid-status-value.is-position .bot-phase-icon { color:#087d81; background:rgba(8,125,129,.11); }
.bot-grid-status-value.is-long { color:#047857!important; }
.bot-grid-status-value.is-long .bot-phase-icon { color:#047857; background:rgba(16,185,129,.11); }
.bot-grid-status-value.is-short { color:#c93642!important; }
.bot-grid-status-value.is-short .bot-phase-icon { color:#c93642; background:rgba(220,75,85,.11); }
.bot-grid-status-metric>em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bot-grid-primary-metric.bot-live-price-metric>strong { display:inline-flex; width:max-content; max-width:100%; align-items:center; gap:.25rem; border:1px solid transparent; border-radius:6px; transition:color .2s ease,border-color .2s ease,background-color .2s ease; }
.bot-grid-primary-metric.bot-live-price-metric>strong.is-rising { padding:.24rem .46rem; color:#06705e; border-color:rgba(8,127,105,.2); background:rgba(8,127,105,.075); box-shadow:none; }
.bot-grid-primary-metric.bot-live-price-metric>strong.is-falling { padding:.24rem .46rem; color:#a82b39; border-color:rgba(184,50,66,.2); background:rgba(184,50,66,.075); box-shadow:none; }
.bot-grid-primary-metric.bot-live-price-metric>strong.is-rising::after,.bot-grid-primary-metric.bot-live-price-metric>strong.is-falling::after { display:inline-grid; width:16px; height:16px; flex:0 0 16px; place-items:center; border-radius:50%; font-size:.64rem; line-height:1; }
.bot-grid-primary-metric.bot-live-price-metric>strong.is-rising::after { color:#06705e; background:rgba(8,127,105,.1); content:"↑"; }
.bot-grid-primary-metric.bot-live-price-metric>strong.is-falling::after { color:#a82b39; background:rgba(184,50,66,.1); content:"↓"; }
.bot-grid-permission { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; font-size:.72rem; }
.bot-grid-permission.is-allowed { color:#047857; background:rgba(16,185,129,.13); }
.bot-grid-permission.is-paused { color:#a16207; background:rgba(245,158,11,.14); }
.bot-grid-details-chevron { color:var(--muted-text); font-size:.62rem; transition:transform .18s ease; }
.bot-grid-details[open] .bot-grid-details-chevron { transform:rotate(180deg); }
.bot-grid-balance-bar { display:grid; min-width:0; grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); margin:.26rem -.72rem -.58rem; border-top:1px solid var(--card-border); background:color-mix(in srgb,var(--muted-text) 2%,var(--card-bg)); }
.bot-grid-balance-bar.is-single { grid-template-columns:1fr; }
.bot-grid-balance-bar>span { display:flex; min-width:0; min-height:54px; align-items:center; gap:.58rem; padding:.5rem .78rem; }
.bot-grid-balance-bar.is-single>span { justify-content:center; }
.bot-grid-balance-bar>span+span { border-left:1px solid var(--card-border); }
.bot-grid-balance-bar>span>i { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:10px; color:#087d81; background:rgba(8,170,164,.12); font-size:.72rem; }
.bot-grid-balance-bar>span>span { display:grid; min-width:0; gap:.02rem; }
.bot-grid-balance-bar small { color:var(--muted-text); font-size:.6rem; font-weight:800; line-height:1.15; }
.bot-grid-balance-bar strong { overflow:hidden; color:var(--text-color); font-size:1.02rem; font-weight:900; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.bot-balance-label-mobile { display:none; }
.bot-grid-balance-bar.is-single strong { font-size:1.02rem; }
.bot-grid-profit-breakdown { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:.5rem; overflow:hidden; border:1px solid var(--card-border); border-radius:12px; background:var(--card-bg); }
.bot-grid-profit-breakdown>span { display:flex; min-width:0; min-height:64px; align-items:center; gap:.48rem; padding:.48rem .58rem; }
.bot-grid-profit-breakdown>span+span { border-left:1px solid var(--card-border); }
.bot-grid-profit-breakdown>span>i { display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; border-radius:9px; color:var(--muted-text); background:color-mix(in srgb,var(--muted-text) 8%,transparent); font-size:.66rem; }
.bot-grid-profit-breakdown>span>span { display:grid; min-width:0; gap:.03rem; }
.bot-grid-profit-breakdown small { color:var(--muted-text); font-size:.54rem; font-weight:800; line-height:1.2; }
.bot-grid-profit-breakdown strong { overflow:hidden; color:var(--text-color); font-size:.9rem; font-weight:900; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.bot-grid-profit-breakdown em { overflow:hidden; color:var(--muted-text); font-size:.48rem; font-style:normal; font-weight:700; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.bot-grid-profit-breakdown .is-positive strong { color:#059669; }
.bot-grid-profit-breakdown .is-negative strong { color:#dc4b55; }
.bot-grid-profit-breakdown .is-reserve>i { color:#087d81; background:rgba(8,170,164,.12); }
.bot-grid-details-body { overflow:hidden; padding:.55rem .62rem .62rem; background:color-mix(in srgb,var(--color-primary) 2%,var(--section-bg)); }
.bot-grid-details-body>.bot-grid-prices { overflow:hidden; margin-bottom:.5rem; border:1px solid var(--card-border); border-radius:12px; }
.bot-grid-details-body>.bot-grid-monitor { overflow:hidden; border:1px solid var(--card-border); border-radius:12px; box-shadow:0 5px 14px rgba(8,30,44,.025); }
.bot-grid-evaluation { display:flex; align-items:flex-start; gap:.5rem; padding:.55rem .7rem; border:1px solid var(--card-border); border-radius:10px; color:var(--muted-text); background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.bot-grid-evaluation>i { flex:none; margin-top:.18rem; color:var(--color-primary); font-size:.7rem; }
.bot-grid-evaluation>span { display:grid; min-width:0; gap:.12rem; }
.bot-grid-evaluation small { font-size:.58rem; font-weight:800; }
.bot-grid-evaluation strong { color:var(--text-color); font-size:.72rem; font-weight:700; line-height:1.35; }
.bot-grid-evaluation.is-attention { border-color:rgba(220,75,85,.25); background:rgba(220,75,85,.06); }
.bot-grid-evaluation.is-attention>i,.bot-grid-evaluation.is-attention strong { color:#dc4b55; }
.bot-grid-secondary-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bot-grid-secondary-metrics>div { border-bottom:0; }
.bot-grid-comparison { margin:.8rem 0; overflow:hidden; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); box-shadow:0 8px 24px rgba(8,30,44,.045); }
.bot-grid-comparison>summary { display:flex; min-height:54px; padding:.62rem .8rem; align-items:center; justify-content:space-between; gap:.8rem; cursor:pointer; list-style:none; }
.bot-grid-comparison>summary::-webkit-details-marker { display:none; }
.bot-grid-comparison[open]>summary { border-bottom:1px solid var(--card-border); }
.bot-grid-comparison-title { display:flex; min-width:0; align-items:center; gap:.58rem; }
.bot-grid-comparison-title>i { display:grid; width:31px; height:31px; flex:0 0 31px; place-items:center; border-radius:10px; font-size:.74rem; }
.bot-grid-comparison.is-spot .bot-grid-comparison-title>i { color:#087d81; background:rgba(8,170,164,.11); }
.bot-grid-comparison.is-margin .bot-grid-comparison-title>i { color:#2563eb; background:rgba(37,99,235,.1); }
.bot-grid-comparison-title>span { display:grid; min-width:0; gap:.03rem; }
.bot-grid-comparison>summary strong { color:var(--text-color); font-size:.78rem; font-weight:900; }
.bot-grid-comparison>summary small { color:var(--muted-text); font-size:.55rem; font-weight:650; }
.bot-grid-comparison-toggle { display:flex; flex:none; align-items:center; gap:.45rem; }
.bot-grid-comparison-toggle>em { padding:.25rem .46rem; border-radius:999px; color:var(--muted-text); background:var(--hover-bg); font-size:.56rem; font-style:normal; font-weight:800; }
.bot-grid-comparison-toggle>i { color:var(--muted-text); font-size:.62rem; transition:transform .18s ease; }
.bot-grid-comparison[open] .bot-grid-comparison-toggle>i { transform:rotate(180deg); }
.bot-grid-comparison>summary:hover,.bot-grid-comparison>summary:focus-visible { background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); outline:0; }
.bot-grid-comparison-head,.bot-grid-comparison-row { display:grid; grid-template-columns:1.25fr repeat(5,minmax(0,1fr)); }
.bot-grid-comparison-head { color:var(--muted-text); background:color-mix(in srgb,var(--hover-bg) 62%,var(--card-bg)); font-size:.5rem; font-weight:850; text-transform:uppercase; letter-spacing:.035em; }
.bot-grid-comparison-head>span { padding:.34rem .62rem; }
.bot-grid-comparison-row+.bot-grid-comparison-row { border-top:1px solid var(--card-border); }
.bot-grid-comparison-row>div { display:grid; min-width:0; min-height:58px; padding:.48rem .62rem; align-content:center; gap:.04rem; border-left:1px solid var(--card-border); }
.bot-grid-comparison-row>div:first-child { border-left:0; }
.bot-grid-comparison-row>div>small { display:none; color:var(--muted-text); font-size:.53rem; font-weight:800; }
.bot-grid-comparison-row>div>strong { overflow:hidden; color:var(--text-color); font-size:.72rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.bot-grid-comparison-row>div>em { overflow:hidden; color:var(--muted-text); font-size:.51rem; font-style:normal; font-weight:700; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.bot-grid-comparison-row .is-positive { color:#059669!important; }
.bot-grid-comparison-row .is-negative { color:#dc4b55!important; }
.bot-grid-comparison-bot { grid-template-columns:30px minmax(0,1fr); align-items:center; gap:.48rem!important; }
.bot-grid-comparison-bot>span:first-child { width:30px; min-width:30px; height:30px; min-height:30px; }
.bot-grid-comparison-bot>span:last-child { display:grid; min-width:0; gap:.02rem; }
.bot-grid-comparison-bot strong em { margin-left:.18rem; color:var(--muted-text); font-size:.52rem; font-style:normal; }
.bot-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.bot-metrics>div { display:flex; min-width:0; min-height:76px; padding:.58rem .8rem; flex-direction:column; justify-content:center; border-right:1px solid var(--card-border); border-bottom:1px solid var(--card-border); }
.bot-metrics>div:nth-child(2n) { border-right:0; }
.bot-metrics>div:nth-last-child(-n+2) { border-bottom:0; }
.bot-metrics small { color:var(--muted-text); font-size:.58rem; font-weight:750; }
.bot-metrics strong { overflow:hidden; margin:.2rem 0 .12rem; color:var(--text-color); font-size:1rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.bot-metrics span { color:var(--muted-text); font-size:.58rem; }
.bot-metrics .is-positive strong { color:#059669; }
.bot-metrics .is-negative strong { color:#dc4b55; }
.bot-metrics .bot-live-price-metric>strong { display:inline-flex; width:max-content; max-width:100%; align-items:center; gap:.32rem; border:1px solid transparent; border-radius:6px; color:var(--text-color); transition:color .2s ease,border-color .2s ease,background-color .2s ease; }
.bot-metrics .bot-live-price-metric>strong.is-rising { padding:.24rem .48rem; color:#06705e; border-color:rgba(8,127,105,.2); background:rgba(8,127,105,.075); box-shadow:none; }
.bot-metrics .bot-live-price-metric>strong.is-falling { padding:.24rem .48rem; color:#a82b39; border-color:rgba(184,50,66,.2); background:rgba(184,50,66,.075); box-shadow:none; }
.bot-metrics .bot-live-price-metric>strong.is-rising::after,.bot-metrics .bot-live-price-metric>strong.is-falling::after { display:inline-grid; width:18px; height:18px; flex:0 0 18px; place-items:center; border-radius:50%; font-size:.72rem; line-height:1; }
.bot-metrics .bot-live-price-metric>strong.is-rising::after { color:#06705e; background:rgba(8,127,105,.1); content:"↑"; }
.bot-metrics .bot-live-price-metric>strong.is-falling::after { color:#a82b39; background:rgba(184,50,66,.1); content:"↓"; }
.bot-metrics strong.bot-phase { font-size:.76rem; white-space:normal; }
.bot-phase-status { display:flex!important; min-width:0; align-items:center; gap:.42rem; line-height:1.3; }
.bot-phase-icon { display:grid; width:25px; height:25px; flex:0 0 25px; place-items:center; border-radius:8px; font-size:.64rem; }
.bot-phase-status.is-analysis { color:#2563eb; }
.bot-phase-status.is-analysis .bot-phase-icon { color:#1d4ed8; border:1px solid rgba(37,99,235,.16); background:rgba(37,99,235,.1); }
.bot-phase-status.is-long { color:#047857; }
.bot-phase-status.is-long .bot-phase-icon { color:#047857; border:1px solid rgba(16,185,129,.18); background:rgba(16,185,129,.11); }
.bot-phase-status.is-short { color:#b4232e; }
.bot-phase-status.is-short .bot-phase-icon { color:#b4232e; border:1px solid rgba(220,75,85,.18); background:rgba(220,75,85,.11); }
.bot-phase-status.is-paused { color:#64748b; }
.bot-phase-status.is-paused .bot-phase-icon { color:#64748b; border:1px solid rgba(100,116,139,.18); background:rgba(100,116,139,.1); }
.bot-phase-status.is-waiting { color:#b45309; }
.bot-phase-status.is-waiting .bot-phase-icon { color:#b45309; border:1px solid rgba(245,158,11,.2); background:rgba(245,158,11,.11); }
.bot-analysis-trigger { display:inline-flex; width:30px; min-width:30px; max-width:30px; min-height:30px; margin-top:.12rem; padding:0; align-items:center; justify-content:center; border:0; border-radius:0; color:#2563eb; background:transparent; font-size:.78rem; font-weight:850; line-height:1; box-shadow:none; }
.bot-analysis-trigger:hover,.bot-analysis-trigger:focus-visible { color:#1d4ed8; background:transparent; outline:0; box-shadow:none; }
.bot-metrics .bot-analysis-trigger span { color:inherit; font-size:inherit; }
.bot-analysis-status-row { display:flex; width:100%; min-width:0; align-items:center; justify-content:space-between; gap:.45rem; }
.bot-analysis-status-row .bot-phase { flex:1 1 auto; }
.bot-analysis-status-row .bot-analysis-trigger { flex:none; margin:0; }
.margin-status-metric { gap:.06rem; }
.margin-status-metric .bot-phase { display:flex; align-items:center; gap:.38rem; }
.bot-evaluation-status { display:none; width:100%; min-width:0; overflow:hidden; color:#64748b; font-size:.68rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
@media (min-width:768px) { .bot-evaluation-status { display:block; } }
.margin-direction-status { display:inline-flex; flex:none; padding:.2rem .42rem; border-radius:999px; font-size:.61rem; font-weight:900; line-height:1.15; text-transform:uppercase; }
.margin-direction-status.is-long { color:#047857; background:rgba(16,185,129,.12); }
.margin-direction-status.is-short { color:#b4232e; background:rgba(220,75,85,.12); }
.margin-phase-detail { min-width:0; color:var(--text-color); font-size:.72rem; line-height:1.3; }
.bot-stop-loss-price { display:flex; align-items:center; gap:.28rem; margin-top:.12rem; color:#dc3545!important; line-height:1.2; }
.bot-stop-loss-price>i { flex:none; font-size:.62rem; }
.bot-stop-loss-price>span { color:inherit!important; font-size:.62rem; font-weight:750; }
.bot-stop-loss-price>strong { margin:0; color:#dc3545!important; font-size:.78rem; font-weight:950; font-variant-numeric:tabular-nums; white-space:nowrap; }
.bot-liquidation-price { display:flex; align-items:center; gap:.28rem; margin-top:.12rem; color:#dc3545!important; line-height:1.2; }
.bot-liquidation-price>i { flex:none; font-size:.62rem; }
.bot-liquidation-price>span { font-size:.62rem; font-weight:750; }
.bot-liquidation-price>strong { margin:0; color:#dc3545!important; font-size:.78rem; font-weight:950; font-variant-numeric:tabular-nums; white-space:nowrap; }
.bot-card-actions { display:flex; min-width:0; align-items:center; justify-content:flex-end; gap:.38rem; padding:.5rem .62rem; border-top:1px solid var(--card-border); background:color-mix(in srgb,var(--section-bg) 58%,var(--card-bg)); }
.bot-card-actions form { flex:0 0 40px; width:40px; margin:0; }
.bot-card-actions button { position:relative; display:grid; width:40px; min-width:40px; height:40px; min-height:40px; padding:0; place-items:center; border:1px solid color-mix(in srgb,var(--text-color) 13%,var(--card-border)); border-radius:12px; color:var(--text-color); background:color-mix(in srgb,var(--text-color) 3%,var(--card-bg)); font-size:.82rem; box-shadow:none; transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease; }
.bot-card-actions form>button { width:100%; min-width:0; }
.bot-card-actions button>i { display:grid; width:20px; height:20px; place-items:center; line-height:1; }
.bot-card-actions button>span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.bot-card-actions button:hover { transform:translateY(-1px); }
.bot-card-actions button:focus-visible { outline:0; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent); }
.bot-card-actions button.start { color:#078965; border-color:rgba(7,149,111,.25); background:rgba(10,173,128,.1); }
.bot-card-actions button.pause { color:#9a5800; border-color:rgba(217,119,6,.35); background:rgba(245,158,11,.12); }
.bot-card-actions button.edit { color:#087d81; border-color:rgba(8,125,129,.3); background:rgba(8,170,164,.1); }
.bot-card-actions button.release-profit { color:#087d81; border-color:rgba(8,125,129,.3); background:rgba(8,170,164,.1); }
.bot-card-actions button.pattern { color:#087d81; border-color:rgba(8,170,164,.3); background:linear-gradient(135deg,rgba(8,170,164,.11),rgba(14,116,144,.06)); }
.bot-card-actions button.profit-protection { color:#087d81; border-color:rgba(8,170,164,.3); background:linear-gradient(135deg,rgba(8,170,164,.11),rgba(14,116,144,.06)); }
.bot-card-actions button.profit-protection:hover { color:#046c73; border-color:rgba(8,170,164,.5); background:linear-gradient(135deg,rgba(8,170,164,.18),rgba(14,116,144,.1)); transform:translateY(-1px); }
.bot-card-actions button.pattern:hover { color:#046c73; border-color:rgba(8,170,164,.5); background:linear-gradient(135deg,rgba(8,170,164,.18),rgba(14,116,144,.1)); transform:translateY(-1px); }
.bot-card-actions button.transactions { color:#334155; border-color:color-mix(in srgb,#64748b 34%,var(--card-border)); background:color-mix(in srgb,#64748b 9%,var(--card-bg)); }
.bot-card-actions button.transactions:hover { color:#087d81; border-color:rgba(8,170,164,.4); background:rgba(8,170,164,.08); }
.bot-card-actions button.transactions b { position:absolute; top:-5px; right:-5px; display:grid; min-width:18px; height:18px; padding:0 .22rem; place-items:center; border:2px solid var(--card-bg); border-radius:999px; color:#067b7f; background:#dff5f3; font-size:.49rem; box-shadow:0 2px 6px rgba(3,23,34,.1); }
.bot-card-actions button.close-position { margin-left:.08rem; border-color:rgba(217,119,6,.32); color:#b86605; background:rgba(245,158,11,.13); box-shadow:none; }
.bot-card-actions button.close-position:hover { border-color:rgba(217,119,6,.5); color:#9a5100; background:rgba(245,158,11,.2); box-shadow:none; transform:translateY(-1px); }
.bot-card-actions button.close-position:focus-visible { outline:0; box-shadow:0 0 0 3px rgba(245,158,11,.2); }
.bot-confirm-dialog { width:min(92vw,470px); max-width:none; padding:0; overflow:hidden; border:0; border-radius:22px; color:var(--text-color); background:transparent; box-shadow:0 30px 90px rgba(3,23,34,.34); }
.bot-confirm-dialog::backdrop { background:rgba(3,20,31,.62); backdrop-filter:blur(5px); }
body:has(.bot-confirm-dialog[open]) { overflow:hidden; }
.bot-confirm-panel { overflow:hidden; border:1px solid color-mix(in srgb,#d97706 25%,var(--card-border)); border-radius:22px; background:var(--card-bg); }
.bot-confirm-header { display:grid; grid-template-columns:48px minmax(0,1fr) 36px; align-items:center; gap:.8rem; padding:1.15rem 1.2rem; border-bottom:1px solid var(--card-border); background:linear-gradient(135deg,rgba(245,158,11,.09),transparent 72%); }
.bot-confirm-icon { display:grid; width:48px; height:48px; place-items:center; border-radius:14px; color:#a95508; background:rgba(245,158,11,.13); font-size:1.05rem; }
.bot-confirm-header>div>span { color:#b46208; font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.bot-confirm-header h2 { margin:.12rem 0 0; color:var(--text-color); font-size:1.08rem; font-weight:900; }
.bot-confirm-close { display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--card-border); border-radius:10px; color:var(--muted-text); background:var(--card-bg); }
.bot-confirm-close:hover { color:var(--text-color); background:var(--hover-bg); }
.bot-confirm-body { padding:1.1rem 1.2rem .45rem; }
.bot-confirm-body>p { margin:0 0 1rem; color:var(--muted-text); font-size:.78rem; line-height:1.6; }
.bot-confirm-details { display:grid; gap:.5rem; }
.bot-confirm-details>div { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:.65rem; padding:.65rem .7rem; border:1px solid var(--card-border); border-radius:12px; background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.bot-confirm-details i { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:#008f84; background:rgba(16,185,129,.1); font-size:.72rem; }
.bot-confirm-details span { color:var(--muted-text); font-size:.66rem; line-height:1.4; }
.bot-confirm-details b { display:block; margin-bottom:.08rem; color:var(--text-color); font-size:.7rem; }
.bot-confirm-actions { display:grid; grid-template-columns:1fr 1.35fr; gap:.65rem; padding:1rem 1.2rem 1.2rem; }
.bot-confirm-actions button { min-height:45px; border-radius:12px; font-size:.73rem; font-weight:850; }
.bot-confirm-cancel { border:1px solid var(--card-border); color:var(--text-color); background:var(--card-bg); }
.bot-confirm-cancel:hover { background:var(--hover-bg); }
.bot-confirm-submit { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; border:1px solid #d97706; color:#fff; background:linear-gradient(135deg,#e58a0a,#bd6507); box-shadow:0 8px 20px rgba(217,119,6,.18); }
.bot-confirm-submit:hover { background:linear-gradient(135deg,#cf7605,#a95508); }
.bot-confirm-dialog[data-kind="delete"] .bot-confirm-panel { border-color:color-mix(in srgb,#dc3545 28%,var(--card-border)); }
.bot-confirm-dialog[data-kind="delete"] .bot-confirm-header { background:linear-gradient(135deg,rgba(220,53,69,.08),transparent 72%); }
.bot-confirm-dialog[data-kind="delete"] .bot-confirm-icon { color:#c23843; background:rgba(220,53,69,.11); }
.bot-confirm-dialog[data-kind="delete"] .bot-confirm-header>div>span { color:#c23843; }
.bot-confirm-dialog[data-kind="delete"] .bot-confirm-details>div { background:color-mix(in srgb,#dc3545 3%,var(--card-bg)); }
.bot-confirm-dialog[data-kind="delete"] .bot-confirm-details i { color:#c23843; background:rgba(220,53,69,.1); }
.bot-confirm-dialog[data-kind="delete"] .bot-confirm-submit { border-color:#d8444f; background:linear-gradient(135deg,#e04d58,#c73541); box-shadow:0 8px 20px rgba(216,68,79,.18); }
.bot-confirm-dialog[data-kind="delete"] .bot-confirm-submit:hover { background:linear-gradient(135deg,#cf3c48,#b72d38); }
.bot-confirm-dialog[data-kind="reset"] .bot-confirm-icon { color:#078b88; background:rgba(7,139,136,.1); }
.bot-confirm-dialog[data-kind="reset"] .bot-confirm-header>div>span { color:#078b88; }
.bot-confirm-dialog[data-kind="reset"] .bot-confirm-submit { border-color:#078b88; background:linear-gradient(135deg,#08aaa4,#087d81); }
.bot-confirm-dialog[data-kind="unlock"] .bot-confirm-panel { border-color:color-mix(in srgb,#d97706 30%,var(--card-border)); }
.bot-confirm-dialog[data-kind="unlock"] .bot-confirm-header { background:linear-gradient(135deg,rgba(245,158,11,.1),transparent 72%); }
.bot-confirm-dialog[data-kind="unlock"] .bot-confirm-icon,.bot-confirm-dialog[data-kind="unlock"] .bot-confirm-header>div>span { color:#a16207; }
.bot-confirm-dialog[data-kind="unlock"] .bot-confirm-icon { background:rgba(245,158,11,.14); }
.bot-confirm-dialog[data-kind="unlock"] .bot-confirm-details i { color:#a16207; background:rgba(245,158,11,.12); }
.bot-confirm-dialog[data-kind="unlock"] .bot-confirm-submit { border-color:#d97706; background:linear-gradient(135deg,#f59e0b,#c56b08); }
.bot-card-actions button.delete { color:#bd2d39; border-color:rgba(220,75,85,.3); background:rgba(220,75,85,.09); }
.bot-card-actions button:disabled { cursor:not-allowed; opacity:.32; filter:grayscale(.7); transform:none; }

.bot-analysis-dialog { box-sizing:border-box; width:min(520px,calc(100vw - 28px)); max-width:none; padding:0; overflow:hidden; border:0; border-radius:20px; color:var(--text-color); background:transparent; box-shadow:0 28px 80px rgba(2,18,31,.32); }
.bot-analysis-dialog::backdrop { background:rgba(3,18,29,.58); backdrop-filter:blur(5px); }
.bot-analysis-panel { overflow:hidden; border:1px solid color-mix(in srgb,#2563eb 24%,var(--card-border)); border-radius:20px; background:var(--card-bg); }
.bot-analysis-header { display:grid; grid-template-columns:44px minmax(0,1fr) 34px; align-items:center; gap:.72rem; padding:.9rem 1rem; border-bottom:1px solid var(--card-border); background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(8,170,164,.035)); }
.bot-analysis-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,#3b82f6,#1d4ed8); box-shadow:0 8px 20px rgba(37,99,235,.22); }
.bot-analysis-header>div>span { color:#2563eb; font-size:.57rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.bot-analysis-header h2 { margin:.08rem 0 0; font-size:1.08rem; font-weight:900; }
.bot-analysis-header p { margin:.1rem 0 0; color:var(--muted-text); font-size:.72rem; }
.bot-analysis-body { display:grid; gap:.7rem; padding:.9rem 1rem 1rem; }
.bot-analysis-state { display:flex; align-items:center; gap:.65rem; padding:.65rem .72rem; border:1px solid rgba(37,99,235,.15); border-radius:12px; background:rgba(37,99,235,.055); }
.bot-analysis-state>i { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:9px; color:#2563eb; background:rgba(37,99,235,.11); }
.bot-analysis-state small,.bot-analysis-reason small { display:block; color:var(--muted-text); font-size:.65rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.bot-analysis-state strong { display:block; margin-top:.12rem; font-size:.86rem; }
.bot-analysis-reason { padding:.72rem .78rem; border:1px solid var(--card-border); border-radius:12px; background:color-mix(in srgb,var(--section-bg) 52%,var(--card-bg)); }
.bot-analysis-reason p { margin:.3rem 0 0; color:var(--text-color); font-size:.82rem; font-weight:650; line-height:1.55; }
.bot-analysis-note { display:flex; align-items:flex-start; gap:.42rem; margin:0; color:var(--muted-text); font-size:.7rem; line-height:1.45; }
.bot-analysis-note i { margin-top:.12rem; color:#08aaa4; }
.bot-analysis-dialog.has-patterns { width:min(820px,calc(100vw - 28px)); }
.bot-analysis-dialog.has-patterns .bot-analysis-body { max-height:min(72vh,760px); overflow:auto; }
.bot-analysis-patterns { display:grid; gap:.72rem; padding-top:.08rem; }
.bot-analysis-patterns-header { display:flex; align-items:flex-end; justify-content:space-between; gap:.8rem; }
.bot-analysis-patterns-header small { display:block; color:var(--muted-text); font-size:.65rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.bot-analysis-patterns-header strong { display:block; margin-top:.12rem; font-size:1rem; }
.bot-analysis-patterns-header>span { color:var(--muted-text); font-size:.74rem; font-weight:750; text-align:right; }
.bot-analysis-pattern-counts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.42rem; }
.bot-analysis-pattern-counts>span { display:flex; align-items:center; gap:.4rem; padding:.48rem .55rem; border:1px solid var(--card-border); border-radius:10px; background:color-mix(in srgb,var(--section-bg) 60%,var(--card-bg)); }
.bot-analysis-pattern-counts strong { font-size:.95rem; }
.bot-analysis-pattern-counts small { color:var(--muted-text); font-size:.65rem; font-weight:750; }
.bot-analysis-pattern-counts .is-confirmed { border-color:rgba(5,150,105,.3); color:#059669; }
.bot-analysis-pattern-counts .is-developing { border-color:rgba(37,99,235,.28); color:#2563eb; }
.bot-analysis-pattern-counts .is-completed { color:#7c3aed; }
.bot-analysis-pattern-counts .is-invalidated { color:#dc2626; }
.bot-analysis-pattern-layers { display:grid; gap:.65rem; }
.bot-analysis-pattern-layer { display:grid; gap:.42rem; }
.bot-analysis-pattern-layer>header { display:grid; gap:.08rem; }
.bot-analysis-pattern-layer>header strong { font-size:.82rem; }
.bot-analysis-pattern-layer>header small { color:var(--muted-text); font-size:.68rem; line-height:1.4; }
.bot-analysis-pattern-layer>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
.bot-analysis-pattern-card { min-width:0; padding:.58rem .62rem; border:1px solid var(--card-border); border-left:3px solid #94a3b8; border-radius:11px; background:color-mix(in srgb,var(--section-bg) 52%,var(--card-bg)); }
.bot-analysis-pattern-card.is-long { border-left-color:#059669; }
.bot-analysis-pattern-card.is-short { border-left-color:#e11d48; }
.bot-analysis-pattern-card>header { display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem; }
.bot-analysis-pattern-card>header strong { font-size:.82rem; line-height:1.3; }
.bot-analysis-pattern-card>header span { flex:0 0 auto; padding:.18rem .4rem; border-radius:999px; color:var(--muted-text); background:rgba(100,116,139,.1); font-size:.6rem; font-weight:850; }
.bot-analysis-pattern-card.is-confirmed>header span { color:#047857; background:rgba(5,150,105,.12); }
.bot-analysis-pattern-card.is-developing>header span { color:#1d4ed8; background:rgba(37,99,235,.11); }
.bot-analysis-pattern-card.is-invalidated>header span { color:#b91c1c; background:rgba(220,38,38,.1); }
.bot-analysis-pattern-meta { display:flex; flex-wrap:wrap; gap:.25rem; margin-top:.36rem; }
.bot-analysis-pattern-meta span { padding:.16rem .34rem; border-radius:6px; color:var(--muted-text); background:rgba(100,116,139,.08); font-size:.61rem; font-weight:750; }
.bot-analysis-pattern-card p { margin:.4rem 0 0; color:var(--muted-text); font-size:.69rem; line-height:1.5; }
.bot-analysis-pattern-empty { margin:0; padding:.65rem; border:1px dashed var(--card-border); border-radius:10px; color:var(--muted-text); font-size:.72rem; }
.bot-analysis-pattern-catalog { border-top:1px solid var(--card-border); padding-top:.62rem; }
.bot-analysis-pattern-catalog summary { cursor:pointer; color:var(--text-color); font-size:.82rem; font-weight:850; }
.bot-analysis-pattern-directions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:.55rem; }
.bot-analysis-pattern-directions h3 { margin:0 0 .35rem; font-size:.8rem; }
.bot-analysis-pattern-directions section>div { display:grid; gap:.35rem; }
.bot-analysis-pattern-card.is-compact { padding:.45rem .5rem; }
.bot-analysis-pattern-card.is-compact p { font-size:.66rem; }
.bot-analysis-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; padding:.28rem; border:1px solid var(--card-border); border-radius:12px; background:color-mix(in srgb,var(--section-bg) 68%,var(--card-bg)); }
.bot-analysis-tabs button { display:flex; align-items:center; justify-content:center; gap:.38rem; min-height:38px; border:0; border-radius:9px; color:var(--muted-text); background:transparent; font-size:.72rem; font-weight:850; }
.bot-analysis-tabs button.is-active { color:#1d4ed8; background:var(--card-bg); box-shadow:0 3px 10px rgba(15,23,42,.08); }
.bot-analysis-tab-panel { display:grid; gap:.65rem; }
.bot-analysis-direction-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.bot-analysis-direction { min-width:0; overflow:hidden; border:1px solid var(--card-border); border-top:3px solid #059669; border-radius:12px; background:color-mix(in srgb,var(--section-bg) 46%,var(--card-bg)); }
.bot-analysis-direction.is-short { border-top-color:#e11d48; }
.bot-analysis-direction>header { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.62rem .68rem; border-bottom:1px solid var(--card-border); }
.bot-analysis-direction>header div { display:grid; gap:.1rem; min-width:0; }
.bot-analysis-direction>header strong { font-size:.88rem; }
.bot-analysis-direction>header small { overflow:hidden; color:var(--muted-text); font-size:.65rem; text-overflow:ellipsis; white-space:nowrap; }
.bot-analysis-direction>header>span { flex:0 0 auto; padding:.24rem .42rem; border-radius:8px; color:#b91c1c; background:rgba(220,38,38,.09); font-size:.76rem; font-weight:900; }
.bot-analysis-direction>header>span.is-ready { color:#047857; background:rgba(5,150,105,.11); }
.bot-analysis-check-list { display:grid; }
.bot-analysis-check-list article { display:grid; grid-template-columns:18px minmax(0,1fr); gap:.42rem; padding:.48rem .62rem; border-bottom:1px solid color-mix(in srgb,var(--card-border) 70%,transparent); }
.bot-analysis-check-list article:last-child { border-bottom:0; }
.bot-analysis-check-list article>i { margin-top:.1rem; font-size:.72rem; }
.bot-analysis-check-list article.is-passed>i { color:#059669; }
.bot-analysis-check-list article.is-failed>i { color:#dc2626; }
.bot-analysis-check-list article.is-unavailable>i { color:#64748b; }
.bot-analysis-check-list strong { display:block; font-size:.68rem; line-height:1.35; }
.bot-analysis-check-list p { margin:.12rem 0 0; color:var(--muted-text); font-size:.62rem; line-height:1.45; }
.bot-analysis-chart-meta { color:var(--muted-text); font-size:.68rem; font-weight:700; line-height:1.4; }
.bot-analysis-chart-wrap { overflow-x:auto; border:1px solid var(--card-border); border-radius:12px; background:color-mix(in srgb,var(--section-bg) 45%,var(--card-bg)); }
.bot-analysis-chart-wrap svg { display:block; width:100%; min-width:650px; height:auto; }
.analysis-chart-grid { stroke:color-mix(in srgb,var(--muted-text) 18%,transparent); stroke-width:1; }
.analysis-chart-axis { fill:var(--muted-text); font-size:11px; font-weight:700; }
.analysis-chart-wick { stroke-width:1.25; }
.analysis-chart-candle.is-bullish,.analysis-chart-wick.is-bullish { fill:#0aa58f; stroke:#0a8f7d; }
.analysis-chart-candle.is-bearish,.analysis-chart-wick.is-bearish { fill:#e05265; stroke:#c43d50; }
.analysis-pattern-line { fill:none; stroke-width:2.2; stroke-dasharray:6 4; opacity:.9; }
.analysis-pattern-line.is-long { stroke:#059669; }
.analysis-pattern-line.is-short { stroke:#e11d48; }
.analysis-trade-level { stroke-width:1.4; stroke-dasharray:3 3; opacity:.82; }
.analysis-trade-level.is-target { stroke:#2563eb; }
.analysis-trade-level.is-invalidation { stroke:#f59e0b; }
.analysis-trade-level-label { font-size:9px; font-weight:800; paint-order:stroke; stroke:var(--card-bg); stroke-width:3px; stroke-linejoin:round; }
.analysis-trade-level-label.is-target { fill:#2563eb; }
.analysis-trade-level-label.is-invalidation { fill:#b45309; }
.bot-analysis-chart-note { display:flex; align-items:flex-start; gap:.4rem; margin:0; color:var(--muted-text); font-size:.66rem; line-height:1.45; }
.bot-analysis-chart-note i { margin-top:.12rem; color:#2563eb; }

.bot-profit-dialog { width:min(650px,calc(100vw - 28px)); }
.bot-profit-panel { border-color:color-mix(in srgb,#08aaa4 30%,var(--card-border)); }
.bot-profit-header { background:linear-gradient(135deg,rgba(8,170,164,.12),rgba(14,116,144,.035)); }
.bot-profit-header>div>span { color:#078b88; }
.bot-profit-header h2 { font-size:1.08rem; }
.bot-profit-header p { font-size:.72rem; }
.bot-profit-icon { background:linear-gradient(145deg,#0bb9ad,#087d81); box-shadow:0 8px 20px rgba(8,170,164,.23); }
.bot-profit-body { display:grid; gap:.75rem; max-height:calc(100dvh - 145px); padding:.9rem 1rem 1rem; overflow:auto; }
.bot-profit-state { display:flex; align-items:center; gap:.68rem; padding:.72rem .78rem; border:1px solid rgba(217,119,6,.2); border-radius:13px; background:rgba(245,158,11,.07); }
.bot-profit-state>i { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:10px; color:#b46900; background:rgba(245,158,11,.12); }
.bot-profit-state small { display:block; color:#9a5800; font-size:.66rem; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
.bot-profit-state strong { display:block; margin-top:.12rem; font-size:.86rem; line-height:1.4; }
.bot-profit-dialog.is-active .bot-profit-state { border-color:rgba(8,170,164,.22); background:rgba(8,170,164,.07); }
.bot-profit-dialog.is-active .bot-profit-state>i { color:#078b88; background:rgba(8,170,164,.12); }
.bot-profit-dialog.is-active .bot-profit-state small { color:#078b88; }
.bot-profit-price-overview { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:.65rem; padding:.62rem .7rem; border:1px solid color-mix(in srgb,#079b94 17%,var(--card-border)); border-radius:13px; background:linear-gradient(110deg,color-mix(in srgb,#079b94 5%,var(--card-bg)),var(--card-bg)); }
.bot-profit-price-overview>div { display:flex; min-width:0; align-items:center; gap:.55rem; }
.bot-profit-price-overview>div>i { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:9px; color:#607284; background:var(--hover-bg); font-size:.68rem; }
.bot-profit-price-overview>div.is-current>i { color:#078b88; background:rgba(8,170,164,.1); }
.bot-profit-price-overview>i { color:#9aa7b3; font-size:.65rem; }
.bot-profit-price-overview span { display:grid; min-width:0; gap:.08rem; }
.bot-profit-price-overview small { color:var(--muted-text); font-size:.58rem; font-weight:800; }
.bot-profit-price-overview strong { color:var(--text-color); font-size:.9rem; font-weight:900; font-variant-numeric:tabular-nums; }
.bot-profit-price-overview .is-current strong { color:#078b88; }
.bot-profit-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.bot-profit-facts>div { min-width:0; padding:.65rem .7rem; border:1px solid var(--card-border); border-radius:12px; background:color-mix(in srgb,var(--section-bg) 50%,var(--card-bg)); }
.bot-profit-facts>div.is-exit { border-color:rgba(8,170,164,.22); background:rgba(8,170,164,.055); }
.bot-profit-facts small { display:block; color:var(--muted-text); font-size:.62rem; font-weight:850; letter-spacing:.035em; text-transform:uppercase; }
.bot-profit-facts strong { display:block; margin-top:.18rem; color:var(--text-color); font-size:.95rem; }
.bot-profit-facts>div.is-exit strong { color:#078b88; }
.bot-profit-facts span { display:block; margin-top:.12rem; overflow:hidden; color:var(--muted-text); font-size:.68rem; line-height:1.4; text-overflow:ellipsis; }
.bot-profit-facts .bot-profit-price { margin-top:.38rem; padding-top:.35rem; border-top:1px solid color-mix(in srgb,#758596 13%,var(--card-border)); color:#3c5969; font-size:.7rem; font-weight:850; font-variant-numeric:tabular-nums; white-space:normal; }
.bot-profit-facts>div.is-exit .bot-profit-price { color:#078b88; }
.bot-profit-inputs { display:flex; flex-wrap:wrap; gap:.42rem; }
.bot-profit-inputs>span { display:inline-flex; align-items:center; gap:.3rem; padding:.36rem .5rem; border-radius:999px; color:var(--muted-text); background:color-mix(in srgb,var(--section-bg) 70%,var(--card-bg)); font-size:.68rem; }
.bot-profit-inputs i { color:#08aaa4; }
.bot-profit-inputs strong { color:var(--text-color); }
.bot-profit-explanation { margin:0; padding:.68rem .75rem; border-left:3px solid #08aaa4; border-radius:0 10px 10px 0; color:var(--text-color); background:rgba(8,170,164,.055); font-size:.78rem; font-weight:650; line-height:1.6; }

.bot-pattern-dialog { box-sizing:border-box; width:min(920px,calc(100vw - 28px)); max-width:none; padding:0; border:0; border-radius:22px; color:var(--text-color); background:transparent; box-shadow:0 30px 90px rgba(2,18,31,.3); }
.bot-pattern-dialog::backdrop { background:rgba(3,18,29,.58); backdrop-filter:blur(5px); }
.bot-pattern-panel { overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--card-border)); border-radius:22px; background:var(--card-bg); }
.bot-pattern-header { display:grid; grid-template-columns:46px minmax(0,1fr) 36px; align-items:center; gap:.8rem; padding:1rem 1.1rem; border-bottom:1px solid var(--card-border); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)),var(--card-bg)); }
.bot-pattern-icon { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(145deg,#08aaa4,#087d81); box-shadow:0 9px 22px rgba(8,170,164,.22); }
.bot-pattern-header>div>span { color:var(--color-primary); font-size:.6rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.bot-pattern-header h2 { margin:.08rem 0 0; font-size:1.08rem; font-weight:900; }
.bot-pattern-header p { margin:.12rem 0 0; color:var(--muted-text); font-size:.68rem; }
.bot-pattern-body { display:grid; min-width:0; gap:.9rem; max-height:calc(100dvh - 150px); padding:1rem 1.1rem 1.15rem; overflow:auto; }
.bot-pattern-facts { display:grid; grid-template-columns:1.5fr .7fr .65fr 1fr; gap:.55rem; }
.bot-pattern-facts>div { min-width:0; padding:.62rem .72rem; border:1px solid var(--card-border); border-radius:12px; background:color-mix(in srgb,var(--section-bg) 55%,transparent); }
.bot-pattern-facts small { display:block; margin-bottom:.16rem; color:var(--muted-text); font-size:.57rem; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.bot-pattern-facts strong { display:block; overflow:hidden; color:var(--text-color); font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.bot-pattern-facts>div:nth-child(2) strong { color:#07866f; }
.bot-pattern-dialog.is-short .bot-pattern-facts>div:nth-child(2) strong { color:#dc4b55; }
.bot-pattern-chart-wrap { box-sizing:border-box; min-width:0; max-width:100%; padding:.55rem .65rem .45rem; border:1px solid var(--card-border); border-radius:15px; background:color-mix(in srgb,var(--section-bg) 38%,var(--card-bg)); }
.bot-pattern-chart-wrap svg { display:block; width:100%; height:auto; min-height:260px; }
.pattern-zone { fill:rgba(8,170,164,.075); stroke:rgba(8,170,164,.22); stroke-dasharray:5 4; }
.pattern-grid { stroke:color-mix(in srgb,var(--card-border) 70%,transparent); stroke-width:1; }
.pattern-axis { fill:var(--muted-text); font-size:10px; font-weight:650; }
.pattern-wick { stroke-width:1.4; }
.pattern-wick.is-bullish { stroke:#0a9b78; }
.pattern-wick.is-bearish { stroke:#dc4b55; }
.pattern-candle.is-bullish { fill:#12a982; stroke:#07866f; }
.pattern-candle.is-bearish { fill:#e45b65; stroke:#bf3440; }
.pattern-candle.is-signal-candle { stroke:#f59e0b; stroke-width:2.5; filter:drop-shadow(0 0 4px rgba(245,158,11,.45)); }
.pattern-wick.is-signal-candle { stroke:#f59e0b; stroke-width:2.2; }
.pattern-entry-line { stroke:#f59e0b; stroke-width:1.5; stroke-dasharray:7 4; }
.pattern-entry-label { fill:#c66b06; font-size:10px; font-weight:850; }
.bot-pattern-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.75rem; padding:.18rem .25rem 0; color:var(--muted-text); font-size:.6rem; font-weight:700; }
.bot-pattern-legend span { display:flex; align-items:center; gap:.3rem; }
.bot-pattern-legend i { width:12px; height:8px; border-radius:2px; }
.bot-pattern-legend i.is-pattern { border:1px dashed rgba(8,170,164,.55); background:rgba(8,170,164,.1); }
.bot-pattern-legend i.is-entry { height:2px; background:#f59e0b; }
.bot-pattern-legend i.is-signal { background:#f59e0b; }
.bot-pattern-explanation { display:flex; gap:.7rem; align-items:flex-start; padding:.72rem .8rem; border:1px solid rgba(8,170,164,.2); border-radius:13px; background:rgba(8,170,164,.065); }
.bot-pattern-explanation>i { margin-top:.12rem; color:#08aaa4; }
.bot-pattern-explanation small { display:block; color:#087d81; font-size:.57rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.bot-pattern-explanation p { margin:.18rem 0 0; color:var(--text-color); font-size:.7rem; line-height:1.55; }

.bot-transactions-dialog { box-sizing:border-box; width:min(1180px,calc(100vw - 28px)); max-width:none; padding:0; border:0; border-radius:22px; color:var(--text-color); background:transparent; box-shadow:0 30px 90px rgba(2,18,31,.34); }
.bot-transactions-dialog::backdrop { background:rgba(3,18,29,.6); backdrop-filter:blur(5px); }
body:has(.bot-transactions-dialog[open]) { overflow:hidden; }
.grid-log-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:0 0 14px; overflow:hidden; border:1px solid var(--grid-log-border); border-radius:14px; background:var(--grid-log-border); }
.grid-log-summary > span { display:flex; min-height:68px; flex-direction:column; justify-content:center; padding:11px 14px; background:var(--grid-log-surface); }
.grid-log-summary small,.grid-log-current small,.grid-log-event small { color:var(--grid-log-muted); font-size:.78rem; font-weight:700; }
.grid-log-summary strong { margin-top:4px; color:var(--grid-log-text); font-size:1rem; }
.grid-log-current { display:flex; align-items:flex-start; gap:11px; margin-bottom:18px; padding:12px 14px; border-radius:12px; background:var(--grid-log-allowed-bg); color:var(--grid-log-allowed-text); }
.grid-log-current.is-paused { background:var(--grid-log-paused-bg); color:var(--grid-log-paused-text); }
.grid-log-current > i { margin-top:3px; }
.grid-log-current span { display:flex; min-width:0; flex-direction:column; gap:2px; }
.grid-log-current small { color:inherit; font-weight:600; }
.grid-log-current.is-bulltrend { color:#047857; background:rgba(16,185,129,.1); }
.grid-log-heading { margin:18px 0 9px; color:var(--grid-log-heading); font-size:.95rem; }
.grid-log-events { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.grid-log-event { display:flex; gap:10px; padding:11px 12px; border:1px solid var(--grid-log-event-border); border-radius:12px; background:var(--grid-log-event-bg); }
.grid-log-event > i { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:9px; background:var(--grid-log-icon-bg); color:var(--grid-log-icon-text); }
.grid-log-event.safetypaused > i { background:var(--grid-log-warning-icon-bg); color:var(--grid-log-warning-icon-text); }
.grid-log-event.lossbrakeactivated > i { background:var(--grid-log-warning-icon-bg); color:var(--grid-log-warning-icon-text); }
.grid-log-event.recentered > i { background:var(--grid-log-recenter-icon-bg); color:var(--grid-log-recenter-icon-text); }
.grid-log-event.bulltrendactivated > i,.grid-log-event.bufferactivated > i,.grid-log-event.bufferprotected > i { background:rgba(16,185,129,.13); color:#047857; }
.grid-log-event span { display:flex; min-width:0; flex-direction:column; gap:2px; }
.grid-log-event em { margin-top:3px; color:var(--grid-log-event-text); font-size:.79rem; font-style:normal; line-height:1.35; }
.grid-log-raw { margin-top:18px; border-top:1px solid var(--grid-log-event-border); }
.grid-log-raw > summary { padding:13px 2px; cursor:pointer; color:#087e90; font-weight:800; }
.bot-transactions-panel { overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--card-border)); border-radius:22px; background:var(--card-bg); }
.bot-transactions-header { display:grid; grid-template-columns:46px minmax(0,1fr) 34px 36px; align-items:center; gap:.75rem; padding:1rem 1.1rem; border-bottom:1px solid var(--card-border); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)),var(--card-bg)); }
.bot-transactions-icon { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(145deg,#08aaa4,#087d81); box-shadow:0 9px 22px rgba(8,170,164,.2); }
.bot-transactions-header>div>span { color:var(--color-primary); font-size:.6rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.bot-transactions-header h2 { margin:.08rem 0 0; font-size:1.08rem; font-weight:900; }
.bot-transactions-header p { margin:.12rem 0 0; color:var(--muted-text); font-size:.68rem; }
.bot-transactions-header>strong { display:grid; min-width:34px; height:34px; padding:0 .4rem; place-items:center; border-radius:999px; color:#087d81; background:rgba(8,170,164,.11); font-size:.7rem; font-weight:900; }
.bot-transactions-body { min-width:0; padding:.65rem; }
.bot-transactions-popup-content { overflow:hidden; border:1px solid var(--card-border); border-radius:14px; }
.bot-transactions-popup-content .table-responsive { max-height:min(68vh,650px); overflow:auto; scrollbar-color:color-mix(in srgb,var(--color-primary) 42%,transparent) transparent; }
.bot-transactions-popup-content table { width:100%; min-width:850px; border-collapse:separate; border-spacing:0; font-size:.7rem; line-height:1.5; }
.bot-transactions-popup-content th,.bot-transactions-popup-content td { padding:.75rem .8rem; border-bottom:1px solid var(--card-border); text-align:left; vertical-align:middle; }
.bot-transactions-popup-content th { position:sticky; z-index:2; top:0; color:var(--muted-text); background:color-mix(in srgb,var(--section-bg) 88%,var(--card-bg)); font-size:.58rem; font-weight:850; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; box-shadow:0 1px 0 var(--card-border); }
.bot-transactions-popup-content tbody tr:nth-child(even) { background:color-mix(in srgb,var(--hover-bg) 45%,transparent); }
.bot-transactions-popup-content tbody tr:hover { background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)); }
.bot-transactions-popup-content tbody tr:last-child td { border-bottom:0; }
.bot-transactions-popup-content td.is-positive strong { color:#059669; }
.bot-transactions-popup-content td.is-negative strong { color:#dc4b55; }
.grid-rounds-total { display:flex; align-items:center; justify-content:flex-end; gap:.65rem; padding:.65rem .8rem; border-top:1px solid var(--card-border); background:color-mix(in srgb,var(--section-bg) 76%,var(--card-bg)); }
.grid-rounds-total strong { color:var(--text-color); font-size:.82rem; font-weight:900; font-variant-numeric:tabular-nums; }
.grid-rounds-total.is-positive strong { color:#059669; }
.grid-rounds-total.is-negative strong { color:#dc4b55; }
.bot-transactions-popup-content td small { color:var(--muted-text); font-size:.56rem; font-weight:700; white-space:nowrap; }
.bot-transactions-popup-content td:last-child { min-width:250px; max-width:360px; color:var(--muted-text); line-height:1.55; }
.bot-transactions-popup-content .bot-trades-empty { padding:2rem 1rem; border:0; font-size:.72rem; }
.bot-edit-margin-form .bot-field-coin input,.bot-edit-spot-form .bot-field-coin input { width:100%; height:44px; padding:0 .65rem; border:1px solid var(--card-border); border-radius:11px; color:var(--muted-text); background:var(--section-bg); font-size:.75rem; font-weight:850; }
.bot-edit-spot-form [data-edit-spot-lockable].is-locked { opacity:.58; }
.bot-edit-spot-form [data-edit-spot-lockable].is-locked input,.bot-edit-spot-form [data-edit-spot-lockable].is-locked select { pointer-events:none; }
.bot-edit-spot-form [data-edit-spot-timeframe-field].is-disabled { opacity:.52; }
.bot-edit-margin-form [data-edit-margin-lockable].is-locked { opacity:.58; }
.bot-edit-margin-form [data-edit-margin-lockable].is-locked input,.bot-edit-margin-form [data-edit-margin-lockable].is-locked select { pointer-events:none; }
.bot-edit-margin-form [data-edit-margin-fixed-field].is-disabled,.bot-margin-form [data-fixed-grid-field].is-disabled { opacity:.5; }
.bot-edit-margin-form [data-edit-margin-fixed-field].is-disabled input,.bot-margin-form [data-fixed-grid-field].is-disabled input { pointer-events:none; }
.bot-edit-lock-note { grid-column:1/-1; margin:0; padding:.6rem .7rem; border:1px solid rgba(245,158,11,.2); border-radius:10px; color:#9a5b06; background:rgba(245,158,11,.07); font-size:.65rem; font-weight:700; }
.bot-edit-lock-note i { margin-right:.35rem; }
.bot-create-card-dialog .bot-edit-margin-form { grid-template-areas:"coin direction" "timeframe daily" "leverage leverage" "target risk" "strategy strategy" "note note" "action action"; }
.bot-create-card-dialog .bot-edit-margin-form:has(.bot-field-target[hidden]) { grid-template-areas:"coin direction" "timeframe daily" "leverage leverage" "strategy strategy" "risk risk" "note note" "action action"; }
.bot-create-card-dialog .bot-edit-margin-form:has([data-edit-margin-grid-field]:not([hidden])) { grid-template-areas:"coin direction" "timeframe leverage" "gridstrategy gridstrategy" "gridrange gridlevels" "risk risk" "note note" "action action"; }
.bot-create-card-dialog .bot-edit-spot-form { grid-template-areas:"coin daily" "timeframe risk" "target risk" "strategy strategy" "note note" "action action"; }
.bot-create-card-dialog .bot-edit-spot-form:has(.bot-field-target[hidden]) { grid-template-areas:"coin daily" "timeframe risk" "strategy strategy" "note note" "action action"; }
.bot-create-card-dialog .bot-edit-spot-form:has([data-edit-spot-grid-field]:not([hidden])) { grid-template-areas:"coin timeframe" "gridstrategy gridrange" "gridlevels risk" "note note" "action action"; }
.bot-edit-lock-note { grid-area:note; }
.bot-edit-grid-note { grid-area:note; margin:0; padding:.65rem .75rem; border:1px solid color-mix(in srgb,#059669 22%,var(--card-border)); border-radius:11px; color:#047857; background:color-mix(in srgb,#10b981 7%,var(--card-bg)); font-size:.65rem; font-weight:750; line-height:1.45; }
.bot-edit-grid-note i { margin-right:.35rem; }
.bot-trades { border-top:1px solid var(--card-border); }
.bot-trades summary { display:flex; align-items:center; justify-content:space-between; padding:.55rem .8rem; cursor:pointer; list-style:none; font-size:.67rem; font-weight:800; }
.bot-trades summary span { display:flex; align-items:center; gap:.42rem; }
.bot-trades summary i { color:var(--color-primary); }
.bot-trades summary b { display:grid; min-width:24px; height:24px; place-items:center; border-radius:999px; color:var(--muted-text); background:color-mix(in srgb,var(--text-color) 5%,var(--card-bg)); font-size:.58rem; }
.bot-trades table { width:100%; border-collapse:collapse; font-size:.61rem; }
.bot-trades th,.bot-trades td { padding:.62rem .75rem; border-top:1px solid var(--card-border); text-align:left; vertical-align:top; }
.bot-trades th { color:var(--muted-text); font-size:.54rem; text-transform:uppercase; }
.bot-trades td.is-positive strong { color:#059669; }
.bot-trades td.is-negative strong { color:#dc4b55; }
.bot-trades td small { color:var(--muted-text); font-size:.52rem; font-weight:650; white-space:nowrap; }
.bot-trade-side { display:inline-flex; padding:.24rem .4rem; border-radius:999px; font-size:.55rem; font-weight:850; }
.bot-trade-side.buy { color:#047857; background:rgba(16,185,129,.1); }
.bot-trade-side.sell { color:#dc4b55; background:rgba(220,75,85,.1); }
.bot-trade-direction { display:inline-flex; padding:.24rem .4rem; border-radius:999px; font-size:.55rem; font-weight:850; text-transform:uppercase; }
.bot-trade-direction.long { color:#047857; background:rgba(16,185,129,.1); }
.bot-trade-direction.short { color:#b4232e; background:rgba(220,75,85,.1); }
.margin-bot-card .bot-trades .table-responsive { overflow-x:auto; scrollbar-color:color-mix(in srgb,var(--color-primary) 38%,transparent) transparent; }
.margin-trades-table { min-width:1040px; table-layout:fixed; font-size:.69rem!important; line-height:1.48; }
.margin-trades-table th { font-size:.59rem; letter-spacing:.025em; white-space:nowrap; }
.margin-trades-table th,.margin-trades-table td { padding:.72rem .72rem; vertical-align:middle; }
.margin-trades-table th:nth-child(1),.margin-trades-table td:nth-child(1) { width:82px; }
.margin-trades-table th:nth-child(2),.margin-trades-table td:nth-child(2) { width:88px; }
.margin-trades-table th:nth-child(3),.margin-trades-table td:nth-child(3) { width:86px; }
.margin-trades-table th:nth-child(4),.margin-trades-table td:nth-child(4) { width:112px; }
.margin-trades-table th:nth-child(5),.margin-trades-table td:nth-child(5) { width:112px; }
.margin-trades-table th:nth-child(6),.margin-trades-table td:nth-child(6) { width:112px; }
.margin-trades-table th:nth-child(7),.margin-trades-table td:nth-child(7) { width:82px; }
.margin-trades-table th:nth-child(8),.margin-trades-table td:nth-child(8) { width:108px; }
.margin-trades-table th:nth-child(n+4):nth-child(-n+8),.margin-trades-table td:nth-child(n+4):nth-child(-n+8) { text-align:right; font-variant-numeric:tabular-nums; }
.margin-trades-table td:nth-child(n+4):nth-child(-n+8) { white-space:nowrap; }
.margin-trades-table th:last-child,.margin-trades-table td:last-child { width:258px; }
.margin-trades-table td:last-child { color:var(--muted-text); line-height:1.55; }
.margin-trades-table tbody tr:nth-child(even) { background:color-mix(in srgb,var(--hover-bg) 48%,transparent); }
.margin-trades-table tbody tr:hover { background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)); }
.bot-trades-empty,.bot-empty { color:var(--muted-text); text-align:center; }
.bot-trades-empty { padding:1rem; border-top:1px solid var(--card-border); font-size:.65rem; }
.bot-empty { padding:3rem 1rem; border:1px dashed var(--card-border); border-radius:18px; background:var(--card-bg); }
.bot-empty>i { color:var(--color-primary); font-size:1.8rem; }
.bot-empty h2 { margin:.65rem 0 .2rem; color:var(--text-color); font-size:1rem; }
.bot-empty p { margin:0; font-size:.7rem; }

@media (max-width:991.98px) {
    .bot-create-card { grid-template-columns:1fr; }
    .bot-list { grid-template-columns:1fr; }
    .bot-margin-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .bot-margin-form button { grid-column:1/-1; }
}

@media (max-width:767.98px) {
    .bot-page { gap:.7rem; padding:.55rem 0 5.4rem; }
    .bot-history-page { gap:.7rem; padding:.55rem 0 5.4rem; }
    .bot-history-hero { align-items:flex-start; padding:.9rem; border-radius:16px; }
    .bot-history-hero h1 { font-size:1.35rem; }
    .bot-history-hero p { font-size:.76rem; line-height:1.45; }
    .bot-history-hero>a { width:40px; min-width:40px; padding:0; justify-content:center; }
    .bot-history-hero>a span { display:none; }
    .bot-history-summary { grid-template-columns:1fr 1fr; border-radius:15px; }
    .bot-history-summary>div { min-height:78px; grid-template-columns:34px minmax(0,1fr); padding:.62rem; border-top:1px solid var(--card-border); }
    .bot-history-summary>div:nth-child(odd) { border-left:0; }
    .bot-history-summary>div:nth-child(-n+2) { border-top:0; }
    .bot-history-summary>div>span { width:34px; height:34px; }
    .bot-history-summary small { font-size:.68rem; }
    .bot-history-summary strong { font-size:.94rem; }
    .bot-history-summary em { font-size:.64rem; }
    .bot-history-panel { border-radius:15px; }
    .bot-history-panel>header { align-items:flex-start; flex-direction:column; padding:.75rem; }
    .bot-history-panel h2 { font-size:1rem; }
    .bot-history-panel header p { font-size:.72rem; }
    .bot-history-tools { width:100%; }
    .bot-history-filters { min-width:0; flex:1; }
    .bot-history-filters button { flex:1; min-height:38px; font-size:.74rem; }
    .bot-history-reset { width:42px; min-width:42px; height:42px; padding:0; }
    .bot-history-reset span { display:none; }
    .bot-history-row { grid-template-columns:1fr 1fr; gap:.62rem .75rem; padding:.78rem .75rem; }
    .bot-history-coin { grid-column:1/-1; padding-bottom:.5rem; border-bottom:1px solid var(--card-border); }
    .bot-history-coin>.bot-coin-icon { width:38px; height:38px; flex-basis:38px; }
    .bot-history-coin>span>strong { font-size:1rem; }
    .bot-history-row small { font-size:.68rem; }
    .bot-history-row strong { font-size:.82rem; }
    .bot-history-row>div>span { font-size:.7rem; }
    .bot-history-result { padding:.5rem; border-radius:10px; background:color-mix(in srgb,var(--color-primary) 4%,var(--card-bg)); }
    .bot-history-row>details { margin-top:0; }
    .bot-history-row>details summary { font-size:.72rem; }
    .bot-history-row>details p { font-size:.76rem; }
    .bot-history-row>details>span { font-size:.68rem; }
    .bot-hero { display:none; }
    .bot-overview-bar { grid-template-columns:1fr; gap:.48rem; padding:.48rem; border-radius:16px; box-shadow:0 12px 30px rgba(8,30,44,.07); }
    .bot-mode-tabs { width:100%; }
    .bot-mode-tabs button { flex:1; justify-content:center; min-height:42px; padding:.5rem .62rem; font-size:.82rem; }
    .bot-list-controls { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:.42rem; padding:.5rem; border-radius:14px; }
    .bot-list-filter { display:none; }
    .bot-list-mobile-filter,.bot-list-sort { display:grid; min-width:0; width:100%; grid-template-columns:minmax(0,1fr); gap:.28rem; color:var(--muted-text); font-size:.62rem; font-weight:800; white-space:nowrap; }
    .bot-list-mobile-filter>span:first-child,.bot-list-sort>span:first-child { display:flex; align-items:center; gap:.3rem; padding-left:.18rem; }
    .bot-list-mobile-filter>span:first-child i,.bot-list-sort>span:first-child i { color:var(--color-primary); }
    .bot-list-filter-select,.bot-list-sort-select { position:relative; width:100%; min-width:0; }
    .bot-list-mobile-filter select,.bot-list-sort select { width:100%; min-width:0; height:44px; padding:0 1.85rem 0 .72rem; appearance:none; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:11px; color:var(--text-color); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)),var(--card-bg)); box-shadow:0 4px 12px rgba(8,30,44,.055); font:inherit; font-size:.72rem; font-weight:800; text-overflow:ellipsis; cursor:pointer; }
    .bot-list-mobile-filter select:focus,.bot-list-sort select:focus { outline:0; border-color:var(--color-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent); }
    .bot-list-filter-select>i,.bot-list-sort-select>i { position:absolute; top:50%; right:.68rem; color:var(--color-primary); font-size:.58rem; pointer-events:none; transform:translateY(-50%); }
    .bot-list-count { grid-column:1/-1; min-width:0; padding:.05rem .18rem 0; font-size:.65rem; text-align:right; }
    .bot-all-list .bot-all-margin-card { border-color:color-mix(in srgb,#7c5ce7 26%,var(--card-border)); background:color-mix(in srgb,#7c5ce7 4%,var(--card-bg)); box-shadow:inset 3px 0 0 color-mix(in srgb,#8b6df0 52%,transparent),0 8px 22px rgba(59,45,122,.045); }
    .bot-all-list .bot-all-margin-card .bot-card-header,.bot-all-list .bot-all-margin-card .bot-grid-details,.bot-all-list .bot-all-margin-card .bot-grid-details>summary,.bot-all-list .bot-all-margin-card .bot-grid-balance-bar,.bot-all-list .bot-all-margin-card .bot-grid-details-body,.bot-all-list .bot-all-margin-card .bot-grid-prices,.bot-all-list .bot-all-margin-card .bot-grid-monitor,.bot-all-list .bot-all-margin-card .bot-card-actions { background:color-mix(in srgb,#7c5ce7 4%,var(--card-bg)); }
    .bot-kind-marker { height:19px; padding:0 .45rem; font-size:.52rem; }
    .bot-top-totals { grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:84px 24px; gap:0; margin:0; border-top:1px solid var(--card-border); }
    .bot-top-totals.is-expanded { grid-template-rows:84px 24px 88px auto; }
    .bot-top-metric { min-height:72px; align-items:center; justify-content:center; flex-direction:column; gap:.22rem; padding:.48rem .3rem; border-left:1px solid var(--card-border); text-align:center; }
    .bot-top-current,.bot-top-result { display:grid; min-height:0; grid-template-rows:28px 14px 19px 12px; align-content:center; justify-items:center; gap:1px; padding:.25rem .45rem; }
    .bot-top-current { grid-column:1/4; grid-row:1; border-left:0; }
    .bot-top-result { grid-column:4/7; grid-row:1; }
    .bot-top-current .bot-top-total-icon,.bot-top-result .bot-top-total-icon { display:grid; width:28px; height:28px; }
    .bot-top-current>span:last-child,.bot-top-result>span:last-child { display:contents; }
    .bot-top-current small,.bot-top-result small { align-self:center; min-height:0; font-size:.66rem; line-height:1; }
    .bot-top-current strong,.bot-top-result strong { align-self:center; line-height:1; }
    .bot-top-current em,.bot-top-result em { align-self:start; line-height:1; }
    .bot-top-current strong,.bot-top-result strong { font-size:1rem; letter-spacing:-.015em; }
    .bot-top-current em,.bot-top-result em { font-size:.68rem; }
    .bot-top-result strong,.bot-top-result em { color:inherit; }
    .bot-capital-toggle { display:grid; width:32px; height:20px; min-height:0; grid-column:1/-1; grid-row:2; align-self:center; justify-self:center; place-items:center; margin:0; padding:0; border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); border-radius:999px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)); font-size:.6rem; line-height:1; cursor:pointer; }
    .bot-capital-toggle i { transition:transform .18s ease; }
    .bot-top-totals.is-expanded .bot-capital-toggle i { transform:rotate(180deg); }
    .bot-top-invested,.bot-top-used,.bot-top-available { display:none; min-height:0; grid-template-rows:27px 16px 19px 13px; align-content:center; justify-items:center; gap:1px; padding:.3rem .2rem; }
    .bot-top-totals.is-expanded .bot-top-invested,.bot-top-totals.is-expanded .bot-top-used,.bot-top-totals.is-expanded .bot-top-available { display:grid; }
    .bot-top-invested { grid-column:1/3; grid-row:3; border-top:1px solid var(--card-border); border-left:0; }
    .bot-top-used { grid-column:3/5; grid-row:3; border-top:1px solid var(--card-border); }
    .bot-top-available { grid-column:5/7; grid-row:3; border-top:1px solid var(--card-border); }
    .bot-top-metric>span:last-child { width:100%; grid-template-columns:1fr; justify-items:center; row-gap:.08rem; }
    .bot-top-invested>span:last-child,.bot-top-used>span:last-child,.bot-top-available>span:last-child { display:contents; }
    .bot-top-invested small,.bot-top-used small,.bot-top-available small { align-self:center; min-height:0; line-height:1; }
    .bot-top-invested strong,.bot-top-used strong,.bot-top-available strong { align-self:center; line-height:1; }
    .bot-top-invested em,.bot-top-used em,.bot-top-available em { align-self:start; line-height:1; }
    .bot-capital-allocation { grid-column:1/-1; grid-row:4; grid-template-columns:1fr; gap:.28rem; padding:.48rem .7rem .58rem; border-top:1px solid var(--card-border); text-align:center; }
    .bot-top-totals.is-expanded .bot-capital-allocation { display:grid; }
    .bot-capital-allocation small { font-size:.55rem; white-space:normal; }
    .bot-top-total-icon { width:27px; height:27px; border-radius:8px; font-size:.62rem; }
    .bot-top-totals small { min-height:2.3em; font-size:.65rem; line-height:1.15; }
    .bot-top-totals strong { font-size:.96rem; }
    .bot-top-totals em { font-size:.67rem; }
    .bot-top-current small,.bot-top-result small,.bot-top-invested small,.bot-top-used small,.bot-top-available small { min-height:0; }
    .bot-open-create { width:100%; min-height:44px; border-radius:11px; font-size:.82rem; }
    .bot-overview-actions { display:grid; width:100%; grid-template-columns:44px minmax(0,1fr) 44px; gap:.48rem; padding:.48rem; border:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--card-border)); border-radius:14px; background:color-mix(in srgb,var(--section-bg) 72%,var(--card-bg)); box-shadow:0 7px 18px rgba(8,30,44,.055); }
    .bot-overview-actions:has([data-mode-specific-action][hidden]) { grid-template-columns:minmax(0,1fr); }
    .bot-overview-actions form,.bot-overview-actions .bot-history-link { width:100%; min-width:0; }
    .bot-history-link,.bot-reset-result,.bot-overview-actions .bot-open-create { width:100%; min-width:0; min-height:52px; padding:.42rem .32rem; border-radius:11px; font-size:.68rem; line-height:1.15; white-space:normal; box-shadow:0 4px 11px rgba(7,30,43,.075); }
    .bot-overview-actions .bot-history-link { color:#334155; border-color:#cbd5e1; background:#f1f5f9; }
    .bot-overview-actions .bot-reset-result { color:#056b70; border-color:rgba(8,170,164,.35); background:#dcf7f5; }
    .bot-overview-actions .bot-history-link i,.bot-overview-actions .bot-reset-result i { display:grid; width:24px; height:24px; flex:none; place-items:center; border-radius:8px; background:rgba(255,255,255,.72); font-size:.68rem; }
    .bot-overview-actions form:has(.bot-reset-result) { width:44px; }
    .bot-overview-actions .bot-reset-result { width:44px; min-height:44px; padding:0; border:0; color:#dc4b55; background:transparent; box-shadow:none; }
    .bot-overview-actions .bot-reset-result:hover { color:#b4232e; background:rgba(220,75,85,.07); }
    .bot-overview-actions .bot-reset-result span { display:none; }
    .bot-overview-actions .bot-reset-result i { width:auto; height:auto; border-radius:0; color:currentColor; background:transparent; font-size:.9rem; }
    .bot-overview-actions .bot-grid-comparison-action { width:44px; min-width:44px; min-height:44px; padding:0; border:0; color:#087b7a; background:transparent; box-shadow:none; font-size:.9rem; }
    .bot-overview-actions .bot-grid-comparison-action:hover { color:#055f64; background:rgba(8,170,164,.08); }
    .bot-notice { padding:.8rem .85rem; font-size:.8rem; line-height:1.4; }
    .bot-create-dialog { box-sizing:border-box; width:calc(100vw - 20px); max-width:calc(100vw - 20px); max-height:calc(100dvh - 20px); margin:auto; border-radius:16px; }
    .bot-create-dialog .bot-dialog-shell { box-sizing:border-box; width:100%; }
    .bot-create-dialog input,.bot-create-dialog select,.bot-create-dialog .bot-coin-search input { font-size:16px; }
    .bot-confirm-dialog { width:calc(100vw - 24px); border-radius:18px; }
    .bot-confirm-panel { border-radius:18px; }
    .bot-confirm-header { grid-template-columns:42px minmax(0,1fr) 34px; gap:.65rem; padding:.9rem; }
    .bot-confirm-icon { width:42px; height:42px; border-radius:12px; }
    .bot-confirm-header h2 { font-size:1.05rem; }
    .bot-confirm-body { padding:.9rem .9rem .35rem; }
    .bot-confirm-body>p { font-size:.84rem; line-height:1.55; }
    .bot-confirm-details>div { padding:.58rem .62rem; }
    .bot-confirm-details span { font-size:.76rem; line-height:1.45; }
    .bot-confirm-details b { font-size:.82rem; }
    .bot-confirm-actions { gap:.5rem; padding:.8rem .9rem .9rem; }
    .bot-confirm-actions button { min-height:46px; font-size:.8rem; }
    .bot-dialog-shell { border-radius:16px; }
    .bot-dialog-header { grid-template-columns:36px minmax(0,1fr) 34px; gap:.55rem; padding:.72rem; }
    .bot-dialog-icon { width:36px; height:36px; border-radius:10px; }
    .bot-dialog-header>div>span { font-size:.68rem; }
    .bot-dialog-header h2 { font-size:1.08rem; }
    .bot-dialog-header p { display:-webkit-box; overflow:hidden; font-size:.74rem; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal; }
    .bot-dialog-close { width:34px; height:34px; }
    .bot-dialog-body { max-height:calc(100dvh - 112px); padding:.72rem; }
    .bot-create-card-dialog .bot-create-form { grid-template-columns:1fr 1fr; grid-template-areas:"coin mode" "timeframe timeframe" "amount amount" "target risk" "strategy strategy" "action action"; gap:.65rem; }
    .bot-create-card-dialog .bot-create-form:has(.bot-field-target[hidden]) { grid-template-columns:1fr 1fr; grid-template-areas:"coin mode" "timeframe timeframe" "amount amount" "strategy strategy" "risk risk" "action action"; }
    .bot-create-card-dialog .bot-spot-create-form,
    .bot-create-card-dialog .bot-spot-create-form:has(.bot-field-target[hidden]) { grid-template-areas:"coin amount" "mode timeframe" "risk risk" "summary summary" "action action"; }
    .bot-create-card-dialog .bot-spot-create-form:has(.bot-field-grid-range:not([hidden])) { grid-template-areas:"coin amount" "mode timeframe" "gridstrategy gridstrategy" "gridrange gridlevels" "gridstart gridreserve" "risk risk" "summary summary" "action action"; }
    .bot-create-card-dialog .bot-margin-form { grid-template-columns:1fr 1fr; grid-template-areas:"coin mode" "direction timeframe" "daily daily" "amount amount" "leverage leverage" "target risk" "strategy strategy" "action action"; gap:.68rem; }
    .bot-create-card-dialog .bot-margin-form:has(.bot-field-target[hidden]) { grid-template-columns:1fr 1fr; grid-template-areas:"coin mode" "direction timeframe" "daily daily" "amount amount" "leverage leverage" "strategy strategy" "risk risk" "action action"; }
    .bot-create-card-dialog .bot-margin-form:has(.bot-field-grid-range:not([hidden])) { grid-template-areas:"coin mode" "direction timeframe" "gridstrategy gridstrategy" "amount amount" "leverage leverage" "gridrange gridlevels" "risk risk" "action action"; }
    .bot-create-card-dialog .bot-margin-create-form:has([data-swing-field]:not([hidden])) { grid-template-columns:1fr 1fr; grid-template-areas:"coin mode" "summary summary" "swingentry swingentry" "direction timeframe" "amount amount" "leverage leverage" "risk risk" "action action"; }
    .bot-create-card-dialog .bot-edit-margin-form { grid-template-columns:1fr 1fr; grid-template-areas:"coin direction" "timeframe timeframe" "daily daily" "leverage leverage" "strategy strategy" "target risk" "note note" "action action"; gap:.68rem; }
    .bot-create-card-dialog .bot-edit-margin-form:has(.bot-field-target[hidden]) { grid-template-columns:1fr 1fr; grid-template-areas:"coin direction" "timeframe timeframe" "daily daily" "leverage leverage" "strategy strategy" "risk risk" "note note" "action action"; }
    .bot-create-card-dialog .bot-edit-margin-form:has([data-edit-margin-grid-field]:not([hidden])) { grid-template-columns:1fr 1fr; grid-template-areas:"coin direction" "timeframe timeframe" "gridstrategy gridstrategy" "leverage leverage" "gridrange gridlevels" "risk risk" "note note" "action action"; }
    .bot-edit-margin-form>label { padding:0; border:0; border-radius:0; background:transparent; }
    .bot-edit-margin-form>.bot-field-leverage { padding:.72rem; border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--card-border)); border-radius:13px; background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
    .bot-create-card-dialog .bot-margin-form .bot-field-daily>div { min-height:58px; padding:.5rem .65rem; }
    .bot-create-card-dialog .bot-margin-form .bot-field-daily strong { font-size:.88rem; }
    .bot-create-card-dialog .bot-margin-form .bot-field-daily small { margin-top:.12rem; font-size:.68rem; }
    .bot-create-card-dialog .bot-margin-form .bot-slider-scale { font-size:.65rem; }
    .bot-edit-margin-form .bot-field-help { font-size:.7rem; line-height:1.45; }
    .bot-edit-margin-form>button { margin-top:.2rem; min-height:52px; border-radius:13px; }
    .bot-create-card-dialog .bot-edit-spot-form { grid-template-areas:"coin daily" "timeframe timeframe" "target risk" "strategy strategy" "action action"; }
    .bot-create-card-dialog .bot-edit-spot-form:has(.bot-field-target[hidden]) { grid-template-areas:"coin daily" "timeframe timeframe" "strategy strategy" "risk risk" "action action"; }
    .bot-create-card-dialog .bot-edit-spot-form:has([data-edit-spot-grid-field]:not([hidden])) { grid-template-columns:1fr; grid-template-areas:"coin" "timeframe" "gridstrategy" "gridrange" "gridlevels" "risk" "note" "action"; }
    .bot-create-card { gap:.7rem; padding:.72rem; border-radius:14px; box-shadow:0 8px 24px rgba(8,30,44,.04); }
    .bot-create-copy>span { width:34px; height:34px; border-radius:10px; }
    .bot-create-copy h2 { font-size:1rem; }
    .bot-create-copy p { font-size:.75rem; }
    .bot-create-form { grid-template-columns:1fr 1fr; }
    .bot-create-form label { gap:.38rem; font-size:.78rem; }
    .bot-spot-analysis-method { gap:.38rem; font-size:.78rem; }
    .bot-spot-analysis-method>div { min-height:46px; grid-template-columns:34px minmax(0,1fr) auto; padding:.42rem .55rem; }
    .bot-spot-analysis-method>div>i:first-child { width:32px; height:32px; font-size:.76rem; }
    .bot-spot-analysis-method strong { font-size:.84rem; }
    .bot-spot-analysis-method small { font-size:.62rem; }
    .bot-field-daily { gap:.38rem; font-size:.78rem; }
    .bot-field-daily>div { min-height:46px; grid-template-columns:34px minmax(0,1fr) auto; padding:.42rem .55rem; }
    .bot-field-daily>div>i:first-child { width:32px; height:32px; font-size:.76rem; }
    .bot-field-daily strong { font-size:.84rem; }
    .bot-field-daily small { font-size:.62rem; }
    .bot-create-form select,.bot-money-input { min-height:46px; font-size:.88rem; }
    .bot-money-input input { font-size:.9rem; }
    .bot-create-form>button { min-height:46px; font-size:.82rem; }
    .bot-coin-picker-trigger { min-height:46px; }
    .bot-create-card-dialog .bot-field-coin .bot-coin-picker-trigger,
    .bot-create-card-dialog .bot-field-mode select { box-sizing:border-box; height:46px; min-height:46px; margin:0; }
    .bot-signal-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
    .bot-signal-flow>i { display:none; }
    .bot-coin-picker-trigger strong,.bot-coin-options strong { font-size:.88rem; }
    .bot-coin-picker-trigger small,.bot-coin-options small { font-size:.7rem; }
    .bot-coin-search input { height:43px; font-size:.82rem; }
    .bot-create-dialog .bot-create-form input:not([type="range"]),.bot-create-dialog .bot-create-form select,.bot-create-dialog .bot-coin-search input { font-size:16px; }
    .bot-coin-picker-menu { position:absolute; z-index:1000; top:calc(100% + 6px); right:auto; bottom:auto; left:0; width:min(330px,calc(100vw - 44px)); max-width:calc(100vw - 44px); max-height:min(58vh,430px); padding:.65rem; }
    .bot-coin-options { max-height:min(46vh,340px); }
    .bot-margin-form { grid-template-columns:1fr 1fr; }
    .bot-create-form > button { grid-column:1/-1; }
    .bot-card { border-radius:16px; box-shadow:0 10px 26px rgba(8,30,44,.065); }
    .bot-card:hover { transform:none; }
    .bot-card-header { min-height:61px; padding:.68rem .72rem; background:color-mix(in srgb,var(--color-primary) 2.5%,var(--card-bg)); }
    .bot-coin { gap:.5rem; }
    .bot-coin>span { width:36px; min-width:36px; height:36px; min-height:36px; flex-basis:36px; }
    .bot-coin h2 { font-size:1.05rem; }
    .bot-coin h2 em { font-size:.58rem; }
    .bot-title-row { gap:.32rem .42rem; }
    .bot-strategy-badge,.bot-timeframe-badge { height:20px; padding:0 .42rem; font-size:.58rem; }
    .bot-strategy-badge i,.bot-timeframe-badge i { font-size:.58rem; }
    .bot-leverage-badge { min-width:34px; height:18px; padding:0 .32rem; font-size:.6rem; }
    .bot-leverage-badge>span { font-size:.62rem; }
    .bot-coin p { margin-top:.14rem; font-size:.72rem; line-height:1.3; }
    .bot-state { padding:.36rem .52rem; font-size:.72rem; }
    .bot-grid-prices.is-spot { flex-wrap:wrap; }
    .bot-grid-prices.is-spot .bot-grid-price { flex-basis:50%; }
    .bot-grid-prices.is-spot .bot-grid-price:nth-child(n+3) { border-top:1px solid var(--card-border); }
    .bot-grid-prices.is-spot .bot-grid-price:nth-child(3) { border-left:0; }
    .bot-grid-prices.is-spot .bot-grid-price:last-child:nth-child(odd) { flex-basis:100%; }
    .bot-grid-price { min-height:55px; padding:.55rem .72rem; }
    .bot-grid-price>i { width:28px; height:28px; flex-basis:28px; }
    .bot-grid-price small { font-size:.64rem; }
    .bot-grid-price strong { font-size:1.08rem; }
    .bot-grid-prices.is-position-open { padding:.62rem .72rem; font-size:.68rem; line-height:1.4; }
    .bot-grid-monitor { grid-template-columns:1fr 1fr; }
    .bot-grid-monitor-status { grid-column:1/-1; grid-template-columns:34px minmax(0,1fr) auto; min-height:58px; padding:.62rem .72rem; border-bottom:1px solid var(--card-border); }
    .bot-grid-monitor-status>i { width:34px; height:34px; font-size:.78rem; }
    .bot-grid-monitor-info { width:32px; min-width:32px; height:32px; min-height:32px; font-size:.78rem; }
    .bot-grid-monitor-status small,.bot-grid-monitor-metric small { font-size:.72rem; }
    .bot-grid-review-time { font-size:.76rem; line-height:1.35; }
    .bot-grid-review-time>i { font-size:.7rem; }
    .bot-grid-monitor-status strong,.bot-grid-monitor-metric strong { font-size:1.08rem; }
    .bot-grid-monitor:not(.is-margin-grid) .bot-grid-monitor-status strong { font-size:.88rem; }
    .bot-grid-monitor.is-margin-grid .bot-grid-monitor-status strong { font-size:1.08rem; line-height:1.35; }
    .bot-grid-monitor-metric { min-height:64px; padding:.62rem .72rem; border-bottom:1px solid var(--card-border); }
    .bot-grid-monitor-metric.is-range { grid-column:1/-1; border-left:0; }
    .bot-grid-monitor-metric.is-range strong { gap:.45rem; }
    .bot-grid-monitor-metric:nth-of-type(3) { border-left:0; }
    .bot-grid-monitor-metric.is-rounds { grid-column:1/-1; border-bottom:0; border-left:0; }
    .bot-grid-monitor-metric em { font-size:.66rem; }
    .bot-grid-comparison { margin:.7rem 0; border-radius:15px; }
    .bot-grid-comparison>summary { min-height:60px; padding:.65rem .72rem; }
    .bot-grid-comparison>summary strong { font-size:.84rem; }
    .bot-grid-comparison>summary small { font-size:.66rem; line-height:1.3; }
    .bot-grid-comparison-toggle>em { font-size:.66rem; }
    .bot-grid-comparison-head { display:none; }
    .bot-grid-comparison-row { grid-template-columns:1fr 1fr; }
    .bot-grid-comparison-row>div { min-height:66px; padding:.58rem .7rem; border-top:1px solid var(--card-border); }
    .bot-grid-comparison-row>div:nth-child(odd) { border-left:0; }
    .bot-grid-comparison-row>div>small { display:block; font-size:.67rem; }
    .bot-grid-comparison-row>div>strong { font-size:.86rem; }
    .bot-grid-comparison-row>div>em { font-size:.64rem; white-space:normal; }
    .bot-grid-comparison-row>.bot-grid-comparison-bot { grid-column:1/-1; min-height:58px; border-top:0; border-left:0; grid-template-columns:34px minmax(0,1fr); }
    .bot-grid-comparison-bot>span:first-child { width:34px; min-width:34px; height:34px; min-height:34px; }
    .bot-metrics>div { min-height:90px; padding:.72rem; }
    .bot-metrics>.bot-status-metric { justify-content:flex-start; }
    .bot-metrics small,.bot-metrics span { font-size:.73rem; line-height:1.35; }
    .bot-metrics strong { margin:.3rem 0 .16rem; font-size:1.08rem; }
    .bot-metrics strong.bot-phase { font-size:.86rem; line-height:1.3; }
    .bot-status-metric .bot-phase-status { font-size:.92rem; }
    .margin-direction-status { font-size:.68rem; }
    .margin-phase-detail { font-size:.8rem; }
    .bot-stop-loss-price { gap:.34rem; margin-top:.18rem; }
    .bot-stop-loss-price>i { font-size:.72rem; }
    .bot-stop-loss-price>span { font-size:.72rem; }
    .bot-stop-loss-price>strong { font-size:.9rem; }
    .bot-liquidation-price { gap:.34rem; margin-top:.18rem; }
    .bot-liquidation-price>i { font-size:.72rem; }
    .bot-liquidation-price>span { font-size:.72rem; }
    .bot-liquidation-price>strong { font-size:.9rem; }
    .bot-metrics .bot-stop-loss-price,.margin-status-metric .bot-liquidation-price { display:grid; grid-template-columns:12px minmax(0,1fr); align-items:center; gap:.08rem .32rem; }
    .bot-metrics .bot-stop-loss-price>strong,.margin-status-metric .bot-liquidation-price>strong { grid-column:2; }
    .bot-card-actions { gap:.45rem; padding:.5rem .65rem; }
    .bot-card-actions button { min-height:40px; padding:.46rem .62rem; font-size:.76rem; }
    .bot-trades summary { min-height:45px; padding:.58rem .72rem; font-size:.82rem; }
    .bot-trades summary b { min-width:24px; height:24px; font-size:.66rem; }
    .bot-trades table { min-width:800px; font-size:.76rem; }
    .bot-trades .margin-trades-table { min-width:1040px; font-size:.78rem!important; }
    .margin-trades-table th { font-size:.68rem; }
    .bot-trades th { font-size:.64rem; }
    .bot-trades th,.bot-trades td { padding:.68rem .75rem; }
    .bot-trade-side { font-size:.66rem; }
    .bot-trade-direction { font-size:.66rem; }
    .bot-trades-empty { padding:1.1rem .8rem; font-size:.76rem; line-height:1.45; }
    .bot-empty h2 { font-size:1.08rem; }
    .bot-empty p { font-size:.78rem; }
}

@media (max-width:575.98px) {
    .admin-user-stats .admin-stat-card { min-height:72px; flex-direction:column; align-items:flex-start; gap:.35rem; padding:.7rem; }
    .admin-stat-card>i { width:30px; height:30px; border-radius:9px; font-size:.68rem; }
    .admin-user-stats .admin-stat-card strong { font-size:1.2rem; }
    .admin-user-stats .admin-stat-card small { font-size:.57rem; }
}

/* Portfolio */
/* Portfolio: readable status text in explicit and system dark mode. */
:root[data-theme="dark"] :is(.portfolio-page,.portfolio-comparison-page) {
    --portfolio-positive-text:#6ee7b7;
    --portfolio-negative-text:#fca5a5;
}
@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) :is(.portfolio-page,.portfolio-comparison-page),
    :root[data-theme="system"] :is(.portfolio-page,.portfolio-comparison-page) {
        --portfolio-positive-text:#6ee7b7;
        --portfolio-negative-text:#fca5a5;
    }
}
.portfolio-page { --portfolio-green:#00b989; }
.portfolio-pull-refresh { display:none; position:fixed; z-index:1040; top:calc(env(safe-area-inset-top,0px) + 67px); left:50%; align-items:center; gap:.45rem; min-height:38px; padding:.5rem .75rem; border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); border-radius:999px; color:var(--text-color); background:color-mix(in srgb,var(--card-bg) 94%,transparent); box-shadow:0 10px 28px rgba(4,35,48,.18); font-size:.68rem; font-weight:800; opacity:0; pointer-events:none; transform:translate(-50%,calc(-52px + var(--pull-distance,0px))); transition:opacity .14s ease,transform .08s linear,background-color .16s ease,color .16s ease; backdrop-filter:blur(10px); white-space:nowrap; }
.portfolio-pull-refresh i { color:var(--color-primary); transition:transform .16s ease; }
.portfolio-pull-refresh.visible { opacity:1; }
.portfolio-pull-refresh.ready,.portfolio-pull-refresh.refreshing,.portfolio-pull-refresh.complete { border-color:#00a783; color:#fff; background:#00a783; }
.portfolio-pull-refresh.ready i { color:#fff; transform:rotate(180deg); }
.portfolio-pull-refresh.refreshing,.portfolio-pull-refresh.complete,.portfolio-pull-refresh.failed { transform:translate(-50%,8px); }
.portfolio-pull-refresh.refreshing i,.portfolio-pull-refresh.complete i { color:#fff; }
.portfolio-pull-refresh.failed { border-color:#d8444f; color:#fff; background:#d8444f; }
.portfolio-pull-refresh.failed i { color:#fff; }
.portfolio-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:1.2rem; padding:1.6rem 1.8rem; overflow:hidden; border:1px solid rgba(16,185,129,.2); border-radius:22px; color:#fff; background:linear-gradient(120deg,#082a37 0%,#074254 58%,#08756f 140%); box-shadow:0 18px 48px rgba(4,48,64,.13); position:relative; }
.portfolio-hero:after { content:""; position:absolute; right:-55px; bottom:-95px; width:260px; height:260px; border:38px solid rgba(255,255,255,.045); border-radius:50%; }
.portfolio-hero>div { position:relative; z-index:1; }
.portfolio-hero .eyebrow { display:inline-flex; align-items:center; gap:.4rem; margin-bottom:.55rem; color:#73e7d1; font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.portfolio-hero h1 { margin:0; color:#fff; font-size:clamp(1.7rem,3vw,2.45rem); font-weight:850; letter-spacing:-.035em; }
.portfolio-hero p { max-width:690px; margin:.45rem 0 0; color:rgba(255,255,255,.72); font-size:.76rem; line-height:1.6; }
.portfolio-live-badge { display:flex; align-items:center; gap:.45rem; flex:none; padding:.55rem .72rem; border:1px solid rgba(255,255,255,.14); border-radius:11px; color:rgba(255,255,255,.8); background:rgba(3,24,33,.25); font-size:.63rem; font-weight:700; }
.portfolio-live-badge span { width:8px; height:8px; border-radius:50%; background:#43e6b5; box-shadow:0 0 0 5px rgba(67,230,181,.12); }
.portfolio-alert { display:flex; align-items:center; gap:.5rem; margin-bottom:1rem; padding:.75rem .9rem; border-radius:12px; font-size:.7rem; font-weight:700; }
.portfolio-alert.success { color:var(--portfolio-positive-text,#047857); background:rgba(16,185,129,.11); }
.portfolio-alert.error { color:var(--portfolio-negative-text,#b42318); background:rgba(239,68,68,.1); }
.portfolio-switcher { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:1rem 1.15rem; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); box-shadow:0 10px 28px rgba(8,30,44,.045); }
.portfolio-select-wrap label { display:block; margin-bottom:.3rem; color:var(--muted-text); font-size:.57rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.portfolio-select-wrap select,.portfolio-create-form input { min-height:39px; border:1px solid var(--card-border); border-radius:10px; outline:none; color:var(--text-color); background:var(--card-bg); font-size:.68rem; }
.portfolio-select-wrap select { min-width:220px; padding:.45rem 2rem .45rem .7rem; font-weight:750; }
.portfolio-management-actions,.portfolio-create-form { display:flex; align-items:center; gap:.45rem; }
.portfolio-management-actions form { margin:0; }
.portfolio-management-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:.38rem; min-height:39px; border:1px solid var(--card-border); border-radius:10px; color:var(--text-color); background:var(--card-bg); font-size:.62rem; font-weight:750; }
.portfolio-management-actions .btn:hover { border-color:var(--color-primary); color:var(--color-primary); }
.portfolio-create-form input { width:175px; padding:.45rem .65rem; }
.portfolio-layout { display:block; }
.portfolio-form-card,.portfolio-list-card,.portfolio-stat { border:1px solid var(--card-border); background:var(--card-bg); box-shadow:0 14px 38px rgba(8,30,44,.055); }
.portfolio-form-card { position:sticky; top:1rem; padding:1.25rem; border-radius:19px; }
.portfolio-position-dialog { width:min(92vw,470px); max-width:none; max-height:calc(100dvh - 1rem); padding:0; overflow:hidden; border:0; border-radius:20px; color:var(--text-color); background:transparent; box-shadow:0 28px 80px rgba(3,25,38,.28); }
.portfolio-position-dialog::backdrop { background:rgba(3,20,31,.58); backdrop-filter:blur(3px); }
.portfolio-dialog-panel { max-height:calc(100dvh - 1rem); padding:1.35rem; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); }
body:has(.portfolio-position-dialog[open]) { overflow:hidden; }
.portfolio-dialog-panel .portfolio-card-heading { padding-right:2.3rem; position:relative; }
.portfolio-dialog-close { position:absolute; top:0; right:0; display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--card-border); border-radius:9px; color:var(--muted-text); background:var(--card-bg); }
.portfolio-dialog-close:hover { color:var(--text-color); background:var(--hover-bg); }
.portfolio-confirm-dialog { width:min(90vw,410px); max-width:none; padding:0; overflow:hidden; border:0; border-radius:20px; color:var(--text-color); background:transparent; box-shadow:0 28px 80px rgba(3,25,38,.3); }
.portfolio-confirm-dialog::backdrop { background:rgba(3,20,31,.58); backdrop-filter:blur(3px); }
body:has(.portfolio-confirm-dialog[open]) { overflow:hidden; }
.portfolio-confirm-panel { padding:1.45rem; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); text-align:center; }
.portfolio-confirm-icon { display:grid; width:48px; height:48px; margin:0 auto .9rem; place-items:center; border-radius:15px; color:#c23843; background:rgba(226,62,73,.11); font-size:1.1rem; }
.portfolio-confirm-panel h2 { margin:0; color:var(--text-color); font-size:1.1rem; }
.portfolio-confirm-panel p { margin:.5rem auto 1.2rem; color:var(--muted-text); font-size:.75rem; line-height:1.55; }
.portfolio-confirm-actions { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.portfolio-confirm-actions .btn { min-height:44px; border-radius:11px; font-size:.74rem; font-weight:800; }
.portfolio-confirm-cancel { border:1px solid var(--card-border); color:var(--text-color); background:var(--card-bg); }
.portfolio-confirm-delete { border:1px solid #d8444f; color:#fff; background:#d8444f; }
.portfolio-confirm-delete:hover { border-color:#bd303b; color:#fff; background:#bd303b; }
.portfolio-add-trigger { border-color:transparent!important; color:#fff!important; background:linear-gradient(135deg,#00a99a,#008d82)!important; }
.portfolio-card-heading { display:flex; align-items:center; gap:.7rem; margin-bottom:1.2rem; }
.portfolio-heading-icon { display:grid; place-items:center; width:38px; height:38px; flex:none; border-radius:11px; color:var(--portfolio-positive-text,#007e75); background:rgba(16,185,129,.12); }
.portfolio-card-heading h2,.portfolio-list-header h2 { margin:0; color:var(--text-color); font-size:.95rem; font-weight:800; }
.portfolio-card-heading p,.portfolio-list-header p { margin:.18rem 0 0; color:var(--muted-text); font-size:.62rem; }
.portfolio-field { margin-bottom:.9rem; }
.portfolio-field label { display:block; margin-bottom:.38rem; color:var(--text-color); font-size:.65rem; font-weight:750; }
.portfolio-field input { width:100%; min-height:43px; padding:.62rem .72rem; border:1px solid var(--card-border); border-radius:11px; outline:none; color:var(--text-color); background:var(--card-bg); font-size:.75rem; transition:border-color .18s,box-shadow .18s; }
.portfolio-field input:focus { border-color:var(--color-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 13%,transparent); }
.portfolio-input-with-icon,.portfolio-input-prefix { position:relative; }
.portfolio-input-with-icon i { position:absolute; z-index:1; top:50%; left:.8rem; color:var(--color-primary); font-size:.72rem; transform:translateY(-50%); }
.portfolio-input-with-icon input { padding-left:2.25rem; text-transform:uppercase; }
.portfolio-input-prefix span { position:absolute; z-index:1; top:50%; left:.8rem; color:var(--muted-text); font-size:.75rem; transform:translateY(-50%); }
.portfolio-input-prefix input { padding-left:1.75rem; }
.portfolio-field>span,.portfolio-validation { display:block; margin-top:.28rem; color:#dc2626; font-size:.58rem; }
.portfolio-validation:empty { display:none; }
.portfolio-field small { display:block; margin-top:.3rem; color:var(--muted-text); font-size:.55rem; line-height:1.45; }
.portfolio-submit { display:flex; align-items:center; justify-content:center; gap:.45rem; width:100%; min-height:43px; margin-top:.25rem; border:0; border-radius:11px; color:#fff; background:linear-gradient(135deg,#00a99a,#008d82); font-size:.68rem; font-weight:800; }
.portfolio-submit:hover { color:#fff; filter:brightness(1.04); }
.portfolio-cancel { width:100%; margin-top:.45rem; color:var(--muted-text); font-size:.64rem; }
.portfolio-holding-delete { margin-top:.8rem; padding-top:.8rem; border-top:1px solid var(--card-border); }
.portfolio-holding-delete-button { display:flex; width:100%; min-height:40px; align-items:center; justify-content:center; gap:.45rem; padding:.55rem .7rem; border:1px solid color-mix(in srgb,var(--portfolio-negative-text,#b91c1c) 35%,var(--card-border)); border-radius:10px; color:var(--portfolio-negative-text,#b91c1c); background:color-mix(in srgb,var(--portfolio-negative-text,#b91c1c) 8%,var(--card-bg)); font-size:.78rem; font-weight:700; }
.portfolio-holding-delete-button:hover { background:color-mix(in srgb,var(--portfolio-negative-text,#b91c1c) 15%,var(--card-bg)); }
.portfolio-holding-delete-button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.portfolio-holding-delete-button:disabled { opacity:.5; cursor:wait; }
.portfolio-holding-delete-error { margin:.5rem 0 0; color:var(--portfolio-negative-text,#b91c1c); font-size:.78rem; }
.portfolio-overview { min-width:0; }
.portfolio-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-bottom:.8rem; }
.portfolio-stat { min-width:0; padding:1rem 1.1rem; border-radius:16px; }
.portfolio-stat span,.portfolio-stat small,.portfolio-stat strong { display:block; }
.portfolio-stat>span { color:var(--muted-text); font-size:.58rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.portfolio-stat strong { margin:.25rem 0 .08rem; overflow:hidden; color:var(--text-color); font-size:1.22rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-stat small { color:var(--muted-text); font-size:.56rem; }
.portfolio-stat .portfolio-total-usd { margin:.08rem 0 .18rem; color:color-mix(in srgb,var(--text-color) 76%,var(--muted-text)); font-size:.63rem; font-weight:750; }
.portfolio-stat.primary { border-color:rgba(16,185,129,.27); background:linear-gradient(140deg,color-mix(in srgb,#10b981 8%,var(--card-bg)),var(--card-bg)); }
.portfolio-stat.primary strong,.portfolio-stat.positive strong { color:var(--portfolio-positive-text,#00a77d); }
.portfolio-stat.negative strong { color:var(--portfolio-negative-text,#dc4b52); }
.portfolio-list-card { overflow:hidden; border-radius:19px; }
.portfolio-chart-card { margin-bottom:.8rem; overflow:hidden; border:1px solid var(--card-border); border-radius:19px; background:var(--card-bg); box-shadow:0 14px 38px rgba(8,30,44,.055); }
.portfolio-chart-currency { padding:.34rem .5rem; border-radius:8px; color:var(--portfolio-positive-text,#008d75); background:rgba(16,185,129,.11); font-size:.57rem; font-weight:800; }
.portfolio-chart-toggle { display:inline-flex; align-items:center; gap:.4rem; padding:0; border:0; color:var(--muted-text); background:transparent; font-size:.6rem; }
.portfolio-chart-toggle i { transition:transform .2s ease; }
.portfolio-chart-card.collapsed .portfolio-chart-body { display:none; }
.portfolio-chart-card.collapsed .portfolio-chart-toggle i { transform:rotate(180deg); }
.portfolio-chart-body { position:relative; display:flex; height:260px; padding:.65rem .7rem .35rem; flex-direction:column; }
.portfolio-chart-canvas { position:relative; min-height:0; flex:1; }
.portfolio-chart-body canvas { display:block; width:100%!important; height:100%!important; }
.portfolio-chart-ranges { display:flex; z-index:2; align-items:center; justify-content:flex-end; gap:.3rem; padding:0 .15rem .35rem; }
.portfolio-chart-ranges button { min-width:40px; min-height:27px; padding:.28rem .48rem; border:1px solid var(--card-border); border-radius:8px; color:var(--muted-text); background:var(--hover-bg); font-size:.58rem; font-weight:800; transition:border-color .15s,color .15s,background-color .15s,opacity .15s; }
.portfolio-chart-ranges button:hover { border-color:color-mix(in srgb,var(--color-primary) 55%,var(--card-border)); color:var(--text-color); }
.portfolio-chart-ranges button.active { border-color:color-mix(in srgb,var(--color-primary) 55%,var(--card-border)); color:var(--portfolio-positive-text,#007f73); background:color-mix(in srgb,var(--color-primary) 13%,var(--card-bg)); }
.portfolio-chart-ranges.loading button { cursor:wait; opacity:.55; pointer-events:none; }
.portfolio-chart-start { position:absolute; top:50%; left:50%; display:flex; align-items:center; gap:.45rem; padding:.55rem .7rem; border:1px solid var(--card-border); border-radius:10px; color:var(--muted-text); background:color-mix(in srgb,var(--card-bg) 91%,transparent); font-size:.6rem; transform:translate(-50%,-50%); white-space:nowrap; }
.portfolio-list-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; border-bottom:1px solid var(--card-border); }
.portfolio-updated { display:inline-flex; align-items:center; gap:.35rem; color:var(--muted-text); font-size:.57rem; }
.portfolio-price-warning { display:flex; align-items:center; gap:.45rem; padding:.65rem 1.25rem; color:#9a6700; background:rgba(245,158,11,.09); font-size:.6rem; }
.portfolio-table-wrap { overflow-x:auto; }
.portfolio-table { width:100%; border-collapse:collapse; }
.portfolio-table th { padding:.72rem .85rem; color:var(--muted-text); background:var(--table-header-bg,var(--hover-bg)); font-size:.54rem; letter-spacing:.045em; text-transform:uppercase; white-space:nowrap; }
.portfolio-table td { padding:.85rem; border-top:1px solid var(--card-border); color:var(--text-color); font-size:.66rem; vertical-align:middle; }
.portfolio-table tbody tr:first-child td { border-top:0; }
.portfolio-table td>strong,.portfolio-table td>small { display:block; white-space:nowrap; }
.portfolio-table td>strong { font-size:.68rem; }
.portfolio-table td>small { margin-top:.18rem; color:var(--muted-text); font-size:.53rem; }
.portfolio-table td>.portfolio-usd-price { color:color-mix(in srgb,var(--text-color) 74%,var(--muted-text)); font-size:.57rem; font-weight:700; }
.portfolio-asset { display:flex; align-items:center; gap:.55rem; }
.portfolio-coin-link { color:var(--text-color); text-decoration:none; width:fit-content; border-radius:6px; }
.portfolio-coin-link:hover { color:var(--accent-color,#00a783); }
.portfolio-coin-link:focus-visible { outline:2px solid var(--accent-color,#00a783); outline-offset:4px; }
.portfolio-asset>span { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:50%; color:#fff; background:linear-gradient(145deg,#0da7a0,#075f70); font-size:.68rem; font-weight:850; }
.portfolio-asset>img { width:34px; height:34px; flex:none; border-radius:50%; object-fit:cover; background:var(--hover-bg); }
.portfolio-asset strong,.portfolio-asset small { display:block; }
.portfolio-asset strong { font-size:.72rem; }
.portfolio-asset small { color:var(--muted-text); font-size:.53rem; }
.portfolio-result { display:inline-block!important; padding:.32rem .45rem; border-radius:8px; }
.portfolio-result.positive { color:var(--portfolio-positive-text,#008d6b); background:rgba(16,185,129,.11); }
.portfolio-result.negative { color:var(--portfolio-negative-text,#c63f49); background:rgba(239,68,68,.09); }
.portfolio-table small.positive { color:var(--portfolio-positive-text,#008d6b); }.portfolio-table small.negative { color:var(--portfolio-negative-text,#c63f49); }
.portfolio-table .unavailable { color:var(--muted-text); font-size:.6rem; }
.portfolio-actions { display:flex; justify-content:flex-end; gap:.25rem; }
.portfolio-actions form { display:inline-flex; }
.portfolio-actions .btn { display:grid; place-items:center; width:31px; height:31px; padding:0; border:1px solid var(--card-border); border-radius:8px; color:var(--muted-text); background:var(--card-bg); font-size:.58rem; }
.portfolio-actions .btn:hover { border-color:var(--color-primary); color:var(--color-primary); }
.portfolio-empty { padding:3.3rem 1.5rem; text-align:center; }
.portfolio-empty>div { display:grid; place-items:center; width:52px; height:52px; margin:0 auto .8rem; border-radius:16px; color:var(--portfolio-positive-text,#008d82); background:rgba(16,185,129,.11); }
.portfolio-empty h3 { margin:0; color:var(--text-color); font-size:.9rem; }.portfolio-empty p { max-width:360px; margin:.35rem auto 0; color:var(--muted-text); font-size:.64rem; }
.portfolio-disclaimer { display:flex; align-items:flex-start; gap:.4rem; padding:.75rem 1.25rem; border-top:1px solid var(--card-border); color:var(--muted-text); background:var(--table-header-bg,var(--hover-bg)); font-size:.54rem; line-height:1.5; }
.portfolio-page .tick-up { color:var(--portfolio-positive-text,#00a77d)!important; background:transparent!important; box-shadow:none!important; }.portfolio-page .tick-down { color:var(--portfolio-negative-text,#dc4b52)!important; background:transparent!important; box-shadow:none!important; }
@media (max-width:991.98px) { .exchange-choice-grid { grid-template-columns:repeat(3,1fr); } .exchange-settings-summary { grid-template-columns:1fr 1fr; } .exchange-settings-summary>p { grid-column:1/-1; } .password-layout { grid-template-columns:1fr; } }
@media (max-width:991.98px) { .portfolio-layout { grid-template-columns:1fr; } .portfolio-form-card { position:static; } }
@media (max-width:767.98px) { .exchange-choice-grid { grid-template-columns:repeat(2,1fr); } .admin-page-hero { align-items:flex-start; flex-direction:column; } .admin-user-stats { grid-template-columns:repeat(3,1fr); } .admin-users-toolbar { align-items:stretch; flex-direction:column; } .admin-user-search { width:100%; } .admin-users-table th:nth-child(2),.admin-users-table td:nth-child(2) { display:none; } .admin-form-grid { grid-template-columns:1fr; } }
@media (max-width:767.98px) { .portfolio-hero { align-items:flex-start; flex-direction:column; padding:1.25rem; } .portfolio-stats { grid-template-columns:1fr 1fr; } .portfolio-stat.primary { grid-column:1/-1; } .portfolio-table thead { display:none; } .portfolio-table,.portfolio-table tbody,.portfolio-table tr,.portfolio-table td { display:block; width:100%; } .portfolio-table tr { display:grid; grid-template-columns:1fr 1fr; padding:.8rem; border-top:1px solid var(--card-border); } .portfolio-table tbody tr:first-child { border-top:0; } .portfolio-table td { padding:.48rem; border:0; } .portfolio-table td:before { content:attr(data-label); display:block; margin-bottom:.2rem; color:var(--muted-text); font-size:.52rem; font-weight:750; letter-spacing:.035em; text-transform:uppercase; } .portfolio-table .portfolio-actions { grid-column:1/-1; justify-content:flex-end; padding-top:.25rem; } .portfolio-table .portfolio-actions:before { display:none; } .portfolio-actions .btn { width:38px; height:34px; } }
@media (max-width:767.98px) { .portfolio-pull-refresh { display:flex; } }
@media (max-width:767.98px) { .portfolio-table-wrap { padding:.65rem; background:var(--hover-bg); } .portfolio-table tbody { display:flex; flex-direction:column; gap:.65rem; } .portfolio-table tr { position:relative; gap:.35rem .65rem; border:1px solid var(--card-border)!important; border-radius:15px; background:var(--card-bg); box-shadow:0 8px 22px rgba(8,30,44,.055); } .portfolio-table td:first-child { grid-column:1/-1; margin-bottom:.15rem; padding-right:5.5rem; padding-bottom:.65rem; border-bottom:1px solid var(--card-border); } .portfolio-table td:first-child:before { display:none; } .portfolio-table .portfolio-actions { position:absolute; top:.65rem; right:.65rem; display:flex!important; width:auto; padding:0; } .portfolio-table td>strong { font-size:.79rem; } .portfolio-table td>small,.portfolio-asset small { font-size:.59rem; } .portfolio-result { padding:.3rem .42rem; } }
@media (max-width:767.98px) { .portfolio-switcher { align-items:stretch; flex-direction:column; } .portfolio-select-wrap select { width:100%; } .portfolio-management-actions { align-items:stretch; flex-direction:column; } .portfolio-management-actions>form,.portfolio-create-form input { width:100%; } .portfolio-management-actions .btn { width:100%; } .portfolio-create-form { width:100%; } .portfolio-create-form .btn { width:auto; } .portfolio-chart-body { height:210px; padding-left:.2rem; } }
@media (max-width:575.98px) { .exchange-settings-summary { grid-template-columns:1fr 1fr; } .exchange-settings-summary>div { grid-template-columns:30px 1fr auto; padding:.45rem; } .summary-icon { width:29px; height:29px; } .exchange-preference-card { padding:1rem; } .preference-card-header { flex-direction:column; } .exchange-choice-grid { grid-template-columns:1fr 1fr; gap:.45rem; } .exchange-choice { padding:.6rem .5rem; gap:.45rem; } .exchange-choice-mark { width:29px; height:29px; } .exchange-choice-copy small { display:none; } .sticky-save-bar { align-items:stretch; flex-direction:column; bottom:.6rem; } .sticky-save-bar .btn { width:100%; justify-content:center; } .admin-user-stats { gap:.45rem; } .admin-user-stats>div { padding:.75rem; } .admin-users-table th:nth-child(3),.admin-users-table td:nth-child(3) { display:none; } .admin-users-table thead th,.admin-users-table tbody td { padding:.7rem .55rem; } .admin-user-cell strong { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .admin-row-actions .btn span { display:none; } .admin-edit-card { padding:1rem; } .admin-form-actions { flex-direction:column; } .admin-form-actions .btn { justify-content:center; width:100%; } }

/* Top-50 prijsfeed per exchange */
.exchange-price-control { min-width:240px; }
.price-exchange-selector { margin-bottom:.65rem; padding:.45rem .6rem; border:1px solid var(--card-border); border-radius:12px; background:var(--card-bg); box-shadow:0 6px 18px rgba(8,30,44,.04); }
.price-exchange-selector .exchange-price-control { display:grid; grid-template-columns:auto minmax(0,1fr); width:100%; align-items:center; gap:.65rem; }
.price-exchange-selector .exchange-price-control label { margin:0; color:var(--muted-text); font-size:.65rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.price-exchange-selector .exchange-price-control select { min-height:38px!important; padding-top:.3rem; padding-bottom:.3rem; border-color:var(--card-border)!important; border-radius:9px; color:var(--text-color)!important; background-color:var(--hover-bg)!important; -webkit-text-fill-color:var(--text-color); font-size:.82rem; font-weight:800; }
.price-feed-explainer { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; margin:-.25rem 0 1rem; }
.price-feed-explainer span { display:inline-flex; align-items:center; gap:.42rem; padding:.55rem .8rem; border:1px solid var(--card-border); border-radius:999px; background:var(--card-bg); color:var(--muted-text); font-size:.72rem; }
.price-feed-explainer i { color:var(--primary-color); }
.price-ranking-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; max-width:520px; margin:0 0 1rem; padding:.32rem; border:1px solid var(--card-border); border-radius:13px; background:color-mix(in srgb,var(--card-bg) 72%,var(--hover-bg)); }
.price-ranking-tab { display:flex; min-height:42px; align-items:center; justify-content:center; gap:.45rem; padding:.55rem .75rem; border:0; border-radius:10px; color:var(--muted-text); background:transparent; font-size:.72rem; font-weight:800; transition:color .18s ease,background .18s ease,box-shadow .18s ease; }
.price-ranking-tab:hover { color:var(--text-color); }
.price-ranking-tab.active { color:#007f76; background:var(--card-bg); box-shadow:0 5px 16px rgba(8,30,44,.08); }
.price-ranking-tab.active i { color:var(--color-primary); }
.selected-exchange-card { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; margin-bottom:1rem; padding:1rem 1.2rem; border:1px solid var(--card-border); border-radius:18px; background:var(--card-bg); box-shadow:0 12px 32px rgba(8,30,44,.06); }
.selected-exchange-identity { display:flex; align-items:center; gap:.8rem; }
.selected-exchange-identity img { width:46px; height:46px; padding:7px; border:1px solid var(--card-border); border-radius:13px; background:#fff; object-fit:contain; }
.selected-exchange-identity div,.selected-exchange-metrics div { display:flex; flex-direction:column; }
.selected-exchange-identity span,.selected-exchange-metrics span { color:var(--muted-text); font-size:.65rem; }
.selected-exchange-identity strong { color:var(--text-color); font-size:1.08rem; }
.selected-exchange-metrics { display:grid; grid-template-columns:repeat(3,minmax(110px,auto)); gap:1.6rem; text-align:right; }
.selected-exchange-metrics strong { color:var(--text-color); font-size:.84rem; font-variant-numeric:tabular-nums; }
.top-volume-table thead th { white-space:nowrap; }
.top-volume-table tbody td { padding:.78rem 1rem; }
.market-rank { display:inline-grid; place-items:center; width:27px; height:27px; border-radius:9px; background:var(--hover-bg); color:var(--muted-text); font-size:.68rem; font-weight:800; }
.market-coin-identity { display:flex; align-items:center; gap:.65rem; }
.market-coin-avatar,.market-mobile-rank,.market-mobile-pair { display:none; }
.market-coin-logo { position:relative; display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; }
.market-coin-logo>span { display:grid; width:100%; height:100%; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#00b8aa,#087b91); font-size:.78rem; font-weight:850; }
.market-coin-logo.has-image>span { visibility:hidden; }
.market-coin-logo>img { position:absolute; inset:0; width:100%; height:100%; background:transparent; object-fit:contain; }
.market-inline-rank,.market-mobile-usd,.market-mobile-volume-label { display:none; }
.market-symbol { color:var(--text-color); font-size:.86rem; }
.market-pair { display:inline-flex; padding:.32rem .55rem; border-radius:8px; background:var(--hover-bg); color:var(--muted-text); font-size:.7rem; font-weight:700; }
.price-number,.volume-number { color:var(--text-color); font-variant-numeric:tabular-nums; white-space:nowrap; }
.price-number>span { font-size:.78rem; font-weight:750; }
.price-number small { display:block; color:var(--muted-text); font-size:.58rem; }
.market-price-row { display:flex; align-items:center; justify-content:flex-end; gap:.38rem; }
.market-price-value { font-size:.78rem; font-weight:800; }
.market-change-badge { display:inline-flex; align-items:center; gap:.2rem; padding:.22rem .38rem; border-radius:7px; font-size:.58rem; font-weight:850; line-height:1; }
.market-change-badge.positive { color:#057255; background:rgba(16,185,129,.16); box-shadow:inset 0 0 0 1px rgba(16,185,129,.18); }
.market-change-badge.negative { color:#b8323d; background:rgba(239,68,68,.14); box-shadow:inset 0 0 0 1px rgba(239,68,68,.16); }
.market-change-badge i { font-size:.48rem; }
.volume-number strong { color:var(--primary-color); font-size:.78rem; }
.spread-badge { display:inline-flex; justify-content:center; min-width:54px; padding:.28rem .48rem; border-radius:8px; background:rgba(0,180,155,.1); color:var(--primary-color); font-size:.68rem; font-weight:800; }
.price-source-note { display:flex; align-items:flex-start; gap:.45rem; padding:.8rem 1rem; border-top:1px solid var(--card-border); color:var(--muted-text); font-size:.65rem; }
.price-source-note i { margin-top:.12rem; color:var(--primary-color); }
.empty-price-feed { display:flex; min-height:260px; align-items:center; justify-content:center; flex-direction:column; gap:.45rem; padding:2rem; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); color:var(--muted-text); text-align:center; }
.empty-price-feed i { margin-bottom:.35rem; color:var(--primary-color); font-size:2rem; }
.empty-price-feed strong { color:var(--text-color); font-size:1rem; }
.empty-price-feed span { max-width:520px; font-size:.75rem; }
.empty-price-retry { display:inline-flex; align-items:center; gap:.4rem; margin-top:.55rem; padding:.62rem .9rem; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); font-size:.72rem; font-weight:800; }
.empty-price-retry:hover { border-color:var(--color-primary); color:#fff; background:var(--color-primary); }

@media (max-width:767.98px) {
    .top-prices-page { padding-top:.75rem!important; }
    .top-prices-page .page-hero { gap:1.1rem; padding:1.2rem; border-radius:18px; }
    .top-prices-page .page-hero h1 { font-size:1.55rem; }
    .top-prices-page .page-hero p { font-size:.82rem; line-height:1.55; }
    .exchange-price-control { min-width:0; width:100%; }
    .exchange-price-control label { font-size:.7rem; }
    .exchange-price-control select { min-height:48px; font-size:.9rem; font-weight:750; }
    .price-feed-explainer { display:flex; flex-wrap:nowrap; gap:.5rem; margin-bottom:.85rem; padding-bottom:.15rem; overflow-x:auto; scrollbar-width:none; }
    .price-feed-explainer::-webkit-scrollbar { display:none; }
    .price-feed-explainer span { flex:0 0 auto; padding:.52rem .72rem; border-radius:999px; font-size:.72rem; }
    .price-ranking-tabs { max-width:none; margin-bottom:.8rem; padding:.28rem; border-radius:12px; }
    .price-ranking-tab { min-height:44px; padding:.45rem; font-size:.73rem; }
    .top-prices-page .search-box { margin-bottom:1rem!important; border-radius:15px; box-shadow:0 8px 22px rgba(8,30,44,.045); }
    .top-prices-page .search-box input { min-height:54px; font-size:.95rem; }
    .selected-exchange-card { align-items:stretch; flex-direction:column; padding:1rem; border-radius:17px; }
    .selected-exchange-identity img { width:50px; height:50px; border-radius:15px; }
    .selected-exchange-identity span { font-size:.7rem; }
    .selected-exchange-identity strong { font-size:1.16rem; }
    .selected-exchange-metrics { grid-template-columns:repeat(3,1fr); gap:.5rem; text-align:left; }
    .selected-exchange-metrics div { min-width:0; padding:.65rem; border-radius:11px; background:var(--hover-bg); }
    .selected-exchange-metrics span { font-size:.68rem; }
    .selected-exchange-metrics strong { overflow:hidden; font-size:.8rem; text-overflow:ellipsis; white-space:nowrap; }
    .top-volume-table { overflow:visible!important; border-radius:0!important; background:transparent; box-shadow:none; }
    .top-volume-table .table-caption { margin-bottom:.7rem; padding:1rem; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); }
    .top-volume-table .table-caption strong { font-size:1rem; }
    .top-volume-table .table-caption>div span { font-size:.7rem; }
    .top-volume-table .calculation-note { font-size:.67rem; white-space:nowrap; }
    .top-volume-table .table-responsive { overflow:visible; }
    .top-volume-table table,.top-volume-table tbody { display:block; width:100%; }
    .top-volume-table thead { display:none; }
    .top-volume-table tbody { display:flex; flex-direction:column; gap:.72rem; }
    .top-volume-table tbody tr { display:grid; grid-template-columns:1fr 1fr; gap:.7rem .9rem; padding:1rem; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); box-shadow:0 10px 26px rgba(8,30,44,.06); }
    .top-volume-table tbody td { display:block; min-width:0; padding:0; border:0; text-align:left!important; }
    .top-volume-table tbody td::before { content:attr(data-label); display:block; margin-bottom:.22rem; color:var(--muted-text); font-size:.63rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
    .top-volume-table .market-rank-cell,.top-volume-table .market-pair-cell { display:none; }
    .top-volume-table .market-coin-cell { grid-column:1/-1; padding-bottom:.75rem; border-bottom:1px solid var(--card-border); }
    .top-volume-table .market-coin-cell::before { display:none; }
    .market-coin-identity { position:relative; gap:.72rem; }
    .market-coin-avatar { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:13px; color:#fff; background:linear-gradient(145deg,#00b8aa,#087b91); font-size:1rem; font-weight:850; box-shadow:0 7px 18px rgba(0,166,156,.2); }
    .market-mobile-rank { position:absolute; top:-.15rem; right:0; display:inline-flex; padding:.25rem .48rem; border-radius:999px; color:var(--muted-text); background:var(--hover-bg); font-size:.67rem; font-weight:800; }
    .market-mobile-pair { display:block; margin-top:.12rem; color:var(--muted-text); font-size:.72rem; font-weight:650; }
    .market-symbol { font-size:1.04rem; }
    .price-number>span,.volume-number strong { font-size:.94rem; line-height:1.25; }
    .price-number small { margin-top:.1rem; font-size:.66rem; }
    .volume-number strong { display:block; overflow:hidden; text-overflow:ellipsis; }
    .spread-badge { min-width:62px; padding:.36rem .55rem; font-size:.78rem; }
    .price-source-note { margin-top:.8rem; padding:.9rem 1rem; border:1px solid var(--card-border); border-radius:15px; background:var(--card-bg); font-size:.7rem; line-height:1.5; }
}

@media (max-width:480px) {
    .selected-exchange-metrics { grid-template-columns:1fr 1fr; }
    .selected-exchange-metrics div:last-child { display:none; }
    .top-volume-table tbody tr { padding:.9rem; }
}
@media (max-width:575.98px) { .portfolio-page { padding-top:.7rem!important; } .portfolio-hero { border-radius:17px; } .portfolio-live-badge { width:100%; } .portfolio-form-card,.portfolio-list-card { border-radius:16px; } .portfolio-form-card { padding:1rem; } .portfolio-stats { gap:.55rem; } .portfolio-stat { padding:.85rem; } .portfolio-stat strong { font-size:1.05rem; } .portfolio-list-header { padding:1rem; } .portfolio-updated { font-size:.52rem; } .portfolio-table tr { gap:.15rem; padding:.65rem; } .portfolio-table td>strong { font-size:.76rem; } .portfolio-table td>small,.portfolio-asset small { font-size:.58rem; } .portfolio-asset strong { font-size:.8rem; } }
@media (max-width:575.98px) { .portfolio-position-dialog { width:calc(100vw - 1.25rem); max-height:calc(100dvh - 1.25rem); } .portfolio-dialog-panel { padding:1rem; border-radius:17px; } .portfolio-switcher { margin-bottom:.7rem; padding:.8rem; } .portfolio-management-actions { display:grid; grid-template-columns:1fr 1fr; } .portfolio-management-actions .portfolio-add-trigger { grid-column:1/-1; } .portfolio-management-actions .portfolio-create-form { grid-column:1/-1; } .portfolio-management-actions>form:not(.portfolio-create-form) { width:100%; } .portfolio-list-card { border:0; background:transparent; box-shadow:none; } .portfolio-list-card>.portfolio-list-header { border:1px solid var(--card-border); border-radius:15px 15px 0 0; background:var(--card-bg); } .portfolio-disclaimer { border:1px solid var(--card-border); border-top:0; border-radius:0 0 15px 15px; } }
@media (max-width:767.98px) { .portfolio-page .portfolio-hero p { font-size:.82rem; } .portfolio-select-wrap label { font-size:.66rem; } .portfolio-select-wrap select { font-size:.82rem; } .portfolio-management-actions .btn,.portfolio-create-form input { font-size:.74rem; } .portfolio-stat>span { font-size:.65rem; } .portfolio-stat strong { font-size:1.2rem; } .portfolio-stat small { font-size:.66rem; } .portfolio-stat .portfolio-total-usd { font-size:.72rem; } .portfolio-list-header h2 { font-size:1.04rem; } .portfolio-list-header p { font-size:.7rem; line-height:1.45; } .portfolio-updated { font-size:.62rem; } .portfolio-table td:before { font-size:.61rem; } .portfolio-table td>strong { font-size:.88rem; } .portfolio-table td>small,.portfolio-table td>.portfolio-usd-price,.portfolio-asset small { font-size:.67rem; line-height:1.45; } .portfolio-asset strong { font-size:.9rem; } .portfolio-result { font-size:.84rem!important; } .portfolio-disclaimer { font-size:.63rem; } .portfolio-chart-start { font-size:.68rem; } .portfolio-chart-toggle { font-size:.7rem; } }

/* Compact portfolio: waarde eerst, daarna één scanbare regel per positie. */
.portfolio-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
.portfolio-stat.primary { grid-column:1/-1; }
.portfolio-primary-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.85fr); align-items:center; gap:1.2rem; }
.portfolio-current-summary>span { color:var(--muted-text); font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.portfolio-current-summary { position:relative; min-width:0; }
.portfolio-value-line { display:flex; min-width:0; align-items:center; gap:.45rem; }
.portfolio-value-line>strong { display:block; min-width:0; margin:.25rem 0 .08rem; overflow:visible; font-size:clamp(1.15rem,4vw,1.55rem); white-space:nowrap; }
.portfolio-privacy-toggle { position:static; display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; padding:0; border:0; border-radius:8px; color:var(--portfolio-positive-text,#00a99c); background:transparent; font-size:.72rem; line-height:1; }
.portfolio-privacy-toggle i { display:block; line-height:1; }
.portfolio-privacy-toggle:hover { color:#25d8c8; background:color-mix(in srgb,var(--color-primary) 10%,transparent); }
.portfolio-sensitive { position:relative; }
.portfolio-privacy-hidden .portfolio-sensitive { color:transparent!important; text-shadow:none!important; user-select:none; }
.portfolio-privacy-hidden .portfolio-sensitive::after { content:"••••"; position:absolute; inset:0 auto auto 0; color:var(--text-color); letter-spacing:.08em; }
.portfolio-current-summary>small { font-size:.7rem; }
.portfolio-current-summary>.portfolio-total-usd { font-size:.75rem; }
.portfolio-value-meta { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:.2rem .55rem; margin:.08rem 0 .18rem; }
.portfolio-value-meta small { font-size:.7rem; line-height:1.35; }
.portfolio-value-meta .portfolio-total-usd { margin:0; color:color-mix(in srgb,var(--text-color) 76%,var(--muted-text)); font-size:.75rem; font-weight:750; }
.portfolio-day-change { font-weight:800; white-space:nowrap; }
.portfolio-day-change.positive { color:var(--portfolio-positive-text,#008d6b); }
.portfolio-day-change.negative { color:var(--portfolio-negative-text,#c63f49); }
.portfolio-inline-manager { min-width:0; padding:.75rem; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:13px; background:color-mix(in srgb,var(--card-bg) 86%,transparent); }
.portfolio-inline-manager .portfolio-select-wrap label { font-size:.65rem; }
.portfolio-inline-manager .portfolio-select-wrap select { width:100%; min-width:0; min-height:42px; font-size:.78rem; }
.portfolio-inline-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem; margin-top:.45rem; }
.portfolio-inline-actions form { min-width:0; margin:0; }
.portfolio-inline-actions .btn,.portfolio-inline-manager .portfolio-create-form .btn { display:flex; align-items:center; justify-content:center; gap:.35rem; width:100%; min-height:37px; padding:.4rem .55rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); font-size:.67rem; font-weight:800; }
.portfolio-inline-actions .btn:hover,.portfolio-inline-manager .portfolio-create-form .btn:hover { border-color:var(--color-primary); color:var(--color-primary); }
.portfolio-inline-actions .btn.danger { color:#bd3943; }
.portfolio-inline-actions .btn:disabled { cursor:not-allowed; opacity:.42; }
.portfolio-inline-manager .portfolio-create-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem; margin-top:.45rem; }
.portfolio-inline-manager .portfolio-create-form input { width:100%; min-width:0; min-height:39px; font-size:.72rem; }
.portfolio-inline-manager .portfolio-create-form .btn { width:auto; }
.portfolio-compact-table th:nth-child(1) { width:24%; }
.portfolio-compact-table th:nth-child(2) { width:32%; }
.portfolio-compact-table th:nth-child(3) { width:32%; }
.portfolio-compact-table th:last-child { width:90px; }
.portfolio-compact-table td { padding:1rem .9rem; }
.portfolio-asset-logo { position:relative; display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; overflow:visible; border-radius:0; background:transparent; }
.portfolio-asset-logo>span { display:grid; width:100%; height:100%; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#0da7a0,#075f70); font-size:.78rem; font-weight:850; }
.portfolio-asset-logo.has-image>span { visibility:hidden; }
.portfolio-asset-logo>img { position:absolute; inset:0; width:100%; height:100%; border-radius:0; background:transparent; object-fit:contain; }

/* Bot entry backtest */
.entry-backtest-page { padding:.9rem 0 1.5rem; }
.entry-backtest-hero { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; padding:1.1rem 1.25rem; border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); border-radius:18px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)),var(--card-bg)); box-shadow:0 12px 32px rgba(8,30,44,.05); }
.entry-backtest-eyebrow { display:flex; align-items:center; gap:.42rem; color:var(--color-primary); font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.entry-backtest-hero h1 { margin:.24rem 0 .12rem; color:var(--text-color); font-size:1.65rem; font-weight:950; }
.entry-backtest-hero p { margin:0; color:var(--muted-text); font-size:.82rem; }
.entry-backtest-hero>a { display:inline-flex; flex:0 0 auto; align-items:center; gap:.42rem; padding:.68rem .85rem; border:1px solid var(--card-border); border-radius:11px; color:var(--text-color); background:var(--card-bg); font-size:.73rem; font-weight:850; text-decoration:none; }
.entry-backtest-filter { display:grid; grid-template-columns:repeat(4,minmax(145px,1fr)); gap:.65rem; margin-bottom:.75rem; padding:.9rem; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); box-shadow:0 10px 28px rgba(8,30,44,.04); }
.entry-backtest-filter label { display:flex; min-width:0; gap:.32rem; flex-direction:column; color:var(--muted-text); font-size:.64rem; font-weight:800; }
.entry-backtest-filter label>span small { font-size:.56rem; font-weight:650; }
.entry-backtest-filter label[hidden] { display:none; }
.entry-backtest-filter select,.entry-backtest-input,.entry-backtest-date { width:100%; min-height:43px; border:1px solid var(--card-border); border-radius:10px; color:var(--text-color); background:var(--section-bg); font-size:.76rem; font-weight:800; }
.entry-backtest-filter select { padding:0 .7rem; }
.entry-backtest-check { display:flex; min-height:43px; align-items:center; gap:.5rem; padding:0 .7rem; border:1px solid var(--card-border); border-radius:10px; color:var(--text-color); background:var(--section-bg); font-size:.7rem; font-weight:850; }
.entry-backtest-check input { width:1rem; height:1rem; accent-color:var(--color-primary); }
.entry-backtest-optimizer { margin:1rem 0 1.25rem; }
.entry-backtest-date { padding:0 .7rem; color-scheme:light dark; }
.entry-backtest-input { display:flex; align-items:center; overflow:hidden; }
.entry-backtest-input input { width:100%; min-width:0; height:41px; padding:0 .68rem; border:0; outline:0; color:var(--text-color); background:transparent; font:inherit; }
.entry-backtest-input i { padding:0 .7rem; color:var(--color-primary); font-size:.72rem; font-style:normal; }
.entry-backtest-filter>button { display:inline-flex; min-height:43px; align-self:end; align-items:center; justify-content:center; gap:.48rem; border:0; border-radius:10px; color:#fff!important; background:linear-gradient(135deg,#0b5266,#073a4b)!important; box-shadow:0 8px 18px rgba(8,60,77,.25); font-size:.76rem; font-weight:900; cursor:pointer; }
.entry-backtest-filter>button:hover { background:linear-gradient(135deg,#08677f,#08475b)!important; transform:translateY(-1px); }
.entry-backtest-filter>button:disabled { cursor:wait; opacity:.72; transform:none; }
.entry-backtest-filter>button.is-loading i { animation:entry-backtest-spin .75s linear infinite; }
#entryBacktestResults { transition:opacity .18s ease; }
#entryBacktestResults.is-loading { opacity:.42; pointer-events:none; }
@keyframes entry-backtest-spin { to { transform:rotate(360deg); } }
.entry-backtest-note,.entry-backtest-footer { display:flex; align-items:flex-start; gap:.65rem; margin-bottom:.85rem; padding:.72rem .85rem; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:13px; color:var(--muted-text); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }
.entry-backtest-note>i,.entry-backtest-footer>i { margin-top:.15rem; color:var(--color-primary); }
.entry-backtest-running>i { animation:entry-backtest-spin .75s linear infinite; }
.entry-backtest-note p,.entry-backtest-footer p { margin:0; font-size:.7rem; line-height:1.5; }
.entry-backtest-note strong,.entry-backtest-footer strong { color:var(--text-color); }
.entry-backtest-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.9rem 0 .55rem; padding:0 .15rem; }
.entry-backtest-heading>div:first-child>span { color:var(--color-primary); font-size:.65rem; font-weight:900; text-transform:uppercase; }
.entry-backtest-heading h2 { margin:.1rem 0 0; color:var(--text-color); font-size:1.08rem; font-weight:920; }
.entry-backtest-best { display:flex; align-items:center; gap:.5rem; padding:.48rem .7rem; border-radius:11px; color:#8a5a00; background:#fff7df; }
.entry-backtest-best.is-negative { color:#b4232e; background:rgba(220,75,85,.10); }
[data-theme="dark"] .entry-backtest-best { color:#ffd36b; background:rgba(245,158,11,.12); }
[data-theme="dark"] .entry-backtest-best.is-negative { color:#ff9ca5; background:rgba(220,75,85,.14); }
.entry-backtest-best>i { font-size:.85rem; }
.entry-backtest-best>span { display:flex; flex-direction:column; font-size:.58rem; font-weight:750; }
.entry-backtest-best strong { font-size:.72rem; }
.entry-backtest-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); align-items:start; gap:.7rem; }
.entry-backtest-card { overflow:hidden; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); box-shadow:0 10px 26px rgba(8,30,44,.045); }
.entry-backtest-card.is-best { border-color:#e8b53e; box-shadow:0 12px 30px rgba(232,181,62,.13); }
.entry-backtest-card>header { display:flex; align-items:center; justify-content:space-between; padding:.65rem .78rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); }
.entry-backtest-card>header>span { color:var(--color-primary); font-size:.9rem; font-weight:950; }
.entry-backtest-card>header>em { color:var(--muted-text); font-size:.58rem; font-style:normal; font-weight:750; }
.entry-backtest-period { display:flex; align-items:center; gap:.45rem; padding:.55rem .75rem 0; color:var(--muted-text); }
.entry-backtest-period>i { color:var(--color-primary); font-size:.68rem; }
.entry-backtest-period>span { display:flex; min-width:0; align-items:center; gap:.3rem; font-size:.56rem; }
.entry-backtest-period b { color:var(--muted-text); font-weight:650; }
.entry-backtest-confidence { width:max-content; margin:.5rem .75rem 0; padding:.25rem .46rem; border-radius:999px; color:#a15c06; background:rgba(245,158,11,.12); font-size:.55rem; font-weight:850; }
.entry-backtest-confidence.has-data { color:#087d6b; background:rgba(16,185,129,.11); }
.entry-backtest-result { display:grid; grid-template-columns:1fr auto; padding:.75rem; }
.entry-backtest-result small { grid-column:1/-1; color:var(--muted-text); font-size:.58rem; font-weight:750; }
.entry-backtest-result strong { color:var(--text-color); font-size:1.2rem; font-weight:950; }
.entry-backtest-result>span { align-self:center; font-size:.72rem; font-weight:900; }
.entry-backtest-result.is-positive strong,.entry-backtest-result.is-positive>span,.entry-backtest-patterns .positive,.entry-backtest-trades .positive,.entry-backtest-stats .positive { color:#059669; }
.entry-backtest-result.is-negative strong,.entry-backtest-result.is-negative>span,.entry-backtest-patterns .negative,.entry-backtest-trades .negative,.entry-backtest-stats .negative { color:#dc4b55; }
.entry-backtest-open-warning { display:flex; align-items:flex-start; gap:.42rem; margin:0 .7rem .7rem; padding:.55rem .6rem; border:1px solid rgba(220,75,85,.18); border-radius:10px; color:#a9343e; background:rgba(220,75,85,.07); font-size:.61rem; line-height:1.45; }
.entry-backtest-open-warning i { margin-top:.14rem; flex:none; }
.entry-backtest-open-warning strong { display:block; margin-bottom:.08rem; color:#8f2630; }
[data-theme="dark"] .entry-backtest-open-warning,[data-theme="dark"] .entry-backtest-open-warning strong { color:#ff9ca5; }
.entry-backtest-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-top:1px solid var(--card-border); }
.entry-backtest-stats>div { display:flex; min-width:0; padding:.55rem .72rem; align-items:center; justify-content:space-between; gap:.35rem; border-right:1px solid var(--card-border); border-bottom:1px solid var(--card-border); }
.entry-backtest-stats>div:nth-child(even) { border-right:0; }
.entry-backtest-stats dt { color:var(--muted-text); font-size:.58rem; font-weight:700; }
.entry-backtest-stats dd { margin:0; color:var(--text-color); font-size:.66rem; font-weight:900; }
.entry-backtest-empty { margin:.7rem; padding:.62rem; border-radius:10px; color:var(--muted-text); background:var(--section-bg); font-size:.65rem; line-height:1.45; }
.entry-backtest-details { border-top:1px solid var(--card-border); }
.entry-backtest-details>summary { display:flex; padding:.62rem .72rem; align-items:center; justify-content:space-between; color:var(--text-color); cursor:pointer; font-size:.65rem; font-weight:850; list-style:none; }
.entry-backtest-details>summary::-webkit-details-marker { display:none; }
.entry-backtest-details>summary span { display:flex; align-items:center; gap:.4rem; }
.entry-backtest-details>summary span i { color:var(--color-primary); }
.entry-backtest-details>summary>i { color:var(--muted-text); font-size:.55rem; transition:transform .18s ease; }
.entry-backtest-details[open]>summary>i { transform:rotate(180deg); }
.entry-backtest-patterns,.entry-backtest-trades { border-top:1px solid var(--card-border); background:var(--section-bg); }
.entry-backtest-patterns>div,.entry-backtest-trades>div { display:flex; padding:.55rem .72rem; align-items:center; justify-content:space-between; gap:.5rem; border-bottom:1px solid var(--card-border); }
.entry-backtest-patterns>div:last-child,.entry-backtest-trades>div:last-child { border-bottom:0; }
.entry-backtest-patterns>div>span,.entry-backtest-trades>div>span { display:flex; min-width:0; flex-direction:column; }
.entry-backtest-patterns>div>span:last-child,.entry-backtest-trades>div>span:last-child { flex:0 0 auto; align-items:flex-end; }
.entry-backtest-patterns strong,.entry-backtest-trades strong { overflow:hidden; color:var(--text-color); font-size:.61rem; text-overflow:ellipsis; white-space:nowrap; }
.entry-backtest-patterns small,.entry-backtest-trades small,.entry-backtest-patterns b,.entry-backtest-trades b { color:var(--muted-text); font-size:.54rem; font-weight:700; }
.entry-backtest-patterns em,.entry-backtest-trades em { font-size:.62rem; font-style:normal; font-weight:900; }
.entry-backtest-error { display:flex; align-items:flex-start; gap:.45rem; margin:.7rem; padding:.65rem; border-radius:10px; color:#b4232e; background:rgba(220,75,85,.09); font-size:.65rem; line-height:1.45; }
.entry-backtest-footer { margin:1rem 0 0; }

@media (max-width:767.98px) {
    .entry-backtest-page { padding:.55rem 0 5rem; }
    .entry-backtest-hero { align-items:flex-start; padding:.85rem; border-radius:15px; }
    .entry-backtest-hero h1 { font-size:1.3rem; }
    .entry-backtest-hero p { font-size:.7rem; line-height:1.45; }
    .entry-backtest-hero>a { width:38px; height:38px; padding:0; justify-content:center; }
    .entry-backtest-hero>a { font-size:0; }
    .entry-backtest-hero>a i { font-size:.72rem; }
    .entry-backtest-filter { grid-template-columns:repeat(2,minmax(0,1fr)); padding:.72rem; border-radius:14px; }
    .entry-backtest-filter label:first-child,.entry-backtest-filter>button { grid-column:1/-1; }
    .entry-backtest-filter>button { min-height:45px; }
    .entry-backtest-note p,.entry-backtest-footer p { font-size:.66rem; }
    .entry-backtest-heading { align-items:flex-end; }
    .entry-backtest-heading h2 { font-size:.95rem; }
    .entry-backtest-best { padding:.4rem .5rem; }
    .entry-backtest-grid { grid-template-columns:1fr; }
    .entry-backtest-card { border-radius:14px; }
    .entry-backtest-period>span { flex-wrap:wrap; }
}
.portfolio-compact-table .portfolio-asset { gap:.65rem; }
.portfolio-compact-table .portfolio-asset strong { font-size:1rem; }
.portfolio-compact-table .portfolio-current-price>strong,
.portfolio-compact-table .portfolio-holding-value>strong { font-size:1.02rem; font-variant-numeric:tabular-nums; }
.portfolio-compact-table td>small,.portfolio-compact-table td>.portfolio-usd-price { font-size:.75rem; line-height:1.45; }
.portfolio-compact-table .portfolio-actions { align-self:flex-start; padding-top:.05rem; }
.portfolio-price-change { font-weight:800; }
.portfolio-price-change.positive { color:var(--portfolio-positive-text,#008d6b); }
.portfolio-price-change.negative { color:var(--portfolio-negative-text,#c63f49); }
.portfolio-add-footer { padding:1rem 1.2rem 1.2rem; border-top:1px solid var(--card-border); background:var(--card-bg); }
.portfolio-add-footer .portfolio-add-trigger { display:flex; align-items:center; justify-content:center; gap:.45rem; width:100%; min-height:46px; border-radius:12px; font-size:.72rem; font-weight:800; }

@media (max-width:767.98px) {
    .portfolio-page { padding-top:.65rem!important; }
    .portfolio-primary-card { grid-template-columns:minmax(0,1fr) minmax(245px,.95fr); gap:.8rem; padding:1rem; }
    .portfolio-current-summary>span { font-size:.72rem; }
    .portfolio-value-line>strong { font-size:1.5rem; }
    .portfolio-privacy-toggle { width:28px; height:28px; flex-basis:28px; font-size:.72rem; }
    .portfolio-current-summary>small { font-size:.75rem; line-height:1.5; }
    .portfolio-current-summary>.portfolio-total-usd { font-size:.8rem; }
    .portfolio-value-meta small { font-size:.75rem; }
    .portfolio-value-meta .portfolio-total-usd { font-size:.8rem; }
    .portfolio-stat>span { font-size:.72rem; }
    .portfolio-stat>strong { font-size:1.3rem; }
    .portfolio-stat>small { font-size:.75rem; line-height:1.45; }
    .portfolio-inline-manager { padding:.65rem; }
    .portfolio-inline-manager .portfolio-select-wrap label { font-size:.7rem; }
    .portfolio-inline-manager .portfolio-select-wrap select { min-height:44px; font-size:.85rem; }
    .portfolio-inline-actions .btn { min-height:39px; font-size:.7rem; }
    .portfolio-inline-manager .portfolio-create-form input { min-height:42px; font-size:.78rem; }
    .portfolio-list-header h2 { font-size:1.16rem; }
    .portfolio-list-header p { font-size:.78rem; }
    .portfolio-updated { font-size:.7rem; }
    .portfolio-compact-table tbody tr { display:grid; grid-template-columns:minmax(90px,.9fr) minmax(72px,1fr) minmax(72px,1fr) 68px; align-items:start; gap:.32rem; padding:.92rem .7rem; }
    .portfolio-compact-table tbody tr:has(.portfolio-grid-bot-trigger) { grid-template-columns:minmax(76px,.9fr) minmax(74px,1fr) minmax(74px,1fr) 102px; }
    .portfolio-compact-table tbody td { display:block; width:auto; min-width:0; padding:0; border:0; }
    .portfolio-compact-table tbody td::before { display:none; }
    .portfolio-compact-table tbody td:first-child { grid-column:auto; margin:0; padding:0; border:0; }
    .portfolio-compact-table .portfolio-asset { gap:.42rem; }
    .portfolio-asset-logo { width:36px; height:36px; flex-basis:36px; }
    .portfolio-compact-table .portfolio-asset strong { font-size:1.02rem; line-height:1.3; }
    .portfolio-compact-table .portfolio-current-price>strong,
    .portfolio-compact-table .portfolio-holding-value>strong { overflow:hidden; font-size:.95rem; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
    .portfolio-compact-table td>small,
    .portfolio-compact-table td>.portfolio-usd-price { overflow:hidden; margin-top:.18rem; font-size:.74rem; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
    .portfolio-compact-table .portfolio-actions { position:static; display:flex!important; grid-column:4; grid-row:1; align-self:start; justify-content:flex-end; gap:.2rem; width:auto; padding:0; transform:translateY(-.12rem); }
    .portfolio-compact-table .portfolio-actions .btn { width:30px; height:32px; border-radius:8px; font-size:.7rem; }
    .portfolio-compact-table .portfolio-actions .portfolio-grid-bot-trigger { width:32px; height:32px; border-color:color-mix(in srgb,var(--color-primary) 25%,var(--card-border)); border-radius:50%; background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg))!important; box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 12%,transparent); font-size:.66rem; }
    .portfolio-compact-table .portfolio-grid-bot-trigger.is-active { box-shadow:0 4px 12px color-mix(in srgb,#10b981 16%,transparent); }
    .portfolio-compact-table .portfolio-grid-bot-dot { top:2px; right:2px; width:7px; height:7px; }
    .portfolio-add-footer { margin-top:.7rem; padding:.75rem; border:1px solid var(--card-border); border-radius:15px; }
    .portfolio-add-footer .portfolio-add-trigger { min-height:50px; font-size:.86rem; }
    .portfolio-disclaimer { font-size:.7rem; }
    .portfolio-card-heading h2 { font-size:1.12rem; }
    .portfolio-card-heading p { font-size:.76rem; line-height:1.45; }
    .portfolio-field label { font-size:.8rem; }
    .portfolio-field input { min-height:48px; font-size:16px; }
    .portfolio-position-dialog input,
    .portfolio-position-dialog select,
    .portfolio-position-dialog textarea { font-size:16px!important; }
    .portfolio-position-dialog button { touch-action:manipulation; }
    .portfolio-field small,.portfolio-validation { font-size:.72rem; }
    .portfolio-submit { min-height:48px; font-size:.86rem; }
    .portfolio-cancel { font-size:.78rem; }
}

@media (max-width:575.98px) {
    .portfolio-position-dialog { width:calc(100vw - 1rem); max-height:calc(100dvh - 1rem); }
    .portfolio-dialog-panel { max-height:calc(100dvh - 1rem); padding:.9rem; }
    .portfolio-primary-card { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
    .portfolio-inline-actions .btn span { display:none; }
    .portfolio-inline-actions .btn { padding:.35rem; font-size:.78rem; }
    .portfolio-inline-manager .portfolio-create-form .btn span { display:none; }
}

/* Portfolio selector, beheer-pop-up en Chart.js visualisaties. */
.portfolio-topbar { display:grid; grid-template-columns:minmax(0,1fr) 30px 30px; align-items:end; gap:.45rem; margin-bottom:.8rem; padding:.75rem .85rem; border:1px solid var(--card-border); border-radius:15px; background:var(--card-bg); box-shadow:0 10px 26px rgba(8,30,44,.045); }
.portfolio-current-summary .portfolio-topbar { margin:0 0 .85rem; padding:0 0 .75rem; border:0; border-bottom:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:0; background:transparent; box-shadow:none; }
.portfolio-topbar .portfolio-select-wrap label { display:block; margin-bottom:.28rem; color:var(--muted-text); font-size:.62rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.portfolio-topbar .portfolio-select-wrap select { width:100%; min-width:0; min-height:42px; padding:.55rem .75rem; border:1px solid var(--card-border); border-radius:10px; color:var(--text-color); background:var(--hover-bg); font-size:.82rem; font-weight:800; }
.portfolio-manage-trigger { display:grid; width:30px; height:42px; align-self:end; place-items:center; padding:0; border:0; border-radius:8px; color:var(--portfolio-positive-text,#00a99c); background:transparent; font-size:.68rem; line-height:1; }
.portfolio-manage-trigger i { display:block; line-height:1; }
.portfolio-manage-trigger:hover { color:#25d8c8; background:color-mix(in srgb,var(--color-primary) 10%,transparent); }
.portfolio-compare-trigger { display:grid; width:30px; height:42px; align-self:end; place-items:center; border:0; border-radius:8px; color:#7c5ce7; background:transparent; font-size:.72rem; line-height:1; text-decoration:none; }
.portfolio-compare-trigger:hover { color:#5d3dcc; background:color-mix(in srgb,#7c5ce7 10%,transparent); }

/* Vergelijking van persoonlijke portfolio's. */
.portfolio-comparison-page { width:min(100%,1500px); margin:0 auto; padding:1.2rem; }
.portfolio-comparison-hero { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; padding:1.15rem 1.25rem; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); box-shadow:0 12px 34px rgba(8,30,44,.045); }
.portfolio-comparison-hero>div>span { color:var(--color-primary); font-size:.62rem; font-weight:900; letter-spacing:.08em; }
.portfolio-comparison-hero h1 { margin:.1rem 0; color:var(--text-color); font-size:1.55rem; }
.portfolio-comparison-hero p { margin:0; color:var(--muted-text); font-size:.75rem; }
.portfolio-comparison-hero>a { display:flex; min-height:40px; padding:.5rem .75rem; align-items:center; gap:.42rem; border:1px solid var(--card-border); border-radius:11px; color:var(--text-color); background:var(--card-bg); font-size:.68rem; font-weight:800; text-decoration:none; }
.portfolio-comparison-picker { margin-bottom:.8rem; padding:.9rem; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); }
.portfolio-comparison-picker-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.7rem; }
.portfolio-comparison-picker-heading h2 { margin:0; font-size:.95rem; }
.portfolio-comparison-picker-heading p { margin:.12rem 0 0; color:var(--muted-text); font-size:.64rem; }
.portfolio-comparison-picker-heading button { min-height:39px; padding:.45rem .72rem; border:0; border-radius:10px; color:#fff; background:linear-gradient(135deg,#00a99c,#087d89); font-size:.68rem; font-weight:850; }
.portfolio-comparison-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.5rem; }
.portfolio-comparison-options label { display:grid; min-width:0; min-height:48px; grid-template-columns:minmax(0,1fr) 24px; align-items:center; gap:.45rem; padding:.55rem .65rem; border:1px solid var(--card-border); border-radius:11px; cursor:pointer; background:var(--hover-bg); }
.portfolio-comparison-options label.is-selected { border-color:color-mix(in srgb,var(--color-primary) 48%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); }
.portfolio-comparison-options input { position:absolute; width:1px; height:1px; opacity:0; }
.portfolio-comparison-options label>span { display:flex; min-width:0; align-items:center; gap:.45rem; }
.portfolio-comparison-options label>span>i { color:var(--color-primary); }
.portfolio-comparison-options strong { overflow:hidden; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-comparison-options label>i { display:grid; width:22px; height:22px; place-items:center; border:1px solid var(--card-border); border-radius:7px; color:transparent; font-size:.55rem; }
.portfolio-comparison-options label.is-selected>i { border-color:var(--color-primary); color:#fff; background:var(--color-primary); }
.portfolio-comparison-leader { display:flex; align-items:center; gap:.7rem; margin-bottom:.8rem; padding:.8rem 1rem; border:1px solid color-mix(in srgb,#f59e0b 30%,var(--card-border)); border-radius:15px; background:color-mix(in srgb,#f59e0b 6%,var(--card-bg)); }
.portfolio-comparison-leader>span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:11px; color:#b87300; background:color-mix(in srgb,#f59e0b 15%,var(--card-bg)); }
.portfolio-comparison-leader small { color:#a16207; font-size:.58rem; font-weight:850; text-transform:uppercase; }
.portfolio-comparison-leader h2 { display:inline; margin:0 .4rem 0 0; font-size:.9rem; }
.portfolio-comparison-leader p { display:inline; margin:0; color:var(--muted-text); font-size:.67rem; }
.portfolio-comparison-chart-card,.portfolio-comparison-table-card { margin-bottom:.8rem; overflow:hidden; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); box-shadow:0 8px 24px rgba(8,30,44,.04); }
.portfolio-comparison-chart-card>header,.portfolio-comparison-table-card>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; border-bottom:1px solid var(--card-border); }
.portfolio-comparison-chart-card h2,.portfolio-comparison-table-card h2 { margin:0; font-size:.92rem; }
.portfolio-comparison-chart-card header p,.portfolio-comparison-table-card header p { margin:.12rem 0 0; color:var(--muted-text); font-size:.62rem; }
.portfolio-comparison-chart-card header>span { padding:.25rem .45rem; border-radius:999px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 9%,transparent); font-size:.59rem; font-weight:800; }
.portfolio-comparison-chart-card>div { height:270px; padding:.7rem .85rem .35rem; }
.portfolio-comparison-chart-empty { display:flex; height:auto!important; margin:0; padding:.7rem 1rem!important; align-items:center; gap:.4rem; border-top:1px solid var(--card-border); color:var(--muted-text); font-size:.63rem; }
.portfolio-comparison-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:.7rem; margin-bottom:.8rem; }
.portfolio-comparison-card { overflow:hidden; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); box-shadow:0 8px 24px rgba(8,30,44,.04); }
.portfolio-comparison-card.is-leader { border-color:color-mix(in srgb,#f59e0b 34%,var(--card-border)); }
.portfolio-comparison-card>header { display:grid; min-height:60px; grid-template-columns:34px minmax(0,1fr) 24px; align-items:center; gap:.55rem; padding:.7rem .8rem; border-bottom:1px solid var(--card-border); }
.portfolio-comparison-rank { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)); font-size:.67rem; font-weight:900; }
.portfolio-comparison-card header h2 { overflow:hidden; margin:0; font-size:.88rem; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-comparison-card header p { margin:.12rem 0 0; color:var(--muted-text); font-size:.58rem; }
.portfolio-comparison-card header>i { color:#f59e0b; }
.portfolio-comparison-card-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.portfolio-comparison-card-metrics>span { display:grid; min-height:60px; align-content:center; gap:.1rem; padding:.55rem .7rem; border-bottom:1px solid var(--card-border); border-left:1px solid var(--card-border); }
.portfolio-comparison-card-metrics>span:nth-child(odd) { border-left:0; }
.portfolio-comparison-card-metrics small { color:var(--muted-text); font-size:.58rem; font-weight:750; }
.portfolio-comparison-card-metrics strong { font-size:.82rem; font-variant-numeric:tabular-nums; }
.portfolio-comparison-page .is-positive { color:var(--portfolio-positive-text,#059669)!important; }.portfolio-comparison-page .is-negative { color:var(--portfolio-negative-text,#dc4b55)!important; }
.portfolio-comparison-allocation { padding:.7rem .8rem; }
.portfolio-comparison-allocation h3 { margin:0 0 .35rem; font-size:.7rem; }
.portfolio-comparison-allocation>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,.8fr); align-items:center; gap:.5rem; padding:.25rem 0; }
.portfolio-comparison-allocation>div>span:first-child { display:flex; align-items:center; gap:.28rem; font-size:.66rem; }
.portfolio-comparison-allocation>div>span:first-child i { color:var(--color-primary); font-size:.55rem; }
.portfolio-comparison-allocation>div>span:last-child { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:.35rem; }
.portfolio-comparison-allocation strong { font-size:.61rem; text-align:right; }
.portfolio-comparison-allocation em { position:relative; height:5px; overflow:hidden; border-radius:999px; background:var(--hover-bg); }
.portfolio-comparison-allocation em:after { position:absolute; inset:0 auto 0 0; width:var(--allocation); border-radius:inherit; background:linear-gradient(90deg,var(--color-primary),#7c5ce7); content:""; }
.portfolio-comparison-allocation p { color:var(--muted-text); font-size:.62rem; }
.portfolio-comparison-card>a { display:flex; min-height:40px; padding:.55rem .8rem; align-items:center; justify-content:space-between; border-top:1px solid var(--card-border); color:var(--color-primary); font-size:.64rem; font-weight:850; text-decoration:none; }
.portfolio-comparison-table-card .table-responsive { overflow-x:auto; }
.portfolio-comparison-table-card table { width:100%; min-width:760px; border-collapse:collapse; }
.portfolio-comparison-table-card th,.portfolio-comparison-table-card td { padding:.65rem .75rem; border-bottom:1px solid var(--card-border); color:var(--text-color); font-size:.65rem; text-align:left; white-space:nowrap; }
.portfolio-comparison-table-card th { color:var(--muted-text); background:var(--hover-bg); font-size:.55rem; text-transform:uppercase; }
.portfolio-comparison-empty { display:flex; min-height:150px; align-items:center; justify-content:center; gap:.7rem; border:1px solid var(--card-border); border-radius:17px; color:var(--muted-text); background:var(--card-bg); }
.portfolio-comparison-empty>i { font-size:1.3rem; color:var(--color-primary); }.portfolio-comparison-empty h2 { margin:0; color:var(--text-color); font-size:.92rem; }.portfolio-comparison-empty p { margin:.15rem 0 0; font-size:.66rem; }

@media (max-width:767.98px) {
    .portfolio-comparison-page { padding:.65rem .65rem 5.5rem; }
    .portfolio-comparison-hero { align-items:flex-start; padding:.8rem; border-radius:15px; }
    .portfolio-comparison-hero h1 { font-size:1.22rem; }.portfolio-comparison-hero p { font-size:.7rem; line-height:1.4; }
    .portfolio-comparison-hero>a { width:38px; min-width:38px; height:38px; padding:0; justify-content:center; border-radius:50%; }.portfolio-comparison-hero>a span { display:none; }
    .portfolio-comparison-picker { padding:.7rem; border-radius:14px; }
    .portfolio-comparison-picker-heading { align-items:flex-end; }.portfolio-comparison-picker-heading p { font-size:.62rem; }
    .portfolio-comparison-picker-heading button { min-width:42px; padding:.45rem; font-size:0; }.portfolio-comparison-picker-heading button i { font-size:.72rem; }
    .portfolio-comparison-options { display:flex; overflow-x:auto; padding-bottom:.2rem; scroll-snap-type:x proximity; }
    .portfolio-comparison-options label { min-width:155px; scroll-snap-align:start; }
    .portfolio-comparison-leader { padding:.7rem; }.portfolio-comparison-leader h2,.portfolio-comparison-leader p { display:block; }
    .portfolio-comparison-chart-card>header,.portfolio-comparison-table-card>header { padding:.7rem; }.portfolio-comparison-chart-card header p { max-width:240px; font-size:.6rem; line-height:1.4; }
    .portfolio-comparison-chart-card>div { height:230px; padding:.5rem .55rem .25rem; }
    .portfolio-comparison-cards { grid-template-columns:1fr; gap:.55rem; }
    .portfolio-comparison-card-metrics>span { min-height:62px; }.portfolio-comparison-card-metrics small { font-size:.64rem; }.portfolio-comparison-card-metrics strong { font-size:.88rem; }
    .portfolio-comparison-table-card th,.portfolio-comparison-table-card td { font-size:.68rem; }
}
.portfolio-primary-card { grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); }
.portfolio-allocation-panel { display:grid; grid-template-columns:auto minmax(0,1fr); min-width:0; align-items:center; gap:.5rem; min-height:160px; padding:.4rem .55rem .4rem .7rem; border-left:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); }
.portfolio-allocation-heading span,.portfolio-allocation-heading small { display:block; }
.portfolio-allocation-heading span { color:var(--text-color); font-size:.72rem; font-weight:850; }
.portfolio-allocation-heading small { margin-top:.12rem; color:var(--muted-text); font-size:.58rem; }
.portfolio-allocation-chart { position:relative; min-width:0; height:160px; }
.portfolio-allocation-chart canvas { width:100%!important; height:100%!important; }
.portfolio-allocation-empty { display:flex; min-height:130px; align-items:center; justify-content:center; flex-direction:column; gap:.35rem; color:var(--muted-text); font-size:.64rem; }
.portfolio-allocation-empty i { color:var(--color-primary); font-size:1.5rem; opacity:.72; }
.portfolio-chart-body { height:260px; padding:.7rem 1rem .8rem; }

.portfolio-manager-dialog { width:min(540px,calc(100vw - 1.5rem)); max-width:none; max-height:calc(100dvh - 1.5rem); padding:0; overflow:auto; border:0; border-radius:20px; color:var(--text-color); background:transparent; box-shadow:0 32px 90px rgba(2,12,22,.55); }
.portfolio-manager-dialog::backdrop { background:rgba(2,14,24,.72); backdrop-filter:blur(6px); }
body:has(.portfolio-manager-dialog[open]) { overflow:hidden; }
.portfolio-manager-panel { padding:1.35rem; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); }
.portfolio-manager-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.portfolio-manager-header>div { display:flex; align-items:center; gap:.7rem; }
.portfolio-manager-header h2 { margin:0; color:var(--text-color); font-size:1.12rem; }
.portfolio-manager-header p { margin:.22rem 0 0; color:var(--muted-text); font-size:.72rem; line-height:1.4; }
.portfolio-manager-header p strong { color:var(--text-color); font-weight:800; }
.portfolio-manager-icon { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:12px; color:#19d4c1; background:rgba(16,185,129,.16); }
.portfolio-manager-close { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; padding:0; border:1px solid color-mix(in srgb,var(--text-color) 24%,var(--card-bg)); border-radius:10px; color:color-mix(in srgb,var(--text-color) 88%,var(--muted-text)); background:color-mix(in srgb,var(--card-bg) 88%,var(--text-color)); }
.portfolio-manager-close:hover { border-color:color-mix(in srgb,var(--color-primary) 55%,var(--card-border)); color:var(--text-color); background:color-mix(in srgb,var(--color-primary) 14%,var(--card-bg)); }
.portfolio-manager-section { margin:0; padding:1rem; border:1px solid var(--card-border); border-radius:14px; background:transparent; }
.portfolio-manager-section.portfolio-create-form { display:block; }
.portfolio-manager-section+ .portfolio-manager-section { margin-top:.65rem; }
.portfolio-manager-section label { display:block; margin-bottom:.4rem; color:color-mix(in srgb,var(--text-color) 82%,var(--muted-text)); font-size:.66rem; font-weight:800; }
.portfolio-manager-section-heading { display:flex; align-items:center; gap:.65rem; margin-bottom:.8rem; }
.portfolio-manager-section-heading>span { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:10px; color:var(--portfolio-positive-text,#008f84); background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); font-size:.76rem; }
.portfolio-manager-section-heading h3 { margin:0; color:var(--text-color); font-size:.86rem; font-weight:850; }
.portfolio-manager-section-heading p { margin:.12rem 0 0; color:var(--muted-text); font-size:.62rem; line-height:1.35; }
.portfolio-manager-input-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.45rem; }
.portfolio-manager-input-row input { width:100%; min-width:0; min-height:43px; padding:.55rem .7rem; border:1px solid color-mix(in srgb,var(--text-color) 30%,var(--card-bg)); border-radius:10px; color:var(--text-color); background:color-mix(in srgb,var(--card-bg) 97%,var(--text-color)); font-size:.78rem; }
.portfolio-manager-input-row input::placeholder { color:color-mix(in srgb,var(--text-color) 54%,var(--muted-text)); opacity:1; }
.portfolio-manager-input-row input:focus { border-color:var(--color-primary); outline:3px solid color-mix(in srgb,var(--color-primary) 22%,transparent); }
.portfolio-manager-input-row .btn,.portfolio-manager-actions .btn { display:flex; min-height:43px; align-items:center; justify-content:center; gap:.4rem; padding:.55rem .8rem; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:10px; color:var(--portfolio-positive-text,#008d82); background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); font-size:.7rem; font-weight:800; }
#renamePortfolioForm .btn,#createPortfolioForm .btn { border-color:#00a694; color:#fff; background:linear-gradient(135deg,#00ae9a,#008f84); box-shadow:0 6px 16px rgba(0,143,132,.2); }
#renamePortfolioForm .btn:hover,#createPortfolioForm .btn:hover { border-color:#18c7b4; background:linear-gradient(135deg,#00bea7,#009b8f); }
.portfolio-manager-actions { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin:.65rem 0; }
.portfolio-manager-actions form { margin:0; }
.portfolio-manager-actions .btn { width:100%; }
.portfolio-manager-actions .btn:not(.danger) { border-color:color-mix(in srgb,var(--color-primary) 52%,var(--card-border)); color:color-mix(in srgb,var(--color-primary) 78%,var(--text-color)); background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg)); }
.portfolio-manager-actions .btn.danger { border-color:rgba(239,68,68,.42); color:#ef5f69; background:rgba(239,68,68,.12); }
.portfolio-manager-actions .btn:disabled { cursor:not-allowed; opacity:.6; filter:saturate(.8); }
.portfolio-manager-action { display:grid; width:100%; min-height:66px; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:.65rem; padding:.65rem .7rem; border:1px solid var(--card-border); border-radius:13px; color:var(--text-color); background:transparent; text-align:left; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.portfolio-manager-action:hover { border-color:color-mix(in srgb,var(--color-primary) 42%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); transform:translateY(-1px); }
.portfolio-manager-action>span:nth-child(2) { display:flex; min-width:0; flex-direction:column; }
.portfolio-manager-action strong { font-size:.72rem; font-weight:850; }
.portfolio-manager-action small { margin-top:.12rem; color:var(--muted-text); font-size:.58rem; line-height:1.3; }
.portfolio-manager-action>i:last-child { color:var(--muted-text); font-size:.58rem; }
.portfolio-manager-action-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; color:var(--portfolio-positive-text,#008f84); background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)); }
.portfolio-manager-action.danger { color:var(--portfolio-negative-text,#dc4b55); }
.portfolio-manager-action.danger .portfolio-manager-action-icon { color:var(--portfolio-negative-text,#dc4b55); background:rgba(220,75,85,.1); }
.portfolio-manager-action:disabled { cursor:not-allowed; opacity:.48; transform:none; }

@media (max-width:767.98px) {
    .portfolio-topbar { grid-template-columns:minmax(0,1fr) 30px 30px; padding:.75rem; }
    .portfolio-topbar .portfolio-select-wrap label { font-size:.7rem; }
    .portfolio-topbar .portfolio-select-wrap select { min-height:46px; height:46px; font-size:.9rem; }
    .portfolio-manage-trigger,.portfolio-compare-trigger { width:30px; min-height:46px; height:46px; font-size:.7rem; }
    .portfolio-primary-card { grid-template-columns:minmax(0,.95fr) minmax(210px,1.05fr); align-items:center; }
    .portfolio-allocation-panel { grid-template-columns:1fr; min-height:175px; padding:.2rem 0 .2rem .65rem; }
    .portfolio-allocation-heading { display:none; }
    .portfolio-allocation-chart { height:175px; }
    .portfolio-chart-body { height:245px; padding:.6rem .45rem .75rem; }
}

@media (max-width:480px) {
    .portfolio-primary-card { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:.7rem .85rem 0; }
    .portfolio-allocation-panel { min-height:165px; margin-top:0; padding:.15rem 0 .15rem .85rem; border-top:0; border-left:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); }
    .portfolio-allocation-chart { height:165px; }
    .portfolio-current-summary .portfolio-topbar { grid-template-columns:minmax(0,1fr) 24px 24px; gap:.2rem; margin-bottom:.65rem; padding-bottom:.6rem; }
    .portfolio-topbar .portfolio-select-wrap select { padding-right:1.8rem; font-size:.82rem; }
    .portfolio-manage-trigger,.portfolio-compare-trigger { width:24px; }
    .portfolio-manager-panel { padding:1rem; }
    .portfolio-manager-input-row { grid-template-columns:1fr; }
    .portfolio-manager-input-row input { font-size:16px; }
    .portfolio-manager-input-row .btn { width:100%; }
    .portfolio-manager-actions { grid-template-columns:1fr; }
    .portfolio-manager-action { min-height:62px; }
}

/* Compacte mobiele prijsfeed: coin, prijs en volume op één regel. */
@media (max-width:767.98px) {
    .selected-exchange-card { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.8rem; padding:.8rem; }
    .selected-exchange-identity { gap:.55rem; }
    .selected-exchange-identity img { width:40px; height:40px; padding:6px; border-radius:12px; }
    .selected-exchange-identity span { font-size:.62rem; }
    .selected-exchange-identity strong { font-size:.96rem; }
    .selected-exchange-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
    .selected-exchange-metrics div { padding:.45rem .5rem; }
    .selected-exchange-metrics div:last-child { display:none; }
    .selected-exchange-metrics span { font-size:.58rem; }
    .selected-exchange-metrics strong { font-size:.72rem; }
    .top-volume-table tbody { gap:.5rem; }
    .top-volume-table tbody tr { display:grid; grid-template-columns:minmax(108px,1.15fr) minmax(88px,1fr) minmax(82px,.9fr); align-items:center; gap:.45rem; padding:.72rem .75rem; border-radius:14px; }
    .top-volume-table tbody td { min-width:0; padding:0; text-align:left!important; }
    .top-volume-table tbody td::before { display:none; }
    .top-volume-table .market-rank-cell,
    .top-volume-table .market-pair-cell,
    .top-volume-table .market-usd-price,
    .top-volume-table .market-spread-cell { display:none; }
    .top-volume-table .market-coin-cell { grid-column:auto; padding:0; border:0; }
    .market-coin-identity { gap:.5rem; min-width:0; }
    .market-coin-logo { width:36px; height:36px; flex-basis:36px; }
    .market-symbol { display:flex; align-items:baseline; gap:.25rem; overflow:hidden; font-size:.92rem; line-height:1.2; white-space:nowrap; }
    .market-inline-rank { display:inline; color:var(--muted-text); font-size:.58rem; font-weight:750; }
    .market-mobile-pair { overflow:hidden; margin-top:.1rem; font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
    .top-volume-table .market-native-price>span { display:block; overflow:hidden; font-size:.88rem; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
    .top-volume-table .market-price-row { align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:.18rem; }
    .top-volume-table .market-price-value { overflow:hidden; max-width:100%; font-size:.88rem; line-height:1.2; text-overflow:ellipsis; }
    .top-volume-table .market-change-badge { display:inline-flex; padding:.2rem .34rem; font-size:.58rem; }
    .top-volume-table .market-native-price>small { display:block; margin-top:.06rem; font-size:.58rem; line-height:1.2; }
    .top-volume-table .market-native-price>.market-mobile-usd { display:block; color:var(--muted-text); font-size:.62rem; font-weight:700; }
    .top-volume-table .volume-number { text-align:right!important; }
    .top-volume-table .volume-number strong { display:block; overflow:hidden; font-size:.82rem; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
    .market-mobile-volume-label { display:block; margin-top:.12rem; color:var(--muted-text); font-size:.58rem; }
}

@media (max-width:390px) {
    .top-volume-table tbody tr { grid-template-columns:minmax(96px,1.1fr) minmax(78px,.95fr) minmax(72px,.85fr); gap:.35rem; padding:.68rem .62rem; }
    .market-coin-logo { width:32px; height:32px; flex-basis:32px; }
    .market-symbol { font-size:.84rem; }
    .top-volume-table .market-native-price>span { font-size:.8rem; }
    .top-volume-table .volume-number strong { font-size:.76rem; }
}

/* BTC marktanalyse: prijs, RSI en sentiment in één responsieve grafiek. */
.market-analysis-page { max-width:1180px; margin:0 auto; }
.market-analysis-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:1rem; padding:1.35rem 1.5rem; border:1px solid var(--card-border); border-radius:20px; color:var(--text-color); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)),var(--card-bg)); box-shadow:0 14px 38px rgba(8,30,44,.055); }
.market-analysis-eyebrow { display:inline-flex; align-items:center; gap:.4rem; margin-bottom:.45rem; color:#008f84; font-size:.68rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.market-analysis-hero h1 { margin:0; color:var(--text-color); font-size:clamp(1.45rem,3vw,2rem); font-weight:850; }
.market-analysis-hero p { margin:.4rem 0 0; color:var(--muted-text); font-size:.82rem; }
.market-analysis-status { display:inline-flex; height:44px; flex:0 0 auto; align-items:center; gap:.45rem; padding:0 .7rem; border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--card-border)); border-radius:999px; color:var(--muted-text); background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); font-size:.65rem; font-weight:750; white-space:nowrap; transition:border-color .2s ease,background-color .2s ease; }
.market-analysis-live-dot { width:7px; height:7px; border-radius:50%; background:#00a783; box-shadow:0 0 0 4px rgba(0,167,131,.12); }
.market-analysis-status.is-syncing { border-color:color-mix(in srgb,var(--color-primary) 38%,var(--card-border)); background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); }
.market-analysis-status.is-syncing .market-analysis-live-dot { animation:market-live-pulse 1.1s ease-in-out infinite; }
.market-analysis-card { position:relative; overflow:hidden; border:1px solid var(--card-border); border-radius:20px; background:var(--card-bg); box-shadow:0 16px 42px rgba(8,30,44,.065); }
.market-analysis-card.is-soft-refreshing:after { position:absolute; z-index:8; top:0; left:-35%; width:35%; height:3px; border-radius:0 999px 999px 0; background:linear-gradient(90deg,transparent,var(--color-primary)); content:""; animation:market-soft-refresh 1.25s ease-in-out infinite; pointer-events:none; }
@keyframes market-soft-refresh { to { left:100%; } }
@keyframes market-live-pulse { 50% { opacity:.45; transform:scale(.78); } }
.market-analysis-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:1.2rem; padding:1.2rem 1.35rem .85rem; border-bottom:1px solid var(--card-border); }
.market-analysis-toolbar h2 { margin:0; color:var(--text-color); font-size:1.05rem; font-weight:850; }
.market-analysis-toolbar p { margin:.22rem 0 0; color:var(--muted-text); font-size:.66rem; }
.market-analysis-heading { display:grid; min-width:280px; gap:.35rem; }
.market-analysis-asset-picker { display:grid; width:min(100%,330px); grid-template-columns:34px auto minmax(150px,1fr); align-items:center; gap:.55rem; margin-bottom:.3rem; padding:.42rem .48rem; border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--card-border)); border-radius:12px; color:var(--muted-text); background:transparent; cursor:pointer; }
.market-analysis-asset-picker-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; color:#008f84; background:color-mix(in srgb,var(--color-primary) 12%,transparent); font-size:.72rem; }
.market-analysis-asset-picker-copy { display:grid; gap:.02rem; line-height:1.15; }
.market-analysis-asset-picker-copy strong { color:var(--text-color); font-size:.65rem; font-weight:850; white-space:nowrap; }
.market-analysis-asset-picker-copy small { color:var(--muted-text); font-size:.52rem; font-weight:700; white-space:nowrap; }
.market-analysis-asset-picker-control { position:relative; display:block; min-width:0; padding-left:.45rem; border-left:1px solid var(--card-border); }
.market-analysis-asset-picker select { width:100%; height:36px; padding:.35rem 1.65rem .35rem .35rem; appearance:none; border:0; border-radius:8px; color:var(--text-color); background:transparent; font:inherit; font-size:.72rem; font-weight:850; cursor:pointer; }
.market-analysis-asset-picker-control>i { position:absolute; top:50%; right:.58rem; color:#008f84; font-size:.55rem; pointer-events:none; transform:translateY(-50%); }
.market-analysis-asset-picker:focus-within { border-color:var(--color-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent); }
.market-analysis-panel header h3 small { margin-left:.25rem; color:var(--muted-text); font-size:.55rem; font-weight:650; }
.market-analysis-controls { display:flex; min-width:min(100%,690px); align-items:flex-end; flex-direction:column; gap:.48rem; }
.market-analysis-ranges { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; }
.market-analysis-ranges button { min-width:43px; min-height:31px; padding:.34rem .55rem; border:1px solid var(--card-border); border-radius:9px; color:var(--muted-text); background:var(--hover-bg); font-size:.62rem; font-weight:850; transition:border-color .15s,color .15s,background-color .15s,opacity .15s; }
.market-analysis-ranges button:hover { border-color:color-mix(in srgb,var(--color-primary) 55%,var(--card-border)); color:var(--text-color); }
.market-analysis-ranges button.active { border-color:color-mix(in srgb,var(--color-primary) 55%,var(--card-border)); color:#007f73; background:color-mix(in srgb,var(--color-primary) 13%,var(--card-bg)); }
.market-analysis-ranges button:disabled { cursor:wait; opacity:.65; }
.market-analysis-date-filter { display:flex; align-items:flex-end; justify-content:flex-end; gap:.45rem; }
.market-analysis-date-filter label { display:grid; gap:.2rem; color:var(--muted-text); font-size:.56rem; font-weight:750; }
.market-analysis-date-filter input { width:142px; height:34px; padding:.35rem .55rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); font:inherit; font-size:.66rem; color-scheme:light dark; }
.market-analysis-date-filter button { display:inline-flex; min-height:34px; align-items:center; justify-content:center; gap:.38rem; padding:.4rem .7rem; border:1px solid color-mix(in srgb,var(--color-primary) 45%,var(--card-border)); border-radius:9px; color:#007f73; background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)); font-size:.64rem; font-weight:850; }
.market-analysis-date-filter button:hover { background:color-mix(in srgb,var(--color-primary) 16%,var(--card-bg)); }
.market-analysis-filter-error { color:#dc4b55; font-size:.58rem; font-weight:750; }
.market-analysis-card.is-refreshing { cursor:progress; }
.market-analysis-card .market-signal-card,.market-analysis-card .market-pullback-card,.market-analysis-card .market-analysis-charts,.market-analysis-card .market-analysis-history { transition:opacity .24s ease,filter .24s ease; }
.market-analysis-card.is-refreshing .market-signal-card,.market-analysis-card.is-refreshing .market-pullback-card,.market-analysis-card.is-refreshing .market-analysis-history { opacity:.58; filter:saturate(.75); }
.market-signal-card { --signal-color:#64748b; --signal-soft:rgba(100,116,139,.1); display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; margin:.9rem 1rem 0; padding:1rem 1.1rem; border:1px solid color-mix(in srgb,var(--signal-color) 28%,var(--card-border)); border-left-width:4px; border-radius:14px; background:linear-gradient(110deg,var(--signal-soft),color-mix(in srgb,var(--card-bg) 94%,transparent)); }
.market-signal-card.is-buy { --signal-color:var(--market-analysis-buy,#059669); --signal-soft:rgba(5,150,105,.1); }
.market-signal-card.is-continuation { --signal-color:var(--market-analysis-accent,#0891b2); --signal-soft:rgba(8,145,178,.09); }
.market-signal-card.is-watch { --signal-color:var(--market-analysis-warning,#e69500); --signal-soft:rgba(245,158,11,.11); }
.market-signal-card.is-sell-warning { --signal-color:var(--market-analysis-warning,#e69500); --signal-soft:rgba(245,158,11,.11); }
.market-signal-card.is-sell { --signal-color:var(--market-analysis-sell,#e04b55); --signal-soft:rgba(224,75,85,.09); }
.market-signal-card.is-strong { box-shadow:0 8px 24px color-mix(in srgb,var(--signal-color) 12%,transparent); }
.market-provisional-score { grid-column:1/-1; display:grid; min-width:0; grid-template-columns:minmax(135px,auto) minmax(0,1fr) auto; align-items:center; gap:.65rem; padding:.55rem 0 0; border-top:1px solid color-mix(in srgb,var(--signal-color) 18%,var(--card-border)); color:var(--muted-text); font-size:.66rem; }
.market-provisional-score[hidden] { display:none; }
.market-provisional-heading { display:grid; gap:.08rem; }
.market-provisional-heading>span { display:inline-flex; align-items:center; gap:.35rem; color:var(--text-color); font-weight:850; }
.market-provisional-heading>small { overflow:hidden; color:var(--muted-text); font-size:.56rem; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.market-provisional-ranges { display:flex; min-width:0; align-items:center; gap:.42rem; }
.market-provisional-ranges>b { display:grid; min-width:0; grid-template-columns:auto repeat(2,auto); align-items:center; gap:.35rem; padding:.34rem .5rem; border-radius:10px; font-size:.6rem; }
.market-provisional-ranges>b.is-buy { color:#078965; background:rgba(10,173,128,.09); }
.market-provisional-ranges>b.is-sell { color:#c73743; background:rgba(224,75,85,.08); }
.market-provisional-ranges>b>span { padding-right:.15rem; font-weight:850; }
.market-provisional-ranges em { display:inline-flex; align-items:center; gap:.18rem; font-style:normal; font-variant-numeric:tabular-nums; }
.market-provisional-ranges em i { width:14px; height:14px; padding-top:2px; border-radius:50%; background:color-mix(in srgb,currentColor 10%,transparent); font-size:.48rem; text-align:center; }
.market-provisional-ranges strong { font-size:.68rem; }
.market-score-trend-open { display:inline-flex; min-height:30px; align-items:center; justify-content:center; gap:.3rem; padding:.32rem .52rem; border:1px solid color-mix(in srgb,var(--signal-color) 20%,var(--card-border)); border-radius:9px; color:var(--signal-color); background:color-mix(in srgb,var(--signal-color) 7%,var(--card-bg)); font-size:.59rem; font-weight:800; transition:background-color .15s ease,transform .15s ease; }
.market-score-trend-open:hover { background:color-mix(in srgb,var(--signal-color) 13%,var(--card-bg)); transform:translateY(-1px); }
.market-signal-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; color:#fff; background:var(--signal-color); font-size:1rem; box-shadow:0 6px 14px color-mix(in srgb,var(--signal-color) 25%,transparent); }
.market-signal-copy { min-width:0; }
.market-signal-copy>span { color:var(--signal-color); font-size:.64rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.market-signal-copy h3 { margin:.16rem 0 .12rem; color:var(--text-color); font-size:1rem; font-weight:850; }
.market-signal-copy p { margin:0; color:var(--muted-text); font-size:.72rem; line-height:1.45; }
.market-signal-scores { display:grid; width:370px; gap:.5rem; padding-left:1rem; border-left:1px solid color-mix(in srgb,var(--signal-color) 18%,var(--card-border)); }
.market-signal-score { display:grid; min-height:54px; grid-template-columns:36px minmax(90px,1fr) 32px; grid-template-rows:auto auto; align-items:center; gap:.32rem .6rem; padding:.58rem .68rem; border:1px solid color-mix(in srgb,currentColor 16%,var(--card-border)); border-radius:11px; background:color-mix(in srgb,currentColor 4%,transparent); }
.market-signal-score-icon { display:inline-flex!important; grid-column:1; grid-row:1/3; width:36px; height:36px; padding:0!important; align-self:center; align-items:center; justify-content:center; overflow:hidden; border-radius:50%; color:currentColor; background:color-mix(in srgb,currentColor 10%,var(--card-bg)); font-size:.82rem; line-height:1!important; text-align:center; }
.market-signal-score-icon::before { display:block; line-height:1; }
.market-signal-score>span { grid-column:2; grid-row:1; color:var(--muted-text); font-size:.67rem; font-weight:800; }
.market-signal-score>strong { grid-column:3; grid-row:1; color:var(--text-color); font-size:.82rem; font-weight:900; text-align:right; font-variant-numeric:tabular-nums; }
.market-signal-score-track { overflow:hidden; height:5px; border-radius:99px; background:color-mix(in srgb,#94a3b8 16%,var(--card-bg)); }
.market-signal-score>.market-signal-score-track { grid-column:2/4; grid-row:2; }
.market-signal-score-track i { display:block; width:0; height:100%; border-radius:inherit; transition:width .25s ease; }
.market-signal-score.is-buy>span,.market-signal-score.is-buy>strong { color:#059669; }
.market-signal-score.is-buy>.market-signal-score-icon { color:#059669; }
.market-signal-score.is-buy .market-signal-score-track i { background:#059669; }
.market-signal-score.is-sell>span,.market-signal-score.is-sell>strong { color:#dc4b55; }
.market-signal-score.is-sell>.market-signal-score-icon { color:#dc4b55; }
.market-signal-score.is-sell .market-signal-score-track i { background:#dc4b55; }
.market-signal-scores>small { color:var(--muted-text); font-size:.6rem; line-height:1.35; text-align:right; }
.market-signal-scores>small b { color:var(--text-color); font-weight:800; }
.market-pullback-card { margin:.65rem 1rem 0; border:1px solid color-mix(in srgb,#f59e0b 25%,var(--card-border)); border-radius:13px; background:var(--card-bg); }
.market-pullback-card[hidden] { display:none; }
.market-pullback-summary { display:grid; grid-template-columns:minmax(0,2fr) minmax(400px,1fr); align-items:stretch; gap:1rem; padding:1rem 1.15rem .9rem; }
.market-pullback-main { display:flex; min-width:0; flex-direction:column; justify-content:center; }
.market-pullback-main>span { color:#c47c00; font-size:.62rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.market-pullback-probabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin:.45rem 0 .55rem; }
.market-pullback-probability { display:grid; min-height:58px; grid-template-columns:auto 1fr; align-items:baseline; gap:.12rem .45rem; padding:.6rem .7rem; border:1px solid var(--card-border); border-radius:10px; background:color-mix(in srgb,var(--card-bg) 82%,transparent); }
.market-pullback-probability small { grid-column:1/-1; color:var(--muted-text); font-size:.52rem; font-weight:800; text-transform:uppercase; }
.market-pullback-probability strong { color:#d97706; font-size:1.3rem; font-weight:900; line-height:1; font-variant-numeric:tabular-nums; }
.market-pullback-probability span { color:var(--muted-text); font-size:.55rem; line-height:1.35; }
.market-pullback-probability.is-up strong { color:#059669; }
.market-pullback-headline { display:flex; align-items:baseline; flex-wrap:wrap; gap:.18rem .42rem; margin:.2rem 0 .36rem; }
.market-pullback-headline strong { color:#c47c00; font-size:1.4rem; font-weight:900; line-height:1.05; }
.market-pullback-headline p { max-width:430px; margin:0; color:var(--text-color); font-size:.65rem; font-weight:650; line-height:1.4; }
.market-pullback-pattern { margin:0; color:var(--muted-text); font-size:.57rem; line-height:1.45; }
.market-pullback-pattern span { margin-right:.35rem; color:#a96b00; font-size:.49rem; font-weight:850; letter-spacing:.025em; text-transform:uppercase; }
.market-pullback-pattern b { color:var(--text-color); font-weight:550; }
.market-pullback-current { display:flex; gap:.45rem; padding:0; border:0; background:transparent; flex-direction:column; justify-content:flex-start; }
.market-analysis-current-strip { display:grid; gap:.32rem; margin-top:.62rem; }
.market-analysis-current-strip .market-pullback-current-label { white-space:nowrap; }
.market-pullback-current-label { color:#a96b00; font-size:.62rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.market-pullback-current-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:.55rem; padding:0; border:0; border-radius:0; background:transparent; }
.market-current-value { display:flex; min-width:0; min-height:45px; align-items:center; gap:.4rem; padding:.4rem .48rem; border:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--card-border)); border-radius:9px; background:transparent; }
.market-current-value>i { display:grid; width:25px; height:25px; flex:0 0 25px; place-items:center; border-radius:7px; color:#64748b; background:rgba(100,116,139,.09); font-size:.67rem; }
.market-current-value.is-btc>i { color:#d97706; background:rgba(245,158,11,.1); }
.market-current-value.is-rsi>i { color:#7c3aed; background:rgba(139,92,246,.09); }
.market-current-value.is-fear>i { color:#059669; background:rgba(16,185,129,.09); }
.market-current-value>span { display:flex; min-width:0; flex-direction:column; }
.market-current-value small { color:var(--muted-text); font-size:.52rem; font-weight:750; line-height:1.1; }
.market-current-value strong { overflow:hidden; margin-top:.08rem; color:var(--text-color); font-size:.78rem; font-weight:900; line-height:1.15; text-overflow:ellipsis; font-variant-numeric:tabular-nums; white-space:nowrap; }
.market-live-label { display:inline-flex; margin-left:.18rem; padding:.08rem .26rem; border-radius:99px; color:#047857; background:rgba(16,185,129,.12); font-size:.46rem; font-weight:850; letter-spacing:.03em; text-transform:uppercase; vertical-align:middle; }
.market-pullback-main>small { margin-top:.28rem; color:var(--muted-text); font-size:.53rem; line-height:1.4; }
.market-pullback-outcomes { display:grid; grid-template-columns:.8fr 1.35fr .85fr; border-top:1px solid color-mix(in srgb,#f59e0b 20%,var(--card-border)); background:color-mix(in srgb,var(--card-bg) 75%,transparent); }
.market-pullback-outcome { display:flex; min-width:0; min-height:92px; padding:.72rem 1.15rem; flex-direction:column; justify-content:center; }
.market-pullback-outcome+.market-pullback-outcome { border-left:1px solid var(--card-border); }
.market-pullback-outcome>small { color:var(--muted-text); font-size:.54rem; font-weight:700; line-height:1.3; }
.market-pullback-outcome>strong { margin:.16rem 0 .08rem; color:var(--text-color); font-size:.96rem; font-weight:900; font-variant-numeric:tabular-nums; }
.market-pullback-outcome>span { color:var(--muted-text); font-size:.51rem; }
.market-pullback-outcome.is-depth>strong { color:#d97706; }
.market-pullback-outcome.is-recovery>strong.is-positive { color:#059669; }
.market-pullback-outcome.is-recovery>strong.is-negative { color:#dc4b55; }
.market-pullback-extremes { display:flex; flex-wrap:wrap; gap:.25rem 1rem; margin-top:.45rem; padding-top:.4rem; border-top:1px solid var(--card-border); }
.market-pullback-extremes span { color:var(--muted-text); font-size:.49rem; }
.market-pullback-extremes b { margin-left:.18rem; color:var(--text-color); font-size:.58rem; font-variant-numeric:tabular-nums; }
.market-pullback-extremes b.is-positive { color:#059669; }
.market-pullback-extremes b.is-negative { color:#dc4b55; }
.market-analysis-panel header i { display:inline-block; width:18px; height:3px; border-radius:99px; }
.market-analysis-panel header i.btc { background:#00a783; }
.market-analysis-panel header i.rsi { background:#8b5cf6; }
.market-analysis-panel header i.sentiment { background:#f59e0b; }
.market-analysis-charts { position:relative; padding:.85rem 1rem 1rem; background:color-mix(in srgb,var(--hover-bg) 32%,var(--card-bg)); }
.market-analysis-panel { overflow:hidden; border:1px solid var(--card-border); border-radius:14px; background:var(--card-bg); }
.market-analysis-panel+.market-analysis-panel { margin-top:.65rem; }
.market-analysis-panel>header { display:flex; min-height:38px; align-items:center; justify-content:space-between; gap:.75rem; padding:.5rem .8rem; border-bottom:1px solid var(--card-border); }
.market-analysis-panel.price-panel>header { min-height:58px; padding:.65rem .8rem; background:linear-gradient(105deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg) 52%); }
.market-price-panel-heading { min-width:0; }
.market-price-panel-heading .market-price-panel-icon { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:10px; color:#008f84; background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); }
.market-price-panel-heading .market-price-panel-icon>i { width:auto; height:auto; border-radius:0; background:transparent; font-size:.78rem; }
.market-price-panel-heading>div { display:grid; gap:.05rem; }
.market-analysis-panel .market-price-panel-heading>div>small { display:block; color:var(--muted-text); font-size:.5rem; font-weight:800; letter-spacing:.05em; line-height:1.2; text-transform:uppercase; }
.market-analysis-panel .market-price-panel-heading h3 { font-size:.84rem; }
.market-analysis-panel.price-panel .price-signal-legend { justify-content:flex-end; }
.market-analysis-panel>header>div { display:flex; align-items:center; gap:.45rem; }
.market-analysis-panel h3 { margin:0; color:var(--text-color); font-size:.72rem; font-weight:850; }
.market-analysis-panel header small { display:flex; align-items:center; gap:.65rem; color:var(--muted-text); font-size:.56rem; }
.fear-greed-legend { flex-wrap:wrap; justify-content:flex-end; }
.fear-greed-legend span,.rsi-legend span { display:inline-flex; align-items:center; gap:.28rem; font-weight:750; white-space:nowrap; }
.fear-greed-legend span::before,.rsi-legend span::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.fear-greed-legend .extreme-fear { color:#ef4444; }
.fear-greed-legend .fear { color:#f97316; }
.fear-greed-legend .neutral { color:#94a3b8; }
.fear-greed-legend .greed { color:#22c55e; }
.fear-greed-legend .extreme-greed { color:#00a783; }
.rsi-legend .oversold { color:#10b981; }
.rsi-legend .overbought { color:#ef4444; }
.market-analysis-canvas { position:relative; height:170px; overflow-x:auto; overflow-y:hidden; padding:.45rem .55rem .25rem; scrollbar-width:none; -ms-overflow-style:none; overscroll-behavior-inline:contain; touch-action:pan-y; }
.market-analysis-canvas::-webkit-scrollbar { display:none; }
.market-analysis-canvas-track { position:relative; width:100%; height:100%; }
.market-analysis-panel.price-panel .market-analysis-canvas { height:300px; }
.market-volume-panel { border-top:1px solid var(--card-border); background:color-mix(in srgb,var(--hover-bg) 28%,var(--card-bg)); }
.market-volume-panel>header { display:flex; min-height:34px; align-items:center; justify-content:space-between; gap:.75rem; padding:.38rem .8rem 0; color:var(--muted-text); }
.market-volume-panel>header>span { display:inline-flex; align-items:center; gap:.38rem; }
.market-volume-panel>header i { width:auto; height:auto; color:#008f84; background:transparent; font-size:.62rem; }
.market-volume-panel>header strong { color:var(--text-color); font-size:.62rem; font-weight:850; }
.market-volume-panel>header small { font-size:.54rem; font-weight:700; }
.market-analysis-panel.price-panel .market-analysis-canvas.market-volume-canvas { height:118px; padding:.15rem .55rem .35rem; }
.market-analysis-canvas canvas { display:block; width:100%!important; height:100%!important; }
.market-analysis-lightweight-chart { position:relative; width:100%; height:170px; overflow:hidden; touch-action:pan-y; }
.market-analysis-lightweight-chart.is-price { height:300px; }
.market-analysis-lightweight-chart.is-volume { height:118px; }
.market-analysis-lightweight-chart.is-aroon { height:190px; }
.market-analysis-panel.aroon-panel { --aroon-up:#0369a1; --aroon-down:#b45309; }
.aroon-panel>header { flex-wrap:wrap; }
.market-aroon-collapse { display:flex; align-items:center; gap:.6rem; min-height:32px; padding:0; border:0; background:transparent; color:inherit; font:inherit; font-weight:inherit; text-align:left; cursor:pointer; }
.market-aroon-collapse:focus-visible { outline:2px solid var(--aroon-up); outline-offset:3px; border-radius:4px; }
.market-aroon-chevron { transition:transform .15s ease; }
.aroon-panel.is-collapsed .market-aroon-chevron { transform:rotate(-90deg); }
.aroon-panel.is-collapsed .market-aroon-legend { display:none; }
/* Keep the chart's dimensions while folded so synchronized zoom does not change. */
.aroon-panel.is-collapsed .market-aroon-body { height:0; overflow:hidden; visibility:hidden; }
.aroon-panel.is-collapsed>header { border-bottom:0; }
.market-analysis-page .market-analysis-panel.aroon-panel h3 { font-size:13px; }
.aroon-panel .market-aroon-legend { display:flex; align-items:center; gap:.5rem; }
.market-aroon-legend button { display:inline-flex; align-items:center; gap:.35rem; min-height:32px; padding:.25rem .55rem; border:1px solid currentColor; border-radius:8px; background:transparent; font:inherit; font-size:12px; font-weight:750; cursor:pointer; }
.market-aroon-legend button:hover,.market-aroon-legend button:focus-visible { background:color-mix(in srgb,currentColor 12%,transparent); }
.market-aroon-legend button:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.market-aroon-legend button.is-hidden { border-style:dashed; text-decoration:line-through; }
.market-aroon-legend i { display:block; width:18px; height:0; border-top:2px solid currentColor; }
.market-aroon-legend .is-down i { border-top-style:dashed; }
.aroon-panel .is-up { color:var(--aroon-up); }
.aroon-panel .is-down { color:var(--aroon-down); }
.market-aroon-reading { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem 1rem; padding:.65rem .85rem; color:var(--market-analysis-text,var(--text-color)); font-size:12px; font-variant-numeric:tabular-nums; }
.market-aroon-reading[hidden] { display:none; }
.market-aroon-reading>small { flex-basis:100%; color:var(--market-analysis-muted,var(--muted-text)); font-size:11px; }
.market-aroon-reading>span { white-space:nowrap; }
.market-aroon-reading>strong { font-size:12px; font-weight:650; }
.market-aroon-reading.is-met>strong { color:var(--market-analysis-buy,#047857); }
.market-aroon-reading.is-provisional>strong { color:var(--aroon-down); }
.market-aroon-reading.is-selection { min-height:76px; border-top:1px solid var(--card-border); background:color-mix(in srgb,var(--hover-bg) 35%,var(--card-bg)); }
.market-aroon-explanation { padding:.55rem .85rem .8rem; color:var(--market-analysis-muted,var(--muted-text)); font-size:12px; line-height:1.6; }
.market-aroon-explanation p { margin:0 0 .4rem; }
.market-aroon-explanation summary { width:fit-content; padding:.25rem 0; color:var(--market-analysis-text,var(--text-color)); font-weight:700; cursor:pointer; }
.market-aroon-explanation details p:first-of-type { margin-top:.45rem; }
.market-aroon-explanation a { color:var(--aroon-up); text-decoration:underline; }
@media (max-width:575.98px) {
    .market-aroon-reading { gap:.3rem .85rem; padding:.55rem .65rem; }
    .market-aroon-reading>strong { flex-basis:100%; }
    .market-aroon-reading.is-selection { min-height:94px; }
    .market-aroon-explanation { padding:.5rem .65rem .7rem; }
}
.market-analysis-lightweight-chart>div { width:100%!important; height:100%!important; }
.market-analysis-loading,.market-analysis-error { position:absolute; z-index:2; inset:0; display:flex; align-items:center; justify-content:center; gap:.55rem; color:var(--muted-text); background:color-mix(in srgb,var(--card-bg) 88%,transparent); font-size:.74rem; font-weight:750; backdrop-filter:blur(2px); }
.market-analysis-error { flex-direction:column; color:#c63f49; text-align:center; }
.market-analysis-error[hidden],.market-analysis-loading[hidden] { display:none; }
.market-analysis-error button { min-height:34px; padding:.4rem .7rem; border:1px solid color-mix(in srgb,#ef4444 35%,var(--card-border)); border-radius:9px; color:#c63f49; background:rgba(239,68,68,.08); font-size:.65rem; font-weight:800; }
.market-analysis-history { margin:.85rem 1rem 1rem; overflow:hidden; border:1px solid var(--card-border); border-radius:14px; background:var(--card-bg); }
.market-analysis-history>header { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem .9rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--hover-bg) 55%,var(--card-bg)); }
.market-analysis-history>header>div { display:flex; align-items:center; gap:.65rem; }
.market-analysis-history-icon { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:10px; color:#008f84; background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); }
.market-analysis-history h3 { margin:0; color:var(--text-color); font-size:.86rem; font-weight:850; }
.market-analysis-history header p { margin:.16rem 0 0; color:var(--muted-text); font-size:.61rem; }
.market-analysis-history-actions { display:flex; align-items:center; justify-content:flex-end; gap:.4rem; }
#marketHistoryCount { padding:.35rem .55rem; border-radius:999px; color:#007f73; background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)); font-size:.59rem; font-weight:800; white-space:nowrap; }
#marketHistoryToggle { display:none; min-height:32px; align-items:center; justify-content:center; gap:.35rem; padding:.35rem .55rem; border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); border-radius:9px; color:#007f73; background:var(--card-bg); font-size:.65rem; font-weight:850; }
.market-day-cards { display:grid; max-height:680px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; padding:.8rem; overflow:auto; background:transparent; scrollbar-gutter:stable; }
.market-day-card { --day-tone:#64748b; display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; gap:.7rem; padding:.8rem; border:1px solid color-mix(in srgb,var(--day-tone) 22%,var(--card-border)); border-radius:13px; color:var(--text-color); background:color-mix(in srgb,var(--day-tone) 3.5%,transparent); text-align:left; cursor:pointer; transition:border-color .16s ease,background-color .16s ease,transform .16s ease; }
.market-day-card:hover,.market-day-card:focus-visible { outline:0; border-color:color-mix(in srgb,var(--day-tone) 45%,var(--card-border)); background:color-mix(in srgb,var(--day-tone) 6%,transparent); transform:translateY(-1px); }
.market-day-card.is-buy { --day-tone:#059669; }
.market-day-card.is-continuation { --day-tone:#0891b2; }
.market-day-card.is-watch,.market-day-card.is-sell-warning { --day-tone:#d58a00; }
.market-day-card.is-sell { --day-tone:#dc4b55; }
.market-day-card-heading { grid-column:1/-1; display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:.5rem; padding-bottom:.58rem; border-bottom:1px solid var(--card-border); }
.market-day-card-date { display:grid; min-width:0; gap:.08rem; }
.market-day-card-date small { color:var(--muted-text); font-size:.52rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.market-day-card-date strong { overflow:hidden; color:var(--text-color); font-size:.76rem; font-weight:900; text-overflow:ellipsis; text-transform:capitalize; white-space:nowrap; }
.market-day-card .market-table-status { max-width:52%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.market-day-card-price { display:flex; min-width:0; align-items:center; gap:.48rem; }
.market-day-card-price>i { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:9px; color:var(--day-tone); background:color-mix(in srgb,var(--day-tone) 10%,var(--card-bg)); font-size:.7rem; }
.market-day-card-value { display:grid; min-width:0; gap:.08rem; }
.market-day-card-value small { color:var(--muted-text); font-size:.52rem; font-weight:750; }
.market-day-card-value strong { overflow:hidden; color:var(--text-color); font-size:.74rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.market-day-card-price .market-day-card-value strong { font-size:.9rem; }
.market-day-card-indicators { grid-column:1/-1; display:grid; grid-template-columns:.72fr 1.28fr; gap:.5rem; padding:.55rem 0; border-top:1px solid color-mix(in srgb,var(--card-border) 68%,transparent); border-bottom:1px solid color-mix(in srgb,var(--card-border) 68%,transparent); }
.market-day-card-scores { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
.market-day-card-scores .market-day-card-value { padding:.42rem .5rem; border:1px solid var(--card-border); border-radius:9px; background:transparent; }
.market-day-card-value.is-buy { border-color:color-mix(in srgb,#059669 18%,var(--card-border)); background:rgba(5,150,105,.045); }
.market-day-card-value.is-sell { border-color:color-mix(in srgb,#dc4b55 18%,var(--card-border)); background:rgba(220,75,85,.04); }
.market-day-card-value.is-buy strong { color:#059669; }
.market-day-card-value.is-sell strong { color:#dc4b55; }
.market-day-card-value.is-rsi strong { color:#7c3aed; }
.market-day-card-value.is-fear strong { color:#0f766e; }
.market-day-card-open { grid-column:1/-1; display:flex; align-items:center; justify-content:flex-end; gap:.35rem; color:var(--day-tone); font-size:.58rem; font-weight:850; }
.market-day-card-open i { font-size:.52rem; transition:transform .16s ease; }
.market-day-card:hover .market-day-card-open i { transform:translateX(2px); }
.market-hourly-table-wrap { max-height:520px; overflow:auto; }
@media (max-width:991.98px) {
    .market-day-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.market-analysis-table { width:100%; min-width:900px; border-collapse:separate; border-spacing:0; color:var(--text-color); font-size:.64rem; }
.market-analysis-table th { position:sticky; z-index:2; top:0; padding:.65rem .7rem; border-bottom:1px solid var(--card-border); color:var(--muted-text); background:var(--table-header-bg,var(--hover-bg)); font-size:.56rem; font-weight:850; text-align:left; text-transform:uppercase; white-space:nowrap; }
.market-analysis-table td { padding:.65rem .7rem; border-bottom:1px solid color-mix(in srgb,var(--card-border) 72%,transparent); vertical-align:middle; white-space:nowrap; }
.market-analysis-table th:first-child { z-index:4; left:0; }
.market-analysis-table td:first-child { position:sticky; z-index:1; left:0; background:var(--card-bg); }
.market-analysis-table tbody tr { cursor:pointer; outline:none; transition:background-color .15s ease; }
.market-analysis-table tbody tr:hover,.market-analysis-table tbody tr:focus-visible { background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); }
.market-analysis-table tbody tr:hover td:first-child,.market-analysis-table tbody tr:focus-visible td:first-child { background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); }
.market-analysis-table tbody tr:last-child td { border-bottom:0; }
.market-table-date,.market-table-price { font-weight:800; }
.market-table-score { display:inline-flex; min-width:38px; justify-content:center; padding:.25rem .42rem; border-radius:7px; font-weight:900; font-variant-numeric:tabular-nums; }
.market-table-score.is-buy { color:#059669; background:rgba(5,150,105,.10); }
.market-table-score.is-sell { color:#dc4b55; background:rgba(220,75,85,.09); }
.market-table-status { display:inline-flex; padding:.28rem .48rem; border-radius:999px; color:#64748b; background:rgba(100,116,139,.1); font-size:.57rem; font-weight:800; }
.market-table-status.is-buy { color:#047857; background:rgba(5,150,105,.1); }
.market-table-status.is-continuation { color:#0e7490; background:rgba(8,145,178,.1); }
.market-table-status.is-watch { color:#b66e00; background:rgba(245,158,11,.12); }
.market-table-status.is-sell-warning { color:#b66e00; background:rgba(245,158,11,.12); }
.market-table-status.is-sell { color:#c63f49; background:rgba(224,75,85,.1); }
.market-analysis-table-empty { padding:1.25rem; color:var(--muted-text); font-size:.68rem; text-align:center; }
.market-hourly-dialog { width:min(1120px,calc(100vw - 2rem)); max-width:none; padding:0; border:0; border-radius:17px; color:var(--text-color); background:transparent; box-shadow:0 24px 80px rgba(8,30,44,.28); }
.market-hourly-dialog::backdrop { background:rgba(8,24,36,.54); backdrop-filter:blur(3px); }
.market-hourly-dialog-card { display:flex; max-height:84vh; overflow:hidden; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); flex-direction:column; }
.market-hourly-dialog-card>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); }
.market-hourly-dialog-card>header>div { display:flex; align-items:center; gap:.75rem; }
.market-hourly-dialog-card>header>div>span { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:11px; color:#008f84; background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg)); }
.market-hourly-dialog h2 { margin:0; color:var(--text-color); font-size:1rem; font-weight:850; text-transform:capitalize; }
.market-hourly-dialog header p { margin:.18rem 0 0; color:var(--muted-text); font-size:.62rem; }
.market-hourly-dialog header button { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border:1px solid var(--card-border); border-radius:9px; color:var(--muted-text); background:var(--card-bg); }
.market-score-trend-dialog { width:min(720px,calc(100vw - 2rem)); }
.market-score-trend-body { min-height:0; flex:1 1 auto; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; -webkit-overflow-scrolling:touch; }
.market-score-trend-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; padding:.75rem 1rem; border-bottom:1px solid var(--card-border); }
.market-score-trend-summary>span { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.58rem .7rem; border-radius:10px; background:var(--hover-bg); }
.market-score-trend-summary small { color:var(--muted-text); font-size:.64rem; font-weight:750; }
.market-score-trend-summary strong { font-size:.82rem; font-weight:900; font-variant-numeric:tabular-nums; }
.market-score-trend-summary .is-buy strong,.market-score-trend-table td.is-buy { color:#078965; }
.market-score-trend-summary .is-sell strong,.market-score-trend-table td.is-sell { color:#c73743; }
.market-score-trend-chart { height:280px; padding:.8rem 1rem .55rem; }
.market-score-trend-details { border-top:1px solid var(--card-border); }
.market-score-trend-details>summary { display:flex; min-height:42px; align-items:center; justify-content:space-between; gap:.75rem; padding:.6rem 1rem; color:var(--muted-text); cursor:pointer; font-size:.64rem; font-weight:800; list-style:none; }
.market-score-trend-details>summary::-webkit-details-marker { display:none; }
.market-score-trend-details>summary span { display:inline-flex; align-items:center; gap:.4rem; }
.market-score-trend-details>summary>i { transition:transform .18s ease; }
.market-score-trend-details[open]>summary>i { transform:rotate(180deg); }
.market-score-trend-table { min-width:560px; }
.market-score-trend-table td.is-buy,.market-score-trend-table td.is-sell { font-weight:900; font-variant-numeric:tabular-nums; }
.market-hourly-loading,.market-hourly-error { display:flex; min-height:190px; align-items:center; justify-content:center; gap:.55rem; color:var(--muted-text); font-size:.72rem; font-weight:750; }
.market-hourly-error { color:#c63f49; }
.market-hourly-table-wrap { flex:1; max-height:none; }
.market-hourly-table tbody tr { cursor:default; }
.market-signal-details { border-top:1px solid var(--card-border); background:var(--card-bg); }
.market-signal-details summary { display:flex; min-height:45px; align-items:center; justify-content:space-between; gap:.75rem; padding:.7rem 1.35rem; color:var(--text-color); cursor:pointer; font-size:.66rem; font-weight:800; list-style:none; }
.market-signal-details summary::-webkit-details-marker { display:none; }
.market-signal-details summary span { display:inline-flex; align-items:center; gap:.42rem; }
.market-signal-details summary i { color:#00a783; }
.market-signal-details summary small { color:var(--muted-text); font-size:.56rem; font-weight:650; }
.market-signal-details[open] summary { border-bottom:1px solid var(--card-border); }
.market-signal-factors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; padding:.8rem 1.35rem .7rem; }
.market-signal-factor { position:relative; display:flex; min-width:0; padding:.65rem .72rem; border:1px solid var(--card-border); border-radius:11px; background:var(--hover-bg); flex-direction:column; }
.market-signal-factor::before { position:absolute; top:.65rem; right:.65rem; width:7px; height:7px; border-radius:50%; background:#94a3b8; content:""; }
.market-signal-factor.is-positive::before { background:#10b981; }
.market-signal-factor.is-negative::before { background:#ef4444; }
.market-signal-factor span { color:var(--muted-text); font-size:.56rem; font-weight:750; }
.market-signal-factor strong { margin:.18rem 1rem .12rem 0; color:var(--text-color); font-size:.8rem; font-variant-numeric:tabular-nums; }
.market-signal-factor small { color:var(--muted-text); font-size:.57rem; line-height:1.4; }
.market-signal-note { margin:0; padding:0 1.35rem .8rem; color:var(--muted-text); font-size:.54rem; line-height:1.45; }
.market-analysis-sources { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.72rem 1.35rem; border-top:1px solid var(--card-border); color:var(--muted-text); background:var(--table-header-bg,var(--hover-bg)); font-size:.58rem; }
.market-analysis-sources span { display:inline-flex; align-items:center; gap:.35rem; }
.market-analysis-sources a { color:#008f84; font-weight:800; }
.price-signal-legend { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:.38rem .7rem; }
.market-price-view-controls { display:flex; min-height:42px; align-items:center; justify-content:flex-end; gap:.55rem; padding:.36rem .8rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--hover-bg) 48%,var(--card-bg)); }
.market-st-trade-status { padding:.25rem .8rem; border-bottom:1px solid var(--card-border); color:var(--muted-text); font-size:.61rem; font-weight:700; }
.market-st-trade-jumps { display:none; }
@media (max-width:767.98px) {
    .market-st-trade-jumps { display:flex; flex-wrap:wrap; gap:.4rem; padding:.35rem .6rem; border-bottom:1px solid var(--card-border); }
    .market-st-trade-jumps button { min-height:30px; padding:.28rem .52rem; border:1px solid var(--card-border); border-radius:7px; color:var(--text-color); background:var(--card-bg); font-size:.68rem; font-weight:750; }
    .market-st-trade-jumps button[hidden] { display:none; }
}
.market-st-options { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem 1rem; padding:.5rem .8rem; border-bottom:1px solid var(--card-border); background:var(--card-bg); font-size:.68rem; }
.market-st-options strong { color:var(--text-color); font-size:.7rem; }
.market-st-options label { display:inline-flex; align-items:center; gap:.3rem; color:var(--text-color); cursor:pointer; white-space:nowrap; }
.market-st-options input[type=checkbox] { accent-color:#008f84; cursor:pointer; }
.market-st-options input[type=number] { width:3.5rem; padding:.22rem .3rem; border:1px solid var(--card-border); border-radius:5px; color:var(--text-color); background:var(--card-bg); font:inherit; }
.market-st-trade-status.is-hidden { color:#a87c00; }
.market-moving-average-legend { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:.25rem .55rem; margin-right:auto; color:var(--muted-text); }
.market-moving-average-legend button { display:inline-flex; align-items:center; gap:.28rem; min-width:0; min-height:28px; padding:.22rem .3rem; border:0; border-radius:7px; font-size:.54rem; font-weight:800; white-space:nowrap; background:transparent; box-shadow:none; cursor:pointer; transition:opacity .16s ease,background-color .16s ease; }
.market-moving-average-legend button:hover,.market-moving-average-legend button:focus-visible { background:color-mix(in srgb,currentColor 9%,transparent); }
.market-moving-average-legend button.is-hidden { opacity:.3; }
.market-moving-average-legend button.is-hidden i { background:var(--muted-text); }
.market-moving-average-legend i { display:block; width:15px; height:2px; border-radius:99px; background:currentColor; }
.market-moving-average-legend .is-ma20 { color:#0284c7; }
.market-moving-average-legend .is-ma50 { color:#7c3aed; }
.market-moving-average-legend .is-ma100 { color:#d97706; }
.market-moving-average-legend .is-ma200 { color:#e11d48; }
.market-moving-average-legend .is-supertrend { color:var(--text-color, currentColor); }
.market-moving-average-legend .is-supertrend i { width:22px; height:4px; }
.market-moving-average-legend .is-supertrend:not(.is-hidden) i { background:linear-gradient(90deg,#00b8c9 50%,#a87c00 50%); }
:root[data-theme="dark"] .market-moving-average-legend .is-supertrend:not(.is-hidden) i { background:linear-gradient(90deg,#31e3e8 50%,#facc15 50%); }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]):not([data-theme="dark"]) .market-moving-average-legend .is-supertrend:not(.is-hidden) i,
    :root[data-theme="system"] .market-moving-average-legend .is-supertrend:not(.is-hidden) i { background:linear-gradient(90deg,#31e3e8 50%,#facc15 50%); }
}
.market-chart-mode-button,.market-signal-visibility-button,.market-chart-fullscreen-button { display:grid; width:30px; height:30px; flex:0 0 30px; padding:0; place-items:center; border:0; border-radius:999px; color:var(--muted-text); background:transparent; cursor:pointer; transition:color .18s ease,background .18s ease,transform .18s ease; }
.market-chart-mode-button:hover,.market-signal-visibility-button:hover,.market-chart-fullscreen-button:hover { color:#008f84; background:color-mix(in srgb,var(--color-primary) 8%,transparent); transform:translateY(-1px); }
.market-chart-mode-button.active,.market-signal-visibility-button.active,.market-chart-fullscreen-button[aria-pressed="true"] { color:#008f84; }
.market-price-view-controls .market-chart-mode-button i,.market-price-view-controls .market-signal-visibility-button i,.market-price-view-controls .market-chart-fullscreen-button i { width:auto; height:auto; border-radius:0; background:none; font-size:.78rem; }
.market-candle-intervals { display:flex; align-items:center; gap:2px; padding:2px; border:1px solid var(--card-border); border-radius:9px; background:var(--card-bg); }
.market-candle-intervals button { min-width:34px; min-height:26px; padding:.2rem .42rem; border:0; border-radius:6px; color:var(--muted-text); background:transparent; font-size:.57rem; font-weight:850; cursor:pointer; }
.market-candle-intervals button:hover { color:#008f84; background:color-mix(in srgb,var(--color-primary) 7%,transparent); }
.market-candle-intervals button.active { color:#fff; background:#008f84; box-shadow:0 3px 8px rgba(0,143,132,.18); }
.market-drawing-toolbar { display:flex; min-height:38px; align-items:center; gap:.28rem; padding:.28rem .8rem; border-bottom:1px solid var(--card-border); color:var(--muted-text); background:color-mix(in srgb,var(--card-bg) 90%,var(--color-primary) 3%); }
.market-drawing-toolbar>span:first-child { margin-right:.18rem; font-size:.55rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.market-drawing-toolbar button { display:inline-flex; min-height:28px; align-items:center; justify-content:center; gap:.3rem; padding:.25rem .5rem; border:1px solid transparent; border-radius:8px; color:var(--muted-text); background:transparent; font-size:.57rem; font-weight:800; cursor:pointer; transition:color .16s ease,background-color .16s ease,border-color .16s ease; }
.market-drawing-toolbar button:hover { color:#008f84; background:color-mix(in srgb,var(--color-primary) 8%,transparent); }
.market-drawing-toolbar button.active { border-color:color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); color:#007d75; background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg)); }
.market-drawing-toolbar button.is-danger:hover { color:#dc3545; background:rgba(220,53,69,.08); }
.market-drawing-toolbar button:disabled { opacity:.35; cursor:not-allowed; }
.market-drawing-color-menu { position:relative; flex:0 0 auto; }
.market-drawing-layers-menu { position:relative; flex:0 0 auto; }
.market-drawing-layers { position:absolute; z-index:30; top:calc(100% + 7px); right:0; width:230px; max-height:280px; padding:.4rem; overflow:auto; border:1px solid var(--card-border); border-radius:12px; background:var(--card-bg); box-shadow:0 14px 34px rgba(8,30,44,.2); }
.market-drawing-layers[hidden] { display:none; }
.market-drawing-layers>small { display:block; padding:.6rem; color:var(--muted-text); font-size:.62rem; text-align:center; }
.market-drawing-layer-row { display:grid; grid-template-columns:minmax(0,1fr) repeat(3,30px); align-items:center; gap:.15rem; border-radius:8px; }
.market-drawing-layer-row+.market-drawing-layer-row { margin-top:.15rem; }
.market-drawing-layer-row.active { background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)); }
.market-drawing-toolbar .market-drawing-layer-row button { min-width:30px; padding:.3rem; }
.market-drawing-toolbar .market-drawing-layer-select { min-width:0; justify-content:flex-start; overflow:hidden; }
.market-drawing-layer-select span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.market-drawing-width { display:inline-flex; min-height:28px; flex:0 0 auto; align-items:center; gap:.3rem; padding:0 .28rem 0 .45rem; border:1px solid transparent; border-radius:8px; color:var(--muted-text); font-size:.57rem; font-weight:800; }
.market-drawing-width:focus-within { border-color:color-mix(in srgb,var(--color-primary) 24%,var(--card-border)); color:#007d75; background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)); }
.market-drawing-width select { min-height:24px; padding:0 1.2rem 0 .35rem; border:0; outline:0; color:inherit; background:transparent; font:inherit; cursor:pointer; }
.market-drawing-color-menu>button { display:inline-flex; min-height:28px; align-items:center; gap:.32rem; padding:.25rem .42rem; }
.market-drawing-current-color { display:block; width:15px; height:15px; border:2px solid var(--card-bg); border-radius:50%; background:#7c3aed; box-shadow:0 0 0 1px var(--card-border); }
.market-drawing-color-menu>button>.fa-chevron-down { margin-left:.05rem; font-size:.42rem; }
.market-drawing-palette { position:absolute; z-index:20; top:calc(100% + 7px); right:0; display:grid; grid-template-columns:repeat(4,28px); gap:.38rem; padding:.55rem; border:1px solid var(--card-border); border-radius:12px; background:var(--card-bg); box-shadow:0 14px 34px rgba(8,30,44,.18); }
.market-drawing-palette[hidden] { display:none; }
.market-drawing-palette>button { width:28px; min-width:28px; min-height:28px; padding:0; border:2px solid var(--card-bg); border-radius:8px; background:var(--drawing-swatch); box-shadow:0 0 0 1px var(--card-border); }
.market-drawing-palette>button.active { border-color:#fff; box-shadow:0 0 0 2px var(--color-primary); }
.market-drawing-palette>label { position:relative; display:grid; width:28px; height:28px; place-items:center; overflow:hidden; border:1px dashed var(--muted-text); border-radius:8px; color:var(--muted-text); cursor:pointer; }
.market-drawing-palette>label input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.market-drawing-toolbar-spacer { flex:1; }
.market-price-chart-stage { position:relative; overflow:hidden; touch-action:pan-y; }
.market-price-chart-stage.has-drawing-hit { cursor:pointer; }
.market-price-chart-stage .market-analysis-lightweight-chart { position:relative; z-index:2; }
.market-chart-drawing-layer { position:absolute; z-index:4; inset:0; width:100%; height:100%; overflow:hidden; pointer-events:none; touch-action:none; }
.market-chart-drawing-layer.is-drawing { cursor:crosshair; pointer-events:auto; }
.market-chart-drawing { vector-effect:non-scaling-stroke; pointer-events:stroke; cursor:grab; touch-action:none; }
.market-chart-drawing:active { cursor:grabbing; }
.market-chart-drawing.is-horizontal { stroke-dasharray:6 4; }
.market-chart-drawing.is-preview { opacity:.65; stroke-dasharray:5 4; }
.market-chart-drawing.is-selected { filter:drop-shadow(0 1px 2px rgba(0,0,0,.3)); }
.market-chart-drawing-handle { fill:var(--card-bg); stroke-width:2; vector-effect:non-scaling-stroke; pointer-events:all; cursor:grab; touch-action:none; }
.market-chart-drawing-label { font-size:10px; font-weight:800; paint-order:stroke; stroke:var(--card-bg); stroke-width:3px; stroke-linejoin:round; pointer-events:none; }
.market-chart-annotation,.market-chart-annotation * { pointer-events:none; }
.market-chart-annotation-text { font-size:11px; font-weight:850; letter-spacing:.01em; }
.market-chart-golden-pocket { fill-opacity:.13; pointer-events:all; cursor:grab; touch-action:none; }
.market-chart-golden-pocket.is-selected { fill-opacity:.2; }
.market-range-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; border-bottom:1px solid var(--card-border); background:var(--card-border); }
.market-range-summary>span { display:grid; min-width:0; gap:.08rem; padding:.48rem .7rem; background:color-mix(in srgb,var(--hover-bg) 38%,var(--card-bg)); }
.market-range-summary small { color:var(--muted-text); font-size:.5rem; font-weight:750; }
.market-range-summary strong { overflow:hidden; color:var(--text-color); font-size:.67rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.market-range-summary strong.is-positive,.market-candle-inspector strong.is-positive { color:#059669; }
.market-range-summary strong.is-negative,.market-candle-inspector strong.is-negative { color:#dc4b55; }
.market-candle-inspector { display:grid; grid-template-columns:1.35fr repeat(6,minmax(0,1fr)); gap:.45rem; padding:.58rem .8rem; border-top:1px solid var(--card-border); background:color-mix(in srgb,#7c3aed 4%,var(--card-bg)); }
.market-candle-inspector[hidden] { display:none; }
.market-candle-inspector>span,.market-candle-inspector-heading>span { display:grid; min-width:0; gap:.08rem; }
.market-candle-inspector small { color:var(--muted-text); font-size:.49rem; font-weight:750; }
.market-candle-inspector strong { overflow:hidden; color:var(--text-color); font-size:.64rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.market-candle-inspector-heading { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:.25rem; }
.market-candle-inspector-heading button { display:grid; width:25px; height:25px; flex:0 0 25px; padding:0; place-items:center; border:0; border-radius:7px; color:var(--muted-text); background:transparent; }
.market-supertrend-transition { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:.2rem .55rem; padding:.45rem .6rem; border:1px solid var(--card-border); border-radius:8px; background:var(--card-bg); }
.market-supertrend-transition[hidden] { display:none; }
.market-supertrend-transition.is-up { border-left:4px solid #00b8c9; }
.market-supertrend-transition.is-down { border-left:4px solid #a87c00; }
.market-supertrend-transition strong { font-size:.7rem; }
.market-supertrend-transition span { color:var(--muted-text); font-size:.66rem; font-weight:650; }
:root[data-theme="dark"] .market-supertrend-transition.is-up { border-left-color:#31e3e8; }
:root[data-theme="dark"] .market-supertrend-transition.is-down { border-left-color:#facc15; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]):not([data-theme="dark"]) .market-supertrend-transition.is-up,
    :root[data-theme="system"] .market-supertrend-transition.is-up { border-left-color:#31e3e8; }
    :root:not([data-theme="light"]):not([data-theme="dark"]) .market-supertrend-transition.is-down,
    :root[data-theme="system"] .market-supertrend-transition.is-down { border-left-color:#facc15; }
}
body.has-expanded-market-chart { overflow:hidden; }
.price-panel:fullscreen,.price-panel.is-chart-expanded { border-radius:0; background:var(--card-bg); }
.price-panel.is-chart-expanded { position:fixed; z-index:1050; inset:0; overflow:auto; }
.price-panel:fullscreen .market-analysis-lightweight-chart.is-price,.price-panel.is-chart-expanded .market-analysis-lightweight-chart.is-price { height:calc(100vh - 330px); min-height:360px; }
.price-panel:fullscreen .market-price-panel-header,.price-panel.is-chart-expanded .market-price-panel-header { position:sticky; z-index:40; top:0; }
.price-signal-legend button { display:inline-flex; padding:0; align-items:center; gap:.28rem; border:0; color:var(--muted-text); background:transparent; font:inherit; font-size:.54rem; font-weight:750; white-space:nowrap; cursor:pointer; transition:opacity .18s ease,filter .18s ease; }
.price-signal-legend button.is-hidden { opacity:.35; filter:grayscale(1); }
.price-signal-legend b { display:grid; width:17px; height:17px; place-items:center; border-radius:50%; color:#fff; font-size:.48rem; line-height:1; }
.price-signal-legend .is-buy b { background:#059669; }
.price-signal-legend .is-bull-entry b { background:#2563eb; min-width:24px; }
.price-signal-legend .is-sell-warning b { background:#f59e0b; }
.price-signal-legend .is-top-zone b { background:#7c3aed; }
.price-signal-legend .is-sell b { background:#ef4444; }
.price-signal-legend .is-st-entry b { background:#009bab; }
.price-signal-legend .is-st-exit b { background:#a87c00; }
.price-panel[data-st-direction="short"] .price-signal-legend .is-st-entry b { background:#a87c00; }
.price-panel[data-st-direction="short"] .price-signal-legend .is-st-exit b { background:#009bab; }
.price-signal-legend .is-watch b { width:9px; height:9px; margin:0 4px; border-radius:2px; background:#f59e0b; transform:rotate(45deg); }

@media (max-width:767.98px) {
    .market-analysis-page { padding-top:.25rem!important; }
    .market-analysis-hero { align-items:center; flex-direction:row; gap:.55rem; margin-bottom:.45rem; padding:.4rem .65rem; border:0; border-radius:0; background:transparent; box-shadow:none; }
    .market-analysis-hero>div:first-child { min-width:0; }
    .market-analysis-eyebrow,.market-analysis-hero p { display:none; }
    .market-analysis-hero h1 { overflow:hidden; font-size:1rem; text-overflow:ellipsis; white-space:nowrap; }
    .market-analysis-status { height:42px; margin-left:auto; padding:0 .48rem; font-size:.66rem; }
    .market-analysis-live-dot { width:6px; height:6px; box-shadow:0 0 0 3px rgba(0,167,131,.11); }
    .market-analysis-toolbar { align-items:stretch; flex-direction:column; gap:.8rem; padding:1rem .85rem .8rem; }
    .market-analysis-toolbar h2 { font-size:1.14rem; }
    .market-analysis-toolbar p { font-size:.78rem; }
    .market-analysis-heading { min-width:0; }
    .market-analysis-asset-picker { width:100%; grid-template-columns:38px auto minmax(0,1fr); padding:.5rem; }
    .market-analysis-asset-picker-icon { width:38px; height:38px; font-size:.82rem; }
    .market-analysis-asset-picker-copy strong { font-size:.74rem; }
    .market-analysis-asset-picker-copy small { font-size:.62rem; }
    .market-analysis-asset-picker select { height:40px; font-size:.82rem; }
    .market-analysis-controls { width:100%; min-width:0; align-items:stretch; }
    .market-analysis-ranges { display:grid; grid-template-columns:repeat(6,1fr); gap:.25rem; }
    .market-analysis-ranges button { min-width:0; min-height:36px; padding:.3rem .2rem; font-size:.72rem; }
    .market-analysis-date-filter { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; padding-top:.15rem; }
    .market-analysis-date-filter label { font-size:.72rem; }
    .market-analysis-date-filter input { width:100%; height:40px; font-size:.78rem; }
    .market-analysis-date-filter button { grid-column:1/-1; min-height:40px; font-size:.78rem; }
    .market-analysis-filter-error { font-size:.72rem; }
    .market-signal-card { grid-template-columns:auto minmax(0,1fr); gap:.7rem; margin:.6rem .6rem 0; padding:.85rem; }
    .market-signal-icon { width:40px; height:40px; }
    .market-signal-copy>span { font-size:.72rem; }
    .market-signal-copy h3 { font-size:1.06rem; }
    .market-signal-copy p { font-size:.84rem; line-height:1.48; }
    .market-signal-scores { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); width:auto; gap:.45rem; padding:.65rem 0 0; border-top:1px solid color-mix(in srgb,var(--signal-color) 18%,var(--card-border)); border-left:0; }
    .market-signal-score { min-height:50px; grid-template-columns:26px minmax(0,1fr) 25px; gap:.25rem .42rem; overflow:hidden; padding:.48rem; }
    .market-signal-score-icon { width:26px; height:26px; font-size:.64rem; }
    .market-signal-score>span { font-size:.78rem; }
    .market-signal-score>strong { font-size:.84rem; }
    .market-signal-scores>small { display:none; }
    .market-pullback-card { margin:.5rem .6rem 0; }
    .market-analysis-current-strip { grid-column:1/-1; margin-top:.7rem; }
    .market-analysis-current-strip .market-pullback-current-values { gap:.38rem; }
    .market-analysis-current-strip .market-current-value { min-height:52px; }
    .market-analysis-current-strip .market-current-value>i { display:none; }
    .market-pullback-summary { grid-template-columns:1fr; gap:.65rem; padding:.8rem; }
    .market-pullback-main>span { font-size:.74rem; }
    .market-pullback-current { order:-1; margin:0 0 .15rem; padding:0 0 .75rem; border:0; border-bottom:1px solid color-mix(in srgb,#f59e0b 22%,var(--card-border)); border-radius:0; background:transparent; }
    .market-pullback-current-values { padding:0; }
    .price-signal-legend { gap:.3rem .48rem; }
    .market-analysis-panel.price-panel .price-signal-legend { justify-content:flex-start; }
    .market-analysis-panel.price-panel>header { align-items:flex-start; flex-direction:column; gap:.55rem; padding:.65rem; }
    .market-price-panel-heading .market-price-panel-icon { width:36px; height:36px; flex-basis:36px; }
    .market-analysis-panel .market-price-panel-heading>div>small { font-size:.62rem; }
    .market-analysis-panel .market-price-panel-heading h3 { font-size:1rem; }
    .market-price-view-controls { min-height:52px; justify-content:flex-start; gap:.48rem; padding:.42rem .62rem; overflow-x:auto; scrollbar-width:none; }
    .market-moving-average-legend { width:100%; order:2; margin:0; justify-content:center; gap:.3rem .65rem; }
    .market-moving-average-legend button { font-size:.64rem; }
    .market-candle-intervals { order:1; }
    .market-price-view-controls::-webkit-scrollbar { display:none; }
    .market-chart-mode-button,.market-signal-visibility-button,.market-chart-fullscreen-button { width:34px; height:34px; flex-basis:34px; }
    .market-price-view-controls .market-chart-mode-button i,.market-price-view-controls .market-signal-visibility-button i,.market-price-view-controls .market-chart-fullscreen-button i { font-size:.92rem; }
    .market-drawing-toolbar { gap:.2rem; padding:.3rem .55rem; overflow-x:auto; scrollbar-width:none; }
    .market-drawing-toolbar::-webkit-scrollbar { display:none; }
    .market-drawing-toolbar>span:first-child { display:none; }
    .market-drawing-toolbar button { min-width:34px; min-height:32px; flex:0 0 auto; padding:.25rem .48rem; font-size:.62rem; }
    .market-drawing-width { min-height:32px; padding:0 .2rem 0 .42rem; font-size:.62rem; }
    .market-drawing-width>span { display:none; }
    .market-drawing-width select { min-height:28px; padding-right:1rem; }
    .market-drawing-color-menu>button>span { display:none; }
    .market-drawing-palette { position:fixed; top:auto; right:12px; bottom:calc(74px + env(safe-area-inset-bottom)); grid-template-columns:repeat(4,34px); gap:.5rem; padding:.7rem; }
    .market-drawing-palette>button,.market-drawing-palette>label { width:34px; min-width:34px; height:34px; min-height:34px; }
    .market-drawing-layers { position:fixed; top:auto; right:12px; bottom:calc(74px + env(safe-area-inset-bottom)); width:min(340px,calc(100vw - 24px)); max-height:45vh; }
    .market-drawing-layer-row { grid-template-columns:minmax(0,1fr) repeat(3,44px); }
    .market-drawing-toolbar .market-drawing-layer-row button { min-width:44px; min-height:44px; }
    .market-drawing-toolbar .market-drawing-layer-select { min-width:0; }
    .market-range-summary { display:flex; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
    .market-range-summary::-webkit-scrollbar { display:none; }
    .market-range-summary>span { min-width:116px; flex:1 0 116px; padding:.55rem .65rem; scroll-snap-align:start; }
    .market-range-summary small { font-size:.62rem; }
    .market-range-summary strong { font-size:.78rem; }
    .market-candle-inspector { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem .45rem; padding:.7rem; }
    .market-candle-inspector-heading { grid-column:1/-1; padding-bottom:.45rem; border-bottom:1px solid var(--card-border); }
    .market-candle-inspector small { font-size:.61rem; }
    .market-candle-inspector strong { font-size:.76rem; }
    .price-panel:fullscreen .market-analysis-lightweight-chart.is-price,.price-panel.is-chart-expanded .market-analysis-lightweight-chart.is-price { height:calc(100vh - 390px); min-height:300px; }
    .market-candle-intervals { flex:none; }
    .market-candle-intervals button { min-width:38px; min-height:31px; font-size:.72rem; }
    .price-signal-legend button { font-size:.68rem; }
    .price-signal-legend b { width:18px; height:18px; font-size:.52rem; }
    .price-signal-legend .is-watch { display:none; }
    .market-pullback-probabilities { gap:.45rem; margin:.5rem 0 .65rem; }
    .market-pullback-probability { display:flex; min-width:0; padding:.65rem; flex-direction:column; align-items:flex-start; gap:.2rem; }
    .market-pullback-probability small { font-size:.72rem; }
    .market-pullback-probability strong { font-size:1.42rem; }
    .market-pullback-probability span { font-size:.74rem; line-height:1.4; }
    .market-pullback-headline { align-items:flex-start; flex-direction:column; gap:.14rem; }
    .market-pullback-headline strong { font-size:1.22rem; }
    .market-pullback-headline p { font-size:.82rem; line-height:1.45; }
    .market-pullback-pattern { font-size:.78rem; line-height:1.5; }
    .market-pullback-pattern span { font-size:.7rem; }
    .market-pullback-current-label { font-size:.78rem; }
    .market-current-value { gap:.38rem; padding:.48rem .42rem; }
    .market-current-value>i { width:25px; height:25px; flex-basis:25px; font-size:.7rem; }
    .market-current-value small { font-size:.72rem; }
    .market-current-value strong { font-size:1.05rem; }
    .market-live-label { font-size:.56rem; }
    .market-pullback-main>small { font-size:.8rem; line-height:1.45; }
    .market-pullback-outcomes { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .market-pullback-outcome { min-height:0; padding:.62rem .8rem; }
    .market-pullback-outcome>small { font-size:.78rem; }
    .market-pullback-outcome>strong { font-size:1.14rem; }
    .market-pullback-outcome>span { font-size:.74rem; line-height:1.4; }
    .market-pullback-outcome+.market-pullback-outcome { border-left:1px solid var(--card-border); }
    .market-pullback-outcome.is-depth { grid-column:1; grid-row:1/3; border-right:1px solid var(--card-border); border-left:0; }
    .market-pullback-outcome:not(.is-depth):first-child { grid-column:2; grid-row:1; border-left:0; }
    .market-pullback-outcome.is-recovery { grid-column:2; grid-row:2; border-top:1px solid var(--card-border); border-left:0; }
    .market-pullback-extremes { margin-top:.35rem; padding-top:.35rem; }
    .market-pullback-extremes span { font-size:.72rem; }
    .market-pullback-extremes b { font-size:.8rem; }
    .market-analysis-charts { padding:.6rem; }
    .market-analysis-panel+.market-analysis-panel { margin-top:.5rem; }
    .market-analysis-panel>header { padding:.48rem .62rem; }
    .market-analysis-panel h3 { font-size:.92rem; }
    .market-analysis-panel header small { gap:.4rem; font-size:.76rem; }
    .market-analysis-panel.sentiment-panel>header { align-items:flex-start; flex-direction:column; }
    .fear-greed-legend { justify-content:flex-start; gap:.3rem .55rem!important; line-height:1.25; }
    .market-analysis-panel.price-panel .market-analysis-canvas { height:245px; }
    .market-analysis-panel.price-panel .market-analysis-canvas.market-volume-canvas { height:108px; padding:.1rem .25rem .28rem; }
    .market-volume-panel>header { min-height:32px; padding:.34rem .55rem 0; }
    .market-volume-panel>header strong { font-size:.76rem; }
    .market-volume-panel>header small { font-size:.68rem; }
    .market-analysis-canvas { height:145px; padding:.35rem .25rem .2rem; }
    .market-analysis-canvas-track { width:620px; min-width:175vw; }
    .market-analysis-lightweight-chart { height:145px; }
    .market-analysis-lightweight-chart.is-price { height:350px; }
    .market-chart-annotation-text { font-size:12px; }
    .market-analysis-lightweight-chart.is-volume { height:108px; }
    .market-analysis-history { margin:.65rem .6rem; }
    .market-analysis-history>header { min-height:48px; align-items:center; flex-wrap:nowrap; gap:.45rem; padding:.48rem .58rem; }
    .market-analysis-history>header>div { gap:.4rem; }
    .market-analysis-history-icon { display:none; }
    .market-analysis-history h3 { font-size:.86rem; white-space:nowrap; }
    .market-analysis-history header p { display:none; }
    .market-analysis-history-actions { width:auto; min-width:0; margin-left:auto; justify-content:flex-end; gap:.3rem; padding:0; }
    #marketHistoryCount { padding:.28rem .42rem; font-size:.62rem; }
    #marketHistoryToggle { min-height:28px; padding:.28rem .42rem; font-size:.61rem; }
    #marketHistoryToggle:not([hidden]) { display:inline-flex; }
    .market-day-cards { max-height:none; grid-template-columns:1fr; gap:.48rem; padding:.48rem; overflow:visible; }
    .market-day-card { padding:.72rem; }
    .market-day-card-date strong { font-size:.84rem; }
    .market-day-card-value small { font-size:.62rem; }
    .market-day-card-value strong { font-size:.82rem; }
    .market-day-card-price .market-day-card-value strong { font-size:1rem; }
    .market-day-card-open { font-size:.68rem; }
    .market-hourly-dialog { width:calc(100vw - 1rem); margin:auto; }
    .market-hourly-dialog-card { max-height:90dvh; }
    .market-hourly-dialog-card>header { align-items:flex-start; padding:.85rem; }
    .market-hourly-dialog h2 { font-size:1rem; }
    .market-hourly-dialog header p { font-size:.74rem; line-height:1.4; }
    .market-hourly-table-wrap { max-height:none; }
    .market-signal-details summary { padding:.65rem .85rem; font-size:.8rem; }
    .market-signal-details summary small { font-size:.7rem; }
    .market-signal-factors { grid-template-columns:1fr; gap:.45rem; padding:.65rem .85rem .55rem; }
    .market-signal-factor { padding:.58rem .65rem; }
    .market-signal-factor span { font-size:.72rem; }
    .market-signal-factor small { font-size:.74rem; }
    .market-signal-note { padding:0 .85rem .7rem; font-size:.72rem; }
    .market-analysis-sources { align-items:flex-start; flex-direction:column; padding:.7rem .85rem; font-size:.78rem; }
}

@media (max-width:640px) {
    .market-provisional-score { grid-template-columns:minmax(0,1fr) auto; gap:.42rem; padding:.5rem 0 0; }
    .market-provisional-heading { grid-column:1; grid-row:1; }
    .market-provisional-ranges { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; }
    .market-provisional-ranges>b { grid-template-columns:minmax(0,1fr) auto auto; gap:.28rem; padding:.32rem .42rem; }
    .market-score-trend-open { grid-column:2; grid-row:1; min-width:30px; min-height:30px; padding:.3rem .4rem; }
    .market-score-trend-open span { display:none; }
    .market-score-trend-dialog .market-hourly-dialog-card>header>div>span { display:none; }
    .market-score-trend-summary { gap:.4rem; padding:.55rem .7rem; }
    .market-score-trend-summary>span { padding:.45rem .55rem; }
    .market-score-trend-chart { height:230px; padding:.55rem .65rem .35rem; }
    .bot-analysis-trigger { width:32px; min-width:32px; max-width:32px; min-height:32px; padding:0; border:0; background:transparent; box-shadow:none; font-size:.88rem; }
    .bot-card-actions { display:flex; align-items:center; justify-content:flex-end; gap:.28rem; padding:.48rem .42rem; }
    .bot-card-actions>button,.bot-card-actions>form { flex:1 1 38px; width:auto; min-width:35px; max-width:42px; }
    .bot-card-actions>form { display:flex; }
    .bot-card-actions>form>button { width:100%; min-width:0; }
    .bot-card-actions button,.bot-card-actions button.close-position { position:relative; width:100%; height:40px; min-height:40px; padding:0; border-radius:11px; box-shadow:none; font-size:.86rem; transform:none; }
    .bot-card-actions button>i { display:grid; width:20px; height:20px; place-items:center; font-size:.9rem; line-height:1; }
    .bot-card-actions button.pattern,.bot-card-actions button.edit,.bot-card-actions button.profit-protection,.bot-card-actions button.release-profit { color:#078b88; }
    .bot-card-actions button.transactions { color:#475569; }
    .bot-card-actions button.close-position { color:#d97706!important; }
    .bot-card-actions button.pause { color:#b46900; }
    .bot-card-actions button.start { color:#078965; }
    .bot-card-actions button.delete { color:#d63b48; }
    .bot-card-actions button:hover,.bot-card-actions button:focus-visible { outline:0; }
    .bot-card-actions button>span { display:none; }
    .bot-card-actions button.transactions b { position:absolute; top:3px; right:3px; min-width:17px; height:17px; padding:0 .2rem; font-size:.49rem; }
    .bot-transactions-dialog { width:calc(100vw - 14px); border-radius:17px; }
    .grid-log-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grid-log-summary > span { min-height:62px; padding:10px 11px; }
    .grid-log-summary small,.grid-log-current small,.grid-log-event small { font-size:.82rem; }
    .grid-log-events { grid-template-columns:1fr; }
    .bot-transactions-panel { border-radius:17px; }
    .bot-transactions-header { grid-template-columns:38px minmax(0,1fr) 30px 34px; gap:.5rem; padding:.72rem; }
    .bot-transactions-icon { width:38px; height:38px; border-radius:11px; }
    .bot-transactions-header h2 { font-size:.98rem; }
    .bot-transactions-header p { overflow:hidden; font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
    .bot-transactions-header>strong { min-width:30px; height:30px; padding:0 .25rem; }
    .bot-transactions-body { padding:.45rem; }
    .bot-transactions-popup-content { border-radius:12px; }
    .bot-transactions-popup-content .table-responsive { max-height:calc(100dvh - 150px); }
    .bot-transactions-popup-content table { font-size:.76rem; }
    .bot-transactions-popup-content th,.bot-transactions-popup-content td { padding:.7rem; }
    .bot-transactions-popup-content .grid-rounds-table { width:100%; min-width:0; table-layout:fixed; }
    .grid-rounds-table th:nth-child(3),.grid-rounds-table td:nth-child(3),.grid-rounds-table th:nth-child(5),.grid-rounds-table td:nth-child(5),.grid-rounds-table th:nth-child(6),.grid-rounds-table td:nth-child(6) { display:none; }
    .grid-rounds-table th,.grid-rounds-table td { overflow:hidden; padding:.68rem .55rem!important; text-overflow:ellipsis; white-space:nowrap; }
    .grid-rounds-table th:nth-child(1),.grid-rounds-table td:nth-child(1) { display:table-cell; width:36%; }
    .grid-rounds-table th:nth-child(2),.grid-rounds-table td:nth-child(2) { width:34%; }
    .grid-rounds-table th:nth-child(4),.grid-rounds-table td:nth-child(4) { width:30%; }
    .grid-rounds-total { width:30%; margin-left:auto; align-items:flex-start; padding:.55rem; }
    .grid-rounds-total strong { font-size:.82rem; }
    .bot-analysis-dialog { width:calc(100vw - 18px); border-radius:17px; }
    .bot-analysis-panel { border-radius:17px; }
    .bot-analysis-header { grid-template-columns:38px minmax(0,1fr) 32px; gap:.55rem; padding:.72rem; }
    .bot-analysis-icon { width:38px; height:38px; border-radius:11px; }
    .bot-analysis-header h2 { font-size:.9rem; }
    .bot-analysis-header p { font-size:.66rem; }
    .bot-analysis-body { gap:.58rem; padding:.68rem; }
    .bot-analysis-state strong { font-size:.78rem; }
    .bot-analysis-reason p { font-size:.76rem; }
    .bot-analysis-note { font-size:.68rem; }
    .bot-analysis-dialog.has-patterns { width:calc(100vw - 18px); }
    .bot-analysis-dialog.has-patterns .bot-analysis-body { max-height:76vh; }
    .bot-analysis-patterns-header { align-items:flex-start; flex-direction:column; gap:.25rem; }
    .bot-analysis-patterns-header>span { text-align:left; }
    .bot-analysis-pattern-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bot-analysis-pattern-layer>div,.bot-analysis-pattern-directions,.bot-analysis-direction-checks { grid-template-columns:1fr; }
    .bot-analysis-header>div>span { font-size:.74rem; }
    .bot-analysis-header h2 { font-size:1.02rem; }
    .bot-analysis-header p { font-size:.82rem; line-height:1.45; }
    .bot-analysis-state small,.bot-analysis-reason small,.bot-analysis-patterns-header small { font-size:.76rem; }
    .bot-analysis-state strong { font-size:.9rem; }
    .bot-analysis-reason p { font-size:.88rem; }
    .bot-analysis-note { font-size:.8rem; }
    .bot-analysis-tabs button { min-height:44px; font-size:.82rem; }
    .bot-analysis-patterns-header strong { font-size:1.04rem; }
    .bot-analysis-patterns-header>span,.bot-analysis-chart-meta { font-size:.82rem; }
    .bot-analysis-pattern-counts small { font-size:.76rem; }
    .bot-analysis-pattern-layer>header strong { font-size:.9rem; }
    .bot-analysis-pattern-layer>header small { font-size:.8rem; }
    .bot-analysis-pattern-card>header strong { font-size:.9rem; }
    .bot-analysis-pattern-card>header span,.bot-analysis-pattern-meta span { font-size:.68rem; }
    .bot-analysis-pattern-card p,.bot-analysis-pattern-card.is-compact p { font-size:.84rem; }
    .bot-analysis-pattern-catalog summary,.bot-analysis-pattern-directions h3 { font-size:.88rem; }
    .bot-analysis-direction>header strong { font-size:.96rem; }
    .bot-analysis-direction>header small { font-size:.78rem; }
    .bot-analysis-direction>header>span { font-size:.84rem; }
    .bot-analysis-check-list strong { font-size:.84rem; }
    .bot-analysis-check-list p { font-size:.8rem; line-height:1.5; }
    .bot-analysis-chart-note { font-size:.8rem; }
    .ta-entry-replay-meta { align-items:stretch; }
    .ta-entry-replay-meta span,.ta-entry-replay-meta a,.ta-entry-replay-meta button { justify-content:center; min-height:40px; font-size:.76rem; line-height:1.4; text-align:center; }
    .ta-entry-replay-meta a,.ta-entry-replay-meta button { width:100%; margin-left:0; }
    .ta-entry-replay-grid { grid-template-columns:1fr; }
    .ta-entry-replay-card>header { padding:.82rem; }
    .ta-entry-replay-card>header strong { font-size:1.04rem; }
    .ta-entry-replay-card>header span { font-size:.78rem; }
    .ta-entry-replay-card>header small { font-size:.68rem; line-height:1.4; }
    .ta-entry-replay-funnel span { min-height:54px; padding:.68rem .72rem; }
    .ta-entry-replay-funnel small { font-size:.7rem; }
    .ta-entry-replay-funnel strong { font-size:.94rem; }
    .ta-entry-replay-card details { padding:.75rem .78rem .84rem; }
    .ta-entry-replay-card summary { font-size:.82rem; }
    .ta-entry-replay-card li { min-height:42px; padding:.46rem .5rem; }
    .ta-entry-replay-card li>span { font-size:.72rem; }
    .ta-entry-replay-card li b { font-size:.62rem; }
    .ta-entry-replay-card li>strong { font-size:.76rem; }
    .ta-entry-replay-card li>strong small { font-size:.62rem; }
    .bot-profit-dialog { width:calc(100vw - 18px); }
    .bot-profit-header h2 { font-size:1rem; }
    .bot-profit-header p { font-size:.72rem; line-height:1.4; }
    .bot-profit-body { max-height:calc(100dvh - 92px); gap:.58rem; padding:.68rem; }
    .bot-profit-state small { font-size:.68rem; }
    .bot-profit-state strong { font-size:.88rem; line-height:1.45; }
    .bot-profit-price-overview { gap:.42rem; padding:.52rem .58rem; }
    .bot-profit-price-overview>div { gap:.4rem; }
    .bot-profit-price-overview>div>i { width:27px; height:27px; flex-basis:27px; }
    .bot-profit-price-overview small { font-size:.62rem; }
    .bot-profit-price-overview strong { font-size:.84rem; }
    .bot-profit-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; }
    .bot-profit-facts>div { padding:.55rem .58rem; }
    .bot-profit-facts small { font-size:.66rem; }
    .bot-profit-facts strong { font-size:.98rem; }
    .bot-profit-facts span { font-size:.72rem; line-height:1.45; white-space:normal; }
    .bot-profit-inputs>span { font-size:.72rem; }
    .bot-profit-explanation { font-size:.8rem; line-height:1.65; }
    .bot-profit-dialog .bot-analysis-note { font-size:.72rem; line-height:1.5; }
    .bot-pattern-dialog { width:calc(100vw - 14px); border-radius:17px; }
    .bot-pattern-panel { border-radius:17px; }
    .bot-pattern-header { grid-template-columns:38px minmax(0,1fr) 34px; gap:.58rem; padding:.72rem; }
    .bot-pattern-icon { width:38px; height:38px; border-radius:11px; }
    .bot-pattern-header h2 { font-size:.98rem; }
    .bot-pattern-header p { overflow:hidden; font-size:.65rem; text-overflow:ellipsis; white-space:nowrap; }
    .bot-pattern-body { max-height:calc(100dvh - 90px); gap:.65rem; padding:.65rem; }
    .bot-pattern-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; }
    .bot-pattern-facts>div { padding:.5rem .58rem; }
    .bot-pattern-chart-wrap { padding:.3rem; overflow-x:auto; }
    .bot-pattern-chart-wrap svg { width:720px; max-width:none; min-height:285px; }
    .bot-pattern-legend { position:sticky; left:0; justify-content:flex-start; padding:.35rem .25rem .12rem; }
    .bot-pattern-explanation { padding:.62rem; }
}
.market-analysis-hero-actions { display:flex; flex:0 0 auto; align-items:center; gap:.7rem; }
.market-score-cta { display:grid; width:184px; height:46px; overflow:hidden; box-sizing:border-box; grid-template-columns:32px minmax(0,1fr) 12px; align-items:center; gap:.55rem; padding:0 .65rem; border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); border-radius:999px; color:#173b47; background:linear-gradient(105deg,color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)),var(--card-bg)); box-shadow:0 5px 15px rgba(15,34,49,.08); text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.market-score-cta:hover { border-color:color-mix(in srgb,#347e91 50%,var(--card-border)); color:#173b47; box-shadow:0 7px 16px rgba(15,34,49,.11); transform:translateY(-1px); }
.market-score-cta-icon { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; color:#087f78; background:color-mix(in srgb,var(--color-primary) 13%,var(--card-bg)); font-size:.72rem; line-height:1; }
.market-score-cta-copy { display:grid; gap:.02rem; line-height:1.1; }
.market-score-cta-copy strong { overflow:hidden; font-size:.68rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.market-score-cta-copy small { overflow:hidden; color:#67808a; font-size:.51rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.market-score-cta-arrow { color:#8795a4; font-size:.5rem; transition:transform .18s ease; }
.market-score-cta:hover .market-score-cta-arrow { transform:translateX(3px); }
[data-theme="dark"] .market-score-cta { color:var(--text-color); background:color-mix(in srgb,var(--card-bg) 92%,#fff); }
[data-theme="dark"] .market-score-cta-icon { color:#7dd3df; background:rgba(34,211,238,.1); }

.market-scores-page { max-width:1180px; margin:0 auto; }
.market-scores-hero { position:relative; overflow:hidden; align-items:center; margin-bottom:.7rem; padding:.9rem 1.15rem; border-radius:16px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg)); box-shadow:0 8px 24px rgba(8,30,44,.04); }
.market-scores-hero h1 { font-size:clamp(1.25rem,2.1vw,1.6rem); }
.market-scores-hero p { margin-top:.24rem; font-size:.72rem; }
.market-scores-hero .market-analysis-eyebrow { margin-bottom:.28rem; font-size:.61rem; }

/* ===== TRADING ADMIN CONFIGURATION ===== */
.trading-admin-page { display:grid; max-width:980px; gap:1rem; font-family:'Inter','Segoe UI',Roboto,sans-serif; }
.trading-admin-page h1,.trading-admin-page h2,.trading-admin-page p { margin-top:0; }
.trading-admin-hero { display:grid; overflow:hidden; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1.25rem 1.35rem; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:20px; background:linear-gradient(125deg,color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)),var(--card-bg) 62%); box-shadow:0 16px 42px rgba(8,30,44,.065); }
.trading-admin-hero-icon { display:grid; width:54px; height:54px; place-items:center; border-radius:16px; color:#fff; background:linear-gradient(145deg,var(--color-primary),#0e7490); box-shadow:0 10px 24px color-mix(in srgb,var(--color-primary) 24%,transparent); font-size:1.1rem; }
.trading-admin-eyebrow { display:block; color:var(--color-primary); font-size:.64rem; font-weight:850; letter-spacing:.09em; line-height:1.2; text-transform:uppercase; }
.trading-admin-hero-copy h1 { margin:.2rem 0 .3rem; color:var(--text-color); font-size:1.75rem; font-weight:900; letter-spacing:-.04em; line-height:1.1; }
.trading-admin-hero-copy p { margin:0; color:var(--muted-text); font-size:.76rem; line-height:1.55; }
.trading-admin-summary,.trading-admin-state { display:inline-flex; align-items:center; gap:.42rem; padding:.45rem .65rem; border-radius:999px; font-size:.65rem; font-weight:850; line-height:1; white-space:nowrap; }
.trading-admin-summary i,.trading-admin-state i { width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent); }
.trading-admin-summary.enabled,.trading-admin-state.enabled { color:#047857; background:rgba(16,185,129,.1); }
.trading-admin-summary.disabled,.trading-admin-state.disabled { color:#b45309; background:rgba(245,158,11,.1); }
.trading-admin-feedback { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.68rem; padding:.75rem .85rem; border:1px solid rgba(16,185,129,.24); border-radius:13px; color:#047857; background:rgba(16,185,129,.075); }
.trading-admin-feedback>span { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:#fff; background:#10a173; font-size:.68rem; }
.trading-admin-feedback strong { display:block; margin-bottom:.08rem; font-size:.73rem; font-weight:850; }
.trading-admin-feedback p { margin:0; font-size:.67rem; line-height:1.4; }
.trading-admin-card { overflow:hidden; border:1px solid var(--card-border); border-radius:19px; background:var(--card-bg); box-shadow:0 14px 38px rgba(8,30,44,.055); }
.trading-admin-card-header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:1rem 1.1rem; border-bottom:1px solid var(--card-border); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)),var(--card-bg)); }
.trading-admin-card-icon { display:grid; width:43px; height:43px; place-items:center; border-radius:13px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); font-size:.88rem; }
.trading-admin-card-header h2 { margin:.12rem 0 0; color:var(--text-color); font-size:1rem; font-weight:900; letter-spacing:-.018em; }
.trading-admin-card-header p { margin:.16rem 0 0; color:var(--muted-text); font-size:.7rem; line-height:1.45; }
.trading-admin-card-body { display:grid; gap:.75rem; padding:1rem 1.1rem; }
.trading-feature-toggle { display:flex; min-height:96px; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border:1px solid var(--card-border); border-radius:15px; background:color-mix(in srgb,var(--hover-bg) 38%,var(--card-bg)); cursor:pointer; transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.trading-feature-toggle:hover { border-color:color-mix(in srgb,var(--color-primary) 42%,var(--card-border)); transform:translateY(-1px); }
.trading-feature-toggle.enabled { border-color:color-mix(in srgb,#10b981 24%,var(--card-border)); background:linear-gradient(135deg,var(--card-bg),color-mix(in srgb,#10b981 5%,var(--card-bg))); }
.trading-feature-toggle.disabled { border-color:color-mix(in srgb,#f59e0b 24%,var(--card-border)); background:linear-gradient(135deg,var(--card-bg),color-mix(in srgb,#f59e0b 4%,var(--card-bg))); }
.trading-feature-copy { display:grid; min-width:0; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.75rem; }
.trading-feature-copy>span:last-child { display:grid; gap:.14rem; }
.trading-feature-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); font-size:.84rem; }
.trading-feature-toggle.enabled .trading-feature-icon { color:#059669; background:rgba(16,185,129,.1); }
.trading-feature-toggle.disabled .trading-feature-icon { color:#d97706; background:rgba(245,158,11,.1); }
.trading-feature-copy strong { color:var(--text-color); font-size:.79rem; font-weight:880; line-height:1.35; }
.trading-feature-copy small { color:var(--muted-text); font-size:.66rem; line-height:1.45; }
.trading-toggle-control { display:flex; flex:none; align-items:center; gap:.48rem; }
.trading-toggle-control input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.trading-toggle-track { position:relative; display:block; width:46px; height:26px; border:1px solid color-mix(in srgb,var(--muted-text) 28%,var(--card-border)); border-radius:999px; background:color-mix(in srgb,var(--muted-text) 18%,var(--card-bg)); transition:border-color .18s ease,background .18s ease; }
.trading-toggle-track i { position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(8,30,44,.2); transition:transform .18s ease; }
.trading-toggle-control input:checked+.trading-toggle-track { border-color:#0ea779; background:#10b981; }
.trading-toggle-control input:checked+.trading-toggle-track i { transform:translateX(20px); }
.trading-toggle-control input:focus-visible+.trading-toggle-track { outline:3px solid color-mix(in srgb,var(--color-primary) 22%,transparent); outline-offset:2px; }
.trading-toggle-label { min-width:22px; color:var(--muted-text); font-size:.65rem; font-weight:850; }
.trading-feature-toggle.enabled .trading-toggle-label { color:#047857; }
.trading-feature-toggle.disabled .trading-toggle-label { color:#b45309; }
.trading-safety-note { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:.68rem; padding:.75rem .8rem; border:1px solid color-mix(in srgb,var(--color-primary) 15%,var(--card-border)); border-radius:12px; background:color-mix(in srgb,var(--color-primary) 3.5%,var(--card-bg)); }
.trading-safety-note>span { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); font-size:.72rem; }
.trading-safety-note strong { display:block; margin:.04rem 0 .14rem; color:var(--text-color); font-size:.72rem; font-weight:850; }
.trading-safety-note p { margin:0; color:var(--muted-text); font-size:.65rem; line-height:1.5; }
.trading-admin-card-footer { display:flex; min-height:70px; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1.1rem; border-top:1px solid var(--card-border); background:color-mix(in srgb,var(--hover-bg) 32%,var(--card-bg)); }
.trading-admin-card-footer>span { color:var(--muted-text); font-size:.64rem; line-height:1.45; }
.trading-admin-card-footer>span i { margin-right:.3rem; color:var(--color-primary); }
.trading-admin-save { display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:.45rem; padding:.65rem .85rem; border:0; border-radius:11px; color:#fff; background:linear-gradient(90deg,var(--color-primary),#00b9cf); box-shadow:0 8px 18px color-mix(in srgb,var(--color-primary) 18%,transparent); font-family:inherit; font-size:.7rem; font-weight:850; line-height:1; transition:filter .15s ease,transform .15s ease; }
.trading-admin-save:hover { filter:brightness(.96); transform:translateY(-1px); }

@media (max-width:767.98px) {
    .trading-admin-page { gap:.75rem; padding-top:1rem!important; }
    .trading-admin-hero { grid-template-columns:auto minmax(0,1fr); gap:.75rem; padding:.9rem; border-radius:16px; }
    .trading-admin-hero-icon { width:44px; height:44px; border-radius:13px; font-size:.9rem; }
    .trading-admin-hero-copy h1 { font-size:1.28rem; }
    .trading-admin-hero-copy p { display:none; }
    .trading-admin-summary { grid-column:1/-1; justify-self:start; }
    .trading-admin-card { border-radius:15px; }
    .trading-admin-card-header { grid-template-columns:auto minmax(0,1fr); padding:.8rem; }
    .trading-admin-card-header .trading-admin-state { grid-column:1/-1; justify-self:start; }
    .trading-admin-card-body { padding:.8rem; }
    .trading-feature-toggle { min-height:0; align-items:stretch; flex-direction:column; padding:.8rem; }
    .trading-toggle-control { justify-content:flex-end; padding-top:.65rem; border-top:1px solid var(--card-border); }
    .trading-safety-note { padding:.68rem; }
    .trading-admin-card-footer { align-items:stretch; flex-direction:column; padding:.8rem; }
    .trading-admin-integration-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .trading-admin-integration-actions>.trading-admin-save { grid-column:1/-1; }
    .trading-admin-save { width:100%; }
}

/* ===== WORKER MANAGEMENT ===== */
.worker-management-page { display:grid; max-width:1360px; gap:1.15rem; font-family:'Inter','Segoe UI',Roboto,sans-serif; }
.worker-management-page h1,.worker-management-page h2,.worker-management-page p,.worker-management-page dl { margin-top:0; }
.worker-management-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1.1rem 1.3rem; border:1px solid var(--card-border); border-radius:17px; background:var(--card-bg); box-shadow:0 8px 26px rgba(8,30,44,.035); }
.worker-hero-icon { display:grid; width:46px; height:46px; place-items:center; border-radius:13px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)); font-size:1.05rem; }
.worker-eyebrow,.worker-card-kicker { display:block; color:var(--color-primary); font-size:.64rem; font-weight:850; letter-spacing:.09em; line-height:1.2; text-transform:uppercase; }
.worker-hero-copy h1 { margin:.18rem 0 .2rem; color:var(--text-color); font-size:1.65rem; font-weight:800; letter-spacing:-.035em; line-height:1.15; }
.worker-hero-copy p { margin:0; color:var(--muted-text); font-size:.8rem; line-height:1.45; }
.worker-refresh { display:inline-flex; min-height:38px; align-items:center; justify-content:center; gap:.5rem; padding:.55rem .8rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); font-size:.75rem; font-weight:700; line-height:1; text-decoration:none; transition:border-color .15s ease,background .15s ease; }
.worker-refresh:hover { border-color:var(--color-primary); color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)); }
.worker-refresh[aria-busy=true] { opacity:.6; pointer-events:none; }
.worker-feedback { display:flex; align-items:center; gap:.6rem; padding:.78rem .9rem; border:1px solid; border-radius:12px; font-size:.74rem; font-weight:700; }
.worker-feedback[hidden] { display:none; }
.worker-feedback.success { border-color:rgba(16,185,129,.24); color:#047857; background:rgba(16,185,129,.075); }
.worker-feedback.danger { border-color:rgba(239,68,68,.24); color:#b42318; background:rgba(239,68,68,.075); }
.worker-status-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.worker-status-tile { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.8rem; min-height:82px; padding:.8rem .95rem; border:1px solid var(--card-border); border-radius:14px; background:var(--card-bg); box-shadow:0 6px 20px rgba(8,30,44,.025); }
.worker-status-tile.healthy { border-color:color-mix(in srgb,#10b981 16%,var(--card-border)); }
.worker-status-tile.danger { border-color:color-mix(in srgb,#ef4444 20%,var(--card-border)); }
.worker-status-tile.control { border-color:color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); }
.worker-status-tile .worker-status-icon { display:grid; flex:none; width:42px; height:42px; place-items:center; border-radius:11px; color:var(--muted-text); background:var(--hover-bg); font-size:1rem; line-height:1; }
.worker-status-icon i,.worker-card-icon i,.worker-hero-icon i,.worker-engine-icon i { display:block; line-height:1; }
.worker-status-tile.healthy .worker-status-icon { color:#059669; background:rgba(16,185,129,.1); }
.worker-status-tile.danger .worker-status-icon { color:#dc3545; background:rgba(239,68,68,.09); }
.worker-status-tile.control .worker-status-icon { color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); }
.worker-status-tile small,.worker-status-tile strong,.worker-status-tile span { display:block; }
.worker-status-tile small { margin-bottom:.12rem; color:var(--muted-text); font-size:.63rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.worker-status-tile strong { display:block; color:var(--text-color); font-size:1rem; font-weight:800; letter-spacing:-.02em; line-height:1.3; }
.worker-status-tile div>span { margin-top:.16rem; color:var(--muted-text); font-size:.7rem; line-height:1.35; }
.worker-service-card,.worker-engine-card { overflow:hidden; border:1px solid var(--card-border); border-radius:16px; background:var(--card-bg); box-shadow:0 8px 26px rgba(8,30,44,.035); }
.worker-card-header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:.9rem 1.1rem; border-bottom:1px solid var(--card-border); background:var(--card-bg); }
.worker-card-icon,.worker-engine-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:11px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)); font-size:1rem; line-height:1; }
.worker-card-icon.healthy { color:#059669; background:rgba(16,185,129,.1); }
.worker-card-icon.danger { color:#dc3545; background:rgba(239,68,68,.09); }
.worker-card-header h2,.worker-engine-card h2 { margin:.12rem 0 0; color:var(--text-color); font-size:1rem; font-weight:800; letter-spacing:-.018em; }
.worker-card-header p { margin:.16rem 0 0; color:var(--muted-text); font-size:.74rem; line-height:1.4; }
.worker-state-pill { display:inline-flex; align-items:center; gap:.4rem; padding:.42rem .6rem; border-radius:999px; color:var(--muted-text); background:var(--hover-bg); font-size:.65rem; font-weight:850; line-height:1; white-space:nowrap; }
.worker-state-pill i { width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent); }
.worker-state-pill.healthy { color:#047857; background:rgba(16,185,129,.1); }
.worker-state-pill.danger { color:#b42318; background:rgba(239,68,68,.09); }
.worker-service-body { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; padding:.75rem 1.1rem; }
.worker-service-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.worker-service-facts>div { min-width:0; padding:.25rem .65rem; border-left:1px solid var(--card-border); }
.worker-service-facts>div:first-child { padding-left:0; border-left:0; }
.worker-service-facts span,.worker-service-facts strong { display:block; }
.worker-service-facts span { margin-bottom:.18rem; color:var(--muted-text); font-size:.66rem; font-weight:700; }
.worker-service-facts strong { display:block; color:var(--text-color); font-size:.78rem; font-weight:750; overflow-wrap:anywhere; }
.worker-service-actions,.worker-service-actions form { margin:0; }
.worker-action { display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:.45rem; padding:.65rem .85rem; border:1px solid transparent; border-radius:11px; color:#fff; font-family:inherit; font-size:.7rem; font-weight:850; line-height:1; transition:filter .15s ease,transform .15s ease,opacity .15s ease; }
.worker-action.primary { background:var(--color-primary); }
.worker-action.start { background:linear-gradient(90deg,#059669,#10b981); }
.worker-action.stop { background:linear-gradient(90deg,#dc3545,#ef4444); }
.worker-action:not(:disabled):hover { filter:brightness(.96); transform:translateY(-1px); }
.worker-action:disabled { cursor:not-allowed; opacity:.42; }
.worker-update-card { margin-bottom:0; border-top:3px solid color-mix(in srgb,var(--color-primary) 75%,var(--card-border)); box-shadow:0 12px 30px rgba(8,30,44,.04); }
.worker-update-card .worker-card-header { padding:1.05rem 1.2rem .9rem; border-bottom:0; }
.worker-update-card .worker-card-icon { width:46px; height:46px; border-radius:13px; font-size:1.05rem; }
.worker-update-card .worker-card-header h2 { font-size:1.13rem; }
.worker-update-card .worker-card-header p { font-size:.77rem; }
.worker-update-body { padding:1rem 1.1rem; }
.worker-update-body>p { color:var(--muted-text); font-size:.85rem; line-height:1.65; }
.worker-update-refresh { display:inline-flex; align-items:center; gap:.4rem; margin-left:auto; color:var(--muted-text); font-size:.7rem; }
.worker-update-state { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin:1rem 0; }
.worker-update-state .worker-state-pill { white-space:normal; line-height:1.4; }
.worker-update-state time { color:var(--muted-text); font-size:.75rem; }
.worker-update-state p { flex-basis:100%; font-size:.8rem; }
.worker-update-actions,.worker-update-dialog-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.worker-action.worker-action-secondary { color:var(--text-color); background:var(--hover-bg); border-color:var(--card-border); }
.worker-update-installation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.1rem; padding-top:.9rem; border-top:1px solid var(--card-border); }
.worker-update-installation small,.worker-update-installation strong { display:block; }
.worker-update-installation small { color:var(--muted-text); font-size:.72rem; margin-bottom:.3rem; }
.worker-update-installation strong { color:var(--text-color); font-size:.85rem; font-weight:600; overflow-wrap:anywhere; }
.worker-update-dialog { width:min(480px,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); box-sizing:border-box; padding:1.7rem; color:var(--text-color); border:1px solid var(--card-border); border-radius:22px; background:var(--card-bg); box-shadow:0 24px 90px rgba(0,0,0,.25); }
.worker-update-dialog::backdrop { background:rgba(9,24,35,.55); backdrop-filter:blur(4px); }
.worker-update-dialog h2 { margin:1rem 0 .65rem; font-size:1.35rem; font-weight:700; color:var(--text-color); }
.worker-update-dialog p { font-size:.9rem; line-height:1.65; color:var(--muted-text); }
.worker-update-dialog-icon { display:inline-flex; justify-content:center; align-items:center; width:54px; height:54px; border-radius:17px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 12%,transparent); font-size:1.4rem; }
.worker-update-close { position:absolute; top:1rem; right:1rem; width:32px; height:32px; border:0; border-radius:50%; background:var(--hover-bg); color:var(--muted-text); }
.worker-update-notice { display:flex; gap:.7rem; padding:.85rem; border-radius:12px; background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)); font-size:.8rem; line-height:1.6; }
.worker-update-notice i { color:var(--color-primary); margin-top:.2rem; }
.worker-update-dialog-actions { justify-content:flex-end; margin-top:1.4rem; }
.worker-engine-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.worker-engine-card { padding:1rem 1.05rem; }
.worker-engine-card.healthy { border-color:color-mix(in srgb,#10b981 20%,var(--card-border)); }
.worker-engine-card.danger { border-color:color-mix(in srgb,#ef4444 20%,var(--card-border)); }
.worker-engine-card>header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.72rem; padding-bottom:.85rem; border-bottom:1px solid var(--card-border); }
.worker-engine-card.healthy .worker-engine-icon { color:#059669; background:rgba(16,185,129,.1); }
.worker-engine-card.danger .worker-engine-icon { color:#dc3545; background:rgba(239,68,68,.09); }
.worker-engine-timeline { display:grid; gap:0; padding-top:.35rem; }
.worker-engine-timeline>div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:.58rem .1rem; border-bottom:1px solid color-mix(in srgb,var(--card-border) 65%,transparent); }
.worker-engine-timeline>div:last-child { border-bottom:0; }
.worker-engine-timeline span { display:flex; align-items:center; gap:.42rem; color:var(--muted-text); font-size:.68rem; }
.worker-engine-timeline span i { width:14px; color:var(--color-primary); text-align:center; font-size:.62rem; }
.worker-engine-timeline strong { color:var(--text-color); font-size:.7rem; font-weight:800; font-variant-numeric:tabular-nums; }
.worker-engine-error { display:flex; align-items:flex-start; gap:.5rem; margin-top:.6rem; padding:.65rem .7rem; border-radius:10px; color:#b45309; background:rgba(245,158,11,.09); font-size:.67rem; line-height:1.45; }
.worker-engine-error i { margin-top:.12rem; }
.worker-readonly-note { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:.7rem; padding:.8rem .9rem; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:13px; background:color-mix(in srgb,var(--color-primary) 4%,var(--card-bg)); }
.worker-readonly-note>span { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%,transparent); font-size:.72rem; }
.worker-readonly-note strong { display:block; margin:.04rem 0 .15rem; color:var(--text-color); font-size:.75rem; font-weight:850; }
.worker-readonly-note p { margin:0; color:var(--muted-text); font-size:.67rem; line-height:1.5; }
.worker-readonly-note code { color:var(--color-primary); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.63rem; }
.worker-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:.1rem .1rem 0; }
.worker-section-heading h2 { margin:.18rem 0 .2rem; color:var(--text-color); font-size:1.22rem; font-weight:800; letter-spacing:-.025em; }
.worker-section-heading p { margin:0; color:var(--muted-text); font-size:.75rem; }
.worker-section-heading>span { display:inline-flex; align-items:center; gap:.4rem; padding-bottom:.15rem; color:var(--muted-text); font-size:.7rem; white-space:nowrap; }
.worker-update-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:.85rem; }
.worker-update-grid>.worker-update-card { display:flex; min-width:0; flex-direction:column; }
.worker-update-grid>.worker-maintenance-card { grid-column:1/-1; }
.worker-update-grid>.worker-update-card .worker-update-body { display:flex; flex:1; flex-direction:column; padding:0; }
.worker-update-grid [data-worker-update-content] { display:flex; flex:1; flex-direction:column; min-width:0; padding:.2rem 1.2rem 1rem; }
.worker-update-grid .worker-update-installation { margin-top:auto; }
.worker-package-details { margin-top:auto; border-top:1px solid var(--card-border); color:var(--muted-text); font-size:.74rem; }
.worker-package-details summary { position:relative; padding:.72rem 1.2rem; color:var(--muted-text); cursor:pointer; font-weight:700; list-style:none; }
.worker-package-details summary::-webkit-details-marker { display:none; }
.worker-package-details summary::after { content:''; position:absolute; right:1.25rem; top:50%; width:7px; height:7px; border-right:2px solid var(--color-primary); border-bottom:2px solid var(--color-primary); transform:translateY(-70%) rotate(45deg); }
.worker-package-details[open] summary::after { transform:translateY(-25%) rotate(225deg); }
.worker-package-details .worker-package-path { margin:0 1.2rem .65rem; }
.worker-package-details p { margin:0 1.2rem .85rem; line-height:1.45; }
.worker-service-note { display:flex; align-items:center; gap:.5rem; margin:0; padding:.65rem 1.1rem; border-top:1px solid var(--card-border); color:var(--muted-text); background:color-mix(in srgb,var(--hover-bg) 25%,var(--card-bg)); font-size:.73rem; line-height:1.4; }
.worker-service-note i { flex:none; color:var(--color-primary); line-height:1; }
.worker-package-path { display:flex; align-items:center; justify-content:space-between; gap:.6rem; min-width:0; padding:.62rem .75rem; border:1px solid var(--card-border); border-radius:11px; background:color-mix(in srgb,var(--hover-bg) 42%,var(--card-bg)); }
.worker-package-path small { color:var(--muted-text); font-size:.7rem; font-weight:750; white-space:nowrap; }
.worker-package-path code { color:var(--text-color); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.7rem; overflow-wrap:anywhere; text-align:right; }
.worker-update-caption { margin:.55rem 0 0!important; color:var(--muted-text); font-size:.72rem!important; line-height:1.45!important; }
.worker-update-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.7rem; margin:0; }
.worker-update-toolbar .worker-update-state { display:flex; align-items:center; gap:.4rem .6rem; min-width:0; margin:0; }
.worker-update-toolbar .worker-update-state time { font-size:.68rem; font-variant-numeric:tabular-nums; }
.worker-update-toolbar .worker-update-actions { justify-content:flex-end; }
.worker-update-toolbar .worker-action { min-height:40px; padding:.6rem .85rem; white-space:nowrap; }
.worker-config-note { display:flex; align-items:flex-start; gap:.6rem; margin:.15rem 0 .7rem; padding:.7rem .75rem; border:1px solid color-mix(in srgb,#d69a35 28%,var(--card-border)); border-radius:11px; color:var(--text-color); background:color-mix(in srgb,#d69a35 7%,var(--card-bg)); font-size:.73rem; line-height:1.45; }
.worker-config-note>i { margin-top:.13rem; color:#a96900; }
.worker-config-note strong,.worker-config-note span,.worker-config-note small { display:block; }
.worker-config-note strong { margin-bottom:.12rem; font-size:.76rem; }
.worker-config-note span,.worker-config-note small { color:var(--muted-text); }
.worker-config-note small { margin-top:.25rem; font-size:.66rem; overflow-wrap:anywhere; }
.worker-update-alert { margin:.45rem 0!important; padding:.65rem .75rem; border-left:3px solid #d36543; border-radius:8px; color:var(--text-color)!important; background:color-mix(in srgb,#d36543 9%,var(--card-bg)); font-size:.73rem!important; line-height:1.5!important; overflow-wrap:anywhere; }
.worker-update-reference { margin:0!important; color:var(--muted-text); font-size:.7rem!important; }
.worker-update-reference code { color:var(--text-color); overflow-wrap:anywhere; }
.worker-update-result { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.55rem .1rem; border-top:1px solid var(--card-border); font-size:.73rem; }
.worker-update-result span { color:var(--muted-text); }
.worker-update-result strong { color:var(--text-color); font-weight:800; }
.worker-update-result strong.healthy { color:#067755; }
.worker-update-result strong.danger { color:#b42318; }
.worker-update-details { border-top:1px solid var(--card-border); color:var(--text-color); font-size:.73rem; }
.worker-update-details summary { padding:.55rem .1rem; cursor:pointer; font-weight:700; }
.worker-update-details pre { max-height:220px; margin:.1rem 0 .6rem; padding:.7rem; overflow:auto; border-radius:9px; color:var(--text-color); background:var(--hover-bg); font-size:.66rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.worker-update-feedback:not([hidden]) { margin:0 1.2rem .8rem; padding:.6rem .7rem; border-radius:9px; color:var(--text-color); background:var(--hover-bg); font-size:.72rem; }
.worker-update-feedback[hidden] { display:none; }
.worker-update-feedback.danger:not([hidden]) { color:#b42318; background:color-mix(in srgb,#ef4444 9%,var(--card-bg)); }
.worker-update-installation { gap:.65rem; margin-top:.85rem; padding-top:.8rem; }
.worker-update-installation small { font-size:.66rem; }
.worker-update-installation strong { font-size:.74rem; font-weight:750; }
:root[data-theme=dark] .worker-state-pill.healthy,:root[data-theme=dark] .worker-update-result strong.healthy { color:#79e5b9; }
:root[data-theme=dark] .worker-state-pill.danger,:root[data-theme=dark] .worker-update-result strong.danger { color:#ff9da5; }
:root[data-theme=dark] .worker-config-note>i { color:#f7c370; }
@media (prefers-color-scheme:dark) {
    :root:not([data-theme=light]) .worker-state-pill.healthy,:root:not([data-theme=light]) .worker-update-result strong.healthy { color:#79e5b9; }
    :root:not([data-theme=light]) .worker-state-pill.danger,:root:not([data-theme=light]) .worker-update-result strong.danger { color:#ff9da5; }
    :root:not([data-theme=light]) .worker-config-note>i { color:#f7c370; }
}

@media (max-width:991.98px) {
    .worker-status-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .worker-status-tile { min-height:82px; }
    .worker-service-body { grid-template-columns:1fr; }
    .worker-service-actions .worker-action { width:100%; }
    .worker-update-grid { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
    .worker-management-page { gap:.75rem; padding-top:1rem!important; }
    .worker-management-hero { grid-template-columns:auto minmax(0,1fr); gap:.75rem; padding:.9rem; border-radius:16px; }
    .worker-hero-icon { width:44px; height:44px; border-radius:13px; font-size:.9rem; }
    .worker-hero-copy h1 { font-size:1.28rem; }
    .worker-hero-copy p { display:none; }
    .worker-refresh { grid-column:1/-1; width:100%; min-height:40px; }
    .worker-status-tile { min-height:76px; padding:.7rem .75rem; border-radius:13px; }
    .worker-status-overview { grid-template-columns:1fr; }
    .worker-status-icon { width:36px; height:36px; border-radius:11px; font-size:.76rem; }
    .worker-card-header { grid-template-columns:auto minmax(0,1fr); padding:.8rem; }
    .worker-section-heading { display:block; }
    .worker-section-heading>span { margin-top:.45rem; }
    .worker-update-toolbar { grid-template-columns:1fr; }
    .worker-update-toolbar .worker-update-actions { justify-content:flex-start; }
    .worker-update-grid [data-worker-update-content] { padding:.2rem .85rem .85rem; }
    .worker-package-details summary { padding:.7rem .85rem; }
    .worker-package-details .worker-package-path { margin:0 .85rem .65rem; }
    .worker-package-details p { margin:0 .85rem .75rem; }
    .worker-package-path { align-items:flex-start; flex-direction:column; gap:.2rem; }
    .worker-package-path code { text-align:left; }
    .worker-card-header .worker-state-pill { grid-column:1/-1; justify-self:start; }
    .worker-service-body { padding:.8rem; }
    .worker-service-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .worker-service-facts>div:nth-child(odd) { padding-left:0; border-left:0; }
    .worker-update-installation { grid-template-columns:1fr; gap:.55rem; }
    .worker-engine-grid { grid-template-columns:1fr; }
    .worker-engine-card { padding:.8rem; border-radius:15px; }
    .worker-engine-card>header { grid-template-columns:auto minmax(0,1fr); }
    .worker-engine-card>header .worker-state-pill { grid-column:1/-1; justify-self:start; }
    .worker-engine-timeline>div { align-items:start; grid-template-columns:1fr; gap:.18rem; }
    .worker-engine-timeline strong { padding-left:1.15rem; }
}
.market-scores-hero:after { position:absolute; right:-34px; bottom:-54px; width:125px; height:125px; border:22px solid color-mix(in srgb,var(--color-primary) 5%,transparent); border-radius:50%; content:""; pointer-events:none; }
.market-scores-hero>* { position:relative; z-index:1; }
.market-scores-back { display:inline-flex; min-height:36px; align-items:center; gap:.42rem; padding:.42rem .65rem; border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--card-border)); border-radius:10px; color:var(--text-color); background:color-mix(in srgb,var(--card-bg) 90%,transparent); box-shadow:0 3px 10px rgba(8,30,44,.04); font-size:.62rem; font-weight:800; text-decoration:none; white-space:nowrap; transition:border-color .15s ease,transform .15s ease; }
.market-scores-back:hover { border-color:var(--color-primary); color:var(--color-primary); transform:translateX(-2px); }
.market-score-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-bottom:.75rem; }
.market-score-summary-card { position:relative; display:flex; overflow:hidden; align-items:center; gap:.72rem; padding:.78rem .9rem; border:1px solid var(--card-border); border-radius:14px; background:var(--card-bg); box-shadow:0 6px 18px rgba(8,30,44,.04); }
.market-score-summary-card:after { position:absolute; right:0; bottom:0; left:0; height:2px; background:#8da6b1; content:""; opacity:.55; }
.market-score-summary-card:nth-child(2):after { background:#18a47c; }
.market-score-summary-card:nth-child(3):after { background:#e2646c; }
.market-score-summary-icon { --summary-tone:#0b91a2; display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:50%; color:var(--summary-tone); background:color-mix(in srgb,var(--summary-tone) 9%,var(--card-bg)); font-size:.83rem; }
.market-score-summary-icon.is-buy { --summary-tone:#059669; }
.market-score-summary-icon.is-sell { --summary-tone:#dc4b55; }
.market-score-summary-card>span:last-child { display:grid; gap:.08rem; }
.market-score-summary-card small { color:var(--muted-text); font-size:.61rem; font-weight:750; }
.market-score-summary-card strong { color:var(--text-color); font-size:1.05rem; font-weight:900; line-height:1; }
.market-score-guide { display:flex; align-items:center; gap:.5rem; margin-bottom:1rem; padding:.62rem .78rem; border:1px solid color-mix(in srgb,#5f7d8b 16%,var(--card-border)); border-radius:12px; color:#617180; background:color-mix(in srgb,#edf4f5 58%,var(--card-bg)); font-size:.62rem; line-height:1.4; }
.market-score-guide>i { color:#52798a; font-size:.7rem; }
.market-score-guide strong { color:var(--text-color); font-weight:850; }
.market-score-highlights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.market-score-column { --score-tone:#159573; overflow:hidden; border:1px solid color-mix(in srgb,var(--score-tone) 18%,var(--card-border)); border-radius:18px; background:var(--card-bg); box-shadow:0 10px 28px rgba(8,30,44,.05); }
.market-score-column.is-sell { --score-tone:#dc4b55; }
.market-score-column>header { display:flex; align-items:center; gap:.72rem; padding:.88rem 1rem; border-bottom:1px solid color-mix(in srgb,var(--score-tone) 13%,var(--card-border)); background:color-mix(in srgb,var(--score-tone) 3%,var(--card-bg)); }
.market-score-column-icon { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:50%; color:var(--score-tone); background:color-mix(in srgb,var(--score-tone) 9%,var(--card-bg)); font-size:.82rem; }
.market-score-column h2,.market-score-overview-card h2 { margin:0; color:var(--text-color) !important; font-size:.92rem; font-weight:850; }
.market-score-column header p { margin:.13rem 0 0; color:var(--muted-text); font-size:.61rem; }
.market-score-column.is-empty>header { padding-top:.75rem; padding-bottom:.75rem; }
.market-score-column.is-empty .market-score-column-icon { width:34px; height:34px; flex-basis:34px; }
.market-score-card-list { display:grid; gap:.58rem; padding:.8rem; }
.market-score-highlight-card { display:grid; grid-template-columns:24px 44px minmax(0,1fr) auto 18px; grid-template-rows:auto auto; align-items:center; gap:.18rem .65rem; padding:.7rem .72rem; border:1px solid var(--card-border); border-radius:13px; color:inherit; background:linear-gradient(110deg,color-mix(in srgb,var(--score-tone) 5%,var(--card-bg)),var(--card-bg)); text-decoration:none; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.market-score-highlight-card:hover { border-color:color-mix(in srgb,var(--score-tone) 42%,var(--card-border)); color:inherit; box-shadow:0 8px 20px color-mix(in srgb,var(--score-tone) 9%,transparent); transform:translateY(-2px); }
.market-score-rank { grid-column:1; grid-row:1/3; color:color-mix(in srgb,var(--score-tone) 78%,var(--muted-text)); font-size:.58rem; font-weight:900; text-align:center; }
.market-score-coin-icon { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:50%; }
.market-score-coin-icon>.bot-coin-icon { display:grid; width:100%; height:100%; place-items:center; border-radius:50%; box-shadow:0 6px 14px rgba(15,34,49,.14); font-size:1rem; }
.market-score-coin-icon>.bot-coin-icon.has-image { overflow:hidden; padding:2px; background:#fff; }
.market-score-coin-icon>.bot-coin-icon.has-image>img { display:block; width:100%; height:100%; border-radius:50%; object-fit:contain; }
.market-score-highlight-card>.market-score-coin-icon { grid-column:2; grid-row:1/3; }
.market-score-identity,.market-score-table-asset>div,.analysis-asset-identity>div { display:grid; min-width:0; }
.market-score-highlight-card>.market-score-identity { grid-column:3; grid-row:1; }
.market-score-identity strong,.market-score-table-asset strong,.analysis-asset-identity strong { color:var(--text-color); font-size:.78rem; font-weight:850; }
.market-score-identity small,.market-score-table-asset small,.analysis-asset-identity small { overflow:hidden; color:var(--muted-text); font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
.market-score-value { display:grid; grid-column:4; grid-row:1/3; justify-items:end; color:var(--score-tone); line-height:1; }
.market-score-value strong { font-size:1.2rem; font-weight:900; font-variant-numeric:tabular-nums; }
.market-score-value small { margin-top:.1rem; color:var(--muted-text); font-size:.48rem; font-weight:750; text-transform:uppercase; }
.market-score-highlight-meter { overflow:hidden; grid-column:3; grid-row:2; width:100%; height:5px; border-radius:99px; background:color-mix(in srgb,var(--score-tone) 12%,var(--card-bg)); }
.market-score-highlight-meter i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,color-mix(in srgb,var(--score-tone) 65%,#fff),var(--score-tone)); }
.market-score-card-arrow { grid-column:5; grid-row:1/3; color:color-mix(in srgb,var(--score-tone) 62%,var(--muted-text)); font-size:.55rem; transition:transform .15s ease; }
.market-score-highlight-card:hover .market-score-card-arrow { transform:translateX(2px); }
.market-score-empty { display:flex; min-height:68px; align-items:center; justify-content:center; gap:.48rem; padding:.8rem 1rem; color:var(--muted-text); font-size:.64rem; text-align:center; }
.market-score-empty>i { color:color-mix(in srgb,var(--score-tone) 55%,var(--muted-text)); }
.market-score-overview-card { overflow:hidden; border:1px solid var(--card-border); border-radius:18px; background:var(--card-bg); box-shadow:0 14px 36px rgba(8,30,44,.055); }
.market-score-overview-card>header,.analysis-assets-card-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border-bottom:1px solid var(--card-border); }
.market-score-overview-card>header>span { color:var(--muted-text); font-size:.64rem; font-weight:700; }
.market-score-table { width:100%; border-collapse:collapse; }
.market-score-table th { padding:.65rem .8rem; color:var(--muted-text); background:var(--hover-bg); font-size:.58rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.market-score-table td { padding:.72rem .8rem; border-top:1px solid var(--card-border); color:var(--text-color); font-size:.68rem; vertical-align:middle; }
.market-score-table-asset,.analysis-asset-identity { display:flex; min-width:150px; align-items:center; gap:.65rem; }
.analysis-asset-identity>.bot-coin-icon { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:50%; color:#fff; box-shadow:0 5px 12px rgba(15,34,49,.12); font-size:.78rem; font-weight:900; }
.market-score-table-asset>.market-score-coin-icon { width:38px; height:38px; flex-basis:38px; }
.market-score-meter { --meter:#059669; display:grid; min-width:130px; grid-template-columns:40px 24px 70px; align-items:center; gap:.38rem; color:var(--meter); }
.market-score-meter.is-sell { --meter:#dc4b55; }
.market-score-meter-label { color:var(--meter); font-size:.55rem; font-weight:850; }
.market-score-meter strong { font-size:.72rem; font-weight:900; font-variant-numeric:tabular-nums; }
.market-score-meter>span { overflow:hidden; height:5px; border-radius:99px; background:color-mix(in srgb,var(--meter) 13%,var(--card-bg)); }
.market-score-meter>span>i { display:block; height:100%; border-radius:inherit; background:var(--meter); }
.market-score-signal { display:inline-flex; align-items:center; gap:.32rem; padding:.3rem .48rem; border-radius:999px; color:var(--muted-text); background:var(--hover-bg); font-size:.6rem; font-weight:800; white-space:nowrap; }
.market-score-signal>i { font-size:.52rem; }
.market-score-signal.is-buy { color:#057255; background:rgba(16,185,129,.13); }
.market-score-signal.is-sell { color:#b8323d; background:rgba(239,68,68,.12); }
.market-score-signal.is-sell-warning,.market-score-signal.is-watch { color:#9a6500; background:rgba(245,158,11,.13); }
.market-score-open { display:inline-flex; min-height:30px; align-items:center; justify-content:center; gap:.35rem; margin-left:auto; padding:.34rem .48rem; border:1px solid var(--card-border); border-radius:9px; color:var(--muted-text); font-size:.58rem; font-weight:800; text-decoration:none; }
.market-score-open:hover { border-color:var(--color-primary); color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)); }
.market-score-open>i { font-size:.5rem; }
.market-score-unavailable { color:var(--muted-text); font-size:.64rem; }

.analysis-assets-grid { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(520px,1.35fr); align-items:start; gap:1rem; }
.analysis-assets-card-heading h2 { margin:.1rem 0 0; color:var(--text-color); font-size:1rem; font-weight:850; }
.analysis-assets-count { padding:.3rem .5rem; border-radius:999px; color:var(--muted-text); background:var(--hover-bg); font-size:.6rem; font-weight:800; white-space:nowrap; }
.analysis-asset-form { display:grid; gap:.45rem; padding:1rem 1.1rem 1.15rem; }
.analysis-asset-form label { margin-top:.25rem; color:var(--text-color); font-size:.68rem; font-weight:800; }
.analysis-asset-form input { width:100%; min-height:40px; padding:.55rem .65rem; border:1px solid var(--card-border); border-radius:10px; color:var(--text-color); background:var(--card-bg); font-size:.72rem; }
.analysis-asset-form input:focus { outline:2px solid color-mix(in srgb,var(--color-primary) 24%,transparent); border-color:var(--color-primary); }
.analysis-asset-form small { color:var(--muted-text); font-size:.6rem; line-height:1.45; }
.analysis-asset-form .btn { min-height:40px; margin-top:.55rem; font-size:.7rem; font-weight:800; }
.analysis-assets-table td { font-size:.68rem; }
.analysis-assets-table form { display:inline-flex; }
.analysis-assets-table .btn { white-space:nowrap; }

/* Gridvergelijking */
.bot-grid-comparison-link { --comparison-tone:#087d81; display:flex; min-height:58px; margin:.65rem 0; padding:.6rem .75rem; align-items:center; justify-content:space-between; gap:.75rem; border:1px solid color-mix(in srgb,var(--comparison-tone) 18%,var(--card-border)); border-radius:14px; color:inherit; background:color-mix(in srgb,var(--comparison-tone) 3%,var(--card-bg)); text-decoration:none; box-shadow:0 6px 18px rgba(8,30,44,.035); }
.bot-grid-comparison-link.is-margin { --comparison-tone:#2563eb; }
.bot-grid-comparison-link>span { display:flex; min-width:0; align-items:center; gap:.55rem; }
.bot-grid-comparison-link>span:first-child>i { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:10px; color:var(--comparison-tone); background:color-mix(in srgb,var(--comparison-tone) 10%,var(--card-bg)); font-size:.72rem; }
.bot-grid-comparison-link>span:first-child>span { display:grid; min-width:0; gap:.04rem; }
.bot-grid-comparison-link strong { color:var(--text-color); font-size:.76rem; font-weight:900; }
.bot-grid-comparison-link small { overflow:hidden; color:var(--muted-text); font-size:.54rem; text-overflow:ellipsis; white-space:nowrap; }
.bot-grid-comparison-link>span:last-child { flex:none; color:var(--comparison-tone); }
.bot-grid-comparison-link b { display:grid; min-width:24px; height:24px; padding:0 .3rem; place-items:center; border-radius:999px; background:color-mix(in srgb,var(--comparison-tone) 10%,var(--card-bg)); font-size:.6rem; }
.bot-grid-comparison-link>span:last-child>i { font-size:.58rem; }
.bot-grid-comparison-link:hover { border-color:color-mix(in srgb,var(--comparison-tone) 38%,var(--card-border)); color:inherit; background:color-mix(in srgb,var(--comparison-tone) 6%,var(--card-bg)); }

.grid-comparison-page { width:min(1180px,100%); margin:0 auto; padding:1.2rem 1rem 2rem; }
.grid-comparison-hero { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; padding:1rem 1.1rem; border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--card-border)); border-radius:18px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)),var(--card-bg)); box-shadow:0 12px 32px rgba(8,30,44,.045); }
.grid-comparison-hero>div>span { color:var(--color-primary); font-size:.7rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.grid-comparison-hero>div>span i { margin-right:.32rem; }
.grid-comparison-hero h1 { margin:.15rem 0 .12rem; color:var(--text-color); font-size:1.5rem; font-weight:900; letter-spacing:-.025em; }
.grid-comparison-hero p { margin:0; color:var(--muted-text); font-size:.78rem; line-height:1.45; }
.grid-comparison-hero>a { display:inline-flex; min-height:40px; padding:.48rem .72rem; align-items:center; gap:.38rem; border:1px solid var(--card-border); border-radius:11px; color:var(--muted-text); background:var(--card-bg); font-size:.72rem; font-weight:850; text-decoration:none; white-space:nowrap; }
.grid-comparison-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; margin-bottom:.8rem; padding:.3rem; border:1px solid var(--card-border); border-radius:14px; background:var(--card-bg); }
.grid-comparison-tabs a { display:flex; min-height:46px; padding:.55rem .75rem; align-items:center; justify-content:center; gap:.48rem; border:1px solid transparent; border-radius:10px; color:var(--muted-text); font-size:.8rem; font-weight:850; text-decoration:none; }
.grid-comparison-tabs a.is-active { border-color:color-mix(in srgb,var(--color-primary) 32%,var(--card-border)); color:#007f73; background:color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)); box-shadow:0 4px 12px rgba(8,170,164,.08); }
.grid-comparison-tabs b { display:grid; min-width:24px; height:24px; padding:0 .3rem; place-items:center; border-radius:999px; background:color-mix(in srgb,currentColor 9%,transparent); font-size:.65rem; }
.grid-comparison-overview { --comparison-tone:#087d81; overflow:hidden; border:1px solid color-mix(in srgb,var(--comparison-tone) 18%,var(--card-border)); border-radius:18px; background:var(--card-bg); box-shadow:0 12px 34px rgba(8,30,44,.045); }
.grid-comparison-overview.is-margin { --comparison-tone:#2563eb; }
.grid-comparison-overview>header { display:flex; min-height:62px; padding:.75rem .9rem; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--comparison-tone) 3%,var(--card-bg)); }
.grid-comparison-overview h2 { margin:0; color:var(--text-color); font-size:1.02rem; font-weight:900; }
.grid-comparison-overview header p { margin:.15rem 0 0; color:var(--muted-text); font-size:.69rem; }
.grid-comparison-overview>header>span { padding:.34rem .56rem; border-radius:999px; color:var(--comparison-tone); background:color-mix(in srgb,var(--comparison-tone) 9%,var(--card-bg)); font-size:.68rem; font-weight:850; }
.grid-comparison-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--card-border); }
.grid-comparison-totals>span { display:grid; min-height:68px; padding:.65rem .8rem; align-content:center; gap:.12rem; border-left:1px solid var(--card-border); }
.grid-comparison-totals>span:first-child { border-left:0; }
.grid-comparison-totals small,.grid-comparison-result small,.grid-comparison-details small { color:var(--muted-text); font-size:.65rem; font-weight:780; }
.grid-comparison-totals strong { color:var(--text-color); font-size:1.05rem; font-weight:900; }
.grid-comparison-list { display:grid; gap:.5rem; padding:.7rem; background:color-mix(in srgb,var(--hover-bg) 45%,var(--card-bg)); }
.grid-comparison-item { overflow:hidden; border:1px solid var(--card-border); border-radius:13px; background:var(--card-bg); }
.grid-comparison-item>summary { display:grid; min-height:82px; grid-template-columns:minmax(220px,.9fr) minmax(420px,1.5fr) 24px; align-items:center; gap:.85rem; padding:.72rem .8rem; cursor:pointer; list-style:none; }
.grid-comparison-item>summary::-webkit-details-marker { display:none; }
.grid-comparison-item[open]>summary { border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--comparison-tone) 3%,var(--card-bg)); }
.grid-comparison-identity { display:grid; min-width:0; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:.65rem; }
.grid-comparison-identity>span:first-child { width:42px; height:42px; }
.grid-comparison-identity>span:last-child { display:grid; min-width:0; gap:.12rem; }
.grid-comparison-identity strong { color:var(--text-color); font-size:.92rem; font-weight:900; }
.grid-comparison-identity strong em { display:inline-block; margin-left:.22rem; padding:.15rem .3rem; border-radius:999px; color:var(--comparison-tone); background:color-mix(in srgb,var(--comparison-tone) 9%,var(--card-bg)); font-size:.59rem; font-style:normal; vertical-align:middle; }
.grid-comparison-identity small { overflow:hidden; color:var(--muted-text); font-size:.66rem; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.grid-comparison-quick-stats { display:grid; min-width:0; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--card-border); border-radius:11px; background:color-mix(in srgb,var(--hover-bg) 42%,var(--card-bg)); }
.grid-comparison-quick-stats>span { display:grid; min-width:0; min-height:50px; padding:.42rem .55rem; align-content:center; gap:.08rem; border-left:1px solid var(--card-border); }
.grid-comparison-quick-stats>span:first-child { border-left:0; }
.grid-comparison-quick-stats small { overflow:hidden; color:var(--muted-text); font-size:.61rem; font-weight:780; text-overflow:ellipsis; white-space:nowrap; }
.grid-comparison-quick-stats strong { overflow:hidden; color:var(--text-color); font-size:.82rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.grid-comparison-result { display:grid; min-width:0; justify-items:end; gap:.07rem; }
.grid-comparison-result strong { color:var(--text-color); font-size:.82rem; font-weight:900; font-variant-numeric:tabular-nums; }
.grid-comparison-chevron { color:var(--muted-text); font-size:.6rem; transition:transform .18s ease; }
.grid-comparison-item[open] .grid-comparison-chevron { transform:rotate(180deg); }
.grid-comparison-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-comparison-details>span { display:grid; min-height:62px; padding:.55rem .7rem; align-content:center; gap:.1rem; border-top:1px solid var(--card-border); border-left:1px solid var(--card-border); }
.grid-comparison-details>span:nth-child(-n+3) { border-top:0; }
.grid-comparison-details>span:nth-child(3n+1) { border-left:0; }
.grid-comparison-details strong { color:var(--text-color); font-size:.78rem; font-weight:850; line-height:1.4; }
.grid-comparison-page .is-positive { color:#059669!important; }
.grid-comparison-page .is-negative { color:#dc4b55!important; }

/* Losse tradingpagina's: strategieprestaties en persoonlijke marginconfiguratie. */
.trading-settings-page { width:min(1180px,100%); margin:0 auto; padding:1.2rem 1rem 2rem; }
.trading-settings-card { overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:18px; background:var(--card-bg); box-shadow:0 12px 32px rgba(8,30,44,.05); }
.trading-protection-overview { margin-bottom:.8rem; overflow:hidden; border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border)); border-radius:16px; background:var(--card-bg); box-shadow:0 10px 26px rgba(8,30,44,.04); }
.trading-protection-overview>header { display:flex; align-items:center; gap:.65rem; padding:.75rem .85rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 4%,var(--card-bg)); }
.trading-protection-overview>header>span { display:grid; width:34px; height:34px; flex:none; place-items:center; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,transparent); }
.trading-protection-overview>header>div { min-width:0; flex:1; }.trading-protection-overview h2 { margin:0; color:var(--text-color); font-size:.84rem; font-weight:900; }.trading-protection-overview header p { margin:.08rem 0 0; color:var(--muted-text); font-size:.6rem; }
.trading-protection-overview>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.trading-protection-overview>div>span { display:grid; min-width:0; min-height:70px; padding:.7rem .8rem; align-content:center; gap:.1rem; border-left:1px solid var(--card-border); }
.trading-protection-overview>div>span:first-child { border-left:0; }.trading-protection-overview small { color:var(--muted-text); font-size:.56rem; font-weight:800; }.trading-protection-overview strong { overflow:hidden; color:var(--text-color); font-size:.9rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }.trading-protection-overview em { color:var(--muted-text); font-size:.5rem; font-style:normal; }.trading-protection-overview .is-positive strong { color:#059669; }.trading-protection-overview .is-negative strong { color:#dc4b55; }
.trading-settings-card-header { display:flex; align-items:center; gap:.75rem; padding:1rem 1.1rem; border-bottom:1px solid var(--card-border); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)),var(--card-bg)); }
.trading-settings-card-header>span { display:grid; width:42px; min-width:42px; height:42px; place-items:center; border-radius:12px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 12%,transparent); }
.trading-settings-card-header h2 { margin:0; color:var(--text-color); font-size:1rem; font-weight:900; }
.trading-settings-card-header p { margin:.12rem 0 0; color:var(--muted-text); font-size:.7rem; }
.trading-settings-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; padding:.65rem; border-bottom:1px solid var(--card-border); background:color-mix(in srgb,var(--color-primary) 2.5%,var(--card-bg)); }
.trading-settings-tabs>button { display:grid; min-width:0; grid-template-columns:auto 1fr auto; align-items:center; gap:.65rem; padding:.72rem .8rem; border:1px solid transparent; border-radius:13px; color:var(--muted-text); background:transparent; text-align:left; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease; }
.trading-settings-tabs>button:hover { color:var(--text-color); background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)); }.trading-settings-tabs>button.is-active { border-color:color-mix(in srgb,var(--color-primary) 28%,var(--card-border)); color:var(--text-color); background:var(--card-bg); box-shadow:0 7px 18px rgba(8,30,44,.07); }
.trading-settings-tabs>button>span:first-child { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 11%,transparent); }.trading-settings-tabs>button>span:nth-child(2) { display:grid; min-width:0; gap:.05rem; }.trading-settings-tabs strong { font-size:.75rem; font-weight:900; }.trading-settings-tabs small { overflow:hidden; font-size:.57rem; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.trading-settings-tabs em { display:inline-flex; align-items:center; gap:.28rem; padding:.25rem .42rem; border-radius:999px; color:var(--muted-text); background:color-mix(in srgb,var(--muted-text) 9%,transparent); font-size:.54rem; font-style:normal; font-weight:900; }.trading-settings-tabs em i { width:6px; height:6px; border-radius:50%; background:currentColor; }.trading-settings-tabs em.is-on { color:#008d77; background:rgba(16,185,129,.11); }
.trading-settings-panel-header { padding:1rem 1.1rem 0; }.trading-settings-panel-header h2 { margin:0; color:var(--text-color); font-size:1rem; font-weight:900; }.trading-settings-panel-header p { margin:.18rem 0 0; color:var(--muted-text); font-size:.66rem; }
.scanner-switch-card { justify-content:center; }.scanner-switch-control { display:flex!important; min-height:44px; align-items:center; gap:.65rem; }.trading-configuration-form .scanner-switch-control input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; white-space:nowrap; }.scanner-switch-control>i { position:relative; width:46px; min-width:46px; height:25px; border-radius:999px; background:#aeb9c2; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08); transition:background .18s ease; }.scanner-switch-control>i::after { position:absolute; top:3px; left:3px; width:19px; height:19px; border-radius:50%; background:#fff; box-shadow:0 2px 7px rgba(8,30,44,.22); content:""; transition:transform .18s ease; }.scanner-switch-control input:checked+i { background:var(--color-primary); }.scanner-switch-control input:checked+i::after { transform:translateX(21px); }.scanner-switch-control input:focus-visible+i { outline:3px solid color-mix(in srgb,var(--color-primary) 28%,transparent); outline-offset:2px; }.scanner-switch-control b { color:var(--text-color); font-size:.72rem; font-weight:900; }
.trading-configuration-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; padding:1rem 1.1rem; }
.trading-configuration-form>label { display:flex; min-width:0; flex-direction:column; gap:.35rem; padding:.8rem; border:1px solid var(--card-border); border-radius:13px; background:color-mix(in srgb,var(--color-primary) 2.5%,var(--card-bg)); }
.trading-configuration-form>label>span:first-child { color:var(--text-color); font-size:.72rem; font-weight:850; }
.trading-configuration-form>label>span:first-child i { width:18px; margin-right:.28rem; color:var(--color-primary); text-align:center; }
.trading-configuration-form input { width:100%; min-width:0; height:44px; padding:.45rem .65rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--input-bg,var(--card-bg)); font-size:1rem; font-weight:900; }
.trading-configuration-form label small { color:var(--muted-text); font-size:.62rem; }
.trading-configuration-form>button { min-height:46px; align-self:end; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 78%,#083d52)); box-shadow:0 9px 20px color-mix(in srgb,var(--color-primary) 18%,transparent); font-size:.72rem; font-weight:900; }
.trading-configuration-form>button i { margin-right:.35rem; }
.trading-settings-explanation { display:flex; align-items:flex-start; gap:.55rem; margin:0 1.1rem 1rem; padding:.72rem .8rem; border-radius:11px; color:var(--muted-text); background:color-mix(in srgb,var(--color-primary) 6%,transparent); font-size:.65rem; line-height:1.45; }
.trading-settings-explanation i { margin-top:.12rem; color:var(--color-primary); }.trading-settings-explanation p { margin:0; }
.strategy-comparison-page-card .table-responsive { overflow-x:auto; }
.strategy-comparison-page-card table { width:100%; min-width:850px; border-collapse:collapse; font-size:.68rem; }
.strategy-comparison-page-card th,.strategy-comparison-page-card td { padding:.78rem .85rem; border-bottom:1px solid var(--card-border); color:var(--text-color); text-align:left; white-space:nowrap; }
.strategy-comparison-page-card th { color:var(--muted-text); background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); font-size:.58rem; font-weight:900; letter-spacing:.035em; text-transform:uppercase; }
.strategy-comparison-page-card tbody tr:hover { background:color-mix(in srgb,var(--color-primary) 3%,transparent); }
.strategy-comparison-page-card td.positive { color:#059669; font-weight:900; }.strategy-comparison-page-card td.negative { color:#dc4b55; font-weight:900; }
.strategy-mode-badge { display:inline-flex; align-items:center; min-height:24px; padding:.22rem .48rem; border-radius:999px; font-size:.58rem; font-weight:900; }
.strategy-mode-badge.is-spot { color:#008d77; background:rgba(16,185,129,.11); }.strategy-mode-badge.is-margin { color:#2869ce; background:rgba(59,130,246,.11); }
.trading-settings-note { margin:0; padding:.75rem .9rem; color:var(--muted-text); background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg)); font-size:.62rem; line-height:1.45; }.trading-settings-note i { margin-right:.3rem; color:var(--color-primary); }
.trading-settings-empty { display:flex; min-height:220px; align-items:center; justify-content:center; flex-direction:column; gap:.4rem; padding:2rem; color:var(--muted-text); text-align:center; }.trading-settings-empty>i { margin-bottom:.25rem; color:var(--color-primary); font-size:1.8rem; }.trading-settings-empty strong { color:var(--text-color); font-size:.9rem; }.trading-settings-empty span { font-size:.68rem; }
.grid-comparison-empty { display:flex; min-height:120px; padding:1rem; align-items:center; justify-content:center; gap:.5rem; color:var(--muted-text); font-size:.68rem; }
.grid-comparison-empty i { color:var(--comparison-tone); }

@media (max-width:767.98px) {
    .bot-bulk-control { align-items:flex-start; }
    .bot-bulk-control-actions { align-items:flex-end; flex-direction:column-reverse; gap:.42rem; }
    .bot-inline-engine { font-size:.53rem; }
    .trading-settings-page { padding:.6rem .6rem 5.5rem; }
    .trading-settings-card { border-radius:14px; }
    .trading-protection-overview>header { align-items:flex-start; flex-wrap:wrap; }.trading-protection-overview>header>b { margin-left:42px; }
    .trading-protection-overview>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .trading-protection-overview>div>span:nth-child(odd) { border-left:0; }.trading-protection-overview>div>span:nth-child(n+3) { border-top:1px solid var(--card-border); }
    .trading-settings-card-header { padding:.78rem; }
    .trading-settings-tabs { grid-template-columns:1fr; }.trading-settings-tabs>button { padding:.62rem; }.trading-settings-panel-header { padding:.82rem .75rem 0; }
    .trading-configuration-form { grid-template-columns:1fr; gap:.55rem; padding:.75rem; }
    .trading-configuration-form>label { padding:.68rem; }
    .trading-settings-explanation { margin:0 .75rem .75rem; }
    .strategy-comparison-page-card table { min-width:780px; }
    .strategy-comparison-page-card th,.strategy-comparison-page-card td { padding:.68rem .72rem; }
    .grid-comparison-page { padding:.6rem .6rem 5.5rem; }
    .grid-comparison-hero { align-items:flex-start; margin-bottom:.55rem; padding:.72rem; border-radius:14px; }
    .grid-comparison-hero>div>span { font-size:.65rem; }
    .grid-comparison-hero h1 { font-size:1.28rem; }
    .grid-comparison-hero p { font-size:.72rem; line-height:1.45; }
    .grid-comparison-hero>a { width:36px; min-width:36px; height:36px; min-height:36px; padding:0; justify-content:center; border-radius:50%; }
    .grid-comparison-hero>a span { display:none; }
    .grid-comparison-tabs { margin-bottom:.55rem; }
    .grid-comparison-tabs a { min-height:44px; padding:.46rem; font-size:.78rem; }
    .grid-comparison-overview { border-radius:14px; }
    .grid-comparison-overview>header { min-height:54px; padding:.62rem .7rem; }
    .grid-comparison-overview h2 { font-size:.96rem; }
    .grid-comparison-overview header p { font-size:.64rem; }
    .grid-comparison-overview>header>span { font-size:.64rem; }
    .grid-comparison-totals>span { min-height:68px; padding:.55rem .58rem; }
    .grid-comparison-totals small { font-size:.6rem; line-height:1.25; }
    .grid-comparison-totals strong { font-size:.94rem; }
    .grid-comparison-list { gap:.42rem; padding:.45rem; }
    .grid-comparison-item>summary { grid-template-columns:minmax(0,1fr) 20px; grid-template-areas:"identity chevron" "stats stats"; gap:.55rem .4rem; padding:.68rem; }
    .grid-comparison-identity { grid-area:identity; grid-template-columns:40px minmax(0,1fr); gap:.55rem; }
    .grid-comparison-identity>span:first-child { width:40px; height:40px; }
    .grid-comparison-identity strong { font-size:.9rem; }
    .grid-comparison-identity strong em { margin-left:.14rem; font-size:.56rem; }
    .grid-comparison-identity small { max-width:none; font-size:.63rem; line-height:1.35; white-space:normal; }
    .grid-comparison-quick-stats { grid-area:stats; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grid-comparison-quick-stats>span { min-height:52px; padding:.42rem .5rem; }
    .grid-comparison-quick-stats>span:nth-child(odd) { border-left:0; }
    .grid-comparison-quick-stats>span:nth-child(n+3) { border-top:1px solid var(--card-border); }
    .grid-comparison-quick-stats small { font-size:.61rem; }
    .grid-comparison-quick-stats strong { font-size:.83rem; }
    .grid-comparison-chevron { grid-area:chevron; align-self:center; }
    .grid-comparison-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grid-comparison-details>span { min-height:58px; padding:.5rem .58rem; }
    .grid-comparison-details>span:nth-child(-n+3) { border-top:1px solid var(--card-border); }
    .grid-comparison-details>span:nth-child(-n+2) { border-top:0; }
    .grid-comparison-details>span:nth-child(3n+1) { border-left:1px solid var(--card-border); }
    .grid-comparison-details>span:nth-child(2n+1) { border-left:0; }
    .grid-comparison-details small { font-size:.6rem; }
    .grid-comparison-details strong { font-size:.75rem; }
    .bot-grid-comparison-link { min-height:60px; margin:.55rem .6rem; }
    .bot-grid-comparison-link strong { font-size:.76rem; }
    .bot-grid-comparison-link small { max-width:225px; font-size:.55rem; }
}

@media (max-width:991.98px) {
    .market-score-highlights,.analysis-assets-grid { grid-template-columns:1fr; }
    .market-score-overview-card { overflow-x:auto; }
}
@media (max-width:767.98px) {
    .market-analysis-hero-actions { width:100%; align-items:stretch; justify-content:space-between; }
    .market-score-cta { width:174px; height:44px; grid-template-columns:30px minmax(0,1fr) 10px; padding:0 .58rem; }
    .market-score-cta-icon { width:30px; height:30px; }
    .market-scores-hero { padding:.62rem .72rem; border-radius:12px; }
    .market-scores-hero h1 { font-size:1.05rem; }
    .market-scores-back { min-height:34px; padding:.38rem .5rem; }
    .market-score-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.4rem; }
    .market-score-summary-card { align-items:flex-start; flex-direction:column; gap:.4rem; padding:.62rem; }
    .market-score-summary-icon { width:30px; height:30px; flex-basis:30px; font-size:.7rem; }
    .market-score-summary-card small { font-size:.52rem; line-height:1.2; }
    .market-score-summary-card strong { font-size:.92rem; }
    .market-score-guide { align-items:flex-start; margin-bottom:.75rem; padding:.58rem .65rem; font-size:.57rem; }
    .market-score-highlights { gap:.75rem; }
    .market-score-overview-card { overflow:visible; border:0; background:transparent; box-shadow:none; }
    .market-score-overview-card>header { border:1px solid var(--card-border); border-radius:14px 14px 0 0; background:var(--card-bg); }
    .market-score-table,.market-score-table tbody { display:block; }
    .market-score-table thead { display:none; }
    .market-score-table tbody { display:grid; gap:.55rem; padding:.6rem; border:1px solid var(--card-border); border-top:0; border-radius:0 0 14px 14px; background:var(--hover-bg); }
    .market-score-table tr { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:.48rem .65rem; padding:.7rem; border:1px solid var(--card-border); border-radius:13px; background:var(--card-bg); box-shadow:0 5px 14px rgba(8,30,44,.045); }
    .market-score-table td { display:block; min-width:0; padding:0; border:0; }
    .market-score-table td:first-child { grid-column:1/-1; padding:0 2.25rem .55rem 0; border-bottom:1px solid var(--card-border); }
    .market-score-table td:nth-child(4),.market-score-table td:nth-child(5) { display:none; }
    .market-score-table td:last-child { position:absolute; top:.7rem; right:.7rem; }
    .market-score-table-asset { min-width:0; }
    .market-score-table-asset>.market-score-coin-icon { width:34px; height:34px; flex-basis:34px; }
    .market-score-meter { min-width:0; grid-template-columns:1fr auto; gap:.25rem .45rem; }
    .market-score-meter-label { font-size:.55rem; }
    .market-score-meter strong { font-size:.78rem; text-align:right; }
    .market-score-meter>span { grid-column:1/-1; height:4px; }
    .market-score-open>span { display:none; }
    .market-score-open { width:30px; padding:0; border-radius:50%; }
    .analysis-assets-page .admin-page-hero { align-items:flex-start; flex-direction:column; }
}

/* Desktopindeling botkaarten; mobiele presentatie bewust ongewijzigd. */
@media (min-width:992px) {
    .bot-grid-monitor { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .bot-grid-monitor-status { grid-column:span 2; min-height:62px; padding:.52rem .68rem; }
    .bot-grid-monitor-metric { min-height:62px; padding:.52rem .68rem; }
    .bot-grid-monitor-metric.is-range { grid-column:span 2; }
    .bot-grid-monitor-metric:nth-of-type(3) { grid-column:span 2; }
    .bot-grid-monitor-metric:nth-of-type(4) { grid-column:span 3; border-top:1px solid var(--card-border); border-left:0; }
    .bot-grid-monitor-metric.is-rounds { grid-column:span 3; border-top:1px solid var(--card-border); }
    .bot-grid-monitor:not(.is-margin-grid) .bot-grid-monitor-status strong { font-size:.76rem; line-height:1.25; white-space:nowrap; }
    .bot-grid-monitor.is-margin-grid .bot-grid-monitor-status strong { font-size:.78rem; line-height:1.3; }
    .bot-grid-details .bot-grid-prices.is-spot { flex-wrap:wrap; }
    .bot-grid-details .bot-grid-prices.is-spot .bot-grid-price { flex-basis:50%; }
    .bot-grid-details .bot-grid-prices.is-spot .bot-grid-price:nth-child(n+3) { border-top:1px solid var(--card-border); }
    .bot-grid-details .bot-grid-prices.is-spot .bot-grid-price:nth-child(3) { border-left:0; }
    .bot-grid-details .bot-grid-monitor,.bot-grid-details .bot-grid-monitor.is-margin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bot-grid-details .bot-grid-monitor>* { grid-column:auto; min-height:72px; border-top:0; }
    .bot-grid-details .bot-grid-monitor>:nth-child(n+3) { border-top:1px solid var(--card-border); }
    .bot-grid-details .bot-grid-monitor>:nth-child(odd) { border-left:0; }
    .bot-grid-details .bot-grid-monitor>:nth-child(even) { border-left:1px solid var(--card-border); }
    .bot-grid-details .bot-grid-monitor .bot-grid-monitor-metric.is-range strong { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:.32rem; overflow:visible; font-size:.84rem; text-overflow:clip; }
    .bot-grid-details .bot-grid-monitor .bot-grid-monitor-metric.is-range strong span { overflow:visible; text-overflow:clip; white-space:nowrap; }
    .bot-grid-details .bot-grid-monitor .bot-grid-monitor-metric.is-range strong span:last-child { text-align:right; }
    .bot-grid-details .bot-grid-monitor .bot-grid-monitor-metric.is-rounds strong { font-size:.92rem; }
    .bot-grid-details .bot-grid-monitor .bot-grid-monitor-metric em { overflow:visible; white-space:normal; }
    .bot-grid-details.is-margin .bot-grid-details-body .bot-grid-price strong,
    .bot-grid-details.is-margin .bot-grid-details-body .bot-grid-monitor-metric strong,
    .bot-grid-details.is-margin .bot-grid-details-body .bot-grid-monitor-metric.is-range strong,
    .bot-grid-details.is-margin .bot-grid-details-body .bot-grid-monitor-metric.is-rounds strong { font-size:1.02rem; }
}

@media (max-width:767.98px) {
    .bot-grid-details>summary { min-height:68px; grid-template-columns:repeat(3,minmax(0,1fr)) 30px 16px; gap:.28rem; padding:.5rem .58rem; }
    .bot-grid-details.has-visible-status>summary { grid-template-columns:repeat(2,minmax(0,1fr)) 30px 16px; }
    .bot-grid-details.has-visible-status>summary .bot-grid-permission { grid-column:3; grid-row:1/3; align-self:center; }
    .bot-grid-details.has-visible-status>summary .bot-grid-details-chevron { grid-column:4; grid-row:1/3; align-self:center; }
    .bot-grid-balance-bar { margin:.2rem -.58rem -.5rem; }
    .bot-grid-balance-bar:not(.is-single)>span { min-height:48px; justify-content:center; padding:.42rem .3rem; text-align:center; }
    .bot-grid-balance-bar:not(.is-single)>span>i { display:none; }
    .bot-grid-balance-bar:not(.is-single)>span>span { width:100%; justify-items:center; }
    .bot-grid-balance-bar:not(.is-single) small { font-size:.56rem; white-space:nowrap; }
    .bot-grid-balance-bar:not(.is-single) strong { max-width:100%; overflow:visible; font-size:1rem; line-height:1.15; text-overflow:clip; }
    .bot-grid-balance-bar.is-single>span { min-height:44px; padding:.42rem .58rem; }
    .bot-grid-balance-bar.is-single strong { font-size:1.08rem; }
    .bot-grid-profit-breakdown { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bot-grid-profit-breakdown>span { min-height:58px; padding:.46rem .52rem; }
    .bot-grid-profit-breakdown>span:nth-child(odd) { border-left:0; }
    .bot-grid-profit-breakdown>span:nth-child(n+3) { border-top:1px solid var(--card-border); }
    .bot-grid-profit-breakdown>span>i { width:26px; height:26px; flex-basis:26px; }
    .bot-grid-profit-breakdown small { font-size:.62rem; }
    .bot-grid-profit-breakdown strong { font-size:.92rem; }
    .bot-grid-profit-breakdown em { font-size:.55rem; }
    .bot-balance-label-full { display:none; }
    .bot-balance-label-mobile { display:inline; }
    .bot-grid-primary-metric small { min-height:0; font-size:.57rem; white-space:normal; }
    .bot-grid-primary-metric strong { font-size:1.08rem; }
    .bot-grid-details.is-margin .bot-grid-details-body .bot-grid-price strong,
    .bot-grid-details.is-margin .bot-grid-details-body .bot-grid-monitor-metric strong,
    .bot-grid-details.is-margin .bot-grid-details-body .bot-grid-monitor-metric.is-range strong,
    .bot-grid-details.is-margin .bot-grid-details-body .bot-grid-monitor-metric.is-rounds strong { font-size:1.08rem; }
    .bot-grid-primary-metric em { font-size:.55rem; }
    .bot-grid-permission { width:28px; height:28px; font-size:.64rem; }
    .bot-grid-details-chevron { font-size:.56rem; }
    .bot-grid-details .bot-grid-monitor { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bot-grid-details .bot-grid-monitor-status,.bot-grid-details .bot-grid-monitor-metric.is-range { grid-column:1/-1; }
    .bot-grid-details .bot-grid-monitor-metric.is-rounds { grid-column:auto; border-left:1px solid var(--card-border); }
    .bot-grid-details .bot-grid-monitor-metric.is-equity { grid-column:1/-1; border-left:0; }
    .bot-grid-secondary-metrics>div { min-height:70px; }
}

/* Leesbaarheid en prestatiewaardering gridvergelijking. */
.grid-comparison-hero>div>span { font-size:.78rem; }
.grid-comparison-hero h1 { font-size:1.7rem; }
.grid-comparison-hero p { font-size:.85rem; }
.grid-comparison-tabs a { font-size:.9rem; }
.grid-comparison-tabs b { font-size:.72rem; }
.grid-comparison-overview h2 { font-size:1.12rem; }
.grid-comparison-overview header p { font-size:.76rem; }
.grid-comparison-overview>header>span { font-size:.72rem; }
.grid-comparison-totals small,.grid-comparison-result small,.grid-comparison-details small { font-size:.72rem; }
.grid-comparison-totals strong { font-size:1.15rem; }
.grid-comparison-identity strong { font-size:1rem; }
.grid-comparison-identity small { font-size:.72rem; }
.grid-comparison-quick-stats small { font-size:.68rem; }
.grid-comparison-quick-stats strong { font-size:.92rem; }
.grid-comparison-details strong { font-size:.85rem; }
.grid-comparison-rating { display:flex; min-width:0; align-items:center; gap:.42rem; margin-top:.12rem; }
.grid-comparison-rating>span { display:inline-flex; align-items:center; gap:.06rem; white-space:nowrap; }
.grid-comparison-rating i { color:color-mix(in srgb,var(--muted-text) 28%,transparent); font-size:.82rem; font-style:normal; line-height:1; }
.grid-comparison-rating i.is-filled { color:#f59e0b; text-shadow:0 1px 5px rgba(245,158,11,.16); }
.grid-comparison-rating>small { color:var(--muted-text); font-size:.64rem; font-weight:800; white-space:nowrap; }

@media (max-width:767.98px) {
    .grid-comparison-hero>div>span { font-size:.7rem; }
    .grid-comparison-hero h1 { font-size:1.38rem; }
    .grid-comparison-hero p { font-size:.78rem; }
    .grid-comparison-tabs a { font-size:.84rem; }
    .grid-comparison-overview h2 { font-size:1.02rem; }
    .grid-comparison-overview header p { font-size:.7rem; }
    .grid-comparison-overview>header>span { font-size:.68rem; }
    .grid-comparison-totals small { font-size:.65rem; }
    .grid-comparison-totals strong { font-size:1rem; }
    .grid-comparison-identity strong { font-size:.98rem; }
    .grid-comparison-identity small { font-size:.69rem; }
    .grid-comparison-rating i { font-size:.86rem; }
    .grid-comparison-rating>small { font-size:.63rem; }
    .grid-comparison-quick-stats small { font-size:.67rem; }
    .grid-comparison-quick-stats strong { font-size:.9rem; }
    .grid-comparison-details small { font-size:.66rem; }
    .grid-comparison-details strong { font-size:.82rem; }
}

/* Marktanalyse: hoger kleurcontrast in darkmode, zonder de layout te wijzigen. */
:root[data-theme="dark"] .market-analysis-page {
    --market-analysis-accent:#43d9e6;
    --market-analysis-text:#f1f7fb;
    --market-analysis-muted:#b8cad8;
    --market-analysis-subtle:#9eb5c5;
    --market-analysis-border:#31526a;
    --market-analysis-control:#172c40;
    --market-analysis-buy:#38d9a9;
    --market-analysis-sell:#ff7185;
    --market-analysis-warning:#fbbf24;
    --market-analysis-purple:#c4b5fd;
    --market-analysis-track:#2a4357;
    --market-analysis-icon-surface:#1d3549;
    --market-analysis-icon-text:#e5edf4;
    --market-analysis-score-surface:#172c40;
}

@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) .market-analysis-page {
        --market-analysis-accent:#43d9e6;
        --market-analysis-text:#f1f7fb;
        --market-analysis-muted:#b8cad8;
        --market-analysis-subtle:#9eb5c5;
        --market-analysis-border:#31526a;
        --market-analysis-control:#172c40;
        --market-analysis-buy:#38d9a9;
        --market-analysis-sell:#ff7185;
        --market-analysis-warning:#fbbf24;
        --market-analysis-purple:#c4b5fd;
        --market-analysis-track:#2a4357;
        --market-analysis-icon-surface:#1d3549;
        --market-analysis-icon-text:#e5edf4;
        --market-analysis-score-surface:#172c40;
    }
}

.market-analysis-page .market-analysis-eyebrow,
.market-analysis-page .market-analysis-toolbar h2 {
    color:var(--market-analysis-accent,#008f84);
}
.market-analysis-page .market-analysis-hero p,
.market-analysis-page .market-analysis-toolbar p,
.market-analysis-page .market-analysis-asset-picker,
.market-analysis-page .market-analysis-date-filter label,
.market-analysis-page .market-provisional-heading>small,
.market-analysis-page .market-signal-copy p {
    color:var(--market-analysis-muted,var(--muted-text));
}
.market-analysis-page .market-analysis-status {
    border-color:var(--market-analysis-border,color-mix(in srgb,var(--color-primary) 20%,var(--card-border)));
    color:var(--market-analysis-muted,var(--muted-text));
}
.market-analysis-page .market-score-cta {
    border-color:var(--market-analysis-border,color-mix(in srgb,var(--color-primary) 28%,var(--card-border)));
    color:var(--market-analysis-text,#173b47);
    background:var(--market-analysis-control,linear-gradient(105deg,color-mix(in srgb,var(--color-primary) 10%,var(--card-bg)),var(--card-bg)));
}
.market-analysis-page .market-score-cta-copy small,
.market-analysis-page .market-score-cta-arrow {
    color:var(--market-analysis-subtle,#67808a);
}
.market-analysis-page .market-score-cta-icon {
    color:var(--market-analysis-accent,#087f78);
}
.market-analysis-page .market-analysis-card,
.market-analysis-page .market-analysis-asset-picker select,
.market-analysis-page .market-analysis-ranges button,
.market-analysis-page .market-analysis-date-filter input,
.market-analysis-page .market-signal-card,
.market-analysis-page .market-signal-score {
    border-color:var(--market-analysis-border,var(--card-border));
}
.market-analysis-page .market-analysis-asset-picker select,
.market-analysis-page .market-analysis-date-filter input {
    color:var(--market-analysis-text,var(--text-color));
}
.market-analysis-page .market-analysis-ranges button {
    color:var(--market-analysis-muted,var(--muted-text));
}
.market-analysis-page .market-analysis-ranges button.active,
.market-analysis-page .market-analysis-date-filter button {
    border-color:var(--market-analysis-accent,color-mix(in srgb,var(--color-primary) 55%,var(--card-border)));
    color:var(--market-analysis-accent,#007f73);
    background:var(--market-analysis-control,color-mix(in srgb,var(--color-primary) 13%,var(--card-bg)));
}
.market-analysis-page .market-signal-card:not(.is-buy):not(.is-continuation):not(.is-watch):not(.is-sell-warning):not(.is-sell) {
    --signal-color:var(--market-analysis-subtle,#64748b);
}
.market-analysis-page .market-signal-copy>span {
    color:var(--market-analysis-subtle,var(--signal-color));
}
.market-analysis-page .market-signal-copy h3,
.market-analysis-page .market-provisional-heading>span {
    color:var(--market-analysis-text,var(--text-color));
}
.market-analysis-page .market-signal-score-track {
    background:var(--market-analysis-track,color-mix(in srgb,#94a3b8 16%,var(--card-bg)));
}
.market-analysis-page .market-signal-score.is-buy>span,
.market-analysis-page .market-signal-score.is-buy>strong,
.market-analysis-page .market-signal-score.is-buy>.market-signal-score-icon,
.market-analysis-page .market-provisional-ranges>b.is-buy {
    color:var(--market-analysis-buy,#059669);
}
.market-analysis-page .market-signal-score.is-buy .market-signal-score-track i {
    background:var(--market-analysis-buy,#059669);
}
.market-analysis-page .market-signal-score.is-sell>span,
.market-analysis-page .market-signal-score.is-sell>strong,
.market-analysis-page .market-signal-score.is-sell>.market-signal-score-icon,
.market-analysis-page .market-provisional-ranges>b.is-sell {
    color:var(--market-analysis-sell,#dc4b55);
}
.market-analysis-page .market-signal-score.is-sell .market-signal-score-track i {
    background:var(--market-analysis-sell,#dc4b55);
}
.market-analysis-page .market-provisional-ranges>b.is-buy {
    background:color-mix(in srgb,var(--market-analysis-buy,#059669) 14%,transparent);
}
.market-analysis-page .market-provisional-ranges>b.is-sell {
    background:color-mix(in srgb,var(--market-analysis-sell,#dc4b55) 14%,transparent);
}
.market-analysis-page .market-pullback-main>span,
.market-analysis-page .market-pullback-current-label,
.market-analysis-page .market-pullback-pattern span,
.market-analysis-page .market-pullback-probability strong,
.market-analysis-page .market-pullback-outcome.is-depth>strong {
    color:var(--market-analysis-warning,#c47c00);
}
.market-analysis-page .market-pullback-probability.is-up strong,
.market-analysis-page .market-current-value.is-fear>i,
.market-analysis-page .market-live-label,
.market-analysis-page .market-pullback-outcome.is-recovery>strong.is-positive,
.market-analysis-page .market-pullback-extremes b.is-positive {
    color:var(--market-analysis-buy,#059669);
}
.market-analysis-page .market-pullback-outcome.is-recovery>strong.is-negative,
.market-analysis-page .market-pullback-extremes b.is-negative {
    color:var(--market-analysis-sell,#dc4b55);
}
.market-analysis-page .market-current-value.is-btc>i {
    color:var(--market-analysis-warning,#d97706);
}
.market-analysis-page .market-current-value.is-rsi>i {
    color:var(--market-analysis-purple,#7c3aed);
}
.market-analysis-page .market-current-value,
.market-analysis-page .market-pullback-probability,
.market-analysis-page .market-pullback-card {
    border-color:var(--market-analysis-border,var(--card-border));
}
.market-analysis-page .market-current-value small,
.market-analysis-page .market-pullback-probability small,
.market-analysis-page .market-pullback-probability span,
.market-analysis-page .market-pullback-pattern,
.market-analysis-page .market-pullback-main>small,
.market-analysis-page .market-pullback-outcome>small,
.market-analysis-page .market-pullback-outcome>span,
.market-analysis-page .market-pullback-extremes span,
.market-analysis-page .market-analysis-panel header small,
.market-analysis-page .market-analysis-panel header h3 small {
    color:var(--market-analysis-muted,var(--muted-text));
}
.market-analysis-page .market-chart-mode-button,
.market-analysis-page .market-signal-visibility-button {
    color:var(--market-analysis-subtle,var(--muted-text));
}
.market-analysis-page .market-chart-mode-button.active,
.market-analysis-page .market-signal-visibility-button.active {
    color:var(--market-analysis-accent,#008f84);
}

/* Tradingbot: duidelijker kleurcontrast in darkmode en systeem-darkmode. */
:root[data-theme="dark"] .bot-page {
    --bot-dark-accent:#45dce8;
    --bot-dark-text:#f1f7fb;
    --bot-dark-muted:#b8cad8;
    --bot-dark-subtle:#9fb5c5;
    --bot-dark-border:#31526a;
    --bot-dark-buy:#3fdda9;
    --bot-dark-sell:#ff7185;
    --bot-dark-warning:#ffc857;
    --bot-dark-blue:#7dd3fc;
    --bot-dark-purple:#c4b5fd;
    --bot-dark-trend-rider:#fdba74;
    --bot-dark-ta:#67e8f9;
    --bot-dark-swing:#93c5fd;
    --bot-dark-signals:#f9a8d4;
    --bot-dark-control:#172c40;
    --bot-dark-tab-border:color-mix(in srgb,#45dce8 42%,var(--card-border));
    --bot-dark-tab-bg:color-mix(in srgb,#45dce8 13%,var(--card-bg));
    --bot-dark-tab-shadow:inset 0 0 0 1px rgba(69,220,232,.12),0 3px 10px rgba(8,74,82,.08);
    --grid-log-border:#31526a;
    --grid-log-surface:#172c40;
    --grid-log-muted:#b8cad8;
    --grid-log-text:#f1f7fb;
    --grid-log-heading:#45dce8;
    --grid-log-allowed-bg:rgba(16,185,129,.13);
    --grid-log-allowed-text:#6ee7b7;
    --grid-log-paused-bg:rgba(245,158,11,.14);
    --grid-log-paused-text:#fcd34d;
    --grid-log-event-bg:#172c40;
    --grid-log-event-border:#31526a;
    --grid-log-event-text:#b8cad8;
    --grid-log-icon-bg:rgba(16,185,129,.14);
    --grid-log-icon-text:#6ee7b7;
    --grid-log-warning-icon-bg:rgba(245,158,11,.14);
    --grid-log-warning-icon-text:#fcd34d;
    --grid-log-recenter-icon-bg:rgba(196,181,253,.13);
    --grid-log-recenter-icon-text:#c4b5fd;
}

@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) .bot-page {
        --bot-dark-accent:#45dce8;
        --bot-dark-text:#f1f7fb;
        --bot-dark-muted:#b8cad8;
        --bot-dark-subtle:#9fb5c5;
        --bot-dark-border:#31526a;
        --bot-dark-buy:#3fdda9;
        --bot-dark-sell:#ff7185;
        --bot-dark-warning:#ffc857;
        --bot-dark-blue:#7dd3fc;
        --bot-dark-purple:#c4b5fd;
        --bot-dark-trend-rider:#fdba74;
        --bot-dark-ta:#67e8f9;
        --bot-dark-swing:#93c5fd;
        --bot-dark-signals:#f9a8d4;
        --bot-dark-control:#172c40;
        --bot-dark-tab-border:color-mix(in srgb,#45dce8 42%,var(--card-border));
        --bot-dark-tab-bg:color-mix(in srgb,#45dce8 13%,var(--card-bg));
        --bot-dark-tab-shadow:inset 0 0 0 1px rgba(69,220,232,.12),0 3px 10px rgba(8,74,82,.08);
        --grid-log-border:#31526a;
        --grid-log-surface:#172c40;
        --grid-log-muted:#b8cad8;
        --grid-log-text:#f1f7fb;
        --grid-log-heading:#45dce8;
        --grid-log-allowed-bg:rgba(16,185,129,.13);
        --grid-log-allowed-text:#6ee7b7;
        --grid-log-paused-bg:rgba(245,158,11,.14);
        --grid-log-paused-text:#fcd34d;
        --grid-log-event-bg:#172c40;
        --grid-log-event-border:#31526a;
        --grid-log-event-text:#b8cad8;
        --grid-log-icon-bg:rgba(16,185,129,.14);
        --grid-log-icon-text:#6ee7b7;
        --grid-log-warning-icon-bg:rgba(245,158,11,.14);
        --grid-log-warning-icon-text:#fcd34d;
        --grid-log-recenter-icon-bg:rgba(196,181,253,.13);
        --grid-log-recenter-icon-text:#c4b5fd;
    }
}

.bot-page .bot-hero,
.bot-page .bot-overview-bar,
.bot-page .bot-bulk-control,
.bot-page .bot-card,
.bot-page .bot-grid-prices,
.bot-page .bot-grid-monitor,
.bot-page .bot-grid-details-body>.bot-grid-prices,
.bot-page .bot-grid-details-body>.bot-grid-monitor,
.bot-page .bot-grid-balance-bar,
.bot-page .bot-card-actions,
.bot-page .bot-dialog-shell,
.bot-page .bot-analysis-panel {
    border-color:var(--bot-dark-border,var(--card-border));
}
.bot-page .bot-eyebrow,
.bot-page .bot-top-total-icon,
.bot-page .bot-bulk-control>span>i,
.bot-page .bot-grid-comparison-action,
.bot-page .bot-reset-result,
.bot-page .bot-grid-monitor-metric.is-range strong i,
.bot-page .bot-grid-balance-bar>span>i {
    color:var(--bot-dark-accent,var(--color-primary));
}
.bot-page .bot-hero p,
.bot-page .bot-top-totals small,
.bot-page .bot-top-totals em,
.bot-page .bot-bulk-control small,
.bot-page .bot-inline-engine,
.bot-page .bot-coin p,
.bot-page .bot-grid-price small,
.bot-page .bot-grid-monitor-status small,
.bot-page .bot-grid-monitor-metric small,
.bot-page .bot-grid-monitor-metric em,
.bot-page .bot-grid-primary-metric small,
.bot-page .bot-grid-primary-metric em,
.bot-page .bot-grid-balance-bar small,
.bot-page .bot-metrics small,
.bot-page .bot-metrics span,
.bot-page .bot-dialog-header p {
    color:var(--bot-dark-muted,var(--muted-text));
}
.bot-page .bot-top-totals strong,
.bot-page .bot-grid-price strong,
.bot-page .bot-grid-monitor-status strong,
.bot-page .bot-grid-monitor-metric strong,
.bot-page .bot-grid-primary-metric strong,
.bot-page .bot-grid-balance-bar strong,
.bot-page .bot-metrics strong {
    color:var(--bot-dark-text,var(--text-color));
}
.bot-page .bot-top-totals .is-positive strong,
.bot-page .bot-top-totals .is-positive em,
.bot-page .bot-metrics .is-positive strong,
.bot-page .bot-grid-primary-metric.is-positive strong,
.bot-page .bot-grid-monitor-metric.is-positive strong,
.bot-page .bot-grid-monitor.is-allowed .bot-grid-monitor-status strong,
.bot-page .bot-grid-monitor.is-margin-grid .bot-grid-monitor-status strong .is-open,
.bot-page .bot-grid-status-value.is-long,
.bot-page .margin-direction-status.is-long,
.bot-page .bot-history-summary .is-positive strong,
.bot-page .bot-history-result.is-positive strong,
.bot-page .bot-history-result.is-positive span,
.bot-page .bot-total-summary .is-positive strong,
.bot-page .bot-total-summary .is-positive span {
    color:var(--bot-dark-buy,#059669)!important;
}
.bot-page .bot-top-totals .is-negative strong,
.bot-page .bot-top-totals .is-negative em,
.bot-page .bot-metrics .is-negative strong,
.bot-page .bot-grid-primary-metric.is-negative strong,
.bot-page .bot-grid-monitor-metric.is-negative strong,
.bot-page .bot-grid-status-value.is-short,
.bot-page .margin-direction-status.is-short,
.bot-page .bot-history-summary .is-negative strong,
.bot-page .bot-history-result.is-negative strong,
.bot-page .bot-history-result.is-negative span,
.bot-page .bot-total-summary .is-negative strong,
.bot-page .bot-total-summary .is-negative span,
.bot-page .bot-stop-loss-price,
.bot-page .bot-stop-loss-price>strong,
.bot-page .bot-liquidation-price,
.bot-page .bot-liquidation-price>strong {
    color:var(--bot-dark-sell,#dc4b55)!important;
}
.bot-page .bot-grid-primary-metric.bot-live-price-metric>strong.is-rising,
.bot-page .bot-metrics .bot-live-price-metric>strong.is-rising {
    color:var(--bot-dark-buy,#06705e)!important;
    border-color:color-mix(in srgb,var(--bot-dark-buy,#087f69) 24%,transparent);
    background:color-mix(in srgb,var(--bot-dark-buy,#087f69) 8%,var(--card-bg));
    box-shadow:none;
}
.bot-page .bot-grid-primary-metric.bot-live-price-metric>strong.is-falling,
.bot-page .bot-metrics .bot-live-price-metric>strong.is-falling {
    color:var(--bot-dark-sell,#a82b39)!important;
    border-color:color-mix(in srgb,var(--bot-dark-sell,#b83242) 24%,transparent);
    background:color-mix(in srgb,var(--bot-dark-sell,#b83242) 8%,var(--card-bg));
    box-shadow:none;
}
.bot-page .bot-grid-primary-metric.bot-live-price-metric>strong.is-rising::after,
.bot-page .bot-metrics .bot-live-price-metric>strong.is-rising::after {
    color:var(--bot-dark-buy,#06705e);
    background:color-mix(in srgb,var(--bot-dark-buy,#087f69) 11%,transparent);
}
.bot-page .bot-grid-primary-metric.bot-live-price-metric>strong.is-falling::after,
.bot-page .bot-metrics .bot-live-price-metric>strong.is-falling::after {
    color:var(--bot-dark-sell,#a82b39);
    background:color-mix(in srgb,var(--bot-dark-sell,#b83242) 11%,transparent);
}
.bot-page .bot-state.is-active,
.bot-page .bot-state.is-long { color:var(--bot-dark-buy,#047857); border-color:color-mix(in srgb,var(--bot-dark-buy,#10b981) 18%,transparent); background:color-mix(in srgb,var(--bot-dark-buy,#10b981) 5.5%,var(--card-bg)); }
.bot-page .bot-state.is-active i,
.bot-page .bot-state.is-long i { color:var(--bot-dark-buy,#047857); background:color-mix(in srgb,var(--bot-dark-buy,#10b981) 11%,transparent); }
.bot-page .bot-state.is-waiting { color:var(--bot-dark-blue,#2563eb); border-color:color-mix(in srgb,var(--bot-dark-blue,#2563eb) 16%,transparent); background:color-mix(in srgb,var(--bot-dark-blue,#2563eb) 5%,var(--card-bg)); }
.bot-page .bot-state.is-waiting i { color:var(--bot-dark-blue,#2563eb); background:color-mix(in srgb,var(--bot-dark-blue,#2563eb) 10%,transparent); }
.bot-page .bot-state.is-monitoring { color:var(--bot-dark-warning,#a16207); border-color:color-mix(in srgb,var(--bot-dark-warning,#f59e0b) 20%,transparent); background:color-mix(in srgb,var(--bot-dark-warning,#f59e0b) 6%,var(--card-bg)); }
.bot-page .bot-state.is-monitoring i { color:var(--bot-dark-warning,#a16207); background:color-mix(in srgb,var(--bot-dark-warning,#f59e0b) 12%,transparent); }
.bot-page .bot-state.is-short,
.bot-page .bot-state.is-stopped { color:var(--bot-dark-sell,#b4232e); border-color:color-mix(in srgb,var(--bot-dark-sell,#dc4b55) 18%,transparent); background:color-mix(in srgb,var(--bot-dark-sell,#dc4b55) 5.5%,var(--card-bg)); }
.bot-page .bot-state.is-short i,
.bot-page .bot-state.is-stopped i { color:var(--bot-dark-sell,#b4232e); background:color-mix(in srgb,var(--bot-dark-sell,#dc4b55) 10%,transparent); }
.bot-page .bot-state.is-paused { color:var(--bot-dark-muted,#64748b); border-color:color-mix(in srgb,var(--bot-dark-muted,#64748b) 16%,transparent); background:color-mix(in srgb,var(--bot-dark-muted,#64748b) 4.5%,var(--card-bg)); }
.bot-page .bot-state.is-paused i { color:var(--bot-dark-muted,#64748b); background:color-mix(in srgb,var(--bot-dark-muted,#64748b) 10%,transparent); }
.bot-page .bot-safety,
.bot-page .bot-bulk-switch.is-active,
.bot-page .bot-grid-permission.is-allowed,
.bot-page .bot-grid-price.is-entry>i,
.bot-page .bot-grid-price.is-long>i,
.bot-page .bot-grid-monitor-status>i {
    color:var(--bot-dark-buy,#047857);
}
.bot-page .bot-grid-permission.is-paused,
.bot-page .bot-grid-monitor.is-paused .bot-grid-monitor-status>i,
.bot-page .bot-grid-monitor.is-paused .bot-grid-monitor-status strong,
.bot-page .bot-grid-monitor.is-margin-grid .bot-grid-monitor-status strong .is-blocked {
    color:var(--bot-dark-warning,#a16207);
}
.bot-page .bot-grid-direction-statuses>span.is-long.is-open { color:var(--bot-dark-buy,#047857); border-color:color-mix(in srgb,var(--bot-dark-buy,#10b981) 18%,transparent); background:color-mix(in srgb,var(--bot-dark-buy,#10b981) 7%,var(--card-bg)); }
.bot-page .bot-grid-direction-statuses>span.is-short.is-open { color:var(--bot-dark-sell,#b4232e)!important; border-color:color-mix(in srgb,var(--bot-dark-sell,#dc4b55) 18%,transparent); background:color-mix(in srgb,var(--bot-dark-sell,#dc4b55) 7%,var(--card-bg)); }
.bot-page .bot-grid-direction-statuses>span.is-blocked { color:var(--bot-dark-warning,#a16207)!important; border-color:color-mix(in srgb,var(--bot-dark-warning,#f59e0b) 18%,transparent); background:color-mix(in srgb,var(--bot-dark-warning,#f59e0b) 8%,var(--card-bg)); }
.bot-page .bot-strategy-badge.is-grid {
    color:var(--bot-dark-purple,#6d28d9);
    border-color:color-mix(in srgb,var(--bot-dark-purple,#6d28d9) 30%,transparent);
}
.bot-page .bot-strategy-badge.is-adaptive-grid {
    color:var(--bot-dark-accent,#087d81);
    border-color:color-mix(in srgb,var(--bot-dark-accent,#087d81) 30%,transparent);
}
.bot-page .bot-strategy-badge.is-trend-rider {
    color:var(--bot-dark-trend-rider,#c2410c);
    border-color:color-mix(in srgb,var(--bot-dark-trend-rider,#f97316) 34%,transparent);
    background:color-mix(in srgb,var(--bot-dark-trend-rider,#f97316) 12%,var(--card-bg));
}
.bot-page .bot-strategy-badge.is-grid-guard,
.bot-page .bot-strategy-badge.is-daily {
    color:var(--bot-dark-warning,#a16207);
    border-color:color-mix(in srgb,var(--bot-dark-warning,#a16207) 30%,transparent);
}
.bot-page .bot-trend-badge.is-trend-up { --bot-trend-tone:var(--bot-dark-buy,#047857); }
.bot-page .bot-trend-badge.is-trend-down { --bot-trend-tone:var(--bot-dark-sell,#b91c1c); }
.bot-page .bot-trend-badge.is-trend-warning { --bot-trend-tone:var(--bot-dark-warning,#a16207); }
.bot-page .bot-trend-badge.is-trend-recovering { --bot-trend-tone:var(--bot-dark-swing,#1d4ed8); }
.bot-page .bot-strategy-badge.bot-trend-badge {
    color:var(--bot-trend-tone,var(--muted-text));
    border-color:color-mix(in srgb,var(--bot-trend-tone,var(--muted-text)) 35%,transparent);
    background:color-mix(in srgb,var(--bot-trend-tone,var(--muted-text)) 10%,var(--card-bg));
}
.bot-page .bot-strategy-badge.is-ta {
    color:var(--bot-dark-ta,#0e7490);
    border-color:color-mix(in srgb,var(--bot-dark-ta,#0891b2) 30%,transparent);
    background:color-mix(in srgb,var(--bot-dark-ta,#06b6d4) 10%,var(--card-bg));
}
.bot-page .bot-strategy-badge.is-swing {
    color:var(--bot-dark-swing,#1d4ed8);
    border-color:color-mix(in srgb,var(--bot-dark-swing,#2563eb) 30%,transparent);
    background:color-mix(in srgb,var(--bot-dark-swing,#3b82f6) 10%,var(--card-bg));
}

/* Marktanalyse 2026: rustigere hiërarchie, exact uitgelijnde cijfers en mobiel gecentreerde dagwaarden. */
.market-analysis-page>.market-analysis-hero {
    position:relative;
    min-height:126px;
    align-items:center;
    margin-bottom:1.25rem;
    padding:1.25rem 1.5rem;
    overflow:hidden;
    border-color:color-mix(in srgb,var(--color-primary) 16%,var(--card-border));
    border-radius:26px;
    background:
        radial-gradient(circle at 94% 5%,rgba(124,58,237,.11),transparent 28%),
        radial-gradient(circle at 72% 105%,rgba(14,165,233,.12),transparent 32%),
        linear-gradient(125deg,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)),var(--card-bg) 56%);
    box-shadow:0 20px 50px rgba(10,38,54,.075);
}
.market-analysis-page>.market-analysis-hero::before {
    position:absolute;
    top:18px;
    bottom:18px;
    left:0;
    width:4px;
    border-radius:0 99px 99px 0;
    background:linear-gradient(#00a99d,#13bdd0);
    content:"";
}
.market-analysis-page>.market-analysis-hero>div:first-child {
    min-width:0;
}
.market-analysis-page>.market-analysis-hero .market-analysis-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:.38rem;
    margin-bottom:.34rem;
    letter-spacing:.075em;
}
.market-analysis-page>.market-analysis-hero h1 {
    letter-spacing:-.035em;
    line-height:1.05;
}
.market-analysis-page>.market-analysis-hero p {
    margin-top:.32rem;
}
.market-analysis-page .market-analysis-hero-actions {
    gap:.55rem;
}
.market-analysis-page .market-score-cta {
    width:190px;
    height:50px;
    border-color:color-mix(in srgb,var(--color-primary) 34%,var(--card-border));
    border-radius:15px;
    color:#075f64;
    background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,#fff),rgba(255,255,255,.96));
    box-shadow:0 10px 22px rgba(9,112,118,.11);
}
.market-analysis-page .market-score-cta:hover {
    border-color:color-mix(in srgb,var(--color-primary) 54%,var(--card-border));
    color:#064f54;
    background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 18%,#fff),#fff);
}
.market-analysis-page .market-score-cta-copy strong { color:#123b46; }
.market-analysis-page .market-score-cta-copy small,
.market-analysis-page .market-score-cta-arrow { color:#527983; }
.market-analysis-page .market-score-cta-icon {
    color:#008f84;
    background:color-mix(in srgb,var(--color-primary) 14%,#fff);
}
:root[data-theme="dark"] .market-analysis-page .market-score-cta {
    border-color:transparent;
    color:#fff;
    background:linear-gradient(135deg,#12364b,#075e66);
    box-shadow:0 12px 24px rgba(0,0,0,.2);
}
:root[data-theme="dark"] .market-analysis-page .market-score-cta:hover {
    border-color:transparent;
    color:#fff;
    background:linear-gradient(135deg,#17465f,#08747b);
}
:root[data-theme="dark"] .market-analysis-page .market-score-cta-copy strong { color:#fff; }
:root[data-theme="dark"] .market-analysis-page .market-score-cta-copy small,
:root[data-theme="dark"] .market-analysis-page .market-score-cta-arrow { color:rgba(255,255,255,.7); }
:root[data-theme="dark"] .market-analysis-page .market-score-cta-icon {
    color:#fff;
    background:rgba(255,255,255,.13);
}
@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) .market-analysis-page .market-score-cta {
        border-color:transparent;
        color:#fff;
        background:linear-gradient(135deg,#12364b,#075e66);
        box-shadow:0 12px 24px rgba(0,0,0,.2);
    }
    :root:not([data-theme]) .market-analysis-page .market-score-cta:hover {
        border-color:transparent;
        color:#fff;
        background:linear-gradient(135deg,#17465f,#08747b);
    }
    :root:not([data-theme]) .market-analysis-page .market-score-cta-copy strong { color:#fff; }
    :root:not([data-theme]) .market-analysis-page .market-score-cta-copy small,
    :root:not([data-theme]) .market-analysis-page .market-score-cta-arrow { color:rgba(255,255,255,.7); }
    :root:not([data-theme]) .market-analysis-page .market-score-cta-icon {
        color:#fff;
        background:rgba(255,255,255,.13);
    }
}
.market-analysis-page .market-analysis-status {
    height:50px;
    border-radius:15px;
    border-color:color-mix(in srgb,var(--market-analysis-buy,#10b981) 30%,var(--card-border));
    color:var(--market-analysis-buy,#08735f);
    background:color-mix(in srgb,var(--market-analysis-buy,#10b981) 9%,var(--card-bg));
}
.market-analysis-page .market-analysis-status .market-analysis-live-dot {
    background:var(--market-analysis-buy,#00a783);
}
.market-analysis-page .market-analysis-card {
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.market-analysis-page .market-analysis-toolbar {
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    gap:1rem;
    margin-bottom:1rem;
    padding:1.15rem 1.25rem 1.2rem;
    border:1px solid var(--card-border);
    border-radius:22px;
    background:var(--card-bg);
    box-shadow:0 16px 40px rgba(10,38,54,.055);
}
.market-analysis-page .market-analysis-heading {
    display:grid;
    min-width:0;
    grid-template-columns:minmax(300px,360px) minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:center;
    gap:.12rem 1.2rem;
}
.market-analysis-page .market-analysis-asset-picker {
    grid-column:1;
    grid-row:1/3;
    width:100%;
    margin:0;
    min-height:62px;
    align-self:center;
    padding:.55rem .65rem;
    border-color:rgba(124,58,237,.2);
    background:linear-gradient(135deg,rgba(124,58,237,.07),rgba(14,165,233,.045));
}
.market-analysis-page .market-analysis-asset-picker-icon {
    color:#7c3aed;
    background:rgba(124,58,237,.11);
}
.market-analysis-page .market-analysis-asset-picker-control>i { color:#7c3aed; }
.market-analysis-page .market-analysis-asset-picker:focus-within {
    border-color:#8b5cf6;
    box-shadow:0 0 0 3px rgba(139,92,246,.12);
}
.market-analysis-page .market-analysis-toolbar h2 {
    grid-column:2;
    grid-row:1;
    align-self:end;
    overflow:visible;
    color:var(--text-color);
    font-size:1.1rem;
    letter-spacing:-.02em;
    text-overflow:clip;
    white-space:normal;
}
.market-analysis-page .market-analysis-toolbar p {
    grid-column:2;
    grid-row:2;
    align-self:start;
    margin:0;
    color:var(--muted-text);
    font-size:.66rem;
    text-overflow:clip;
    white-space:normal;
}
.market-analysis-page .market-analysis-controls {
    display:grid;
    width:100%;
    min-width:0;
    grid-template-columns:minmax(365px,.82fr) minmax(520px,1.18fr);
    align-items:stretch;
    gap:.8rem;
    padding-top:1rem;
    border-top:1px solid var(--card-border);
}
.market-analysis-page .market-analysis-control-group {
    display:grid;
    min-width:0;
    gap:.5rem;
    padding:.72rem .8rem;
    border:1px solid var(--card-border);
    border-radius:15px;
    background:color-mix(in srgb,var(--hover-bg) 55%,var(--card-bg));
}
.market-analysis-page .market-analysis-control-group.is-presets {
    border-color:rgba(14,165,233,.17);
    background:linear-gradient(135deg,rgba(14,165,233,.065),color-mix(in srgb,var(--hover-bg) 38%,var(--card-bg)));
}
.market-analysis-page .market-analysis-control-group.is-custom {
    border-color:rgba(245,158,11,.18);
    background:linear-gradient(135deg,rgba(245,158,11,.055),color-mix(in srgb,var(--hover-bg) 38%,var(--card-bg)));
}
.market-analysis-page .market-analysis-control-label {
    display:inline-flex;
    align-items:center;
    gap:.38rem;
    color:var(--muted-text);
    font-size:.57rem;
    font-weight:850;
    letter-spacing:.055em;
    text-transform:uppercase;
}
.market-analysis-page .market-analysis-control-group.is-presets .market-analysis-control-label i { color:#0284c7; }
.market-analysis-page .market-analysis-control-group.is-custom .market-analysis-control-label i { color:#d97706; }
.market-analysis-page .market-analysis-filter-error {
    grid-column:1/-1;
    text-align:right;
}
.market-analysis-page .market-analysis-ranges {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:.4rem;
}
.market-analysis-page .market-analysis-ranges button {
    min-width:0;
    min-height:40px;
    border-radius:10px;
    background:var(--card-bg);
}
.market-analysis-page .market-analysis-ranges button.active {
    border-color:#0ea5b7;
    color:#fff;
    background:linear-gradient(135deg,#0f9f99,#0e7490);
    box-shadow:0 6px 14px rgba(14,116,144,.18);
}
.market-analysis-page .market-analysis-date-filter {
    display:grid;
    grid-template-columns:repeat(2,minmax(112px,1fr)) auto;
    align-items:end;
    gap:.4rem;
}
.market-analysis-page .market-analysis-date-filter input {
    width:100%;
    height:40px;
    background:var(--card-bg);
}
.market-analysis-page .market-analysis-date-filter button {
    min-height:40px;
    border-color:transparent;
    border-radius:10px;
    color:#fff;
    background:linear-gradient(135deg,#d97706,#f59e0b);
    box-shadow:0 6px 14px rgba(217,119,6,.15);
}
.market-analysis-page .market-signal-card {
    grid-template-columns:50px minmax(0,1fr) minmax(380px,440px);
    align-items:start;
    gap:.85rem;
    margin:0 0 1rem;
    padding:1.15rem 1.2rem 1rem;
    border-left-width:5px;
    border-radius:22px;
    background:
        radial-gradient(circle at 92% 18%,color-mix(in srgb,var(--signal-color) 9%,transparent),transparent 24%),
        linear-gradient(118deg,var(--signal-soft),var(--card-bg) 62%);
    background-color:var(--card-bg);
    box-shadow:0 16px 40px color-mix(in srgb,var(--signal-color) 8%,rgba(10,38,54,.045));
}
.market-analysis-page .market-signal-icon {
    color:var(--market-analysis-icon-text,#fff);
    background:var(--market-analysis-icon-surface,var(--signal-color));
    grid-column:1;
    grid-row:1;
    width:46px;
    height:46px;
    margin-top:.08rem;
    border-radius:14px;
    box-shadow:0 8px 18px color-mix(in srgb,var(--signal-color) 18%,transparent);
}
.market-analysis-page .market-signal-copy {
    grid-column:2;
    grid-row:1;
}
.market-analysis-page .market-signal-copy h3 {
    margin-top:.12rem;
    font-size:1.05rem;
}
.market-analysis-page .market-signal-copy>p {
    max-width:680px;
}
.market-analysis-page .market-signal-scores {
    display:grid;
    width:auto;
    grid-column:3;
    grid-row:1/3;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem;
    padding-left:1.1rem;
    border-left:1px solid color-mix(in srgb,var(--signal-color) 20%,var(--card-border));
}
.market-analysis-page .market-signal-score {
    min-height:68px;
    grid-template-columns:32px minmax(58px,1fr) 3ch;
    gap:.34rem .48rem;
    padding:.55rem .6rem;
    border-radius:14px;
    background:var(--market-analysis-score-surface,var(--card-bg));
    box-shadow:0 7px 18px rgba(15,23,42,.045);
}
.market-analysis-page .market-signal-score-icon {
    width:32px;
    height:32px;
}
.market-analysis-page .market-signal-scores>small {
    grid-column:1/-1;
    margin-top:-.08rem;
}
.market-analysis-page .market-provisional-score {
    margin-top:.12rem;
    padding-top:.65rem;
}
.market-analysis-page .market-analysis-current-strip {
    grid-column:2;
    grid-row:2;
    gap:.5rem;
    margin-top:.82rem;
}
.market-analysis-page .market-pullback-current-values {
    gap:.65rem;
}
.market-analysis-page .market-current-value {
    display:grid;
    min-height:52px;
    grid-template-columns:30px minmax(0,1fr);
    gap:.55rem;
    padding:.48rem .58rem;
    border-radius:12px;
    border-color:transparent;
    background:var(--card-bg);
    box-shadow:0 6px 16px rgba(15,23,42,.045);
}
.market-analysis-page .market-current-value.is-btc { border-left:3px solid #f59e0b; background:linear-gradient(120deg,rgba(245,158,11,.09),var(--card-bg) 65%); }
.market-analysis-page .market-current-value.is-rsi { border-left:3px solid #8b5cf6; background:linear-gradient(120deg,rgba(139,92,246,.08),var(--card-bg) 65%); }
.market-analysis-page .market-current-value.is-fear { border-left:3px solid #10b981; background:linear-gradient(120deg,rgba(16,185,129,.08),var(--card-bg) 65%); }
.market-analysis-page .market-analysis-charts {
    padding:0;
    border-radius:22px;
    background:transparent;
}
.market-analysis-page .market-analysis-panel {
    border-radius:20px;
    box-shadow:0 14px 36px rgba(10,38,54,.05);
}
.market-analysis-page .market-analysis-panel+.market-analysis-panel { margin-top:1rem; }
.market-analysis-page .market-analysis-panel.price-panel>header {
    min-height:68px;
    padding:.82rem 1rem;
    background:
        radial-gradient(circle at 5% 0%,rgba(14,165,233,.1),transparent 26%),
        linear-gradient(105deg,color-mix(in srgb,var(--color-primary) 5%,var(--card-bg)),var(--card-bg) 58%);
}
.market-analysis-page .market-volume-panel {
    margin:.65rem .8rem .8rem;
    overflow:hidden;
    border:1px solid rgba(124,58,237,.14);
    border-radius:15px;
    background:linear-gradient(120deg,rgba(124,58,237,.045),color-mix(in srgb,var(--hover-bg) 30%,var(--card-bg)));
}
.market-analysis-page .market-volume-panel>header {
    min-height:40px;
    padding:.55rem .75rem 0;
}
.market-analysis-page .market-volume-panel>header i { color:#7c3aed; }
.market-analysis-page .market-current-value>i {
    width:30px;
    height:30px;
}
.market-analysis-page .market-current-value strong,
.market-analysis-page .market-signal-score>strong,
.market-analysis-page .market-provisional-ranges strong,
.market-analysis-page .market-day-card-value strong,
.market-scores-page .market-score-summary-card strong,
.market-scores-page .market-score-value strong,
.market-scores-page .market-score-meter strong,
.market-scores-page .market-score-load-count,
.market-scores-page time {
    font-variant-numeric:tabular-nums lining-nums;
    font-feature-settings:"tnum" 1,"lnum" 1;
}
.market-analysis-page .market-signal-score>strong {
    min-width:3ch;
}
.market-analysis-page .market-provisional-ranges em {
    min-width:3.35rem;
    justify-content:flex-end;
}

@media (min-width:768px) and (max-width:1199.98px) {
    .market-analysis-page .market-analysis-toolbar {
        grid-template-columns:1fr;
        gap:.75rem;
    }
    .market-analysis-page .market-analysis-heading {
        grid-template-columns:minmax(280px,.8fr) minmax(220px,1.2fr);
    }
    .market-analysis-page .market-analysis-controls {
        grid-template-columns:1fr;
    }
    .market-analysis-page .market-signal-card {
        grid-template-columns:46px minmax(0,1fr);
    }
    .market-analysis-page .market-signal-scores {
        grid-column:1/-1;
        grid-row:3;
        padding:.7rem 0 0;
        border-top:1px solid color-mix(in srgb,var(--signal-color) 18%,var(--card-border));
        border-left:0;
    }
}

@media (min-width:1200px) {
    .market-analysis-page .market-analysis-toolbar {
        gap:.72rem;
        margin-bottom:.85rem;
        padding:.95rem 1.1rem 1rem;
    }
    .market-analysis-page .market-analysis-heading {
        grid-template-columns:minmax(300px,350px) minmax(0,1fr);
        gap:.1rem 1rem;
    }
    .market-analysis-page .market-analysis-asset-picker {
        min-height:54px;
        padding:.45rem .58rem;
    }
    .market-analysis-page .market-analysis-toolbar h2 { font-size:1rem; }
    .market-analysis-page .market-analysis-controls {
        grid-template-columns:minmax(350px,.85fr) minmax(500px,1.15fr);
        gap:.65rem;
        padding-top:.72rem;
    }
    .market-analysis-page .market-analysis-control-group {
        gap:.34rem;
        padding:.52rem .62rem .58rem;
        border-radius:13px;
    }
    .market-analysis-page .market-analysis-control-label { font-size:.53rem; }
    .market-analysis-page .market-analysis-ranges button,
    .market-analysis-page .market-analysis-date-filter input,
    .market-analysis-page .market-analysis-date-filter button {
        min-height:36px;
        height:36px;
    }
    .market-analysis-page .market-signal-card {
        gap:.7rem .85rem;
        margin-bottom:.85rem;
        padding:.95rem 1.05rem .82rem;
    }
    .market-analysis-page .market-signal-scores {
        grid-column:3;
        grid-row:1;
    }
    .market-analysis-page .market-analysis-current-strip {
        grid-column:2/4;
        grid-row:2;
        gap:.38rem;
        margin-top:.45rem;
    }
    .market-analysis-page .market-current-value {
        min-height:48px;
        padding:.42rem .55rem;
    }
    .market-analysis-page .market-provisional-score {
        grid-column:2/4;
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
        gap:.75rem;
        margin-top:.45rem;
        padding:.58rem .68rem;
        border:1px solid rgba(14,165,233,.15);
        border-radius:13px;
        background:linear-gradient(110deg,rgba(14,165,233,.065),rgba(124,58,237,.035) 62%,var(--card-bg));
    }
    .market-analysis-page .market-provisional-heading {
        display:flex;
        min-width:0;
        align-items:center;
        gap:.55rem;
        justify-self:start;
    }
    .market-analysis-page .market-provisional-heading>small {
        padding-left:.55rem;
        border-left:1px solid rgba(100,116,139,.2);
    }
    .market-analysis-page .market-provisional-ranges {
        justify-content:center;
        gap:.5rem;
        justify-self:center;
    }
    .market-analysis-page .market-provisional-ranges>b {
        padding:.38rem .58rem;
    }
    .market-analysis-page .market-score-trend-open {
        min-height:34px;
        padding:.38rem .62rem;
        justify-self:end;
    }
}

/* Scoreoverzicht opent direct en vult de vaste coinregels daarna een voor een. */
.market-scores-page {
    font-variant-numeric:tabular-nums lining-nums;
}
.market-scores-page .market-scores-hero {
    min-height:116px;
    padding:1.15rem 1.35rem;
    border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border));
    border-radius:22px;
    background:linear-gradient(125deg,color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)),var(--card-bg) 58%);
    box-shadow:0 18px 46px rgba(8,38,51,.055);
}
.market-scores-page .market-score-summary-card,
.market-scores-page .market-score-column,
.market-scores-page .market-score-overview-card {
    border-radius:18px;
    box-shadow:0 12px 34px rgba(8,30,44,.045);
}
.market-scores-page .market-score-summary-card {
    min-height:76px;
    padding:.9rem 1rem;
}
.market-scores-page .market-score-summary-card strong {
    min-width:2ch;
    font-size:1.18rem;
    text-align:left;
}
.market-score-load-progress {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    grid-template-rows:auto 5px;
    align-items:center;
    gap:.18rem .8rem;
    margin-bottom:.75rem;
    padding:.78rem .9rem;
    border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--card-border));
    border-radius:16px;
    background:linear-gradient(110deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg));
}
.market-score-load-icon {
    display:grid;
    width:42px;
    height:42px;
    grid-row:1/3;
    place-items:center;
    border-radius:13px;
    color:#008f84;
    background:color-mix(in srgb,var(--color-primary) 11%,transparent);
    font-size:.82rem;
}
.market-score-load-copy {
    display:grid;
    min-width:0;
    gap:.1rem;
}
.market-score-load-copy strong {
    overflow:hidden;
    color:var(--text-color);
    font-size:.75rem;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.market-score-load-copy small {
    color:var(--muted-text);
    font-size:.62rem;
}
.market-score-load-count {
    min-width:5ch;
    color:#008f84;
    font-size:.72rem;
    font-weight:900;
    text-align:right;
}
.market-score-load-track {
    overflow:hidden;
    grid-column:2/4;
    height:5px;
    border-radius:99px;
    background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg));
}
.market-score-load-track>i {
    display:block;
    width:0;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#09a797,#00bdd0);
    transition:width .3s ease;
}
.market-scores-page .market-score-guide {
    border-radius:14px;
}
.market-scores-page .market-score-card-list[hidden],
.market-scores-page .market-score-empty[hidden] {
    display:none;
}
.market-scores-page .market-score-table {
    table-layout:fixed;
}
.market-scores-page .market-score-table th:nth-child(2),
.market-scores-page .market-score-table th:nth-child(3),
.market-scores-page .market-score-table td:nth-child(2),
.market-scores-page .market-score-table td:nth-child(3) {
    text-align:center;
}
.market-scores-page .market-score-table th:nth-child(2),
.market-scores-page .market-score-table th:nth-child(3) {
    width:185px;
}
.market-scores-page .market-score-table th:nth-child(4) { width:190px; }
.market-scores-page .market-score-table th:nth-child(5) { width:105px; }
.market-scores-page .market-score-table th:last-child { width:78px; }
.market-scores-page .market-score-table tr {
    transition:background-color .22s ease,opacity .22s ease;
}
.market-scores-page .market-score-table tr.is-loading {
    opacity:.72;
}
.market-scores-page .market-score-meter {
    min-width:145px;
    grid-template-columns:48px 3ch minmax(58px,1fr);
    justify-content:center;
    text-align:left;
}
.market-scores-page .market-score-meter strong {
    min-width:3ch;
    text-align:right;
}
.market-score-skeleton {
    display:inline-block;
    overflow:hidden;
    width:100%;
    height:12px;
    border-radius:99px;
    background:linear-gradient(100deg,var(--hover-bg) 25%,color-mix(in srgb,var(--color-primary) 8%,var(--card-bg)) 45%,var(--hover-bg) 65%);
    background-size:220% 100%;
    animation:market-score-skeleton 1.25s ease-in-out infinite;
}
.market-score-skeleton.is-score { max-width:136px; height:18px; }
.market-score-skeleton.is-label { max-width:128px; }
.market-score-skeleton.is-date { max-width:76px; }
@keyframes market-score-skeleton {
    to { background-position:-220% 0; }
}

@media (max-width:767.98px) {
    .market-analysis-page>.market-analysis-hero {
        min-height:0;
        align-items:center;
        gap:.5rem;
        margin-bottom:.55rem;
        padding:.62rem .7rem;
        border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--card-border));
        border-radius:16px;
        background:linear-gradient(120deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg));
    }
    .market-analysis-page>.market-analysis-hero::before { top:10px; bottom:10px; width:3px; }
    .market-analysis-page>.market-analysis-hero .market-analysis-eyebrow,
    .market-analysis-page>.market-analysis-hero p { display:none; }
    .market-analysis-page>.market-analysis-hero h1 { font-size:1.08rem; }
    .market-analysis-page .market-analysis-hero-actions { width:auto; margin-left:auto; gap:.4rem; }
    .market-analysis-page .market-score-cta {
        width:44px;
        height:44px;
        grid-template-columns:1fr;
        padding:0;
        border-radius:13px;
    }
    .market-analysis-page .market-score-cta-copy,
    .market-analysis-page .market-score-cta-arrow { display:none; }
    .market-analysis-page .market-score-cta-icon { width:32px; height:32px; justify-self:center; }
    .market-analysis-page .market-analysis-status { height:44px; padding:0 .55rem; border-radius:13px; }
    .market-analysis-page .market-analysis-card { border-radius:16px; }
    .market-analysis-page .market-analysis-toolbar {
        display:flex;
        align-items:stretch;
        flex-direction:column;
        gap:.8rem;
        margin-bottom:.75rem;
        padding:.8rem;
    }
    .market-analysis-page .market-analysis-heading {
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:auto auto auto;
        gap:.2rem;
    }
    .market-analysis-page .market-analysis-asset-picker {
        grid-column:1;
        grid-row:1;
        margin-bottom:.35rem;
    }
    .market-analysis-page .market-analysis-toolbar h2 {
        grid-column:1;
        grid-row:2;
        font-size:1.03rem;
    }
    .market-analysis-page .market-analysis-toolbar p {
        grid-column:1;
        grid-row:3;
        font-size:.72rem;
    }
    .market-analysis-page .market-analysis-controls {
        display:flex;
        align-items:stretch;
        flex-direction:column;
        gap:.58rem;
        padding-top:.8rem;
    }
    .market-analysis-page .market-analysis-control-group {
        gap:.42rem;
        padding:.62rem;
        border-radius:13px;
    }
    .market-analysis-page .market-analysis-ranges {
        display:grid;
        grid-template-columns:repeat(7,minmax(0,1fr));
    }
    .market-analysis-page .market-analysis-ranges button { min-width:0; min-height:36px; }
    .market-analysis-page .market-analysis-date-filter {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .market-analysis-page .market-analysis-date-filter button { grid-column:1/-1; }
    .market-analysis-page .market-analysis-filter-error { text-align:left; }
    .market-analysis-page .market-signal-card {
        grid-template-columns:40px minmax(0,1fr);
        gap:.65rem;
        margin:0 0 .75rem;
        padding:.78rem;
        border-radius:16px;
    }
    .market-analysis-page .market-signal-icon { width:40px; height:40px; border-radius:12px; }
    .market-analysis-page .market-signal-scores {
        grid-column:1/-1;
        grid-row:3;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:.42rem;
        padding:.62rem 0 0;
        border-top:1px solid color-mix(in srgb,var(--signal-color) 18%,var(--card-border));
        border-left:0;
    }
    .market-analysis-page .market-signal-score {
        min-height:54px;
        grid-template-columns:26px minmax(0,1fr) 3ch;
        padding:.46rem;
    }
    .market-analysis-page .market-signal-score-icon { width:26px; height:26px; }
    .market-analysis-page .market-signal-copy {
        grid-column:2;
        grid-row:1;
    }
    .market-analysis-page .market-analysis-current-strip .market-pullback-current-label {
        display:block;
        width:100%;
        text-align:center;
    }
    .market-analysis-page .market-analysis-current-strip .market-pullback-current-values {
        width:100%;
        grid-template-columns:repeat(3,minmax(0,1fr));
        justify-content:center;
    }
    .market-analysis-page .market-analysis-current-strip {
        width:100%;
        grid-column:1/-1;
        grid-row:2;
        justify-items:center;
        text-align:center;
    }
    .market-analysis-page .market-signal-scores {
        justify-items:stretch;
        text-align:center;
    }
    .market-analysis-page .market-signal-score {
        grid-template-columns:26px auto 3ch;
        justify-content:center;
    }
    .market-analysis-page .market-signal-score>span {
        font-size:.84rem;
        line-height:1.1;
    }
    .market-analysis-page .market-signal-score>strong {
        font-size:1rem;
        line-height:1;
    }
    .market-analysis-page .market-provisional-score {
        position:relative;
        grid-template-columns:1fr;
        justify-items:center;
        gap:.55rem;
        text-align:center;
    }
    .market-analysis-page .market-provisional-heading {
        grid-column:1;
        grid-row:1;
        justify-items:center;
    }
    .market-analysis-page .market-provisional-heading>span {
        justify-content:center;
        font-size:.74rem;
    }
    .market-analysis-page .market-provisional-heading>small {
        font-size:.65rem;
        text-align:center;
    }
    .market-analysis-page .market-provisional-ranges {
        width:100%;
        grid-column:1;
        grid-row:2;
    }
    .market-analysis-page .market-provisional-ranges>b {
        grid-template-columns:auto auto auto;
        justify-content:center;
        gap:.4rem;
        padding:.48rem .45rem;
        font-size:.72rem;
        text-align:center;
    }
    .market-analysis-page .market-provisional-ranges strong {
        font-size:.88rem;
        line-height:1;
    }
    .market-analysis-page .market-provisional-ranges em i {
        width:17px;
        height:17px;
        padding-top:3px;
        font-size:.55rem;
    }
    .market-analysis-page .market-score-trend-open {
        position:absolute;
        top:.42rem;
        right:.05rem;
        border:0;
    }
    .market-analysis-page .market-analysis-panel.price-panel>header {
        align-items:center;
        text-align:center;
    }
    .market-analysis-page .market-price-panel-heading {
        justify-content:center;
    }
    .market-analysis-page .market-analysis-panel.price-panel .price-signal-legend {
        justify-content:center;
    }
    .market-analysis-page .market-price-view-controls {
        flex-wrap:wrap;
        justify-content:center;
        overflow-x:visible;
    }
    .market-analysis-page .market-analysis-current-strip .market-current-value {
        display:flex;
        min-height:66px;
        align-items:center;
        justify-content:center;
        padding:.58rem .3rem;
        text-align:center;
    }
    .market-analysis-page .market-analysis-charts { border-radius:16px; }
    .market-analysis-page .market-analysis-panel { border-radius:16px; }
    .market-analysis-page .market-volume-panel { margin:.5rem; border-radius:12px; }
    .market-analysis-page .market-analysis-current-strip .market-current-value>span {
        width:100%;
        align-items:center;
    }
    .market-analysis-page .market-analysis-current-strip .market-current-value small,
    .market-analysis-page .market-analysis-current-strip .market-current-value strong {
        width:100%;
        text-align:center;
    }
    .market-analysis-page .market-analysis-current-strip .market-current-value strong {
        overflow:visible;
        font-size:.98rem;
        text-overflow:clip;
    }
    .market-scores-page .market-scores-hero {
        min-height:0;
        padding:.82rem;
        border-radius:16px;
    }
    .market-score-load-progress {
        grid-template-columns:38px minmax(0,1fr) auto;
        padding:.7rem;
        border-radius:14px;
    }
    .market-score-load-icon {
        width:38px;
        height:38px;
        border-radius:11px;
    }
    .market-score-load-copy strong { font-size:.78rem; }
    .market-score-load-copy small { font-size:.68rem; }
    .market-scores-page .market-score-table { table-layout:auto; }
    .market-scores-page .market-score-table th:nth-child(n) { width:auto; }
    .market-scores-page .market-score-meter {
        min-width:0;
        grid-template-columns:minmax(0,1fr) 3ch;
    }
    .market-scores-page .market-score-table tr.is-loading td:nth-child(2),
    .market-scores-page .market-score-table tr.is-loading td:nth-child(3) {
        min-height:28px;
    }
}

@media (prefers-reduced-motion:reduce) {
    .market-score-skeleton { animation:none; }
    .market-score-load-track>i { transition:none; }
}
.bot-page .bot-strategy-badge.is-signals {
    color:var(--bot-dark-signals,#be185d);
    border-color:color-mix(in srgb,var(--bot-dark-signals,#ec4899) 30%,transparent);
    background:color-mix(in srgb,var(--bot-dark-signals,#ec4899) 10%,var(--card-bg));
}
[data-theme="dark"] .bot-page .bot-strategy-badge.is-signals { color:#f9a8d4; border-color:rgba(244,114,182,.34); background:rgba(236,72,153,.15); }
.bot-page .bot-card-actions button {
    border-color:var(--bot-dark-border,color-mix(in srgb,var(--text-color) 13%,var(--card-border)));
    color:var(--bot-dark-text,var(--text-color));
    background:var(--bot-dark-control,color-mix(in srgb,var(--text-color) 3%,var(--card-bg)));
}
.bot-page .bot-card-actions button.start,
.bot-page .bot-card-actions button.edit,
.bot-page .bot-card-actions button.pattern,
.bot-page .bot-card-actions button.profit-protection {
    color:var(--bot-dark-accent,#087d81);
    border-color:color-mix(in srgb,var(--bot-dark-accent,#087d81) 34%,var(--card-border));
    background:color-mix(in srgb,var(--bot-dark-accent,#087d81) 11%,var(--card-bg));
}
.bot-page .bot-card-actions button.pause,
.bot-page .bot-card-actions button.close-position {
    color:var(--bot-dark-warning,#9a5800);
    border-color:color-mix(in srgb,var(--bot-dark-warning,#9a5800) 34%,var(--card-border));
    background:color-mix(in srgb,var(--bot-dark-warning,#9a5800) 11%,var(--card-bg));
}
.bot-page .bot-card-actions button.delete {
    color:var(--bot-dark-sell,#bd2d39);
    border-color:color-mix(in srgb,var(--bot-dark-sell,#bd2d39) 32%,var(--card-border));
    background:color-mix(in srgb,var(--bot-dark-sell,#bd2d39) 10%,var(--card-bg));
}
.bot-page .bot-card-actions button.transactions {
    color:var(--bot-dark-muted,#334155);
    border-color:color-mix(in srgb,var(--bot-dark-muted,#334155) 28%,var(--card-border));
    background:color-mix(in srgb,var(--bot-dark-muted,#334155) 8%,var(--card-bg));
}
.bot-page .bot-card-actions button.transactions b {
    border-color:var(--card-bg);
    color:var(--bot-dark-accent,#067b7f);
    background:var(--bot-dark-control,#dff5f3);
}
.bot-page .bot-mode-tabs {
    border-color:var(--bot-dark-border,var(--card-border));
}
.bot-page .bot-mode-tabs button {
    color:var(--bot-dark-muted,var(--muted-text));
}
.bot-page .bot-mode-tabs button.is-active {
    border-color:var(--bot-dark-tab-border,color-mix(in srgb,var(--color-primary) 24%,var(--card-border)));
    color:var(--bot-dark-accent,#075d61);
    background:var(--bot-dark-tab-bg,color-mix(in srgb,var(--color-primary) 11%,var(--card-bg)));
    box-shadow:var(--bot-dark-tab-shadow,0 3px 10px rgba(8,74,82,.08));
}
.bot-page .bot-mode-tabs button.is-active i {
    color:var(--bot-dark-accent,var(--color-primary));
}

/* Margin-grid: Long/Short-vrij even leesbaar als het gridbereik. */
.bot-grid-details.is-margin .bot-grid-direction-statuses>span { font-size:1rem; line-height:1.2; }
.bot-grid-details.is-margin .bot-grid-direction-statuses i { font-size:.72em; }

@media (min-width:992px) {
    .bot-grid-details.is-margin .bot-grid-direction-statuses>span { font-size:1.02rem; }
}

@media (max-width:767.98px) {
    .bot-grid-details.is-margin .bot-grid-direction-statuses>span { font-size:1.08rem; }
}

/* Scoreoverzicht: beter contrast in darkmode. */
:root[data-theme="dark"] .market-scores-page {
    --scores-dark-accent:#45dce8;
    --scores-dark-text:#f1f7fb;
    --scores-dark-muted:#b8cad8;
    --scores-dark-border:#31526a;
    --scores-dark-buy:#3fdda9;
    --scores-dark-sell:#ff7185;
    --scores-dark-warning:#ffc857;
    --scores-dark-guide:#1a3042;
}

@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) .market-scores-page {
        --scores-dark-accent:#45dce8;
        --scores-dark-text:#f1f7fb;
        --scores-dark-muted:#b8cad8;
        --scores-dark-border:#31526a;
        --scores-dark-buy:#3fdda9;
        --scores-dark-sell:#ff7185;
        --scores-dark-warning:#ffc857;
        --scores-dark-guide:#1a3042;
    }
}

.market-scores-page .market-scores-hero,
.market-scores-page .market-scores-back,
.market-scores-page .market-score-summary-card,
.market-scores-page .market-score-column,
.market-scores-page .market-score-highlight-card,
.market-scores-page .market-score-overview-card {
    border-color:var(--scores-dark-border,var(--card-border));
}
.market-scores-page .market-scores-back {
    color:var(--scores-dark-text,var(--text-color));
}
.market-scores-page .market-score-summary-icon {
    --summary-tone:var(--scores-dark-accent,#0b91a2);
}
.market-scores-page .market-score-summary-icon.is-buy {
    --summary-tone:var(--scores-dark-buy,#059669);
}
.market-scores-page .market-score-summary-icon.is-sell {
    --summary-tone:var(--scores-dark-sell,#dc4b55);
}
.market-scores-page .market-score-summary-card small,
.market-scores-page .market-score-column header p,
.market-scores-page .market-score-identity small,
.market-scores-page .market-score-value small,
.market-scores-page .market-score-empty,
.market-scores-page .market-score-overview-card>header>span {
    color:var(--scores-dark-muted,var(--muted-text));
}
.market-scores-page .market-score-summary-card strong,
.market-scores-page .market-score-identity strong,
.market-scores-page .market-score-column h2,
.market-scores-page .market-score-overview-card h2 {
    color:var(--scores-dark-text,var(--text-color))!important;
}
.market-scores-page .market-score-guide {
    border-color:var(--scores-dark-border,color-mix(in srgb,#5f7d8b 16%,var(--card-border)));
    color:var(--scores-dark-muted,#617180);
    background:var(--scores-dark-guide,color-mix(in srgb,#edf4f5 58%,var(--card-bg)));
}
.market-scores-page .market-score-guide>i {
    color:var(--scores-dark-accent,#52798a);
}
.market-scores-page .market-score-guide strong {
    color:var(--scores-dark-text,var(--text-color));
}
.market-scores-page .market-score-column {
    --score-tone:var(--scores-dark-buy,#159573);
}
.market-scores-page .market-score-column.is-sell {
    --score-tone:var(--scores-dark-sell,#dc4b55);
}
.market-scores-page .market-score-highlight-meter {
    background:color-mix(in srgb,var(--score-tone) 18%,var(--card-bg));
}
.market-scores-page .market-score-meter {
    --meter:var(--scores-dark-buy,#059669);
}
.market-scores-page .market-score-meter.is-sell {
    --meter:var(--scores-dark-sell,#dc4b55);
}
.market-scores-page .market-score-signal.is-buy {
    color:var(--scores-dark-buy,#057255);
}
.market-scores-page .market-score-signal.is-sell {
    color:var(--scores-dark-sell,#b8323d);
}
.market-scores-page .market-score-signal.is-sell-warning,
.market-scores-page .market-score-signal.is-watch {
    color:var(--scores-dark-warning,#9a6500);
}

/* Mobiele leesbaarheid: navigatie, strategiekaarten en gesloten posities. */
.strategy-comparison-cards { display:none; }
.strategy-comparison-page-card td.neutral { color:var(--muted-text); font-weight:900; }

@media (max-width:991.98px) {
    .app-nav .nav-link {
        min-height:48px;
        gap:.7rem;
        padding:.72rem .85rem!important;
        font-size:1rem;
        line-height:1.25;
    }
    .app-nav .nav-link i { width:20px; font-size:.95rem; text-align:center; }
    .app-nav-dropdown { padding:.5rem; }
    .app-nav-dropdown .settings-link,.settings-dropdown .settings-link {
        min-height:58px;
        grid-template-columns:34px minmax(0,1fr);
        gap:.7rem;
        padding:.68rem .72rem;
    }
    .app-nav-dropdown .settings-link>i,.settings-dropdown .settings-link>i { font-size:.95rem; }
    .app-nav-dropdown .settings-link strong,.settings-dropdown .settings-link strong { font-size:.9rem; line-height:1.25; }
    .app-nav-dropdown .settings-link small,.settings-dropdown .settings-link small { margin-top:.14rem; font-size:.74rem; line-height:1.35; }
    .nav-settings-button { min-height:48px; font-size:.95rem; }
    .nav-user-actions,.nav-account-actions { font-size:.9rem; }
}

@media (max-width:767.98px) {
    .strategy-comparison-page-card>.table-responsive { display:none; }
    .strategy-comparison-cards { display:grid; gap:.7rem; padding:.7rem; background:color-mix(in srgb,var(--hover-bg) 52%,var(--card-bg)); }
    .strategy-comparison-card { overflow:hidden; border:1px solid var(--card-border); border-radius:14px; background:var(--card-bg); box-shadow:0 7px 18px rgba(8,30,44,.045); }
    .strategy-comparison-card>header { display:grid; min-height:54px; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.62rem; padding:.68rem .72rem; border-bottom:1px solid var(--card-border); }
    .strategy-comparison-card>header>strong { overflow:hidden; color:var(--text-color); font-size:.92rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
    .strategy-comparison-card>header>span:last-child { color:var(--muted-text); font-size:.78rem; font-weight:850; white-space:nowrap; }
    .strategy-comparison-card .strategy-mode-badge { min-height:28px; padding:.28rem .52rem; font-size:.68rem; }
    .strategy-comparison-card>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
    .strategy-comparison-card>div>span { display:grid; min-width:0; min-height:64px; align-content:center; gap:.14rem; padding:.56rem .62rem; border-top:1px solid var(--card-border); border-left:1px solid var(--card-border); }
    .strategy-comparison-card>div>span:nth-child(-n+3) { border-top:0; }
    .strategy-comparison-card>div>span:nth-child(3n+1) { border-left:0; }
    .strategy-comparison-card small { overflow:hidden; color:var(--muted-text); font-size:.65rem; font-weight:780; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
    .strategy-comparison-card strong { overflow:hidden; color:var(--text-color); font-size:.84rem; font-weight:900; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
    .strategy-comparison-card .positive strong { color:#3fdda9; }
    .strategy-comparison-card .negative strong { color:#ff7185; }
    .strategy-comparison-card .neutral strong { color:var(--muted-text); }
    .strategy-comparison-page-card .trading-settings-note { padding:.82rem; font-size:.72rem; line-height:1.55; }

    .bot-history-page { font-size:1rem; }
    .bot-history-hero { gap:.8rem; padding:1rem; }
    .bot-history-hero h1 { font-size:1.48rem; }
    .bot-history-hero p { font-size:.84rem; line-height:1.55; }
    .bot-history-summary>div { min-height:88px; grid-template-columns:38px minmax(0,1fr); gap:.12rem .62rem; padding:.72rem; }
    .bot-history-summary>div>span { width:38px; height:38px; }
    .bot-history-summary small { font-size:.76rem; line-height:1.25; }
    .bot-history-summary strong { font-size:1.08rem; }
    .bot-history-summary em { font-size:.7rem; line-height:1.3; }
    .bot-history-panel>header { gap:.75rem; padding:.9rem; }
    .bot-history-panel h2 { font-size:1.12rem; }
    .bot-history-panel header p { font-size:.8rem; }
    .bot-history-filters button,.bot-history-filters a { min-height:42px; font-size:.82rem; }
    .bot-history-list { gap:.72rem; padding:.72rem; background:color-mix(in srgb,var(--hover-bg) 58%,var(--card-bg)); }
    .bot-history-row,.bot-history-row:first-child { gap:.8rem 1rem; padding:.9rem; border:1px solid var(--card-border); border-radius:15px; background:var(--card-bg); box-shadow:0 7px 18px rgba(8,30,44,.045); }
    .bot-history-coin { padding-bottom:.65rem; }
    .bot-history-coin>.bot-coin-icon { width:44px; height:44px; flex-basis:44px; }
    .bot-history-coin>span>strong { font-size:1.08rem; }
    .bot-history-coin>span>small { font-size:.78rem; }
    .bot-history-row small { font-size:.76rem; line-height:1.3; }
    .bot-history-row strong { font-size:.94rem; line-height:1.4; }
    .bot-history-row>div>span { font-size:.78rem; line-height:1.4; }
    .bot-history-result {
        display:grid!important;
        grid-column:1/-1;
        grid-template-columns:minmax(0,1fr) auto;
        padding:.72rem .78rem;
        border:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--card-border));
        border-radius:11px;
    }
    .bot-history-result small,.bot-history-result strong { grid-column:1; }
    .bot-history-result>span { grid-column:2; grid-row:1/3; align-self:center; font-size:.9rem!important; font-weight:850; }
    .bot-history-result strong { font-size:1.08rem; }
    .bot-history-row>details { padding-top:.62rem; }
    .bot-history-row>details summary { font-size:.8rem; }
    .bot-history-row>details p { font-size:.8rem; line-height:1.55; }
    .bot-history-row>details>span { font-size:.74rem; line-height:1.45; }
}

@media (max-width:767.98px) {
    .market-scores-page .market-scores-hero h1 { font-size:1.14rem; }
    .market-scores-page .market-scores-back { font-size:.7rem; }
    .market-scores-page .market-score-summary-card small { font-size:.65rem; line-height:1.25; }
    .market-scores-page .market-score-summary-card strong { font-size:1.02rem; }
    .market-scores-page .market-score-guide { font-size:.72rem; line-height:1.5; }
    .market-scores-page .market-score-guide>i { font-size:.78rem; }
    .market-scores-page .market-score-column h2 { font-size:1.02rem; }
    .market-scores-page .market-score-column header p { font-size:.72rem; }
    .market-scores-page .market-score-rank { font-size:.68rem; }
    .market-scores-page .market-score-identity strong { font-size:.9rem; }
    .market-scores-page .market-score-identity small { font-size:.72rem; }
    .market-scores-page .market-score-value strong { font-size:1.32rem; }
    .market-scores-page .market-score-value small { font-size:.58rem; }
    .market-scores-page .market-score-card-arrow { font-size:.68rem; }
    .market-scores-page .market-score-empty { font-size:.75rem; line-height:1.45; }
}

@media (max-width:479.98px) {
    .bot-create-card-dialog .bot-spot-create-form,
    .bot-create-card-dialog .bot-spot-create-form:has(.bot-field-target[hidden]) { grid-template-columns:1fr; grid-template-areas:"coin" "amount" "mode" "timeframe" "risk" "summary" "action"; }
    .bot-create-card-dialog .bot-spot-create-form:has(.bot-field-grid-range:not([hidden])) { grid-template-columns:1fr; grid-template-areas:"coin" "amount" "mode" "timeframe" "gridstrategy" "gridrange" "gridlevels" "gridstart" "gridreserve" "risk" "summary" "action"; }
    .bot-signal-flow { grid-template-columns:1fr; }
    .bot-create-card-dialog .bot-margin-create-form { grid-template-areas:"coin coin" "mode mode" "direction timeframe" "daily daily" "amount amount" "leverage leverage" "target risk" "strategy strategy" "action action"; }
    .bot-create-card-dialog .bot-margin-create-form:has(.bot-field-target[hidden]) { grid-template-areas:"coin coin" "mode mode" "direction timeframe" "daily daily" "amount amount" "leverage leverage" "strategy strategy" "risk risk" "action action"; }
    .bot-create-card-dialog .bot-margin-create-form:has(.bot-field-grid-range:not([hidden])) { grid-template-areas:"coin coin" "mode mode" "direction timeframe" "gridstrategy gridstrategy" "amount amount" "leverage leverage" "gridrange gridlevels" "risk risk" "action action"; }
    .bot-create-card-dialog .bot-margin-create-form:has([data-swing-field]:not([hidden])) { grid-template-columns:1fr 1fr; grid-template-areas:"coin coin" "mode mode" "summary summary" "swingentry swingentry" "direction timeframe" "amount amount" "leverage leverage" "risk risk" "action action"; }
    .bot-create-card-dialog .bot-margin-form .bot-field-target>span:first-child,
    .bot-create-card-dialog .bot-margin-form .bot-field-risk>span:first-child { min-height:2rem; align-items:flex-end; line-height:1.25; }
}

/* Tradingbot desktop: rustigere hiërarchie zonder inhoud of bediening te verplaatsen. */
@media (min-width:992px) {
    .bot-page { gap:.72rem; }
    .bot-hero { padding:1rem 1.2rem; border-color:var(--card-border); background:var(--card-bg); box-shadow:none; }
    .bot-hero:after { opacity:.3; }
    .bot-safety { padding:.46rem .65rem; border:1px solid color-mix(in srgb,#10b981 16%,var(--card-border)); background:transparent; }

    .bot-overview-bar { box-sizing:border-box; height:64px; gap:.45rem; padding:.3rem .45rem; border-radius:15px; box-shadow:none; }
    .bot-mode-tabs,.bot-overview-actions { align-self:center; }
    .bot-top-metric { gap:.4rem; padding:.42rem .5rem; }
    .bot-top-total-icon { width:30px; height:30px; border-radius:9px; background:color-mix(in srgb,var(--color-primary) 7%,transparent); }
    .bot-overview-actions form:has(.bot-reset-result) { width:42px; }
    .bot-reset-result { width:42px; min-width:42px; height:42px; min-height:42px; padding:0; border-color:var(--card-border); background:transparent; }
    .bot-reset-result span { display:none; }

    .bot-bulk-control { margin-bottom:.62rem; padding:.55rem .72rem; border-color:var(--card-border); background:var(--card-bg); }
    .bot-bulk-control>span>i { width:28px; height:28px; color:var(--muted-text); background:transparent; }
    .bot-inline-engine.is-healthy>i { box-shadow:none; }

    .bot-list { gap:.68rem; }
    .bot-card { border-radius:15px; box-shadow:0 4px 14px rgba(8,30,44,.035); }
    .bot-card:hover { border-color:var(--card-border); box-shadow:0 6px 18px rgba(8,30,44,.05); transform:none; }
    .bot-card-header { padding:.62rem .75rem; }
    .bot-coin>span { width:30px; min-width:30px; height:30px; min-height:30px; flex-basis:30px; }
    .bot-coin h2 { font-weight:650; }
    .bot-strategy-badge,
    .bot-timeframe-badge { font-weight:600; }
    .bot-state { padding:.28rem .42rem; font-weight:500; box-shadow:none!important; }
    .bot-state i { box-shadow:none!important; }

    .bot-grid-details>summary { min-height:64px; padding:.52rem .68rem; }
    .bot-grid-primary-metric small { font-weight:500; }
    .bot-grid-primary-metric strong { font-size:.96rem; font-weight:500; }
    .bot-grid-primary-metric em { font-weight:500; }
    .bot-grid-permission { width:30px; height:30px; background:transparent; }
    .bot-grid-balance-bar { margin:.22rem -.68rem -.52rem; background:color-mix(in srgb,var(--muted-text) 1.5%,var(--card-bg)); }
    .bot-grid-balance-bar>span { min-height:49px; padding:.44rem .72rem; }
    .bot-grid-balance-bar>span>i { width:28px; height:28px; flex-basis:28px; color:var(--muted-text); background:transparent; }
    .bot-grid-balance-bar small { font-weight:500; }
    .bot-grid-balance-bar strong { font-size:.96rem; font-weight:500; }

    .bot-top-totals small,
    .bot-top-totals em,
    .bot-grid-price small,
    .bot-grid-monitor-status small,
    .bot-grid-monitor-metric small,
    .bot-grid-monitor-metric em,
    .bot-grid-profit-breakdown small,
    .bot-grid-profit-breakdown em,
    .bot-metrics small,
    .bot-metrics span { font-weight:500; }
    .bot-top-totals strong,
    .bot-grid-price strong,
    .bot-grid-monitor-status strong,
    .bot-grid-monitor-metric strong,
    .bot-grid-profit-breakdown strong,
    .bot-metrics strong { font-weight:500; }
    .bot-grid-details-body .bot-grid-price small,
    .bot-grid-details-body .bot-grid-monitor-status small,
    .bot-grid-details-body .bot-grid-monitor-metric small,
    .bot-grid-details-body .bot-grid-profit-breakdown small { font-size:.56rem; }
    .bot-grid-details-body .bot-grid-price strong,
    .bot-grid-details-body .bot-grid-monitor-status strong,
    .bot-grid-details-body .bot-grid-monitor-metric strong,
    .bot-grid-details-body .bot-grid-profit-breakdown strong { font-size:.96rem; }
    .bot-grid-details-body .bot-grid-monitor-metric em,
    .bot-grid-details-body .bot-grid-profit-breakdown em { font-size:.52rem; }
    .bot-grid-details-body>.bot-field-help { font-size:.56rem; font-weight:500; line-height:1.45; }
    .bot-grid-details-body>.bot-field-help strong { font-weight:600; }
    .bot-bulk-control strong { font-weight:600; }

    .bot-grid-primary-metric.bot-live-price-metric>strong.is-rising,
    .bot-metrics .bot-live-price-metric>strong.is-rising { padding:.22rem .46rem; color:var(--bot-dark-buy,#06705e)!important; border-color:color-mix(in srgb,var(--bot-dark-buy,#087f69) 22%,transparent); background:color-mix(in srgb,var(--bot-dark-buy,#087f69) 7%,var(--card-bg)); box-shadow:none; }
    .bot-grid-primary-metric.bot-live-price-metric>strong.is-falling,
    .bot-metrics .bot-live-price-metric>strong.is-falling { padding:.22rem .46rem; color:var(--bot-dark-sell,#a82b39)!important; border-color:color-mix(in srgb,var(--bot-dark-sell,#b83242) 22%,transparent); background:color-mix(in srgb,var(--bot-dark-sell,#b83242) 7%,var(--card-bg)); box-shadow:none; }

    .bot-card-actions { gap:.22rem; padding:.38rem .52rem; background:var(--card-bg); }
    .bot-card-actions form { flex-basis:36px; width:36px; }
    .bot-card-actions button { width:36px; min-width:36px; height:36px; min-height:36px; border-color:transparent!important; color:var(--muted-text)!important; background:transparent!important; }
    .bot-card-actions button:hover { border-color:var(--card-border)!important; color:var(--text-color)!important; background:var(--hover-bg)!important; transform:none; }
    .bot-card-actions button.pause,
    .bot-card-actions button.close-position { color:var(--bot-dark-warning,#a16207)!important; }
    .bot-card-actions button.delete { color:var(--bot-dark-sell,#bd2d39)!important; }
    .bot-card-actions button.transactions b { top:-3px; right:-3px; box-shadow:none; }
}
.bot-trend-strength { margin:.6rem 0; padding:.7rem; border:1px solid var(--card-border); border-radius:8px; color:var(--text-color); overflow-wrap:anywhere; min-width:0; }
.bot-trend-strength > strong { display:block; font-size:.85rem; }
.bot-trend-strength { --strength-color:#64748b; --strength-end:#94a3b8; background:var(--card-bg,transparent); }
.bot-trend-strength[data-strength="weak"] { --strength-color:#b45309; --strength-end:#fbbf24; }
.bot-trend-strength[data-strength="moderate"] { --strength-color:#0369a1; --strength-end:#38bdf8; }
.bot-trend-strength[data-strength="strong"] { --strength-color:#047857; --strength-end:#34d399; }
.bot-strength-heading { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.bot-strength-heading > span:first-child { font-size:.75rem; color:var(--muted-text); }
.bot-strength-heading strong { display:block; font-size:1rem; color:var(--text-color); margin-top:.15rem; }
.bot-strength-score { font-size:1.3rem; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.bot-strength-score small { font-size:.7rem; font-weight:400; color:var(--muted-text); margin-left:.15rem; }
.bot-trend-strength progress { appearance:none; -webkit-appearance:none; display:block; width:100%; height:.65rem; margin:.65rem 0 .4rem; border:0; border-radius:999px; overflow:hidden; background:color-mix(in srgb,var(--text-color) 10%,transparent); }
.bot-trend-strength progress::-webkit-progress-bar { background:color-mix(in srgb,var(--text-color) 10%,transparent); border-radius:999px; }
.bot-trend-strength progress::-webkit-progress-value { background:linear-gradient(90deg,var(--strength-color),var(--strength-end)); border-radius:999px; }
.bot-trend-strength progress::-moz-progress-bar { background:linear-gradient(90deg,var(--strength-color),var(--strength-end)); border-radius:999px; }
.bot-strength-caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.2rem .6rem; color:var(--muted-text); font-size:.7rem; margin-bottom:.6rem; }
@media (forced-colors:active) { .bot-trend-strength progress { appearance:auto; } }
.bot-trend-strength summary { cursor:pointer; font-size:.8rem; }
.bot-trend-strength p { font-size:.8rem; line-height:1.5; }
.bot-trend-strength summary:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
.bot-trend-strength-overview { padding:0 1rem; min-width:0; }
.bot-trend-strength-overview > small { color:var(--muted-text); font-size:.75rem; }

/* Portfolio coin charts share the analysis tools, with room for a return link. */
.portfolio-coin-page {
    --coin-accent:#0f766e;
    --coin-positive:#047857;
    --coin-negative:#b91c1c;
    --coin-ma20:#0369a1;
    --coin-ma50:#7c3aed;
    --coin-ma100:#b45309;
    --coin-ma200:#be123c;
    color-scheme:light;
}
:root[data-theme="dark"] .portfolio-coin-page {
    --coin-accent:#5eead4;
    --coin-positive:#6ee7b7;
    --coin-negative:#fca5a5;
    --coin-ma20:#7dd3fc;
    --coin-ma50:#c4b5fd;
    --coin-ma100:#fbbf24;
    --coin-ma200:#fda4af;
    color-scheme:dark;
}
@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) .portfolio-coin-page,
    :root[data-theme="system"] .portfolio-coin-page {
        --coin-accent:#5eead4;
        --coin-positive:#6ee7b7;
        --coin-negative:#fca5a5;
        --coin-ma20:#7dd3fc;
        --coin-ma50:#c4b5fd;
        --coin-ma100:#fbbf24;
        --coin-ma200:#fda4af;
        color-scheme:dark;
    }
}
.portfolio-coin-page .portfolio-coin-back {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:40px;
    padding:.5rem .75rem;
    border:1px solid color-mix(in srgb,var(--coin-accent) 45%,var(--card-border));
    border-radius:10px;
    color:var(--coin-accent);
    background:color-mix(in srgb,var(--coin-accent) 9%,var(--card-bg));
    font-size:.8rem;
    font-weight:750;
    line-height:1.2;
    text-decoration:none;
    white-space:nowrap;
}
.portfolio-coin-page .portfolio-coin-back:hover {
    color:var(--text-color);
    background:color-mix(in srgb,var(--coin-accent) 17%,var(--card-bg));
}
.portfolio-coin-page .portfolio-coin-back:focus-visible {
    outline:2px solid var(--coin-accent);
    outline-offset:3px;
}
.portfolio-coin-page.market-analysis-page .market-analysis-status {
    height:40px;
    color:var(--coin-positive);
    border-color:color-mix(in srgb,var(--coin-positive) 35%,var(--card-border));
    background:color-mix(in srgb,var(--coin-positive) 8%,var(--card-bg));
}
.portfolio-coin-page .market-analysis-live-dot { background:var(--coin-positive); }
.portfolio-coin-page.market-analysis-page .market-analysis-hero h1,
.portfolio-coin-page.market-analysis-page .market-analysis-toolbar h2,
.portfolio-coin-page .market-analysis-panel h3 { color:var(--coin-accent); }
.portfolio-coin-page.market-analysis-page .market-analysis-ranges button.active,
.portfolio-coin-page .market-candle-intervals button.active {
    color:#fff;
    background:#0f766e;
    border-color:#0f766e;
}
.portfolio-coin-page .market-drawing-toolbar button.active,
.portfolio-coin-page .market-drawing-toolbar button:hover,
.portfolio-coin-page .market-chart-mode-button.active { color:var(--coin-accent); }
.portfolio-coin-page .market-range-summary strong.is-positive,
.portfolio-coin-page .market-candle-inspector strong.is-positive { color:var(--coin-positive); }
.portfolio-coin-page .market-range-summary strong.is-negative,
.portfolio-coin-page .market-candle-inspector strong.is-negative { color:var(--coin-negative); }
.portfolio-coin-page .market-moving-average-legend .is-ma20 { color:var(--coin-ma20); }
.portfolio-coin-page .market-moving-average-legend .is-ma50 { color:var(--coin-ma50); }
.portfolio-coin-page .market-moving-average-legend .is-ma100 { color:var(--coin-ma100); }
.portfolio-coin-page .market-moving-average-legend .is-ma200 { color:var(--coin-ma200); }
.portfolio-coin-page .market-moving-average-legend button.is-hidden {
    color:var(--muted-text);
    opacity:1;
    text-decoration:line-through;
}
.portfolio-coin-page .market-analysis-date-filter label { min-width:0; }
.portfolio-coin-page .market-analysis-date-filter input {
    display:block;
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
    inline-size:100%;
    appearance:none;
    -webkit-appearance:none;
    color-scheme:inherit;
}
.portfolio-coin-page .market-analysis-date-filter input::-webkit-date-and-time-value { min-width:0; text-align:left; }
.portfolio-coin-page.market-analysis-page .market-analysis-date-filter button {
    color:#fff;
    border-color:#0f766e;
    background:#0f766e;
    box-shadow:none;
}
.portfolio-coin-page.market-analysis-page .market-analysis-date-filter button:hover { background:#115e59; }
@media (max-width:767.98px) {
    .portfolio-coin-page.market-analysis-page>.market-analysis-hero { flex-wrap:wrap; row-gap:.55rem; }
    .portfolio-coin-page.market-analysis-page>.market-analysis-hero>div:first-child { flex-basis:100%; }
    .portfolio-coin-page.market-analysis-page .market-analysis-hero-actions { width:100%; margin-left:0; justify-content:space-between; }
    .portfolio-coin-page .portfolio-coin-back { min-height:38px; padding:.4rem .6rem; font-size:.75rem; }
    .portfolio-coin-page.market-analysis-page .market-analysis-status { height:38px; }
}

/* Market analysis: allow translated labels to breathe at every breakpoint. */
.market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero {
    min-height:0;
    gap:1.25rem;
    padding:1.3rem 1.5rem;
    border-radius:20px;
    background:linear-gradient(120deg,color-mix(in srgb,var(--color-primary) 6%,var(--card-bg)),var(--card-bg) 72%);
    box-shadow:0 10px 30px rgba(10,38,54,.05);
}
.market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero h1 {
    font-size:clamp(1.5rem,2.2vw,2rem);
    line-height:1.15;
    overflow-wrap:anywhere;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero-actions {
    display:flex;
    flex:0 1 auto;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.market-analysis-page:not(.portfolio-coin-page) .market-score-cta {
    width:auto;
    min-width:190px;
    max-width:240px;
    min-height:50px;
    height:auto;
    box-shadow:none;
}
.market-analysis-page:not(.portfolio-coin-page) .market-score-cta-copy { min-width:0; }
.market-analysis-page:not(.portfolio-coin-page) .market-score-cta-copy strong {
    white-space:normal;
    line-height:1.2;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar {
    gap:.95rem;
    padding:1.1rem 1.25rem;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(10,38,54,.045);
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-heading {
    grid-template-columns:minmax(280px,350px) minmax(0,1fr);
    gap:.1rem 1.1rem;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-asset-picker {
    min-width:0;
    border-color:var(--card-border);
    background:var(--card-bg);
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-asset-picker-control { min-width:0; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-asset-picker select { min-width:0; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar h2 {
    font-size:1.15rem;
    line-height:1.3;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar p {
    font-size:.75rem;
    line-height:1.4;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-controls {
    grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
    gap:1rem;
    padding-top:.9rem;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group,
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-presets,
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom {
    gap:.5rem;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-label {
    min-height:20px;
    font-size:.72rem;
    font-weight:750;
    letter-spacing:.01em;
    line-height:1.25;
    text-transform:none;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom .market-analysis-control-label i { color:var(--color-primary); }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-ranges button {
    min-width:0;
    min-height:42px;
    height:auto;
    padding:.45rem .2rem;
    border-radius:10px;
    font-size:.7rem;
    line-height:1.15;
    white-space:nowrap;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-ranges button.active { box-shadow:none; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter label { min-width:0; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter label span {
    font-size:.7rem;
    line-height:1.25;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter input {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
    inline-size:100%;
    min-height:42px;
    height:42px;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter button {
    min-height:42px;
    height:42px;
    border-color:transparent;
    background:#0d918f;
    box-shadow:none;
    white-space:nowrap;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter button:hover { background:#087875; }
.market-analysis-page:not(.portfolio-coin-page) .market-signal-card {
    grid-template-columns:46px minmax(0,1fr) minmax(320px,380px);
    gap:.9rem;
    padding:1.15rem 1.25rem;
    border:1px solid var(--card-border);
    border-top:3px solid var(--signal-color);
    border-radius:18px;
    background:var(--card-bg);
    box-shadow:0 10px 30px rgba(10,38,54,.045);
}
.market-analysis-page:not(.portfolio-coin-page) .market-signal-icon { box-shadow:none; }
.market-analysis-page:not(.portfolio-coin-page) .market-signal-copy>span {
    font-size:.72rem;
    letter-spacing:.01em;
    line-height:1.35;
    text-transform:none;
}
.market-analysis-page:not(.portfolio-coin-page) .market-signal-copy h3 {
    font-size:1.2rem;
    line-height:1.25;
}
.market-analysis-page:not(.portfolio-coin-page) .market-signal-copy>p {
    font-size:.8rem;
    line-height:1.5;
}
.market-analysis-page:not(.portfolio-coin-page) .market-signal-score { box-shadow:none; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip .market-pullback-current-label {
    color:var(--muted-text);
    letter-spacing:.01em;
    text-transform:none;
}

@media (min-width:768px) and (max-width:1199.98px) {
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-controls { grid-template-columns:1fr; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-card { grid-template-columns:46px minmax(0,1fr); }
}

@media (max-width:767.98px) {
    .market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:.7rem;
        padding:.85rem 1rem;
    }
    .market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero>div:first-child,
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero-actions { grid-column:1; }
    .market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero h1 { font-size:1.2rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero-actions {
        width:100%;
        margin-left:0;
        justify-content:space-between;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-score-cta {
        width:44px;
        min-width:44px;
        min-height:44px;
        height:44px;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar {
        gap:.8rem;
        padding:.9rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-heading { grid-template-columns:minmax(0,1fr); }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar h2 { font-size:1.05rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar p { font-size:.72rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-controls { gap:.85rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-ranges {
        display:flex;
        flex-wrap:wrap;
        gap:.4rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-ranges button {
        flex:1 1 calc(25% - .4rem);
        min-width:0;
        min-height:42px;
        padding:.45rem .1rem;
        font-size:.69rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter { gap:.55rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter button { grid-column:1/-1; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-card {
        grid-template-columns:38px minmax(0,1fr);
        gap:.65rem;
        padding:.9rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-copy h3 { font-size:1.08rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-copy>p { font-size:.76rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip {
        justify-items:stretch;
        text-align:left;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip .market-pullback-current-label {
        text-align:left;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip .market-pullback-current-values { gap:.4rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-current-value { min-width:0; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-scores { text-align:left; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-score {
        grid-template-columns:minmax(0,1fr) auto;
        gap:.35rem;
        min-width:0;
        padding:.6rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-score-icon { display:none!important; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-score>span {
        grid-column:1;
        grid-row:1;
        min-width:0;
        font-size:.72rem;
        text-align:left;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-score>strong { grid-column:2; grid-row:1; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-score>.market-signal-score-track { grid-column:1/-1; grid-row:2; }
}

@media (max-width:420px) {
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip .market-current-value {
        grid-template-columns:minmax(0,1fr);
        padding:.48rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip .market-current-value>i { display:none; }
}

/* Analysis overview: separate coin, period and market reading. */
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar {
    gap:1.1rem;
    padding:1.2rem;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-heading {
    grid-template-columns:minmax(260px,320px) minmax(0,1fr);
    gap:.15rem 1.4rem;
    align-items:center;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-asset-picker {
    position:relative;
    display:grid;
    width:100%;
    min-width:0;
    min-height:0;
    grid-template-columns:1fr;
    gap:.45rem;
    padding:0;
    border:0;
    background:transparent;
    cursor:default;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-asset-picker:focus-within { box-shadow:none; }
.market-analysis-picker-label {
    display:flex;
    min-width:0;
    align-items:center;
    gap:.4rem;
    color:var(--text-color);
    font-size:.72rem;
    font-weight:850;
}
.market-analysis-picker-label>i { color:#7c3aed; }
.market-analysis-picker-label small {
    margin-left:auto;
    color:var(--muted-text);
    font-size:.62rem;
    font-weight:650;
}
.market-analysis-coin-trigger {
    display:grid;
    width:100%;
    min-width:0;
    min-height:58px;
    grid-template-columns:36px minmax(0,1fr) 14px;
    align-items:center;
    gap:.65rem;
    padding:.5rem .7rem;
    border:1px solid color-mix(in srgb,#7c3aed 22%,var(--card-border));
    border-radius:13px;
    color:var(--text-color);
    background:color-mix(in srgb,#7c3aed 4%,var(--card-bg));
    text-align:left;
    cursor:pointer;
}
.market-analysis-coin-trigger:hover,
.market-analysis-coin-trigger:focus-visible,
.market-analysis-asset-picker.is-open .market-analysis-coin-trigger {
    border-color:#8b5cf6;
    outline:0;
    box-shadow:0 0 0 3px rgba(139,92,246,.12);
}
.market-analysis-coin-trigger>.bot-coin-picker-avatar,
.market-analysis-coin-options .bot-coin-picker-avatar { width:36px; height:36px; font-size:.68rem; }
.market-analysis-coin-trigger-copy,
.market-analysis-coin-options button>span:nth-child(2) { display:grid; min-width:0; gap:.1rem; }
.market-analysis-coin-trigger-copy strong,
.market-analysis-coin-options strong { overflow:hidden; color:var(--text-color); font-size:.85rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.market-analysis-coin-trigger-copy small,
.market-analysis-coin-options small { overflow:hidden; color:var(--muted-text); font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.market-analysis-coin-trigger>i { color:#7c3aed; font-size:.7rem; transition:transform .18s ease; }
.market-analysis-asset-picker.is-open .market-analysis-coin-trigger>i { transform:rotate(180deg); }
.market-analysis-coin-menu {
    position:absolute;
    z-index:100;
    top:calc(100% + 7px);
    left:0;
    width:max(100%,300px);
    max-width:min(380px,calc(100vw - 36px));
    padding:.6rem;
    border:1px solid var(--card-border);
    border-radius:14px;
    background:var(--card-bg);
    box-shadow:0 20px 48px rgba(7,28,43,.2);
}
.market-analysis-coin-menu[hidden],
.market-analysis-coin-options button[hidden] { display:none; }
.market-analysis-coin-menu .bot-coin-search { display:flex; }
.market-analysis-coin-menu .bot-coin-search input { font-size:16px; }
.market-analysis-coin-options { display:grid; max-height:min(340px,48vh); gap:.15rem; margin-top:.4rem; overflow:auto; overscroll-behavior:contain; }
.market-analysis-coin-options button {
    display:grid;
    width:100%;
    min-height:52px;
    grid-template-columns:36px minmax(0,1fr) 18px;
    align-items:center;
    gap:.6rem;
    padding:.4rem .5rem;
    border:0;
    border-radius:9px;
    color:var(--text-color);
    background:transparent;
    text-align:left;
    cursor:pointer;
}
.market-analysis-coin-options button:hover,
.market-analysis-coin-options button:focus-visible,
.market-analysis-coin-options button[aria-selected="true"] { outline:0; background:color-mix(in srgb,#7c3aed 9%,var(--card-bg)); }
.market-analysis-coin-options button>i { color:#7c3aed; opacity:0; }
.market-analysis-coin-options button[aria-selected="true"]>i { opacity:1; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar h2 { font-size:1.22rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar p { font-size:.78rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-controls {
    gap:.8rem;
    padding-top:1.05rem;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group,
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-presets,
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom {
    gap:.65rem;
    padding:.8rem;
    border:1px solid var(--card-border);
    border-radius:14px;
    background:color-mix(in srgb,var(--color-primary) 2%,var(--card-bg));
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-label { font-size:.75rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-signal-card { row-gap:1rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-signal-copy>p { max-width:60ch; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip {
    grid-column:1/-1;
    grid-row:2;
    gap:.55rem;
    margin:0;
    padding-top:.85rem;
    border-top:1px solid var(--card-border);
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip .market-pullback-current-label { font-size:.68rem; font-weight:800; }
.market-analysis-page:not(.portfolio-coin-page) .market-current-value { box-shadow:none; }
.market-analysis-page:not(.portfolio-coin-page) .market-provisional-score { grid-column:1/-1; grid-row:3; }

@media (max-width:1199.98px) {
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-heading { grid-template-columns:minmax(0,1fr); }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-asset-picker { grid-column:1; grid-row:1; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar h2 { grid-column:1; grid-row:2; margin-top:.25rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar p { grid-column:1; grid-row:3; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-controls { grid-template-columns:1fr; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-scores { grid-column:1/-1; grid-row:3; }
    .market-analysis-page:not(.portfolio-coin-page) .market-provisional-score { grid-row:4; }
}

/* Price chart: keep signals, chart settings and measurements in distinct bands. */
.market-analysis-page .market-chart-control-block { display:grid; min-width:0; align-content:start; gap:.42rem; }
.market-analysis-page .market-chart-control-heading { color:var(--muted-text); font-size:.65rem; font-weight:800; line-height:1.2; }
.market-analysis-page .market-chart-actions { display:flex; align-items:center; gap:.35rem; }
.market-analysis-page:not(.portfolio-coin-page) .price-panel>header {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:.85rem;
    padding:1rem 1.15rem;
    border-bottom:1px solid var(--card-border);
    background:linear-gradient(115deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg) 64%);
    text-align:left;
}
.market-analysis-page:not(.portfolio-coin-page) .market-price-panel-heading { justify-content:flex-start; }
.market-analysis-page:not(.portfolio-coin-page) .market-price-panel-heading h3 { font-size:1.12rem; }
.market-analysis-page:not(.portfolio-coin-page) .price-signal-legend {
    display:flex;
    width:100%;
    justify-content:flex-start;
    gap:.4rem;
    padding-top:.75rem;
    border-top:1px solid var(--card-border);
}
.market-analysis-page:not(.portfolio-coin-page) .price-signal-legend button {
    min-height:30px;
    gap:.35rem;
    padding:.28rem .5rem;
    border:1px solid var(--card-border);
    border-radius:999px;
    color:var(--text-color);
    background:var(--card-bg);
    font-size:.65rem;
}
.market-analysis-page:not(.portfolio-coin-page) .price-signal-legend button:hover,
.market-analysis-page:not(.portfolio-coin-page) .price-signal-legend button:focus-visible { border-color:var(--color-primary); outline:0; }
.market-analysis-page:not(.portfolio-coin-page) .price-signal-legend>.small {
    flex-basis:100%;
    margin-top:.15rem;
    color:var(--muted-text)!important;
    font-size:.65rem;
    line-height:1.4;
}
.market-analysis-page:not(.portfolio-coin-page) .market-price-view-controls {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:stretch;
    gap:1rem;
    min-height:0;
    padding:.85rem 1.15rem;
    overflow:visible;
    background:var(--card-bg);
}
.market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block + .market-chart-control-block {
    padding-left:1rem;
    border-left:1px solid var(--card-border);
}
.market-analysis-page:not(.portfolio-coin-page) .market-chart-actions>button {
    width:34px;
    height:34px;
    flex-basis:34px;
    border:1px solid var(--card-border);
    border-radius:9px;
    background:var(--card-bg);
}
.market-analysis-page:not(.portfolio-coin-page) .market-chart-actions>button:hover,
.market-analysis-page:not(.portfolio-coin-page) .market-chart-actions>button:focus-visible { border-color:var(--color-primary); outline:0; }
.market-analysis-page:not(.portfolio-coin-page) .market-moving-average-legend {
    width:auto;
    justify-content:flex-start;
    gap:.35rem;
    margin:0;
}
.market-analysis-page:not(.portfolio-coin-page) .market-moving-average-legend button {
    min-height:34px;
    padding:.3rem .48rem;
    border:1px solid var(--card-border);
    border-radius:9px;
    background:var(--card-bg);
    font-size:.68rem;
}
.market-analysis-page:not(.portfolio-coin-page) .market-moving-average-legend button.is-hidden { background:var(--hover-bg); }
.market-analysis-page:not(.portfolio-coin-page) .market-candle-intervals { gap:2px; padding:3px; background:var(--hover-bg); }
.market-analysis-page:not(.portfolio-coin-page) .market-candle-intervals button { min-height:32px; min-width:38px; font-size:.68rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-st-options {
    gap:.55rem 1rem;
    margin:0;
    padding:.75rem 1.15rem;
    background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg));
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-options strong { margin-right:.3rem; font-size:.7rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-range-summary {
    gap:.5rem;
    padding:.7rem 1.15rem;
    background:var(--card-bg);
}
.market-analysis-page:not(.portfolio-coin-page) .market-range-summary>span {
    min-width:0;
    padding:.58rem .7rem;
    border:1px solid var(--card-border);
    border-radius:10px;
    background:color-mix(in srgb,var(--color-primary) 2%,var(--card-bg));
}
.market-analysis-page:not(.portfolio-coin-page) .market-range-summary small { font-size:.62rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-range-summary strong { font-size:.78rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-drawing-toolbar { padding:.4rem 1rem; background:var(--hover-bg); }

@media (max-width:999.98px) {
    .market-analysis-page:not(.portfolio-coin-page) .market-price-view-controls { grid-template-columns:auto minmax(0,1fr); }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block.is-indicators { grid-column:1/-1; grid-row:2; padding:.7rem 0 0; border-top:1px solid var(--card-border); border-left:0; }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block.is-intervals { grid-column:2; grid-row:1; }
}
@media (max-width:550px) {
    .market-analysis-page:not(.portfolio-coin-page) .price-panel>header { gap:.7rem; padding:.8rem; }
    .market-analysis-page:not(.portfolio-coin-page) .price-signal-legend { gap:.35rem; }
    .market-analysis-page:not(.portfolio-coin-page) .price-signal-legend button { min-height:32px; font-size:.64rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-price-view-controls { grid-template-columns:minmax(0,1fr); gap:.65rem; padding:.75rem .8rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block,
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block.is-indicators,
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block.is-intervals {
        grid-column:1;
        grid-row:auto;
        padding:0 0 .65rem;
        border:0;
        border-bottom:1px solid var(--card-border);
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block.is-intervals { padding-bottom:0; border-bottom:0; }
    .market-analysis-page:not(.portfolio-coin-page) .market-moving-average-legend { justify-content:flex-start; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-options { padding:.7rem .8rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-range-summary { gap:.4rem; padding:.6rem .8rem; overflow-x:auto; }
    .market-analysis-page:not(.portfolio-coin-page) .market-range-summary>span { min-width:122px; flex:0 0 122px; }
}
@media (max-width:767.98px) {
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar { gap:.85rem; padding:.85rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-controls { gap:.6rem; padding-top:.75rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group,
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-presets,
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom { padding:.65rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-coin-menu { width:100%; max-width:100%; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-ranges { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-ranges button { flex:auto; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-current-strip { grid-row:3; }
    .market-analysis-page:not(.portfolio-coin-page) .market-signal-scores { grid-row:2; }
    .market-analysis-page:not(.portfolio-coin-page) .market-provisional-score { grid-row:4; }
}

/* MarketAnalysis: compact SuperTrend replay settings */
.market-analysis-page:not(.portfolio-coin-page) .market-st-options {
    display:block;
    padding:.95rem 1.15rem 1.05rem;
    border-bottom:1px solid var(--card-border);
    background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 7%,var(--card-bg)),var(--card-bg) 62%);
}
.market-analysis-page .market-st-options-heading {
    display:flex;
    align-items:center;
    gap:.65rem;
    margin-bottom:.8rem;
}
.market-analysis-page .market-st-options-heading-icon {
    display:grid;
    width:30px;
    height:30px;
    flex:none;
    place-items:center;
    border-radius:9px;
    color:var(--color-primary);
    background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg));
    font-size:.8rem;
}
.market-analysis-page .market-st-options-heading>span:last-child { display:grid; gap:.1rem; min-width:0; }
.market-analysis-page:not(.portfolio-coin-page) .market-st-options-heading strong {
    margin:0;
    color:var(--text-color);
    font-size:.83rem;
    line-height:1.2;
}
.market-analysis-page .market-st-options-heading small {
    color:var(--muted-text);
    font-size:.67rem;
    line-height:1.3;
}
.market-analysis-page .market-st-options-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.55rem;
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-option {
    position:relative;
    display:flex;
    min-width:0;
    min-height:62px;
    align-items:center;
    gap:.5rem;
    padding:.65rem .7rem;
    border:1px solid var(--card-border);
    border-radius:12px;
    color:var(--text-color);
    background:var(--card-bg);
    box-shadow:0 2px 8px rgba(15,23,42,.035);
    font-size:.75rem;
    line-height:1.25;
    white-space:normal;
    transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}
.market-analysis-page .market-st-option-icon {
    display:grid;
    width:30px;
    height:30px;
    flex:none;
    place-items:center;
    border-radius:9px;
    color:var(--muted-text);
    background:var(--hover-bg);
    font-size:.72rem;
}
.market-analysis-page .market-st-option-name { min-width:0; flex:1; font-weight:750; }
.market-analysis-page:not(.portfolio-coin-page) .market-st-toggle-option { cursor:pointer; }
.market-analysis-page .market-st-toggle-option:hover,
.market-analysis-page .market-st-distance-option:hover {
    border-color:color-mix(in srgb,var(--color-primary) 42%,var(--card-border));
}
.market-analysis-page .market-st-toggle-option:has(input:checked) {
    border-color:color-mix(in srgb,var(--color-primary) 35%,var(--card-border));
    background:color-mix(in srgb,var(--color-primary) 5%,var(--card-bg));
}
.market-analysis-page .market-st-toggle-option:has(input:checked) .market-st-option-icon {
    color:var(--color-primary);
    background:color-mix(in srgb,var(--color-primary) 12%,var(--card-bg));
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-toggle-option input[type=checkbox] {
    position:absolute;
    z-index:1;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    opacity:0;
    cursor:pointer;
}
.market-analysis-page .market-st-toggle-option:has(input:focus-visible) {
    outline:2px solid var(--color-primary);
    outline-offset:2px;
}
.market-analysis-page .market-st-switch {
    position:relative;
    width:34px;
    height:20px;
    flex:none;
    border-radius:999px;
    background:color-mix(in srgb,var(--muted-text) 35%,var(--card-bg));
    transition:background-color .16s ease;
}
.market-analysis-page .market-st-switch::after {
    position:absolute;
    top:3px;
    left:3px;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.18);
    content:"";
    transition:transform .16s ease;
}
.market-analysis-page .market-st-toggle-option input:checked + .market-st-switch { background:var(--color-primary); }
.market-analysis-page .market-st-toggle-option input:checked + .market-st-switch::after { transform:translateX(14px); }
.market-analysis-page .market-st-distance-field {
    display:flex;
    width:62px;
    height:34px;
    flex:none;
    align-items:center;
    padding:0 .35rem;
    border:1px solid var(--card-border);
    border-radius:8px;
    background:var(--hover-bg);
    font-weight:750;
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-distance-field input[type=number] {
    width:100%;
    min-width:0;
    padding:0;
    border:0;
    outline:0;
    color:var(--text-color);
    background:transparent;
    font-size:.78rem;
    font-weight:800;
    text-align:center;
}
.market-analysis-page .market-st-distance-field:focus-within {
    border-color:var(--color-primary);
    box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 16%,transparent);
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-trade-status {
    padding:.55rem 1.15rem;
    color:var(--muted-text);
    background:var(--card-bg);
    font-size:.67rem;
    font-weight:600;
    line-height:1.45;
}
@media (max-width:900px) {
    .market-analysis-page .market-st-options-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:550px) {
    .market-analysis-page:not(.portfolio-coin-page) .market-st-options { padding:.8rem; }
    .market-analysis-page .market-st-options-heading { margin-bottom:.65rem; }
    .market-analysis-page .market-st-options-grid { gap:.45rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-option { min-height:56px; gap:.4rem; padding:.55rem; font-size:.71rem; }
    .market-analysis-page .market-st-option-icon { width:26px; height:26px; font-size:.67rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-trade-status { padding:.5rem .8rem; }
}
@media (max-width:400px) {
    .market-analysis-page .market-st-distance-option { grid-column:1/-1; }
    .market-analysis-page .market-st-toggle-option:last-child { grid-column:1/-1; }
}

/* Market analysis: a compact page header, one clear filter area and a focused chart workspace. */
.market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero {
    align-items:center;
    border:1px solid #184b58;
    background:linear-gradient(120deg,#0d2535 0%,#123e49 68%,#0d6165 100%);
    box-shadow:0 14px 34px rgba(6,35,46,.14);
}
.market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero::before { background:#28c5be; }
.market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero h1 { color:#fff; }
.market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero .market-analysis-eyebrow { color:#80e2da; }
.market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero p { color:#b5d5dc; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero-actions { align-items:center; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-analysis-status {
    height:38px;
    border-color:rgba(129,229,212,.3);
    color:#d2fff1;
    background:rgba(8,45,51,.72);
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-score-cta {
    min-height:38px;
    border-color:rgba(129,229,212,.36);
    color:#ebfffc;
    background:rgba(255,255,255,.1);
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-score-cta:hover { background:rgba(255,255,255,.18); }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-score-cta-copy strong,
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-score-cta-copy small,
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-score-cta-arrow { color:#ebfffc; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-score-cta-icon { color:#7fe5df; background:rgba(127,229,223,.14); }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar { border-radius:18px; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-controls { align-items:stretch; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-presets,
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom {
    border-color:var(--card-border);
    background:var(--card-bg);
}
.market-analysis-page:not(.portfolio-coin-page) details.market-analysis-control-group.is-custom { align-content:start; }
.market-analysis-page:not(.portfolio-coin-page) details.market-analysis-control-group.is-custom:not([open]) { align-content:center; }
.market-analysis-page:not(.portfolio-coin-page) details.market-analysis-control-group.is-custom:not([open]) .market-analysis-date-filter { display:none; }
.market-analysis-page:not(.portfolio-coin-page) details.market-analysis-control-group.is-custom[open] .market-analysis-date-filter { margin-top:.7rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom summary {
    display:flex;
    align-items:center;
    min-height:24px;
    list-style:none;
    cursor:pointer;
}
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom summary::-webkit-details-marker { display:none; }
.market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom summary:focus-visible,
.market-analysis-page:not(.portfolio-coin-page) .market-chart-legend-help summary:focus-visible { border-radius:5px; outline:2px solid var(--color-primary); outline-offset:3px; }
.market-analysis-page:not(.portfolio-coin-page) .market-custom-chevron { margin-left:auto; font-size:.65rem; transition:transform .18s ease; }
.market-analysis-page:not(.portfolio-coin-page) details[open] .market-custom-chevron { transform:rotate(180deg); }
.market-analysis-page:not(.portfolio-coin-page) .market-price-panel-header { border-bottom:0; }
.market-analysis-page:not(.portfolio-coin-page) .price-signal-legend {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:.5rem;
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-direction-switch {
    display:flex;
    grid-column:1/-1;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:.45rem;
    color:var(--muted-text);
    font-size:.7rem;
    font-weight:800;
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-direction-choices {
    display:inline-flex;
    gap:2px;
    padding:3px;
    border:1px solid var(--card-border);
    border-radius:11px;
    background:var(--hover-bg);
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-direction-choices button {
    min-height:32px;
    min-width:76px;
    justify-content:center;
    padding:.3rem .65rem;
    border:0;
    border-radius:8px;
    color:var(--muted-text);
    background:transparent;
    font-size:.69rem;
    font-weight:850;
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-direction-choices button.active {
    color:#fff;
    background:#008f91;
    box-shadow:0 2px 6px rgba(0,80,84,.16);
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-direction-choices button[data-st-direction="Short"].active { background:#9a6900; }
.market-analysis-page:not(.portfolio-coin-page) .market-st-direction-choices button:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; }
.market-analysis-page:not(.portfolio-coin-page) .price-signal-legend-items {
    display:flex;
    min-width:0;
    align-items:center;
    flex-wrap:wrap;
    gap:.35rem;
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-direction-note {
    display:flex;
    grid-column:1/-1;
    align-items:center;
    flex-wrap:wrap;
    gap:.25rem .5rem;
    margin:0;
    padding:.45rem .6rem;
    border-left:3px solid #009bab;
    border-radius:0 8px 8px 0;
    color:var(--muted-text);
    background:color-mix(in srgb,#009bab 7%,var(--card-bg));
    font-size:.72rem;
    line-height:1.4;
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-direction-note strong { color:var(--text-color); font-size:.68rem; letter-spacing:.04em; white-space:nowrap; }
.market-analysis-page:not(.portfolio-coin-page) .price-panel[data-st-direction="short"] .market-st-direction-note {
    border-left-color:#a87c00;
    background:color-mix(in srgb,#a87c00 8%,var(--card-bg));
}
.market-analysis-page:not(.portfolio-coin-page) .market-chart-legend-help { position:relative; flex:none; }
.market-analysis-page:not(.portfolio-coin-page) .market-chart-legend-help summary {
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    border:1px solid var(--card-border);
    border-radius:9px;
    color:var(--muted-text);
    background:var(--card-bg);
    cursor:pointer;
    list-style:none;
}
.market-analysis-page:not(.portfolio-coin-page) .market-chart-legend-help summary::-webkit-details-marker { display:none; }
.market-analysis-page:not(.portfolio-coin-page) .market-chart-legend-help p {
    margin:.4rem 0 0;
    padding:.65rem .75rem;
    border:1px solid var(--card-border);
    border-radius:10px;
    color:var(--muted-text);
    background:var(--card-bg);
    font-size:.69rem;
    line-height:1.45;
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-options {
    border-top:7px solid color-mix(in srgb,var(--color-primary) 10%,var(--card-bg));
    background:var(--card-bg);
}
.market-analysis-page:not(.portfolio-coin-page) .market-st-options-heading { margin-bottom:.7rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-st-options-heading-icon { width:34px; height:34px; border-radius:11px; }
.market-analysis-page:not(.portfolio-coin-page) .market-st-options-grid { gap:.4rem; }
.market-analysis-page:not(.portfolio-coin-page) .market-st-option { min-height:54px; box-shadow:none; }
.market-analysis-page:not(.portfolio-coin-page) .market-st-toggle-option:has(input:checked) { box-shadow:inset 3px 0 0 var(--color-primary); }

@media (max-width:767.98px) {
    .market-analysis-page:not(.portfolio-coin-page) { padding-top:.7rem!important; }
    .market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:.45rem;
        margin-bottom:.65rem;
        padding:.7rem .8rem;
        border-radius:17px;
    }
    .market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero>div:first-child { grid-column:1; min-width:0; }
    .market-analysis-page:not(.portfolio-coin-page)>.market-analysis-hero h1 { font-size:clamp(1.02rem,4.2vw,1.2rem); }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero-actions { grid-column:2; width:auto; margin:0; justify-content:flex-end; gap:.3rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-score-cta { width:34px; min-width:34px; height:34px; min-height:34px; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-hero .market-analysis-status { height:34px; padding:0 .55rem; font-size:.6rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar {
        gap:.55rem;
        margin-bottom:.7rem;
        padding:.85rem;
        border-radius:17px;
        box-shadow:0 8px 24px rgba(10,38,54,.05);
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-heading { gap:.15rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-picker-label { font-size:.75rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-coin-trigger {
        min-height:48px;
        padding:.4rem .55rem;
        border-color:var(--card-border);
        border-radius:11px;
        background:var(--hover-bg);
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar h2 { margin:.5rem 0 0; font-size:1rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-toolbar p { font-size:.7rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-controls {
        gap:.45rem;
        padding-top:.65rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-presets,
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom {
        padding:.55rem 0;
        border:0;
        border-radius:0;
        background:transparent;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-group.is-custom { padding-top:.6rem; border-top:1px solid var(--card-border); }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-control-label { font-size:.72rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-ranges {
        display:flex;
        flex-wrap:nowrap;
        gap:.25rem;
        margin:0 -.15rem;
        overflow-x:auto;
        padding:.18rem .15rem .35rem;
        scrollbar-width:thin;
        scroll-snap-type:x proximity;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-ranges button {
        min-width:51px;
        min-height:36px;
        flex:1 0 51px;
        padding:.25rem .35rem;
        border-radius:9px;
        font-size:.69rem;
        scroll-snap-align:start;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .market-analysis-page:not(.portfolio-coin-page) .market-analysis-date-filter button { grid-column:1/-1; }
    .market-analysis-page:not(.portfolio-coin-page) .price-panel>header { gap:.55rem; padding:.8rem .8rem .65rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-price-panel-heading h3 { font-size:1.05rem; }
    .market-analysis-page:not(.portfolio-coin-page) .price-signal-legend {
        grid-template-columns:minmax(0,1fr) 30px;
        gap:.25rem;
        padding-top:.55rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .price-signal-legend-items {
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:.25rem;
        scrollbar-width:thin;
    }
    .market-analysis-page:not(.portfolio-coin-page) .price-signal-legend button { flex:none; min-height:28px; padding:.2rem .42rem; font-size:.63rem; white-space:nowrap; }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-legend-help p {
        position:absolute;
        z-index:5;
        top:calc(100% + .4rem);
        right:0;
        width:min(310px,calc(100vw - 55px));
        margin:0;
        box-shadow:0 12px 28px rgba(7,28,43,.14);
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-price-view-controls {
        grid-template-columns:auto minmax(0,1fr);
        gap:.55rem;
        padding:.65rem .8rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block.is-view { grid-column:1; grid-row:1; }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block.is-intervals {
        grid-column:2;
        grid-row:1;
        padding:0 0 0 .6rem;
        border:0;
        border-left:1px solid var(--card-border);
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-block.is-indicators {
        grid-column:1/-1;
        grid-row:2;
        padding:.55rem 0 0;
        border:0;
        border-top:1px solid var(--card-border);
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-control-heading { font-size:.65rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-chart-actions>button { width:32px; height:32px; flex-basis:32px; }
    .market-analysis-page:not(.portfolio-coin-page) .market-candle-intervals { width:100%; }
    .market-analysis-page:not(.portfolio-coin-page) .market-candle-intervals button { flex:1; min-width:0; min-height:32px; }
    .market-analysis-page:not(.portfolio-coin-page) .market-moving-average-legend {
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:.2rem;
        scrollbar-width:thin;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-moving-average-legend button { flex:none; min-height:32px; white-space:nowrap; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-options { padding:.8rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-options-heading { margin-bottom:.5rem; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-options-heading small { display:none; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-options-grid {
        grid-template-columns:minmax(0,1fr);
        gap:0;
        overflow:hidden;
        border:1px solid var(--card-border);
        border-radius:12px;
        background:var(--card-bg);
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-option,
    .market-analysis-page:not(.portfolio-coin-page) .market-st-distance-option,
    .market-analysis-page:not(.portfolio-coin-page) .market-st-toggle-option:last-child {
        grid-column:1;
        min-height:47px;
        margin:0;
        padding:.5rem .65rem;
        border:0;
        border-bottom:1px solid var(--card-border);
        border-radius:0;
        box-shadow:none;
        font-size:.75rem;
    }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-toggle-option:last-child { border-bottom:0; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-option-icon { width:27px; height:27px; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-distance-field { height:31px; }
    .market-analysis-page:not(.portfolio-coin-page) .market-st-trade-status { padding:.55rem .8rem; }
}
.market-candidate-link-row { display:flex; justify-content:flex-end; margin:-.2rem 0 .8rem; }
.market-candidate-link { display:flex; align-items:center; gap:.6rem; max-width:100%; padding:.6rem .8rem; border:1px solid rgba(29,165,154,.3); border-radius:12px; color:var(--text-color); background:var(--card-bg); text-decoration:none; box-shadow:0 5px 16px rgba(9,36,49,.05); }
.market-candidate-link:hover { color:var(--color-primary); border-color:var(--color-primary); }
.market-candidate-link>i:first-child { color:#0d9488; }
.market-candidate-link>span { display:grid; gap:.08rem; }
.market-candidate-link strong { font-size:.78rem; }
.market-candidate-link small { color:var(--muted-text); font-size:.65rem; }
.market-candidate-link>i:last-child { margin-left:.3rem; font-size:.65rem; }
.futures-candidates-page { max-width:1180px; margin:0 auto; color:var(--text-color); }
.futures-candidates-page { --futures-long:#047857; --futures-short:#be123c; --futures-long-bg:#dcfce7; --futures-short-bg:#ffe4e6; }
:root[data-theme="dark"] .futures-candidates-page { --futures-long:#a7f3d0; --futures-short:#fda4af; --futures-long-bg:#123b30; --futures-short-bg:#492335; }
.futures-candidates-rules { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:1rem; font-size:.85rem; }
.futures-candidates-rules > span { display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .65rem; border:1px solid var(--card-border); border-radius:999px; background:var(--card-bg); }
.futures-candidates-rules details { flex-basis:100%; }
.futures-candidates-rules summary { width:fit-content; color:var(--color-primary); cursor:pointer; font-weight:650; }
.futures-candidates-rules details p { max-width:850px; margin:.5rem 0 0; color:var(--muted-text); line-height:1.6; }
.futures-candidates-directions { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; padding-left:.5rem; border-left:1px solid var(--card-border); }
.futures-candidates-summary .is-long[aria-pressed="true"],.futures-direction-badge.is-long { color:var(--futures-long); background:var(--futures-long-bg); border-color:var(--futures-long); }
.futures-candidates-summary .is-short[aria-pressed="true"],.futures-direction-badge.is-short { color:var(--futures-short); background:var(--futures-short-bg); border-color:var(--futures-short); }
.futures-candidate-badges { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; }
.futures-direction-badge { display:inline-flex; align-items:center; gap:.3rem; padding:.3rem .55rem; border:1px solid transparent; border-radius:999px; font-size:.8rem; font-weight:800; white-space:nowrap; }
.futures-direction-badge[hidden] { display:none !important; }
.futures-candidate-card[data-direction="Long"] { border-top:3px solid var(--futures-long); }
.futures-candidate-card[data-direction="Short"] { border-top:3px solid var(--futures-short); }
.futures-candidate-card footer a { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .5rem; border-radius:7px; background:var(--hover-bg); }
@media (prefers-color-scheme:dark) {
    :root:not([data-theme="light"]) .futures-candidates-page { --futures-long:#a7f3d0; --futures-short:#fda4af; --futures-long-bg:#123b30; --futures-short-bg:#492335; }
}
@media (max-width:460px) {
    .futures-candidates-directions { padding-left:0; border-left:0; }
    .futures-candidate-badges { width:100%; }
}
.futures-candidates-hero { align-items:center; margin-bottom:.75rem; padding:1rem 1.2rem; border-radius:16px; background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 9%,var(--card-bg)),var(--card-bg)); }
.futures-candidates-hero h1 { font-size:clamp(1.35rem,2.4vw,1.8rem); }
.futures-candidates-hero p { max-width:690px; font-size:.95rem; }
.futures-candidates-controls { display:flex; align-items:end; justify-content:space-between; gap:.8rem; margin-bottom:.7rem; }
.futures-candidates-controls>div { display:grid; gap:.35rem; }
.futures-candidates-controls strong { font-size:.95rem; }
.futures-candidates-controls>span { color:var(--muted-text); font-size:.875rem; }
.futures-candidates-search { flex:1 1 220px; max-width:320px; }
.futures-candidates-search label { font-size:.95rem; font-weight:750; }
.futures-candidates-distance { display:grid; gap:.35rem; flex:0 0 auto; }
.futures-candidates-distance label { font-size:.9rem; font-weight:750; }
.futures-candidates-distance > div { display:flex; align-items:center; gap:.35rem; }
.futures-candidates-distance input { width:76px; min-height:44px; padding:.4rem .5rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); }
.futures-candidates-distance button { min-height:44px; padding:.4rem .6rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); font-weight:650; }
@media (min-width:701px) and (max-width:1050px) { .futures-candidates-controls { flex-wrap:wrap; } }
.futures-candidates-search input { width:100%; min-height:44px; padding:.4rem .6rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); font-size:1rem; }
.futures-candidates-refresh,.futures-candidates-more { padding:.43rem .7rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); font-size:.95rem; font-weight:750; }
.futures-candidates-refresh:hover,.futures-candidates-more:hover { border-color:var(--color-primary); color:var(--color-primary); }
.futures-candidates-more { display:block; margin:.8rem auto 0; }
.futures-candidate-card[hidden],.futures-candidates-empty[hidden],.futures-candidates-more[hidden] { display:none !important; }
.futures-candidates-periods { display:flex; gap:.3rem; }
.futures-candidates-periods button { padding:.4rem .7rem; border:1px solid var(--card-border); border-radius:9px; color:var(--text-color); background:var(--card-bg); font-size:.95rem; font-weight:750; }
.futures-candidates-periods button.is-active { border-color:#0e887f; color:#fff; background:#0e887f; }
.futures-candidates-summary { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:.7rem; }
.futures-candidates-summary :is(span,button) { padding:.37rem .65rem; border:1px solid var(--card-border); border-radius:999px; color:var(--text-color); background:var(--card-bg); font-size:.875rem; }
.futures-candidates-summary strong { font-size:1rem; }
.futures-entry-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:1rem 0; }
.futures-entry-checks > div { padding:1rem; border:1px solid var(--card-border); border-radius:1rem; background:var(--card-bg); color:var(--text-color); overflow-wrap:anywhere; }
.futures-entry-checks p { margin:.4rem 0 0; font-size:.9rem; }
@media(max-width:767px) { .futures-entry-checks { grid-template-columns:1fr; gap:.5rem; } .futures-entry-checks > div { padding:.75rem; } }
.futures-candidates-filter { cursor:pointer; font-weight:inherit; }
.futures-candidates-filter:hover { border-color:var(--color-primary); }
.futures-candidates-filter:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; }
.futures-candidates-filter.is-interesting[aria-pressed="true"] { border-color:#167953; color:#085f42; background:#c9f5df; }
.futures-candidates-filter.is-watch[aria-pressed="true"] { border-color:#23749d; color:#075985; background:#d8f1ff; }
.futures-candidates-filter.is-wait[aria-pressed="true"] { border-color:#a56b1c; color:#835315; background:#fff0c4; }
:root[data-theme="dark"] .futures-candidates-filter.is-interesting[aria-pressed="true"] { border-color:#58bf91; color:#b8f8d5; background:#124f3b; }
:root[data-theme="dark"] .futures-candidates-filter.is-watch[aria-pressed="true"] { border-color:#52b3df; color:#bdeaff; background:#134760; }
:root[data-theme="dark"] .futures-candidates-filter.is-wait[aria-pressed="true"] { border-color:#d6a550; color:#ffe5aa; background:#5f461c; }
.futures-candidates-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.futures-candidate-card { min-width:0; padding:.9rem; border:1px solid var(--card-border); border-radius:15px; background:var(--card-bg); box-shadow:0 5px 18px rgba(8,30,44,.04); }
.futures-candidate-card.is-interesting { border-color:color-mix(in srgb,#15946d 55%,var(--card-border)); }
.futures-candidate-card>header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:.6rem; }
.futures-candidate-identity { display:flex; min-width:0; align-items:center; gap:.6rem; }
.futures-candidate-icon { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; overflow:hidden; border-radius:50%; background:var(--hover-bg); }
.futures-candidate-icon>.bot-coin-icon { display:grid; width:100%; height:100%; place-items:center; border-radius:50%; }
.futures-candidate-icon .bot-coin-icon img { width:100%; height:100%; }
.futures-candidate-identity h2 { margin:0; font-size:1.15rem; }
.futures-candidate-identity small { display:block; overflow:hidden; max-width:260px; color:var(--muted-text); font-size:.8rem; text-overflow:ellipsis; white-space:nowrap; }
.futures-candidate-status { flex:0 0 auto; padding:.3rem .48rem; border-radius:999px; color:var(--muted-text); background:var(--hover-bg); font-size:.85rem; font-weight:800; }
.is-interesting .futures-candidate-status { color:#085f42; background:#c9f5df; }
.is-watch .futures-candidate-status { color:#075985; background:#d8f1ff; }
.is-wait .futures-candidate-status { color:#835315; background:#fff0c4; }
:root[data-theme="dark"] .is-interesting .futures-candidate-status { color:#b8f8d5; background:#124f3b; }
:root[data-theme="dark"] .is-watch .futures-candidate-status { color:#bdeaff; background:#134760; }
:root[data-theme="dark"] .is-wait .futures-candidate-status { color:#ffe5aa; background:#5f461c; }
.futures-candidate-reason { min-height:2.2em; margin:.6rem 0; font-size:1rem; line-height:1.45; }
.futures-candidate-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; margin:0; }
.futures-candidate-facts>div { min-width:0; padding:.42rem .5rem; border-radius:8px; background:var(--hover-bg); }
.futures-candidate-facts dt { color:var(--muted-text); font-size:.8rem; }
.futures-candidate-facts dd { overflow:hidden; margin:.08rem 0 0; font-size:.95rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.futures-candidate-card footer { display:flex; justify-content:space-between; gap:.5rem; margin-top:.65rem; color:var(--muted-text); font-size:.8rem; }
.futures-candidate-card footer a { color:var(--color-primary); font-weight:750; text-decoration:none; }
.futures-candidates-footnote { margin:.75rem 0 0; color:var(--muted-text); font-size:.85rem; }
.futures-candidates-empty { padding:1.1rem; border:1px solid var(--card-border); border-radius:12px; background:var(--card-bg); }
@media (max-width:700px) {
    .market-candidate-link-row { margin:.2rem 0 .7rem; }
    .market-candidate-link { width:100%; justify-content:space-between; }
    .market-candidate-link>span { flex:1; }
    .futures-candidates-hero { display:grid; gap:.7rem; padding:.9rem; }
    .futures-candidates-hero .market-scores-back { justify-self:start; }
    .futures-candidates-controls { align-items:start; flex-direction:column; }
    .futures-candidates-search { width:100%; max-width:none; flex:auto; }
    .futures-candidates-grid { grid-template-columns:minmax(0,1fr); }
    .futures-candidate-card { padding:.75rem; }
    .futures-candidate-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-color-scheme:dark) {
    :root:not([data-theme]) .futures-candidates-filter.is-interesting[aria-pressed="true"] { border-color:#58bf91; color:#b8f8d5; background:#124f3b; }
    :root:not([data-theme]) .futures-candidates-filter.is-watch[aria-pressed="true"] { border-color:#52b3df; color:#bdeaff; background:#134760; }
    :root:not([data-theme]) .futures-candidates-filter.is-wait[aria-pressed="true"] { border-color:#d6a550; color:#ffe5aa; background:#5f461c; }
    :root:not([data-theme]) .is-interesting .futures-candidate-status { color:#b8f8d5; background:#124f3b; }
    :root:not([data-theme]) .is-watch .futures-candidate-status { color:#bdeaff; background:#134760; }
    :root:not([data-theme]) .is-wait .futures-candidate-status { color:#ffe5aa; background:#5f461c; }
}
.market-bot-context{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--card-border);border-radius:12px;background:var(--card-bg);color:var(--text-color)}
.market-bot-context>div{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.market-bot-context a{color:var(--color-primary);font-size:.8rem}
.market-bot-context p{margin:.55rem 0;font-size:.85rem;line-height:1.6}
.market-bot-context small{display:block;color:var(--muted-text);font-size:.75rem;line-height:1.5}
.futures-candidates-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.futures-candidates-topbar .market-analysis-eyebrow{margin:0;color:var(--color-primary)}
.futures-candidates-page .futures-candidate-card[data-direction="Long"]{border-top-color:var(--futures-long)}
.futures-candidates-page .futures-candidate-card[data-direction="Short"]{border-top-color:var(--futures-short)}
.futures-candidates-page .futures-candidates-controls{display:grid;grid-template-columns:auto auto minmax(180px,1fr) auto;align-items:end;gap:1rem;padding:1rem;border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg);margin:1rem 0}
.futures-candidates-controls #futuresCandidatesProgress{grid-column:1/-1;font-size:.75rem;color:var(--muted-text)}
.futures-candidates-page .futures-candidates-search{max-width:none;min-width:0}
.futures-candidates-page .futures-candidates-periods{padding:3px;border-radius:11px;background:var(--hover-bg);gap:2px}
.futures-candidates-page .futures-candidates-periods button{border-color:transparent;white-space:nowrap;font-size:.85rem;min-height:38px}
.futures-candidates-page .futures-candidate-card{padding:1.1rem;border-radius:18px;box-shadow:0 8px 28px rgba(8,30,44,.04)}
.futures-candidates-page .futures-candidate-reason{font-size:.88rem;color:var(--muted-text);margin:.8rem 0;min-height:2.9em}
.futures-candidate-scores{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--card-border);border-radius:12px;background:color-mix(in srgb,var(--color-primary) 3%,var(--card-bg))}
.futures-entry-score>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.futures-candidate-scores span{font-size:.75rem;color:var(--muted-text)}
.futures-candidate-scores strong{font-size:1.25rem;color:var(--text-color);line-height:1.3}
.futures-candidate-scores small{display:block;font-size:.65rem;color:var(--muted-text);margin-top:5px;line-height:1.4}
.futures-entry-score progress{display:block;width:100%;height:7px;margin-top:9px;border:0;border-radius:8px;overflow:hidden;background:var(--card-border);accent-color:var(--color-primary)}
.futures-entry-score progress::-webkit-progress-bar{background:var(--card-border);border-radius:8px}
.futures-entry-score progress::-webkit-progress-value{background:var(--color-primary);border-radius:8px}
.futures-entry-score progress::-moz-progress-bar{background:var(--color-primary);border-radius:8px}
.futures-success-score{display:flex;flex-direction:column;justify-content:center;padding-left:12px;border-left:1px solid var(--card-border)}
.futures-success-score strong{margin-top:4px}
.futures-entry-conditions{margin:.65rem 0 .8rem;font-size:.75rem}
.futures-entry-conditions summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;color:var(--muted-text)}
.futures-entry-conditions summary span{font-variant-numeric:tabular-nums;color:var(--text-color)}
.futures-entry-conditions ul{list-style:none;padding:0;margin:.6rem 0 0}
.futures-entry-conditions li{display:flex;align-items:flex-start;gap:7px;padding:.45rem 0;color:var(--text-color)}
.futures-entry-conditions li>span{min-width:0;overflow-wrap:anywhere}
.futures-entry-conditions li>i{margin-top:.2rem;flex-shrink:0}
.futures-entry-conditions li>small{flex-shrink:0}
.futures-condition-detail{display:block;margin-top:.2rem;font-size:.72rem;line-height:1.5;color:var(--muted-text)}
.futures-assessment-reason,.futures-assessment-time,.futures-assessment-scope{margin:.6rem 0 0;line-height:1.5;color:var(--muted-text);overflow-wrap:anywhere}
.futures-assessment-scope{font-size:.7rem}
.futures-entry-conditions li small{margin-left:auto;font-size:.68rem}
.futures-entry-conditions li[data-passed=true] i{color:var(--color-primary)}
.futures-candidates-page .futures-candidate-facts>div{padding:.4rem 0;background:transparent}
.futures-candidates-page .futures-candidate-facts dt{font-size:.7rem;font-weight:500}
.futures-candidates-page .futures-candidate-facts dd{font-size:.83rem}
.futures-candidates-page .futures-candidate-card footer{border-top:1px solid var(--card-border);padding-top:.8rem;margin-top:.7rem;font-size:.73rem;align-items:center}
@media(max-width:1000px){.futures-candidates-page .futures-candidates-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.futures-candidates-page .futures-candidates-search{width:auto}}
@media(max-width:600px){.futures-candidates-topbar{gap:.5rem}.futures-candidates-topbar .market-scores-back{padding:.4rem .55rem;font-size:.7rem}.futures-candidates-topbar .market-analysis-eyebrow{font-size:.7rem}.futures-candidates-page .futures-candidates-controls{padding:.8rem;gap:.8rem}.futures-candidates-page .futures-candidates-controls>div:first-child,.futures-candidates-page .futures-candidates-distance{grid-column:1/-1}.futures-candidates-page .futures-candidate-card{padding:.9rem}.futures-candidates-page .futures-candidate-reason{min-height:0}.futures-candidates-page .futures-candidate-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.futures-candidate-scores{padding:11px;gap:10px}}
.live-history-summary .live-history-return>small,.live-history-summary .live-history-return>strong,.live-history-summary .live-history-return>em{grid-column:2}
.live-history-summary .live-history-return>span{grid-row:1/5}
.live-history-summary .live-history-return>strong.is-positive{color:#059669}
.live-history-summary .live-history-return>strong.is-negative{color:#dc4b55}
.live-history-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;background:transparent;border:0;box-shadow:none;overflow:visible}
.live-history-summary>div{min-height:100px;grid-template-columns:30px minmax(0,1fr);grid-template-rows:18px 27px auto;align-content:start;gap:.2rem .5rem;padding:.8rem;border:1px solid var(--card-border);border-radius:14px;background:var(--card-bg);box-shadow:0 4px 14px rgba(8,30,44,.025)}
.live-history-summary>div:first-child{border-left:1px solid var(--card-border)}
.live-history-summary>div>span{width:30px;height:30px;grid-row:1/3;align-self:start;border-radius:9px}
.live-history-summary small{font-size:.72rem;line-height:1.25;align-self:center}
.live-history-summary strong{font-size:1.15rem;line-height:1.25;white-space:nowrap;margin:0}
.live-history-summary em{grid-column:2;font-size:.68rem;line-height:1.3}
.live-history-summary .live-history-return>span{grid-row:1/3}
.live-history-summary .live-history-costs{grid-column:1/-1;font-size:.68rem;color:var(--muted-text);border-top:1px solid var(--card-border);padding-top:.4rem;margin-top:.2rem}
.live-history-costs summary{cursor:pointer;font-weight:500}.live-history-costs p{margin:.4rem 0 0;line-height:1.5}
.live-history-period{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap;padding:.75rem;border:1px solid var(--card-border);border-radius:14px;background:var(--card-bg)}
.live-history-period label{display:grid;gap:.3rem;min-width:0;font-size:.75rem;color:var(--muted-text)}
.live-history-period input{min-width:0;max-width:100%;height:40px;padding:.4rem .5rem;border:1px solid var(--card-border);border-radius:9px;background:var(--section-bg);color:var(--text-color);font:inherit}
.live-history-period button{width:40px;height:40px;border:0;border-radius:9px;background:var(--color-primary);color:#fff}
.live-history-period>a{font-size:.75rem;padding:.6rem;color:var(--color-primary)}
.live-history-period-error{flex-basis:100%;color:#dc4b55;font-size:.75rem}.live-history-period-error.validation-summary-valid{display:none}
@media(max-width:760px){.live-history-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.live-history-summary>div:last-child{grid-column:auto}.live-history-summary>div{min-height:104px;padding:.7rem .6rem;column-gap:.4rem}.live-history-summary small{font-size:.7rem}.live-history-summary strong{font-size:1.1rem}.live-history-period{gap:.4rem}.live-history-period label{flex:1 1 100px}.live-history-period input{width:100%}}
/* Mobile candidate workspace: compact controls, clear asynchronous feedback. */
.futures-candidates-topbar h1{margin:0 0 .15rem;font-size:1.4rem;font-weight:750;color:var(--text-color)}
.futures-candidates-refresh{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px}
.futures-candidates-refresh:disabled{cursor:wait;opacity:.75}
.futures-candidates-page[data-scanning=true] .futures-candidates-refresh i{animation:op-spin 1s linear infinite}
@media(prefers-reduced-motion:reduce){.futures-candidates-page[data-scanning=true] .futures-candidates-refresh i{animation:none}}
.mobile-nav{background-color:rgba(255,255,255,.72)}
:root[data-theme=light] .mobile-nav{background-color:rgba(255,255,255,.72)}
:root[data-theme=dark] .mobile-nav{background-color:rgba(11,23,38,.78)}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .mobile-nav{background-color:rgba(11,23,38,.78)}}
@media(max-width:600px){
 .futures-candidates-page{padding-top:1rem!important}
 .futures-candidates-topbar{gap:.75rem;align-items:center;margin-bottom:.75rem}
 .futures-candidates-topbar h1{font-size:1.3rem}
 .futures-candidates-topbar .market-analysis-eyebrow{font-size:.65rem}
 .futures-candidates-topbar .market-scores-back{font-size:.7rem;padding:.55rem .65rem;white-space:nowrap}
 .futures-candidates-page .futures-candidates-controls{grid-template-columns:minmax(0,1fr) 44px;gap:.75rem;padding:.85rem;border-radius:18px;box-shadow:0 4px 18px rgba(8,30,44,.035)}
 .futures-candidates-controls>div:first-child{grid-column:1/-1}
 .futures-candidates-controls>div:first-child>strong{font-size:.7rem;color:var(--muted-text);font-weight:600}
 .futures-candidates-page .futures-candidates-periods button{flex:1;min-height:44px;font-size:.8rem}
 .futures-candidates-distance{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--card-border);padding-top:.7rem}
 .futures-candidates-distance label{font-size:.72rem;max-width:90px;margin:0;color:var(--muted-text)}
 .futures-candidates-distance input{width:62px;font-size:16px;min-height:40px}
 .futures-candidates-distance button{font-size:.7rem;min-height:40px;padding:.4rem .6rem}
 .futures-candidates-distance>div{gap:.3rem;font-size:.75rem}
 .futures-candidates-page .futures-candidates-search{grid-column:1;align-self:center;width:100%}
 .futures-candidates-search label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .futures-candidates-search input{font-size:16px;border-radius:12px;min-width:0}
 .futures-candidates-refresh{grid-column:2;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg));color:var(--color-primary)}
 .futures-candidates-refresh span{display:none}
 .futures-candidates-controls #futuresCandidatesProgress{font-size:.65rem;line-height:1.4}
 .futures-candidates-rules{gap:.35rem}
 .futures-candidates-rules>span{font-size:.65rem;padding:.35rem .5rem}
 .futures-candidates-rules summary{font-size:.7rem}
 .futures-candidates-summary{gap:.35rem;align-items:center}
 .futures-candidates-summary :is(span,button){font-size:.7rem;padding:.4rem .6rem}
 .futures-candidates-summary strong{font-size:.8rem}
 .futures-candidates-summary>span{font-size:.65rem;background:transparent;border:0;color:var(--muted-text)}
 .futures-candidate-card>header{flex-wrap:nowrap;gap:.5rem}
 .futures-candidate-identity{min-width:0;flex:1}
 .futures-candidate-identity small{font-size:.65rem;overflow-wrap:anywhere}
 .futures-candidate-badges{flex-direction:column;align-items:flex-end;flex-shrink:0}
 .futures-candidate-reason{font-size:.85rem}
}

/* Closed trade identity and observed returns. */
.bot-history-coin .live-history-trade-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}
.live-history-trade-badges>span{padding:.12rem .35rem;border:1px solid var(--card-border);border-radius:6px;color:var(--text-color);font-size:.68rem;font-weight:700;line-height:1.4}
.live-history-trade-badges>.is-long{color:var(--bot-dark-buy,#087454);border-color:currentColor}
.live-history-trade-badges>.is-short{color:var(--bot-dark-sell,#b42332);border-color:currentColor}
.bot-history-page .bot-history-row>.live-history-extrema{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;padding:.3rem 0}
.bot-history-row>.live-history-extrema>span{display:flex;align-items:baseline;gap:.4rem;color:var(--muted-text);font-size:.72rem}
.bot-history-row>.live-history-extrema strong{font-size:.78rem;color:var(--text-color)}
.bot-history-row>.live-history-extrema strong.is-positive{color:var(--bot-dark-buy,#087454)}
.bot-history-row>.live-history-extrema strong.is-negative{color:var(--bot-dark-sell,#b42332)}
.bot-history-row>.live-history-extrema>small{font-size:.65rem;color:var(--muted-text)}
