/*
 * Copyright © 2026 Atanu Bhattacharyya.
 * Elevate Option Trading.
 * All Rights Reserved.
 */

/* ==========================================================
   ELEVATE OPTION TRADING DASHBOARD
   style.css
   ========================================================== */

:root {
    --bg: #eef1f8;
    --ink: #1f2937;
    --muted: #64748b;
    --border: #e2e8f0;
    --card-shadow: 0 6px 20px rgba(15, 23, 42, .08);
    --radius: 14px;
    --accent: #2563eb;
    --green: #16a34a;
    --red: #dc2626;
    --amber: #f59e0b;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Segoe UI", Arial, sans-serif;
    background: var(--bg);
    color: #1e293b;
    padding-bottom: 40px;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 18px;
}

/* ----------------------------------------------------------
   Header
---------------------------------------------------------- */

.app-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #ffffff;
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
    padding: 14px 22px;
    margin: 22px 0 24px;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.app-logo {
    height: 48px;
    width: 48px;
    object-fit: contain;
    border-radius: 10px;
    background: var(--ink);
    padding: 4px;
}

.header-title h1 {
    font-size: 21px;
    font-weight: 800;
    color: var(--ink);
    letter-spacing: .3px;
}

.header-subtitle {
    font-size: 12px;
    color: var(--muted);
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.market-tickers {
    display: flex;
    align-items: stretch;
    gap: 6px;
    flex-wrap: wrap;
}

.market-ticker {
    min-width: 86px;
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #f8fafc;
    text-align: center;
}

.market-ticker .ticker-label {
    display: block;
    font-size: 9px;
    color: var(--muted);
    font-weight: 800;
    letter-spacing: .35px;
    white-space: nowrap;
}

.market-ticker strong {
    display: block;
    margin-top: 2px;
    font-size: 14px;
    color: var(--ink);
    white-space: nowrap;
}

.market-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}

.market-clock {
    font-size: 13px;
    font-weight: 600;
    color: var(--muted);
    white-space: nowrap;
}

.market-badge {
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .5px;
    white-space: nowrap;
}

.market-badge.open {
    background: #dcfce7;
    color: #166534;
}

.market-badge.closed {
    background: #fee2e2;
    color: #991b1b;
}

/* ----------------------------------------------------------
   Layout
---------------------------------------------------------- */

.token-card {
    margin-bottom: 20px;
}

.token-info {
    display: flex;
    flex-wrap: wrap;
    gap: 36px;
    margin-bottom: 12px;
}

.token-info > div {
    min-width: 190px;
}

.token-label {
    display: block;
    font-size: 11px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .7px;
    margin-bottom: 4px;
}

.token-info strong {
    font-size: 14px;
    color: #0f172a;
}

.token-hint {
    margin: 8px 0 14px;
    line-height: 1.5;
}

.token-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.token-input {
    flex: 1 1 280px;
    min-width: 220px;
    padding: 10px 12px;
    font-size: 14px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #111;
}

.token-input:focus {
    outline: none;
    border-color: var(--accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}

.top-grid {
    display: grid;
    grid-template-columns: 280px 1fr 1fr;
    gap: 20px;
    align-items: start;
    margin-bottom: 20px;
}

.console-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
    margin-bottom: 20px;
}

/* ----------------------------------------------------------
   Cards
---------------------------------------------------------- */

.card {
    background: #ffffff;
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
    margin-bottom: 20px;
    overflow: hidden;
    border: 1px solid var(--border);
}

.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--ink);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    padding: 13px 18px;
    letter-spacing: .2px;
}

.card-body {
    padding: 18px;
}

.forecast-card .card-body {
    min-height: 220px;
}

/* ----------------------------------------------------------
   Form fields
---------------------------------------------------------- */

.field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
}

.field label {
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.field input,
.field select {
    width: 190px;
    padding: 8px 10px;
    font-size: 14px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #111;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.field input:focus,
.field select:focus {
    outline: none;
    border-color: var(--accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}

.check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 0 4px;
    font-size: 13px;
    color: #444;
    cursor: pointer;
}

.check input {
    width: 16px;
    height: 16px;
}

.danger-check span {
    color: #b91c1c;
    font-weight: 600;
}

/* ----------------------------------------------------------
   Buttons
---------------------------------------------------------- */

.btn-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.btn {
    min-width: 96px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
    transition: filter .15s ease, transform .1s ease;
}

.btn:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.btn:active {
    transform: translateY(0);
}

.btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.btn-start {
    background: var(--green);
}

.btn-stop {
    background: var(--red);
}

.btn-ghost {
    background: #475569;
}

.btn-small {
    min-width: 0;
    padding: 6px 12px;
    font-size: 12px;
    box-shadow: none;
}

/* ----------------------------------------------------------
   Status badge
---------------------------------------------------------- */

.badge {
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .5px;
}

.running {
    background: #dcfce7;
    color: #166534;
}

.stopped {
    background: #fee2e2;
    color: #991b1b;
}

/* ----------------------------------------------------------
   Meta line
---------------------------------------------------------- */

.meta {
    margin-top: 12px;
    font-size: 12px;
    color: var(--muted);
    min-height: 16px;
}

.hint {
    font-size: 13px;
    color: var(--muted);
}

/* ----------------------------------------------------------
   Tables
---------------------------------------------------------- */

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

th {
    background: #f1f5f9;
    color: #334155;
    text-align: left;
    padding: 10px 12px;
    font-weight: 700;
    border-bottom: 2px solid var(--border);
}

td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
}

.long {
    color: var(--green);
    font-weight: 700;
}

.short {
    color: var(--red);
    font-weight: 700;
}

/* ----------------------------------------------------------
   Open Position row selection (Task 1)
---------------------------------------------------------- */

#positions-wrap table tbody tr {
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease;
}

#positions-wrap table tbody tr:hover {
    background: #eff6ff;
}

#positions-wrap table tbody tr.selected {
    background: #dbeafe;
    box-shadow: inset 3px 0 0 var(--accent);
}

#positions-wrap table tbody tr.selected td {
    font-weight: 700;
    border-bottom-color: #bfdbfe;
}

/* ----------------------------------------------------------
   DMA Forecast panel
---------------------------------------------------------- */

.forecast-row {
    display: grid;
    grid-template-columns: 22px 100px 1fr;
    align-items: center;
    gap: 8px;
    padding: 8px 4px;
    font-size: 13px;
    border-bottom: 1px solid var(--border);
}

.forecast-row:last-child {
    border-bottom: none;
}

.fc-icon {
    font-weight: 800;
    text-align: center;
}

.fc-symbol {
    font-weight: 700;
    color: var(--ink);
}

.fc-msg {
    color: var(--muted);
}

.forecast-row.up .fc-icon {
    color: var(--green);
}

.forecast-row.down .fc-icon {
    color: var(--red);
}

.forecast-row.down .fc-msg {
    color: var(--red);
}

.forecast-row.na .fc-icon {
    color: var(--amber);
}

/* ----------------------------------------------------------
   Console
---------------------------------------------------------- */

.console {
    background: #0b1220;
    color: #4ade80;
    font-family: Consolas, "Courier New", monospace;
    font-size: 13px;
    line-height: 1.55;
    padding: 15px;
    height: 340px;
    overflow-y: auto;
    border-radius: 10px;
    border: 1px solid #1e293b;
    white-space: pre-wrap;
    word-break: break-word;
}

.console::-webkit-scrollbar {
    width: 8px;
}

.console::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 10px;
}

.console::-webkit-scrollbar-track {
    background: #0b1220;
}

/* ----------------------------------------------------------
   Toast
---------------------------------------------------------- */

.toast {
    position: fixed;
    right: 20px;
    bottom: 20px;
    max-width: 330px;
    padding: 12px 18px;
    border-radius: 10px;
    background: var(--ink);
    color: #fff;
    font-size: 14px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .28);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: none;
}

.toast.show {
    opacity: 1;
    transform: translateY(0);
}

.toast.ok {
    background: #166534;
}

.toast.err {
    background: #991b1b;
}

/* ----------------------------------------------------------
   Footer
---------------------------------------------------------- */

.footer {
    text-align: center;
    margin-top: 10px;
    color: var(--muted);
    font-size: 13px;
}


/* ----------------------------------------------------------
   Live market price/change display
---------------------------------------------------------- */
.market-ticker strong {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.15;
    min-width: 86px;
}

.market-price {
    font-size: 14px;
    font-weight: 800;
}

.market-change {
    margin-top: 3px;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.market-up {
    color: #15803d !important;
}

.market-down {
    color: #dc2626 !important;
}

.market-flat {
    color: #475569 !important;
}

/* ----------------------------------------------------------
   Responsive
---------------------------------------------------------- */

@media (max-width: 1100px) {

    .top-grid {
        grid-template-columns: 1fr 1fr;
    }

    .forecast-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {

    .top-grid,
    .console-grid {
        grid-template-columns: 1fr;
    }

    .field input,
    .field select {
        width: 150px;
    }

    .console {
        height: 250px;
    }

    .app-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .header-right {
        width: 100%;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .market-tickers {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .market-info {
        flex-direction: row;
        align-items: center;
    }
}

#forecast-card{
    margin-bottom:15px;
}

.forecast-table{
    width:100%;
    border-collapse:collapse;
}

.forecast-table th{
    text-align:left;
    padding:6px;
}

.forecast-table td{
    padding:6px;
    border-top:1px solid #ddd;
}

.num{
    text-align:right;
}

.bull{
    color:#0a8f08;
    font-weight:bold;
}

.bear{
    color:#d02020;
    font-weight:bold;
}

/* ----------------------------------------------------------
   NIFTY OI Analysis
---------------------------------------------------------- */
.oi-analysis-card {
    margin-top: 15px;
}

.oi-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.oi-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(110px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.oi-stat {
    padding: 10px 12px;
    border: 1px solid #d9dee5;
    border-radius: 8px;
    background: #fafbfc;
}

.oi-stat strong {
    display: block;
    margin-top: 5px;
    font-size: 17px;
}

.oi-stat select {
    width: 100%;
    margin-top: 4px;
}

.oi-signal {
    grid-column: 1 / -1;
    padding: 11px 14px;
    border-radius: 8px;
    font-weight: 800;
    text-align: center;
    background: #eef2f7;
}

.oi-up {
    color: #15803d;
    background: #ecfdf3;
}

.oi-down {
    color: #dc2626;
    background: #fef2f2;
}

.oi-neutral {
    color: #475569;
}

.oi-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
    gap: 16px;
}

.oi-table-wrap,
.oi-chart-panel,
.oi-all-wrap {
    min-width: 0;
}

.oi-section-title {
    font-weight: 800;
    margin-bottom: 8px;
}

.oi-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.oi-table th,
.oi-table td {
    padding: 7px 6px;
    border-bottom: 1px solid #e2e6eb;
    text-align: right;
    white-space: nowrap;
}

.oi-table th:first-child,
.oi-table td:first-child {
    text-align: left;
}

.oi-table thead th {
    background: #f3f5f8;
    position: sticky;
    top: 0;
}

.oi-atm {
    background: #fff8db;
    font-weight: 700;
}

.oi-chart-panel {
    border: 1px solid #d9dee5;
    border-radius: 8px;
    padding: 10px;
}

#oi-history-chart {
    width: 100%;
    height: 250px;
    display: block;
}

.oi-all-title {
    margin-top: 18px;
}

.oi-all-wrap {
    max-height: 360px;
    overflow: auto;
    border: 1px solid #d9dee5;
    border-radius: 8px;
}

.oi-error {
    margin-top: 10px;
    color: #b42318;
}

@media (max-width: 1000px) {
    .oi-summary-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .oi-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .oi-summary-grid {
        grid-template-columns: 1fr 1fr;
    }
}


/* =====================================================
   NIFTY OI DECISION-FIRST DESIGN
   ===================================================== */
.oi-decision-card { margin: 10px 0 10px; }
.oi-decision-header { align-items: center; }
.oi-decision-subtitle { display:block; margin-top:3px; font-size:10px; color:#667085; font-weight:400; }
.oi-decision-body { display:grid; grid-template-columns:minmax(340px,1.2fr) minmax(330px,1fr); gap:12px; align-items:center; padding:9px 12px; }
.oi-decision-main { min-width:0; }
.decision-label-row { display:flex; align-items:center; justify-content:center; gap:7px; margin-bottom:5px; }
.decision-instrument { font-size:9px; font-weight:900; letter-spacing:.75px; color:#344054; text-transform:uppercase; }
.decision-basis { font-size:9px; color:#667085; border-left:1px solid #d0d5dd; padding-left:7px; }
.oi-decision-main .oi-signal { min-height:52px; display:flex; align-items:center; justify-content:center; text-align:center; border-radius:9px; padding:8px 14px; font-size:21px; font-weight:850; letter-spacing:.15px; }
.oi-decision-context { display:flex; justify-content:center; gap:14px; margin-top:5px; font-size:10px; color:#667085; }
.oi-decision-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.oi-stat-compact { padding:8px 10px; border:1px solid #e1e5ea; border-radius:8px; background:#fafbfc; }
.oi-stat-compact strong { font-size:17px; }
@media (max-width:850px) { .oi-decision-body { grid-template-columns:1fr; } }
@media (max-width:850px) { .oi-decision-stats { grid-template-columns:repeat(3,1fr); } }

/* ----------------------------------------------------------
   GENERIC MOVING AVERAGE ANALYSIS
---------------------------------------------------------- */
.moving-average-card { margin: 0 0 12px; }
.moving-average-header { align-items: center; }
.moving-average-subtitle { display:block; margin-top:3px; font-size:10px; color:#667085; font-weight:400; }
.moving-average-status { font-size:10px; color:#667085; white-space:nowrap; }
.moving-average-body { padding: 8px 12px 9px; }
.moving-average-toolbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:6px; }
.ma-control { position:relative; min-width:145px; display:flex; flex-direction:column; gap:3px; }
.ma-control > span { font-size:9px; color:#667085; font-weight:800; text-transform:uppercase; letter-spacing:.55px; }
.ma-control select,
.ma-period-button { width:100%; min-height:30px; box-sizing:border-box; border:1px solid #d0d5dd; border-radius:7px; background:#fff; color:#344054; padding:5px 9px; font-size:11px; font-weight:700; }
.ma-period-button { text-align:left; cursor:pointer; padding-right:24px; }
.ma-period-button::after { content:"▾"; float:right; color:#667085; }
.ma-period-menu { position:absolute; left:0; top:100%; z-index:30; min-width:145px; margin-top:4px; padding:6px; border:1px solid #d0d5dd; border-radius:8px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.14); }
.ma-period-menu[hidden] { display:none; }
.ma-period-menu label { display:flex; align-items:center; gap:7px; padding:5px 6px; border-radius:5px; font-size:11px; color:#344054; cursor:pointer; }
.ma-period-menu label:hover { background:#f8fafc; }
.ma-period-menu input { margin:0; }
.moving-average-chart-wrap { position:relative; height:104px; width:100%; }
#moving-average-chart { width:100%; height:104px; display:block; cursor:crosshair; }
.moving-average-tooltip { position:absolute; display:none; z-index:20; min-width:92px; padding:5px 7px; border:1px solid #d0d5dd; border-radius:6px; background:rgba(255,255,255,.97); box-shadow:0 5px 16px rgba(15,23,42,.14); pointer-events:none; line-height:1.15; }
.moving-average-tooltip.show { display:flex; flex-direction:column; gap:2px; }
.moving-average-tooltip strong { font-size:10px; color:#344054; }
.moving-average-tooltip span { font-size:11px; font-weight:800; color:#101828; }
.moving-average-tooltip small { font-size:8px; color:#667085; }
.moving-average-legend { display:flex; justify-content:center; align-items:center; gap:10px; min-height:13px; margin-top:1px; }

.oi-details-card { margin-top:14px; overflow:hidden; }
.oi-details-summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; font-weight:700; user-select:none; }
.oi-details-summary::-webkit-details-marker { display:none; }
.oi-details-summary::after { content:"▾"; font-size:16px; color:#667085; transition:transform .15s ease; }
.oi-details-card[open] .oi-details-summary::after { transform:rotate(180deg); }
.oi-details-hint { margin-left:auto; font-size:11px; color:#667085; font-weight:400; }
.oi-details-body { border-top:1px solid #e2e6eb; }
.oi-detail-toolbar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.oi-detail-toolbar .oi-stat { min-width:150px; }
@media (max-width:850px) { .oi-decision-body { grid-template-columns:1fr; } .oi-decision-stats { grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px) { .oi-decision-main .oi-signal { font-size:19px; } .oi-decision-context { flex-direction:column; align-items:center; gap:3px; } .oi-decision-stats { grid-template-columns:1fr; } .oi-details-summary { flex-wrap:wrap; } .oi-details-hint { width:100%; margin-left:0; } }


/* ----------------------------------------------------------
   Authentication
---------------------------------------------------------- */
.login-page {
    min-height: 100vh;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at top, #f8fafc 0%, #eef1f8 55%, #e5eaf3 100%);
}

.login-shell {
    width: 100%;
    max-width: 430px;
}

.login-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .12);
    padding: 34px;
    text-align: center;
}

.login-logo {
    width: 68px;
    height: 68px;
    object-fit: contain;
    border-radius: 14px;
    background: var(--ink);
    padding: 6px;
    margin-bottom: 16px;
}

.login-card h1 {
    color: var(--ink);
    font-size: 22px;
    line-height: 1.25;
    margin-bottom: 7px;
}

.login-subtitle {
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 24px;
}

.login-card form {
    text-align: left;
}

.login-card label {
    display: block;
    margin: 14px 0 6px;
    color: var(--ink);
    font-size: 12px;
    font-weight: 700;
}

.login-card input[type="text"],
.login-card input[type="password"] {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    font-size: 14px;
    outline: none;
}

.login-card input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.login-button {
    width: 100%;
    height: 44px;
    margin-top: 20px;
    border: 0;
    border-radius: 9px;
    background: var(--accent);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.login-button:hover {
    filter: brightness(.96);
}

.login-error {
    margin: 14px 0;
    padding: 10px 12px;
    border: 1px solid #fecaca;
    border-radius: 9px;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 12px;
    font-weight: 600;
    text-align: left;
}

.setup-message {
    text-align: center;
    line-height: 1.55;
}

.setup-message code {
    font-family: Consolas, monospace;
    font-weight: 700;
}

.login-security-note {
    margin-top: 20px;
    color: #94a3b8;
    font-size: 11px;
}

.logged-in-user {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    padding: 0 4px;
    white-space: nowrap;
}

.logout-form {
    margin: 0;
}


.logout-button {
    white-space: nowrap;
}

.kite-status-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #f8fafc;
    color: #475467;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1px;
    white-space: nowrap;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease;
}

.kite-status-button:disabled {
    cursor: default;
    opacity: 1;
}

.kite-status-button.valid {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}

.kite-status-button.renew {
    border-color: #fbbf24;
    background: #fffbeb;
    color: #92400e;
}

.kite-status-button.renew:hover {
    background: #fef3c7;
}

.kite-status-button.renewing,
.kite-status-button.checking {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #64748b;
}

.kite-status-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #94a3b8;
}

.kite-status-button.valid .kite-status-dot { background: #16a34a; }
.kite-status-button.renew .kite-status-dot { background: #f59e0b; }
.kite-status-button.renewing .kite-status-dot { background: #64748b; }


@media (max-width: 900px) {
    .logged-in-user {
        display: none;
    }
}


.token-capture-status {
    min-height: 18px;
    margin: 6px 0 10px;
    font-size: 12px;
    color: #64748b;
}

.token-capture-status.success {
    color: #15803d;
    font-weight: 600;
}

@media (max-width:600px) {
  .kite-status-button { max-width:150px; overflow:hidden; text-overflow:ellipsis; }
  .moving-average-toolbar { align-items:stretch; }
  .ma-control { flex:1 1 130px; min-width:130px; }
  .moving-average-chart-wrap, #moving-average-chart { height:96px; }
}


/* ==========================================================
   PHASE 1 — DECISION COCKPIT / VISIBLE LAYOUT HIERARCHY
   ========================================================== */
.decision-cockpit {
    margin: 12px 0 14px;
    border: 1px solid #cfd8e3;
    border-radius: 12px;
    background: #f8fafc;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .06);
    overflow: visible;
}
.decision-cockpit-top {
    min-height: 54px;
    padding: 10px 14px 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
    border-radius: 12px 12px 0 0;
}
.decision-cockpit-kicker {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
    color: #64748b;
}
.decision-cockpit-top h2 {
    margin: 1px 0 0;
    font-size: 17px;
    line-height: 1.15;
    color: #0f172a;
}
.decision-cockpit-top p {
    margin: 2px 0 0;
    font-size: 10px;
    color: #64748b;
}
.decision-cockpit-badge {
    min-width: 96px;
    padding: 8px 12px;
    border-radius: 999px;
    text-align: center;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .4px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #475569;
}

.decision-historical-context {
    margin: -5px 12px 11px;
    padding: 0 10px 3px;
    color: #667085;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .05px;
}

.decision-cockpit-badge.bullish {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}
.decision-cockpit-badge.bearish {
    border-color: #fca5a5;
    background: #fef2f2;
    color: #b91c1c;
}
.decision-cockpit-badge.neutral {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #475569;
}
.decision-cockpit .oi-decision-card {
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}
.decision-cockpit .oi-decision-header {
    background: transparent;
    border-bottom: 0;
    padding-top: 7px;
    padding-bottom: 4px;
}
.decision-cockpit .oi-decision-body {
    padding-top: 5px;
    padding-bottom: 8px;
}
.decision-evidence-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    padding: 0 12px 11px;
}
.decision-evidence-item {
    min-width: 0;
    padding: 7px 9px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}
.decision-evidence-item span {
    display: block;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .65px;
    color: #64748b;
}
.decision-evidence-item strong {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    color: #1e293b;
}
.decision-evidence-note strong {
    font-size: 10px;
    color: #475569;
}
.moving-average-section {
    margin: 0 0 14px;
}
.moving-average-section::before {
    content: "TREND ANALYSIS";
    display: block;
    margin: 0 0 5px 2px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
    color: #64748b;
}
.moving-average-section .moving-average-card {
    margin-bottom: 0;
    border-color: #cfd8e3;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}
@media (max-width: 850px) {
    .decision-evidence-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .decision-cockpit-top { align-items: flex-start; }
    .decision-cockpit-badge { min-width: 78px; }
    .decision-evidence-strip { grid-template-columns: 1fr 1fr; }
}


/* Decision Cockpit refinement: the basis sits directly beside the
   instrument Decision title, using the open horizontal space. */
.decision-cockpit-heading-area {
    min-width: 0;
    flex: 1 1 auto;
}
.decision-cockpit-kicker {
    font-size: 16px;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: 1.1px;
    color: #172033;
    margin-bottom: 5px;
}
.decision-cockpit-title-row {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}
.decision-title-main {
    flex: 0 0 auto;
    min-width: 0;
}
.decision-cockpit-title-row h2 {
    margin: 0;
    font-size: 25px;
    line-height: 1.05;
    font-weight: 900;
    color: #111827;
    white-space: nowrap;
}
.decision-cockpit-basis-inline {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: #475467;
    text-align: left;
    padding-left: 4px;
    border-left: 1px solid #d0d5dd;
}
.decision-cockpit-basis-inline span {
    flex: 0 0 auto;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: .75px;
    color: #667085;
}
.decision-cockpit-basis-inline strong {
    min-width: 0;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 750;
    color: #344054;
}
.decision-summary-hidden {
    display: none !important;
}
.decision-reason {
    margin: 1px 12px 11px;
    padding: 12px 13px;
    border-left: 4px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #172033;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 800;
}

/* ==========================================================
   PHASE 2 — TECHNICAL EVIDENCE
   Compact evidence layer: RSI, MACD, ADX and volume.
   ========================================================== */
.technical-evidence-section {
    margin: 0 0 14px;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
    background: #f8fafc;
    overflow: hidden;
}
.technical-evidence-header {
    min-height: 42px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #fff;
    border-bottom: 1px solid #e5eaf0;
}
.technical-evidence-kicker {
    display: block;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 1px;
    color: #64748b;
}
.technical-evidence-header h3 {
    margin: 1px 0 0;
    font-size: 14px;
    line-height: 1.2;
    color: #172033;
}
.technical-analysis-status {
    font-size: 9px;
    color: #667085;
    white-space: nowrap;
}
.technical-evidence-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
    padding: 9px 10px 7px;
}
.technical-evidence-card {
    min-width: 0;
    min-height: 66px;
    padding: 8px 9px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    transition: border-color .15s ease, background .15s ease;
}
.technical-evidence-card.evidence-bullish {
    border-color: #a7d7b0;
    background: #fbfffc;
}
.technical-evidence-card.evidence-bearish {
    border-color: #e9b0b0;
    background: #fffafa;
}
.technical-evidence-card.evidence-neutral {
    border-color: #e2e8f0;
}
.technical-evidence-label {
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .6px;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.technical-evidence-card strong {
    display: block;
    margin-top: 5px;
    font-size: 14px;
    line-height: 1.1;
    color: #172033;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.technical-evidence-card span:not(.technical-evidence-kicker) {
    display: block;
    margin-top: 4px;
    font-size: 8px;
    color: #667085;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.technical-evidence-note {
    padding: 0 11px 8px;
    font-size: 8px;
    color: #667085;
}
@media (max-width: 900px) {
    .technical-evidence-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .technical-evidence-header { align-items: flex-start; }
    .technical-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================
   PHASE 3 — UNIFIED DECISION ENGINE
   ========================================================== */
.decision-cockpit-decision-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    min-width: 190px;
}
.decision-cockpit-action {
    max-width: 240px;
    text-align: right;
    font-size: 8px;
    line-height: 1.2;
    color: #64748b;
}
.decision-reason {
    margin: 0 12px 11px;
    padding: 7px 9px;
    border-left: 3px solid #cbd5e1;
    border-radius: 5px;
    background: #ffffff;
    color: #475569;
    font-size: 9px;
    line-height: 1.35;
}
.decision-cockpit-badge.bullish {
    box-shadow: 0 0 0 1px rgba(22,101,52,.03);
}
.decision-cockpit-badge.bearish {
    box-shadow: 0 0 0 1px rgba(185,28,28,.03);
}
@media (max-width: 600px) {
    .decision-cockpit-decision-wrap {
        align-items: flex-start;
        min-width: 0;
    }
    .decision-cockpit-action { text-align: left; max-width: 170px; }
}

/* Master instrument selector for the Decision Cockpit */
.decision-cockpit-title-row { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.decision-master-control { display:flex; flex-direction:column; gap:3px; min-width:150px; align-items:flex-start; }
.decision-master-control span { font-size:9px; font-weight:800; color:#667085; text-transform:uppercase; letter-spacing:.05em; }
.decision-master-control select { height:30px; min-width:150px; border:1px solid #d0d5dd; border-radius:7px; background:#fff; color:#101828; font-weight:700; padding:0 28px 0 9px; }
.section-follow-hint { display:block; margin-top:3px; font-size:8px; color:#98a2b3; white-space:nowrap; }
.oi-details-card.oi-details-disabled { opacity:.52; }
.oi-details-card.oi-details-disabled .oi-details-body { filter:grayscale(.35); }
.oi-details-card.oi-details-disabled .oi-detail-toolbar,
.oi-details-card.oi-details-disabled .oi-layout { pointer-events:none; }
.oi-details-card.oi-details-disabled .oi-details-summary { cursor:default; }

@media (max-width: 720px) {
    .decision-cockpit-heading-line {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
    .decision-cockpit-basis-inline {
        justify-content: flex-start;
        text-align: left;
    }
    .decision-cockpit-basis-inline strong {
        white-space: normal;
    }
}
@media (max-width: 720px) {
    .decision-cockpit-title-row { align-items:flex-start; flex-direction:column; }
    .decision-master-control { width:100%; }
    .decision-master-control select { width:100%; }
}

/* ==========================================================
   SIGNAL CONFLUENCE SCORE
   ========================================================== */
.decision-cockpit-decision-line {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}
.decision-confluence-summary {
    min-width: 160px;
    padding-left: 14px;
    border-left: 1px solid #d0d5dd;
    text-align: left;
}
.decision-confluence-label,
.decision-confluence-breakdown-title {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .8px;
    color: #667085;
}
.decision-confluence-summary strong {
    display: inline-block;
    margin-top: 1px;
    font-size: 24px;
    line-height: 1;
    font-weight: 900;
    color: #172033;
}
.decision-confluence-summary strong.confluence-bullish { color: #15803d; }
.decision-confluence-summary strong.confluence-bearish { color: #b91c1c; }
.decision-confluence-summary strong.confluence-neutral { color: #475569; }
.decision-confluence-summary span {
    margin-left: 6px;
    font-size: 9px;
    font-weight: 800;
    color: #667085;
}
.decision-confluence-summary span.confluence-bullish { color: #15803d; }
.decision-confluence-summary span.confluence-bearish { color: #b91c1c; }
.decision-confluence-bar {
    height: 5px;
    width: 100%;
    margin-top: 5px;
    border-radius: 99px;
    background: #e5e7eb;
    overflow: hidden;
}
.decision-confluence-bar span {
    display: block;
    width: 0;
    height: 100%;
    margin: 0;
    border-radius: inherit;
    background: #64748b;
    transition: width .25s ease, background .2s ease;
}
.decision-confluence-breakdown {
    padding: 8px 12px 11px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.decision-confluence-breakdown-title {
    margin-bottom: 6px;
}
.decision-confluence-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 7px;
}
.decision-confluence-item {
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
}
.decision-confluence-item span {
    display: block;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .55px;
    color: #667085;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.decision-confluence-item strong {
    display: inline-block;
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.1;
    color: #344054;
}
.decision-confluence-item em {
    float: right;
    margin-top: 4px;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    color: #667085;
}
.decision-confluence-item.confluence-bullish {
    border-color: #b7dfc0;
    background: #fbfffc;
}
.decision-confluence-item.confluence-bullish strong,
.decision-confluence-item.confluence-bullish em { color: #15803d; }
.decision-confluence-item.confluence-bearish {
    border-color: #efb6b6;
    background: #fffafa;
}
.decision-confluence-item.confluence-bearish strong,
.decision-confluence-item.confluence-bearish em { color: #b91c1c; }
.decision-confluence-item.confluence-neutral strong { color: #475569; }

@media (max-width: 900px) {
    .decision-confluence-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .decision-cockpit-decision-line {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
    .decision-confluence-summary {
        width: 100%;
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid #e2e8f0;
        padding-top: 7px;
    }
    .decision-confluence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================
   SIGNAL CONFLUENCE — EVIDENCE DETAILS (V2)
   Each score is immediately supported by its source data.
   ========================================================== */
.decision-confluence-breakdown {
    padding: 10px 12px 12px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.decision-confluence-breakdown-title {
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .75px;
    color: #475467;
}

.decision-confluence-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.decision-confluence-item {
    min-width: 0;
    padding: 9px 10px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16,24,40,.03);
}

.confluence-item-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.confluence-item-head span {
    min-width: 0;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .55px;
    color: #667085;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.confluence-item-head strong {
    flex: 0 0 auto;
    margin: 0;
    font-size: 12px;
    line-height: 1.1;
    color: #344054;
}

.decision-confluence-item > em {
    display: block;
    margin-top: 3px;
    font-size: 14px;
    line-height: 1.1;
    font-style: normal;
    font-weight: 900;
    color: #344054;
}

.confluence-evidence {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 7px;
    padding-top: 6px;
    border-top: 1px solid #eef2f6;
}

.confluence-evidence span {
    display: block;
    font-size: 10px;
    line-height: 1.35;
    color: #667085;
    white-space: normal;
    overflow-wrap: anywhere;
}

.decision-confluence-item.confluence-bullish {
    border-color: #b7dfc0;
    background: #fbfffc;
}
.decision-confluence-item.confluence-bullish .confluence-item-head strong,
.decision-confluence-item.confluence-bullish > em { color: #15803d; }

.decision-confluence-item.confluence-bearish {
    border-color: #efb6b6;
    background: #fffafa;
}
.decision-confluence-item.confluence-bearish .confluence-item-head strong,
.decision-confluence-item.confluence-bearish > em { color: #b91c1c; }

.decision-confluence-item.confluence-neutral .confluence-item-head strong,
.decision-confluence-item.confluence-neutral > em { color: #475569; }

/* The OI confirmation card is intentionally compact; its three metrics
   must remain on one clean row on desktop and stack only on narrow screens. */
.oi-decision-card { margin: 10px 0; }
.oi-decision-header { align-items: center; }
.oi-decision-subtitle { display:block; margin-top:3px; font-size:10px; color:#667085; font-weight:400; }
.oi-decision-body {
    display:grid;
    grid-template-columns:minmax(340px,1.2fr) minmax(330px,1fr);
    gap:12px;
    align-items:center;
    padding:9px 12px;
}
.oi-decision-main { min-width:0; }
.oi-decision-main .oi-signal {
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:9px;
    padding:8px 14px;
    font-size:21px;
    font-weight:850;
    letter-spacing:.15px;
}
.oi-decision-context {
    display:flex;
    justify-content:center;
    gap:14px;
    margin-top:5px;
    font-size:10px;
    color:#667085;
}
.oi-decision-stats {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
}

@media (max-width: 900px) {
    .decision-confluence-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .oi-decision-body { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
    .decision-confluence-grid { grid-template-columns: 1fr; }
    .decision-cockpit-decision-line {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
    .decision-confluence-summary {
        width: 100%;
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid #e2e8f0;
        padding-top: 7px;
    }
    .oi-decision-stats { grid-template-columns:1fr; }
    .oi-decision-main .oi-signal { font-size:19px; }
    .oi-decision-context { flex-direction:column; align-items:center; gap:3px; }
}


/* ==========================================================
   SIGNAL CONFLUENCE — COLLAPSED BY DEFAULT
   Scores stay visible; supporting evidence opens on click.
   ========================================================== */
.decision-confluence-item {
    cursor: pointer;
    position: relative;
    transition: box-shadow .15s ease, transform .1s ease;
}
.decision-confluence-item:hover {
    box-shadow: 0 2px 6px rgba(16,24,40,.08);
}
.decision-confluence-item:focus-visible {
    outline: 2px solid #94a3b8;
    outline-offset: 2px;
}
.decision-confluence-item:not(.confluence-expanded) .confluence-evidence {
    display: none;
}
.decision-confluence-item:not(.confluence-expanded) {
    min-height: 54px;
    padding-bottom: 8px;
}
.decision-confluence-item:not(.confluence-expanded)::after {
    content: none;
}
.decision-confluence-item.confluence-expanded {
    grid-column: span 1;
}
.decision-confluence-item.confluence-expanded::after {
    content: "Click to collapse";
    display: block;
    margin-top: 5px;
    font-size: 8px;
    font-weight: 700;
    color: #98a2b3;
    text-align: right;
}
@media (max-width: 600px) {
    .decision-confluence-item:not(.confluence-expanded) { min-height: 52px; }
}

/* ==========================================================
   SIGNAL CONFLUENCE — COMPACT SINGLE ROW + HOVER HELP
   ========================================================== */
.decision-confluence-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
}
.decision-confluence-item {
    min-width: 0;
    min-height: 52px;
    padding: 7px 8px;
}
.decision-confluence-item::after {
    content: none !important;
}
.decision-confluence-item::before {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%) translateY(4px);
    width: max-content;
    max-width: 260px;
    padding: 7px 9px;
    border-radius: 7px;
    background: #172033;
    color: #fff;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: 0;
    text-align: left;
    white-space: normal;
    box-shadow: 0 6px 18px rgba(15,23,42,.18);
    opacity: 0;
    pointer-events: none;
    z-index: 60;
    transition: opacity .12s ease, transform .12s ease;
}
.decision-confluence-item:hover::before,
.decision-confluence-item:focus-visible::before {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.decision-confluence-item.confluence-expanded::before {
    bottom: calc(100% + 8px);
}
.decision-confluence-breakdown-title {
    margin-bottom: 6px;
}

@media (max-width: 900px) {
    .decision-confluence-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .decision-confluence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================
   SIGNAL CONFLUENCE — FINAL INTERACTION OVERRIDES
   ========================================================== */
.decision-confluence-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.decision-confluence-item:not(.confluence-expanded)::after,
.decision-confluence-item.confluence-expanded::after {
    content: none !important;
    display: none !important;
}
.decision-confluence-item:not(.confluence-expanded) {
    min-height: 52px;
}
.decision-confluence-item.confluence-expanded .confluence-evidence {
    display: flex;
}
@media (max-width: 900px) {
    .decision-confluence-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .decision-confluence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================
   CORE vs TRANSIENT OI DECISION LAYER
   ========================================================== */
.decision-confluence-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.decision-confluence-breakdown-title {
    margin-bottom: 7px;
}

.decision-confluence-item {
    cursor: pointer;
    position: relative;
    user-select: none;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.decision-confluence-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 9px rgba(16,24,40,.08);
}

.decision-confluence-item::after {
    content: "";
    position: absolute;
    right: 8px;
    bottom: 7px;
    width: 6px;
    height: 6px;
    border-right: 2px solid #98a2b3;
    border-bottom: 2px solid #98a2b3;
    transform: rotate(45deg);
    transition: transform .15s ease;
}

.decision-confluence-item.confluence-expanded::after {
    transform: rotate(225deg);
}

.decision-confluence-item:not(.confluence-expanded) .confluence-evidence {
    display: none;
}

.decision-confluence-item.confluence-expanded .confluence-evidence {
    display: block;
}

.decision-fast-confirmation {
    margin-top: 9px;
    padding: 9px 11px;
    border: 1px solid #dbe3ec;
    border-left: 4px solid #94a3b8;
    border-radius: 9px;
    background: #fff;
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 12px;
}

.decision-fast-head {
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
}

.decision-fast-kicker {
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .7px;
    color: #475467;
}

.decision-fast-head strong {
    font-size: 16px;
    font-weight: 950;
}

.decision-fast-main {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 11px;
    font-weight: 850;
}

.decision-fast-main span:last-child {
    color: #667085;
    font-size: 10px;
    font-weight: 750;
}

.decision-fast-evidence {
    text-align: right;
    color: #667085;
    font-size: 10px;
    font-weight: 700;
}

.decision-fast-confirmation.oi-confirming {
    border-left-color: #16a34a;
    background: #f8fff9;
}
.decision-fast-confirmation.oi-diverging {
    border-left-color: #dc2626;
    background: #fffafa;
}
.decision-fast-confirmation.oi-waiting {
    border-left-color: #94a3b8;
}

.oi-confirming,
.oi-modifier-positive { color: #15803d !important; }
.oi-diverging,
.oi-modifier-negative { color: #b91c1c !important; }
.oi-waiting,
.oi-modifier-neutral { color: #667085 !important; }

.decision-final-score {
    margin-top: 8px;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 9px;
}

.decision-final-score span {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .65px;
    color: #667085;
}

.decision-final-score strong {
    font-size: 19px;
    line-height: 1;
    font-weight: 950;
    color: #172033;
}

@media (max-width: 900px) {
    .decision-confluence-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .decision-fast-confirmation { grid-template-columns: 1fr 1fr; }
    .decision-fast-evidence { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 650px) {
    .decision-confluence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .decision-fast-confirmation { grid-template-columns: 1fr; }
    .decision-fast-evidence { grid-column: auto; }
    .decision-final-score { justify-content: flex-start; }
}


/* Signal buttons: explanation appears only on hover. */
.decision-confluence-item[data-tooltip]::before {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%) translateY(4px);
    width: min(300px, 90vw);
    padding: 8px 10px;
    border-radius: 7px;
    background: #172033;
    color: #fff;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 600;
    text-align: left;
    white-space: normal;
    opacity: 0;
    pointer-events: none;
    transition: opacity .12s ease, transform .12s ease;
    z-index: 30;
}
.decision-confluence-item[data-tooltip]:hover::before,
.decision-confluence-item[data-tooltip]:focus-visible::before {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.decision-confluence-item.confluence-expanded {
    grid-column: span 1;
}

/* ==========================================================
   COMPACT DECISION COCKPIT — slim trading-terminal layout
   ========================================================== */
.decision-cockpit {
    margin: 8px 0 10px;
    border-radius: 10px;
}
.decision-cockpit-top {
    min-height: 42px;
    padding: 7px 11px;
    gap: 10px;
}
.decision-cockpit-kicker {
    font-size: 9px !important;
    letter-spacing: .9px !important;
    margin-bottom: 2px !important;
}
.decision-cockpit-title-row {
    gap: 14px !important;
}
.decision-cockpit-title-row h2,
.decision-cockpit-top h2 {
    font-size: 16px !important;
}
.decision-cockpit-basis-inline {
    gap: 5px !important;
    padding-left: 7px !important;
}
.decision-cockpit-basis-inline span {
    font-size: 8px !important;
}
.decision-cockpit-basis-inline strong {
    font-size: 11px !important;
    line-height: 1.15 !important;
}
.decision-master-control {
    gap: 4px !important;
}
.decision-master-control span {
    font-size: 8px !important;
}
.decision-master-control select {
    min-height: 28px !important;
    padding: 3px 7px !important;
    font-size: 10px !important;
}
.decision-cockpit-decision-wrap {
    padding: 0 !important;
}
.decision-cockpit-decision-line {
    gap: 9px !important;
}
.decision-cockpit-badge {
    min-width: 70px !important;
    padding: 5px 9px !important;
    font-size: 10px !important;
}
.decision-cockpit-action {
    font-size: 9px !important;
    margin-top: 2px !important;
    max-width: 230px;
}
.decision-confluence-summary {
    padding: 4px 8px !important;
    min-width: 120px;
}
.decision-confluence-label {
    font-size: 8px !important;
}
.decision-confluence-summary strong {
    font-size: 19px !important;
}
.decision-confluence-summary span {
    font-size: 9px !important;
}
.decision-confluence-bar {
    height: 3px !important;
    margin-top: 3px !important;
}
.decision-confluence-breakdown {
    padding: 6px 10px 5px !important;
}
.decision-confluence-breakdown-title {
    font-size: 8px !important;
    margin-bottom: 4px !important;
}
.decision-confluence-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 5px !important;
}
.decision-confluence-item {
    min-height: 38px !important;
    padding: 5px 7px !important;
    border-radius: 7px !important;
}
.confluence-item-head span {
    font-size: 8px !important;
}
.confluence-item-head strong {
    font-size: 9px !important;
}
.decision-confluence-item em {
    font-size: 9px !important;
    margin-top: 1px !important;
}
.decision-confluence-item .confluence-evidence {
    padding-top: 4px !important;
    margin-top: 4px !important;
    font-size: 9px !important;
}
.decision-fast-confirmation,
.decision-final-score {
    min-height: 38px !important;
    padding: 5px 8px !important;
}
.decision-fast-kicker,
.decision-final-score span {
    font-size: 8px !important;
}
.decision-fast-main {
    font-size: 10px !important;
    margin-top: 2px !important;
}
.decision-fast-evidence {
    font-size: 8px !important;
    margin-top: 2px !important;
}
.decision-final-score strong {
    font-size: 18px !important;
}
.decision-reason {
    margin: 2px 10px 5px !important;
    padding: 7px 9px !important;
    border-left-width: 3px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
}
.decision-historical-context {
    margin: 0 10px 6px !important;
    padding: 0 7px 2px !important;
    font-size: 9px !important;
}
.decision-cockpit .oi-decision-card {
    border-top: 1px solid #e2e8f0;
}
.decision-cockpit .oi-decision-header {
    padding: 5px 10px !important;
}
.decision-cockpit .oi-decision-body {
    padding: 5px 10px !important;
}
.decision-cockpit .oi-decision-main {
    display: flex;
    align-items: center;
    gap: 8px;
}
.decision-cockpit .oi-signal {
    font-size: 10px !important;
    margin: 0 !important;
}
.decision-cockpit .oi-decision-context {
    font-size: 8px !important;
}
.decision-cockpit .oi-decision-stats {
    gap: 5px !important;
}
.decision-cockpit .oi-stat {
    padding: 4px 7px !important;
}
.decision-cockpit .oi-stat .token-label {
    font-size: 7px !important;
}
.decision-cockpit .oi-stat strong {
    font-size: 11px !important;
}
.market-ticker-vix {
    border-left: 2px solid #cbd5e1;
    padding-left: 9px !important;
}
@media (max-width: 1000px) {
    .decision-confluence-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
    .decision-cockpit-title-row { flex-wrap: wrap; }
}
@media (max-width: 760px) {
    .decision-confluence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .decision-cockpit-decision-line { flex-wrap: wrap; }
}

/* ==========================================================
   TASK 1-5 — Decision cockpit layout refinements
   ========================================================== */
.decision-heading-narrative-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.decision-heading-narrative-row .decision-cockpit-kicker {
    flex: 0 0 auto;
    padding-top: 2px;
    white-space: nowrap;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: 1.2px;
}

.decision-heading-narrative {
    min-width: 0;
    flex: 1 1 auto;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.decision-heading-narrative .decision-reason {
    margin: 0 auto !important;
    padding: 0 !important;
    border-left: 0 !important;
    background: transparent !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

.decision-heading-narrative .decision-historical-context {
    max-width: 620px;
    margin: 4px auto 0 !important;
    padding: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal;
}

.decision-master-control-inline {
    min-width: 145px;
    margin: 0;
}

.decision-master-control-inline select {
    width: 100%;
}

.decision-cockpit-title-row {
    align-items: center !important;
    justify-content: flex-start !important;
    margin-top: 5px;
}

.decision-cockpit-basis-inline {
    flex: 1 1 auto;
}

.decision-fast-confirmation {
    grid-template-columns: minmax(0, 1.65fr) minmax(130px, .8fr) minmax(150px, .8fr) !important;
}

.decision-fast-head {
    min-width: 0;
    flex-wrap: wrap;
    row-gap: 4px;
}

.decision-oi-updated {
    font-size: 8px;
    font-weight: 700;
    color: #667085;
    white-space: nowrap;
}

.decision-oi-refresh {
    min-height: 23px !important;
    padding: 2px 7px !important;
    font-size: 8px !important;
}

.decision-final-score-inline {
    margin-top: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    justify-content: flex-end;
    background: transparent;
    border: 0;
}

@media (max-width: 900px) {
    .decision-heading-narrative-row {
        flex-direction: column;
        gap: 4px;
    }
    .decision-fast-confirmation {
        grid-template-columns: 1fr 1fr !important;
    }
    .decision-final-score-inline {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 650px) {
    .decision-cockpit-title-row {
        align-items: stretch !important;
    }
    .decision-master-control-inline {
        width: 100%;
    }
    .decision-fast-confirmation {
        grid-template-columns: 1fr !important;
    }
    .decision-final-score-inline {
        grid-column: auto;
    }
}

/* ======================================================
   INCREMENTAL STRATEGY SUGGESTION WIZARD
   ====================================================== */
.wizard-card { border-width: 1px; }
.wizard-header { align-items: flex-start; gap: 16px; }
.wizard-subtitle { display:block; margin-top:4px; font-weight:400; opacity:.72; }
.wizard-updated { font-size:12px; opacity:.72; text-align:right; white-space:nowrap; }
.wizard-controls { display:grid; grid-template-columns:minmax(220px,1.35fr) minmax(210px,1.2fr) minmax(150px,.8fr) minmax(170px,.8fr); gap:12px; align-items:end; }
.wizard-controls .field { margin:0; }
.wizard-actions { align-items:center; flex-wrap:wrap; }
.wizard-refresh-note { font-size:12px; opacity:.65; margin-left:auto; }
.wizard-status { margin-top:14px; padding:10px 12px; border-radius:8px; font-weight:800; letter-spacing:.04em; text-align:center; }
.wizard-status.enter { background:rgba(48,180,90,.12); }
.wizard-status.wait { background:rgba(235,165,30,.14); }
.wizard-status.no-new-position { background:rgba(70,130,210,.12); }
.wizard-status.neutral { background:rgba(120,120,120,.10); }
.wizard-reason { text-align:center; margin:8px auto 0; max-width:1100px; font-size:13px; line-height:1.45; opacity:.88; }
.wizard-metrics { display:grid; grid-template-columns:repeat(6,minmax(130px,1fr)); gap:9px; margin-top:14px; }
.wizard-metric { padding:10px; border:1px solid var(--border); border-radius:8px; text-align:center; }
.wizard-metric span { display:block; font-size:11px; opacity:.68; margin-bottom:5px; }
.wizard-metric strong { font-size:16px; }
.wizard-notes { margin-top:10px; font-size:12px; line-height:1.5; }
.wizard-note { padding:7px 9px; border-left:3px solid currentColor; margin-top:5px; background:rgba(128,128,128,.06); }
.wizard-section { margin-top:16px; }
.wizard-section-title { font-weight:800; margin-bottom:8px; }
.wizard-rec-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:10px; }
.wizard-rec { border:1px solid var(--border); border-radius:9px; padding:12px; }
.wizard-rec-head { display:flex; justify-content:space-between; gap:10px; align-items:baseline; margin-bottom:8px; }
.wizard-rec-head strong { font-size:16px; }
.wizard-leg { display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-bottom:1px dashed var(--border); font-size:13px; }
.wizard-rec-meta { display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; margin-top:9px; font-size:12px; }
.wizard-existing-details summary { cursor:pointer; font-weight:700; }
.wizard-table-wrap { overflow-x:auto; }
@media (max-width:1200px) { .wizard-controls{grid-template-columns:repeat(2,minmax(180px,1fr));}.wizard-metrics{grid-template-columns:repeat(3,1fr);} }
@media (max-width:720px) { .wizard-controls,.wizard-metrics{grid-template-columns:1fr 1fr;}.wizard-refresh-note{width:100%;margin-left:0;} }

.wizard-controls select,.wizard-controls input{width:100%;min-width:0;box-sizing:border-box;}
.wizard-controls .field{min-width:0;}
.wizard-structure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-bottom:10px;}
.wizard-structure{border:1px solid var(--border);border-radius:8px;padding:9px 10px;display:flex;flex-direction:column;gap:3px;font-size:12px;}
.wizard-structure strong{font-size:13px;}

/* ======================================================
   WIZARD V2.2 - AUTHORITATIVE LAYOUT OVERRIDES
   ====================================================== */
.wizard-build-badge{
  display:inline-block;
  margin-left:8px;
  padding:2px 7px;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  vertical-align:middle;
}
.wizard-controls{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:12px 16px !important;
  align-items:end !important;
  width:100% !important;
}
.wizard-controls .field{
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
}
.wizard-controls label{
  display:block !important;
  margin-bottom:5px !important;
}
.wizard-controls select,
.wizard-controls input{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
@media (max-width:760px){
  .wizard-controls{grid-template-columns:minmax(0,1fr) !important;}
}

/* V4 compact risk assessment strips */
.wizard-risk-strip{margin:14px auto 0;padding:9px 12px;border:1px solid var(--border);border-radius:9px;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;text-align:center;font-size:12px;background:rgba(128,128,128,.06)}
.wizard-risk-strip strong{font-size:14px;letter-spacing:.02em}
.wizard-risk-strip span{white-space:nowrap;opacity:.86}
.wizard-trace-details summary{cursor:pointer;font-weight:700}
@media(max-width:720px){.wizard-risk-strip{gap:8px 12px}.wizard-risk-strip span{white-space:normal}}


/* V4.2 compact recommendation card */
.wizard-rec-compact{padding:10px 12px;text-align:center}
.wizard-rec-head-center{justify-content:center;gap:14px;margin-bottom:7px}
.wizard-compact-row{display:flex;justify-content:center;align-items:stretch;gap:8px;flex-wrap:wrap}
.wizard-compact-legs{margin-bottom:7px}
.wizard-compact-cell{min-width:145px;padding:6px 9px;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;line-height:1.25}
.wizard-compact-cell span{font-size:10px;opacity:.72;text-transform:uppercase;letter-spacing:.04em}
.wizard-compact-cell strong{font-size:13px;margin-top:2px}
.wizard-compact-cell small{font-size:10px;opacity:.75;margin-top:2px}
.wizard-compact-metrics .wizard-compact-cell{min-width:130px}
@media(max-width:720px){.wizard-compact-cell{min-width:120px;flex:1 1 120px}}


/* V4.3 guarded live-order controls */
.wizard-live-order-bar{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 2px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:rgba(15,23,42,.025)}
.wizard-live-order-bar label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700}
.wizard-live-order-bar select{min-width:170px;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--card-bg,#fff)}
.wizard-order-note{font-size:10px;opacity:.72}
.wizard-limit-order-btn:disabled{opacity:.55;cursor:not-allowed}
.wizard-order-status{text-align:center;font-size:11px;font-weight:700;margin:6px auto 0;min-height:16px}
.wizard-order-status.working,.wizard-order-status.submitted{color:#92400e}
.wizard-order-status.complete{color:#166534}
.wizard-order-status.attention,.wizard-order-status.blocked{color:#b91c1c}

/* V4.4 open-book discovery / recommendation modes */
.wizard-strategy-actions{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:12px auto 2px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:rgba(128,128,128,.05)}
.wizard-strategy-label{font-size:11px;font-weight:800;opacity:.78;margin-right:4px}
.wizard-selection-note{text-align:center;font-size:11px;line-height:1.4;margin:0 auto 9px;padding:7px 10px;border-radius:8px;background:rgba(59,130,246,.06)}
.wizard-position-check{width:16px;height:16px;cursor:pointer}
@media(max-width:720px){.wizard-strategy-actions .btn{flex:1 1 45%}.wizard-strategy-label{width:100%;text-align:center}}

.wizard-status.open-book{background:rgba(59,130,246,.12)}
.wizard-status.hedge{background:rgba(124,58,237,.11)}

/* V4.4.2 selectable open-book controls */
.wizard-use-cell{text-align:center;vertical-align:middle;min-width:46px}
.wizard-check-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:pointer}
.wizard-check-wrap input.wizard-position-check{position:absolute;inset:0;width:24px;height:24px;opacity:0;cursor:pointer;margin:0}
.wizard-check-ui{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid var(--border);border-radius:5px;font-size:14px;font-weight:800;line-height:1;color:transparent;background:var(--card-bg,#fff);pointer-events:none}
.wizard-check-wrap input.wizard-position-check:checked + .wizard-check-ui{color:currentColor;border-color:currentColor}
#wizard-strategy-actions button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
#wizard-selected-count{margin-left:4px}

/* V4.4.3 strategy actions share the main wizard action row */
.wizard-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.wizard-strategy-actions-inline{margin:0 0 0 auto;padding:0;border:0;background:transparent;justify-content:flex-end;gap:7px}
.wizard-strategy-actions-inline .btn{white-space:nowrap}
.wizard-selected-count-inline{font-size:10px;opacity:.65;white-space:nowrap}
@media(max-width:900px){.wizard-strategy-actions-inline{margin-left:0;width:100%;justify-content:center}.wizard-selected-count-inline{width:100%;text-align:center}}

/* V4.4.4 dashboard Telegram sender setup */
.wizard-telegram-setup-btn{background:#111827;color:#fff;border:1px solid #111827;padding:6px 10px;border-radius:6px;font-weight:700;cursor:pointer}
.wizard-telegram-setup-btn:disabled{opacity:.55;cursor:not-allowed}
.wizard-telegram-status{font-size:10px;font-weight:800;white-space:nowrap;padding:3px 7px;border-radius:999px}
.wizard-telegram-status.ready{color:#166534;background:#dcfce7;border:1px solid #86efac}
.wizard-telegram-status.not-ready{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}

/* V4.5 consolidated corrections */
.wizard-action-guidance{flex:1;justify-content:center;align-items:center;text-align:center;font-size:.82rem;opacity:.82;white-space:nowrap;padding:0 10px}
#wizard-rec-title{text-align:center}
#wizard-strategy-actions .wizard-mode-active{background:#16803a!important;color:#fff!important;border-color:#16803a!important}
#wizard-risk-before{white-space:nowrap;justify-content:center;gap:18px;overflow-x:auto}

/* V4.6 compact layout + deterministic action state */
.wizard-controls{display:grid!important;grid-template-columns:minmax(230px,1.45fr) minmax(220px,1.35fr) minmax(105px,.7fr) minmax(100px,.65fr) minmax(145px,.9fr)!important;gap:8px!important;align-items:end!important}
.wizard-controls .field{min-width:0!important}.wizard-controls select,.wizard-controls input{width:100%!important;min-width:0!important}
.wizard-actions{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:7px!important;width:100%!important;overflow-x:auto!important;margin-top:10px!important}
.wizard-actions>.btn{flex:0 0 auto!important;white-space:nowrap!important}
.wizard-action-guidance{flex:1 1 auto!important;min-width:205px!important;justify-content:flex-end!important;text-align:right!important;padding:0 4px 0 10px!important;white-space:nowrap!important}
.wizard-strategy-actions-inline{display:flex;flex:0 0 auto!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;gap:6px!important;flex-wrap:nowrap!important;justify-content:flex-start!important}
.wizard-strategy-actions-inline .btn,.wizard-selected-count-inline{flex:0 0 auto!important;white-space:nowrap!important}
#wizard-analyze-btn,#wizard-strategy-actions .btn{background:#171717!important;color:#fff!important;border-color:#171717!important}
#wizard-analyze-btn.wizard-mode-active,#wizard-strategy-actions .wizard-mode-active{background:#16803a!important;color:#fff!important;border-color:#16803a!important}
#wizard-strategy-actions button:disabled{background:#171717!important;color:#fff!important;opacity:.45!important}
.wizard-metrics{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;width:100%!important;overflow-x:auto!important;margin-top:12px!important}
.wizard-metric{flex:1 0 auto!important;min-width:105px!important;padding:7px 8px!important;white-space:nowrap!important}
.wizard-metric span{font-size:10px!important;margin-bottom:3px!important;white-space:nowrap!important}.wizard-metric strong{font-size:14px!important;white-space:nowrap!important}
#wizard-risk-before{flex-wrap:nowrap!important;white-space:nowrap!important;justify-content:center!important;gap:16px!important;overflow-x:auto!important}
.wizard-diagnostic-failure{display:flex;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:8px}.wizard-diagnostic-failure strong{white-space:nowrap}
@media(max-width:900px){.wizard-controls{grid-template-columns:repeat(5,minmax(140px,1fr))!important;overflow-x:auto!important}.wizard-actions{flex-wrap:nowrap!important}.wizard-strategy-actions-inline{width:auto!important;margin:0!important;justify-content:flex-start!important}.wizard-selected-count-inline{width:auto!important}}

/* V4.6.6 four-line dashboard identity */
.header-title{display:flex;flex-direction:column;justify-content:center;line-height:1.08}
.header-title h1{margin:0 0 3px 0}
.header-line{white-space:nowrap;font-weight:600}
.header-line-2{font-size:15px}
.header-line-3{font-size:14px}
.header-line-4{font-size:13px}

/* V4.7.3 compact wizard controls */
.wizard-controls.wizard-controls-compact{display:grid!important;grid-template-columns:minmax(105px,.65fr) minmax(95px,.55fr) minmax(205px,1.25fr) minmax(105px,.65fr) minmax(85px,.5fr) minmax(115px,.65fr) auto!important;gap:8px!important;align-items:end!important;width:100%!important}
.wizard-controls-compact .field{min-width:0!important;margin:0!important}.wizard-controls-compact label{white-space:nowrap!important}
.wizard-analyze-field{display:flex;align-items:flex-end;height:100%}.wizard-analyze-prominent{min-height:38px!important;padding:8px 20px!important;font-weight:900!important;letter-spacing:.04em!important;white-space:nowrap!important}
.wizard-analysis-summary{display:flex!important;align-items:center!important;gap:12px!important;margin-top:9px!important;min-width:0!important}
.wizard-analysis-summary .wizard-status{margin:0!important;padding:7px 10px!important;white-space:nowrap!important;flex:0 0 auto!important;text-align:left!important}
.wizard-analysis-summary .wizard-reason{margin:0!important;padding:0!important;max-width:none!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.wizard-actions{margin-top:8px!important}
@media(max-width:1100px){.wizard-controls.wizard-controls-compact{grid-template-columns:repeat(7,minmax(115px,1fr))!important;overflow-x:auto!important}.wizard-analysis-summary{overflow-x:auto!important}}

/* V4.7.4 icon controls */
.wizard-actions{float:right!important;margin-top:8px!important;margin-bottom:-43px!important;position:relative!important;z-index:2!important}
.wizard-analysis-summary{padding-right:330px!important;min-height:42px!important}
.wizard-strategy-actions-inline{gap:5px!important;align-items:center!important}
.wizard-selected-count-inline{order:-1!important;white-space:nowrap!important;font-size:13px!important}
.wizard-strategy-icon{min-width:38px!important;height:34px!important;padding:4px 8px!important;font-size:17px!important;line-height:1!important;background:#111!important;color:#fff!important;border-color:#333!important}
.wizard-strategy-icon.wizard-mode-active{background:#198754!important;color:#fff!important;border-color:#198754!important}
#wizard-analyze-btn{font-size:19px!important;min-width:44px!important}
@media(max-width:1100px){.wizard-actions{float:none!important;margin-bottom:0!important}.wizard-analysis-summary{padding-right:0!important}}

/* V4.7.5 Live ROM + user-triggered profit booking */
.wizard-profit-action{min-width:190px!important;display:flex;align-items:center;gap:6px}
.wizard-profit-action strong{font-size:12px!important;white-space:nowrap!important}
.wizard-squareoff-profit-btn{padding:4px 8px!important;font-size:11px!important;white-space:nowrap!important}
#wizard-order-status:empty{display:none}
#wizard-order-status:not(:empty){display:block;margin-top:7px}

/* V4.7.7 compact risk row + selected-leg exit modal */
.wizard-profit-icon-only{min-width:52px!important;max-width:60px!important;justify-content:center!important;padding:4px!important}
.wizard-profit-icon-btn{border:0;background:transparent;font-size:24px;cursor:pointer;line-height:1;padding:4px 6px}
.wizard-profit-icon-btn:disabled{opacity:.45;cursor:not-allowed}

.wizard-analysis-summary{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important;padding-right:0!important}
.wizard-analysis-summary .wizard-status{grid-column:1!important}
.wizard-analysis-summary .wizard-reason{grid-column:2!important;text-align:center!important;font-weight:700!important;overflow:hidden!important;text-overflow:ellipsis!important}
.wizard-actions{float:none!important;margin:0!important;position:static!important}
.wizard-actions + .wizard-analysis-summary{margin-top:6px!important}

#wizard-risk-before{display:none!important}

.wizard-modal{position:fixed;inset:0;z-index:9999}
.wizard-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.wizard-modal-card{position:relative;width:min(820px,92vw);max-height:84vh;overflow:auto;margin:7vh auto;background:var(--card-bg,#fff);border-radius:12px;padding:16px;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.wizard-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.wizard-modal-head strong{font-size:18px}.wizard-modal-head small{display:block;margin-top:4px;opacity:.75}
.wizard-modal-close{border:0;background:transparent;font-size:28px;cursor:pointer;line-height:1}
.wizard-squareoff-metrics{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin-bottom:12px}
.wizard-squareoff-metrics>div{border:1px solid var(--border,#ddd);border-radius:8px;padding:8px}
.wizard-squareoff-metrics span{display:block;font-size:11px;opacity:.7}.wizard-squareoff-metrics strong{display:block;margin-top:3px}
.wizard-squareoff-table{overflow:auto}.wizard-squareoff-table table{width:100%;border-collapse:collapse}
.wizard-squareoff-table th,.wizard-squareoff-table td{padding:7px 8px;border-bottom:1px solid var(--border,#ddd);text-align:left;white-space:nowrap}
.wizard-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}
#wizard-squareoff-count{margin-right:auto;font-weight:700}

@media(max-width:1100px){
 .wizard-analysis-summary{grid-template-columns:auto minmax(320px,1fr) auto!important;overflow-x:auto!important}
 .wizard-squareoff-metrics{grid-template-columns:repeat(2,minmax(120px,1fr))}
}

/* V4.7.7 final single-row action layout */
.wizard-analysis-summary-actions{
  display:grid!important;
  grid-template-columns:auto minmax(260px,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  padding-right:0!important;
}
.wizard-analysis-summary-actions .wizard-status{grid-column:1!important;min-width:max-content!important}
.wizard-analysis-summary-actions .wizard-reason{grid-column:2!important;text-align:center!important;min-width:0!important}
.wizard-analysis-summary-actions .wizard-actions{
  grid-column:3!important;display:flex!important;align-items:center!important;
  float:none!important;margin:0!important;position:static!important;white-space:nowrap!important;
}
.wizard-analysis-summary-actions .wizard-strategy-actions-inline{
  display:flex;align-items:center;gap:5px!important;flex-wrap:nowrap!important;
}
.wizard-analysis-summary-actions .wizard-selected-count-inline{
  order:0!important;margin-right:3px!important;font-size:12px!important;white-space:nowrap!important;
}

/* V4.7.9 — compact fixed sides; middle assessment consumes remaining width */
.wizard-analysis-summary-actions{
  grid-template-columns:max-content minmax(0,1fr) max-content!important;
  column-gap:8px!important;
}
.wizard-analysis-summary-actions .wizard-status{
  width:max-content!important;max-width:none!important;flex:none!important;white-space:nowrap!important;
}
.wizard-analysis-summary-actions .wizard-reason{
  width:100%!important;max-width:none!important;min-width:0!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
  padding-left:4px!important;padding-right:4px!important;
}
.wizard-analysis-summary-actions .wizard-actions{
  width:max-content!important;max-width:none!important;flex:none!important;white-space:nowrap!important;
}
#wizard-risk-after{align-items:center!important;justify-content:center!important;white-space:nowrap!important}
#wizard-risk-after strong{width:100%!important;text-align:center!important}

/* V4.8.0 — compact Sell/Square Strangle analysis workflow */
.strangle-form-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;align-items:end}
.strangle-analyze-action{display:flex;align-items:flex-end}
.strangle-analysis-result{margin-top:10px}
.strangle-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.strangle-result-grid>div{border:1px solid var(--border,#ddd);border-radius:8px;padding:8px;min-width:0}
.strangle-result-grid span,.strangle-result-grid small{display:block;font-size:11px;opacity:.75}
.strangle-result-grid strong{display:block;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strangle-order-row{margin-top:9px;display:flex;align-items:center;gap:9px}
.strangle-order-row span{font-size:11px;opacity:.75}
.sq-progress-wrap{margin-top:10px}
.sq-progress-head{display:flex;justify-content:space-between;gap:8px;font-size:12px}
.sq-progress-bar{height:8px;border-radius:99px;background:rgba(127,127,127,.18);overflow:hidden;margin-top:5px}
.sq-progress-bar span{display:block;height:100%;width:0;background:currentColor;transition:width .25s ease}
@media(max-width:1100px){.strangle-form-grid{grid-template-columns:repeat(5,minmax(115px,1fr));overflow-x:auto}}


/* V4.8.1 — Sell/Square Strangle layout-only hotfix */

/* After DMA Forecast removal, this area now contains only two cards. */
.top-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:20px!important;
}

/* Both strangle cards must use their available half-width cleanly. */
.top-grid > .card{
    min-width:0!important;
    width:100%!important;
}

/* Form layout inside each card: labels above controls, no 190px fixed width. */
.strangle-form-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 12px!important;
    align-items:start!important;
}

.strangle-form-grid .field{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:5px!important;
    margin-bottom:0!important;
    min-width:0!important;
}

.strangle-form-grid .field label{
    display:block!important;
    min-width:0!important;
    white-space:nowrap!important;
}

.strangle-form-grid .field input,
.strangle-form-grid .field select{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
}

.strangle-form-grid .strangle-analyze-action{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    min-height:100%!important;
}

.strangle-form-grid .strangle-analyze-action .btn{
    width:auto!important;
    min-width:110px!important;
}

/* Results should also fit within each half-width card. */
.strangle-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.strangle-result-grid > div{
    min-width:0!important;
}

.strangle-result-grid strong,
.strangle-result-grid small{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:break-word!important;
}

.strangle-order-row{
    flex-wrap:wrap!important;
}

/* Narrow screens: stack the two cards and keep usable two-column forms. */
@media(max-width:1100px){
    .top-grid{
        grid-template-columns:1fr!important;
    }
    .strangle-form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        overflow:visible!important;
    }
}

@media(max-width:700px){
    .strangle-form-grid,
    .strangle-result-grid{
        grid-template-columns:1fr!important;
    }
}

/* V4.8.2 — section-aware live order tracking */
.section-order-status{
  margin-top:8px;padding:8px 10px;border-radius:8px;font-size:12px;
  white-space:pre-line;display:none;border:1px solid var(--border,#ddd)
}
.section-order-status:not(:empty){display:block}
.section-order-status.working,.section-order-status.submitted{font-weight:600}
.section-order-status.complete{font-weight:700}
.section-order-status.attention,.section-order-status.blocked{font-weight:700}

/* V4.8.3 Sell Strangle lifecycle */
#sell-monitor-wrap{margin-top:10px}
#sell-exit-details{margin-top:10px}

/* V4.8.6 — Portfolio Analyzer + clean Strangle monitoring */
.portfolio-analyzer-card{margin-bottom:20px}
.portfolio-analyzer-header,.portfolio-header-actions{display:flex;align-items:center;gap:10px}
.portfolio-updated{font-size:11px;font-weight:500;opacity:.8}
.portfolio-summary{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:8px;margin-bottom:12px}
.portfolio-summary>span{border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-width:0}
.portfolio-summary small{display:block;font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.35px}
.portfolio-summary strong{display:block;margin-top:2px;font-size:14px}
.portfolio-table-wrap{overflow-x:auto}
.portfolio-table{width:100%;border-collapse:collapse;font-size:11px}
.portfolio-table th,.portfolio-table td{padding:7px 7px;border-bottom:1px solid var(--border);white-space:nowrap;text-align:right}
.portfolio-table th:first-child,.portfolio-table td:first-child,
.portfolio-table th:nth-child(2),.portfolio-table td:nth-child(2){text-align:left}
.portfolio-suggestion-row td{padding:5px 8px 9px!important;background:rgba(100,116,139,.04)}
.portfolio-suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:normal}
.portfolio-suggestion>span{text-align:left}
.portfolio-view-positions{border:0;background:transparent;color:var(--accent);font-weight:700;cursor:pointer;white-space:nowrap}
.portfolio-rom-gap-warning{font-weight:800}
.portfolio-risk{font-weight:800}
.portfolio-position-focus{outline:2px solid var(--accent);outline-offset:-2px}
.strangle-header-controls{display:flex;align-items:center;gap:8px}
.strangle-stop-monitor{min-width:auto!important;padding:5px 9px!important;font-size:11px!important}
@media(max-width:1000px){
  .portfolio-summary{grid-template-columns:repeat(3,minmax(100px,1fr))}
}

/* V4.8.7 — Portfolio Analyzer refinement */
.portfolio-analyzer-summary-head{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr) max-content;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  cursor:pointer;
  list-style:none;
}
.portfolio-analyzer-summary-head::-webkit-details-marker{display:none}
.portfolio-title{font-weight:800;white-space:nowrap}
.portfolio-summary-inline{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  white-space:nowrap;
  overflow-x:auto;
}
.portfolio-summary-inline span{
  border:0!important;
  padding:0!important;
  margin:0!important;
  min-width:auto!important;
}
.portfolio-summary-inline strong{
  font-size:12px;
  font-weight:800;
}
.portfolio-view-all{
  border:0;
  background:transparent;
  padding:0;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.portfolio-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.portfolio-details-body{
  border-top:1px solid var(--border);
}
.portfolio-suggestion{
  justify-content:flex-start!important;
}
.portfolio-view-positions{
  display:none!important;
}
@media(max-width:1100px){
  .portfolio-analyzer-summary-head{
    grid-template-columns:1fr;
    align-items:start;
  }
  .portfolio-head-actions{justify-content:flex-end}
}

/* V4.8.8 — Portfolio Analyzer header/layout correction */
.portfolio-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px 6px;
}
.portfolio-summary-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 16px;
  padding:4px 14px 8px;
  overflow:visible!important;
  white-space:normal!important;
}
.portfolio-summary-line strong{
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.portfolio-view-all{
  color:#169447!important;
  font-size:12px!important;
  font-weight:800!important;
  cursor:pointer;
  border:0;
  background:transparent;
  padding:0;
  white-space:nowrap;
}
.portfolio-view-all:hover{
  text-decoration:underline;
}
.portfolio-toggle-line{
  padding:0 14px 8px;
}
.portfolio-toggle-btn{
  border:0;
  background:transparent;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  padding:0;
}
.portfolio-details-body{
  border-top:1px solid var(--border);
}
.portfolio-summary-inline{
  overflow:visible!important;
}

/* V4.8.9 — standardize dashboard section headers to Portfolio Analyzer */
.card-header,
.wizard-header,
.oi-details-summary,
.analysis-section .analysis-header,
.section-header,
.portfolio-topline{
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
}

.card-header > span:first-child,
.wizard-header > div:first-child > span:first-child,
.oi-details-summary > span:first-child,
.analysis-section .analysis-header,
.section-header,
.portfolio-title{
  font-size:14px!important;
  font-weight:800!important;
}

.card-header{
  min-height:42px!important;
  padding:10px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}

.wizard-header{
  min-height:42px!important;
  padding:10px 14px!important;
}

.portfolio-topline{
  min-height:42px!important;
  padding:10px 14px!important;
}

#wizard-risk-after,
.wizard-subtitle,
.wizard-updated,
.portfolio-updated{
  font-weight:500!important;
}

#sq-progress-label{
  display:inline-flex;
  align-items:center;
  gap:4px;
}

#sq-progress-wrap{
  margin-top:8px!important;
}

/* V4.9.0 — remaining UI consistency fixes */
.portfolio-suggestion-row .portfolio-suggestion{
  color:#2563EB!important;
  font-weight:700;
}
.portfolio-suggestion-row .portfolio-suggestion strong{
  color:#2563EB!important;
  font-weight:800;
}
.market-cockpit-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.08;
  font-size:14px!important;
  font-weight:800!important;
}
.market-cockpit-title > span{
  display:block;
  font-size:14px!important;
  font-weight:800!important;
}

/* V4.9.1 — unified black decision headers + collapsible sections */
.wizard-header,
.portfolio-topline{
    background:var(--ink)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.12)!important;
}

.portfolio-topline{
    border-radius:12px 12px 0 0;
}
.portfolio-topline .portfolio-title,
.portfolio-topline .portfolio-updated,
.wizard-header,
.wizard-header .wizard-subtitle,
.wizard-header .wizard-updated,
.decision-cockpit-top .market-cockpit-title,
.decision-cockpit-top .decision-reason,
.decision-cockpit-top .decision-historical-context{
    color:#fff!important;
}

.decision-cockpit-top .decision-reason{
    background:transparent!important;
    border-left-color:rgba(255,255,255,.35)!important;
}
.decision-cockpit-top .decision-historical-context{
    opacity:.78;
}
.market-cockpit-title{
    display:block!important;
    text-align:center!important;
    white-space:nowrap;
    font-size:14px!important;
    font-weight:800!important;
}
.decision-cockpit-kicker{
    color:#fff!important;
    text-align:center!important;
}

.portfolio-summary-line{
    justify-content:center!important;
    text-align:center;
}
.portfolio-summary-line strong,
.portfolio-summary-line .portfolio-view-all{
    margin:0 2px;
}

.collapsible-header,
.portfolio-topline,
.decision-cockpit-section-header{
    cursor:pointer;
}
.section-collapse-chevron{
    margin-left:auto;
    font-size:11px;
    font-weight:900;
    opacity:.85;
    flex:0 0 auto;
}
.card-header .section-collapse-chevron{
    order:99;
}
.portfolio-topline .section-collapse-chevron{
    margin-left:8px;
}
.decision-cockpit-top > .section-collapse-chevron{
    margin-left:8px;
}
.section-collapsed{
    box-shadow:none;
}

.portfolio-head-actions button,
.card-header button,
.wizard-header button,
.decision-cockpit-top button,
.decision-cockpit-top select{
    cursor:pointer;
}

/* With Profit ₹ removed, use the freed control width cleanly. */
.wizard-controls.wizard-controls-compact{
    grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(170px,1fr) minmax(130px,.7fr) minmax(150px,.8fr) auto!important;
}

/* V4.9.2 — authoritative collapse state */
.section-body-collapsed{
    display:none!important;
}
#portfolio-analyzer-card:not(.section-collapsed) #portfolio-details{
    display:block!important;
}
#portfolio-analyzer-card.section-collapsed #portfolio-details{
    display:none!important;
}

/* V4.9.3 — final header/text cleanup */

.decision-cockpit-top .decision-reason,
.decision-cockpit-top .decision-historical-context,
.decision-cockpit-top .decision-cockpit-basis-inline,
.decision-cockpit-top .decision-cockpit-basis-inline span,
.decision-cockpit-top .decision-cockpit-basis-inline strong,
.decision-cockpit-top .decision-confluence-label,
.decision-cockpit-top .decision-confluence-summary span{
    color:rgba(255,255,255,.82)!important;
}
.decision-cockpit-top .decision-cockpit-badge,
.decision-cockpit-top .decision-cockpit-action,
.decision-cockpit-top .decision-confluence-summary strong{
    color:#fff!important;
}
.decision-cockpit-top select{
    color:#fff!important;
    background:rgba(255,255,255,.08)!important;
    border-color:rgba(255,255,255,.22)!important;
}
.decision-cockpit-top select option{
    color:#111!important;
    background:#fff!important;
}

/* No collapse arrows anywhere */
.section-collapse-chevron{
    display:none!important;
}

/* NIFTY OI Analysis black header */
.oi-details-summary{
    background:var(--ink)!important;
    color:#fff!important;
    border-radius:12px 12px 0 0;
}
.oi-details-summary *{
    color:#fff!important;
}

/* Incremental Suggestion: blank initial updated state */
#wizard-updated:empty{
    display:none!important;
}

/* V4.9.4 — Market Decision Cockpit decision visibility */
.decision-cockpit-top .decision-cockpit-badge{
    background:rgba(255,255,255,.12)!important;
    border:1px solid rgba(255,255,255,.35)!important;
    color:#fff!important;
    box-shadow:none!important;
}
.decision-cockpit-top .decision-cockpit-badge.bullish,
.decision-cockpit-top .decision-cockpit-badge.bearish,
.decision-cockpit-top .decision-cockpit-badge.neutral{
    background:rgba(255,255,255,.12)!important;
    border-color:rgba(255,255,255,.35)!important;
    color:#fff!important;
}
.decision-cockpit-top .decision-cockpit-action{
    color:#fff!important;
    opacity:1!important;
    font-weight:700!important;
}
.decision-cockpit-top .decision-cockpit-decision-wrap,
.decision-cockpit-top .decision-cockpit-decision-line,
.decision-cockpit-top .decision-confluence-summary{
    color:#fff!important;
}

/* V4.9.5 — FULL DARK TRADING THEME · presentation only */
:root{
 --dark-bg:#07090d;--dark-surface:#0d1117;--dark-surface-2:#111720;
 --dark-surface-3:#161d27;--dark-border:#2a3441;--dark-border-soft:#202833;
 --dark-text:#f3f6fb;--dark-muted:#9aa7b5;--dark-blue:#4c8dff;
 --dark-blue-soft:#78a9ff;--dark-green:#35d06f;--dark-red:#ff5a67;
 --dark-amber:#f4c542;--dark-cyan:#4dd7e8;
}
html,body,.dashboard-shell,.dashboard-container,.container,main{
 background:var(--dark-bg)!important;color:var(--dark-text)!important;
}
.card,.decision-cockpit,.oi-decision-card,.moving-average-card,.wizard-card,
.portfolio-analyzer-card,.analysis-section{
 background:var(--dark-surface)!important;border-color:var(--dark-border)!important;
 color:var(--dark-text)!important;box-shadow:0 4px 16px rgba(0,0,0,.28)!important;
}
.card-header,.wizard-header,.portfolio-topline,.decision-cockpit-top,
.oi-details-summary,.section-header,.analysis-section .analysis-header{
 background:#05070a!important;color:#fff!important;border-color:var(--dark-border)!important;
}
.card-header *,.wizard-header *,.portfolio-topline *,.decision-cockpit-top *,
.oi-details-summary *,.section-header *,.analysis-section .analysis-header *{color:inherit}
.card-body,.card-body p,.card-body span,.card-body small,.meta,.hint,.token-hint,
.wizard-note,.wizard-reason,.wizard-subtitle,.portfolio-updated,.moving-average-subtitle,
.moving-average-status,.oi-details-hint{color:var(--dark-muted)!important}
.card-body strong,.card-body h1,.card-body h2,.card-body h3,.card-body h4,.card-body label,
.wizard-section-title,.portfolio-title{color:var(--dark-text)!important}

input,select,textarea{
 background:var(--dark-surface-2)!important;color:var(--dark-text)!important;
 border:1px solid var(--dark-border)!important;box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:#718096!important}
select option{background:var(--dark-surface-2)!important;color:var(--dark-text)!important}
input[readonly],input:disabled,select:disabled,textarea:disabled{
 background:#0b1016!important;color:#748294!important;opacity:1!important;
}
.field label,.token-label,.ma-control>span,.oi-stat .token-label{color:var(--dark-muted)!important}

.btn{border-color:var(--dark-border)!important;box-shadow:none!important}
.btn-ghost{background:var(--dark-surface-2)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important}
.btn-ghost:hover{background:var(--dark-surface-3)!important}
.btn-start{background:#1457d9!important;color:#fff!important;border-color:#2f75ff!important}
.btn-stop{background:#8b1d2c!important;color:#fff!important;border-color:#c13b4c!important}
.portfolio-view-all,.portfolio-view-positions{color:var(--dark-green)!important}

table,.portfolio-table,.wizard-table-wrap table{
 background:var(--dark-surface)!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important;
}
thead,thead tr,table thead th{background:#0a0e14!important;color:#dce4ee!important;border-color:var(--dark-border)!important}
tbody tr,table tbody tr{background:var(--dark-surface)!important}
tbody tr:nth-child(even),table tbody tr:nth-child(even){background:#0b1016!important}
td,th{border-color:var(--dark-border-soft)!important}
tbody tr:hover{background:#121a24!important}

.portfolio-summary-line{
 background:#0b1016!important;border-top:1px solid var(--dark-border-soft)!important;
 border-bottom:1px solid var(--dark-border-soft)!important;
}
.portfolio-summary-line strong{color:var(--dark-text)!important}
.portfolio-suggestion-row td{background:#0b1016!important}
.portfolio-suggestion-row .portfolio-suggestion,
.portfolio-suggestion-row .portfolio-suggestion strong{color:var(--dark-blue-soft)!important}
.portfolio-risk-low{color:var(--dark-green)!important}
.portfolio-risk-moderate{color:var(--dark-amber)!important}
.portfolio-risk-high{color:var(--dark-red)!important}
.portfolio-rom-gap-warning{color:var(--dark-amber)!important}

.bull,.positive,.pnl-positive,.profit-positive,.status-positive{color:var(--dark-green)!important}
.bear,.negative,.pnl-negative,.loss-negative,.status-negative{color:var(--dark-red)!important}

.wizard-metric strong,.wizard-compact-cell strong,.oi-stat strong,.token-info strong,
.portfolio-summary-line strong,.market-value strong{color:var(--dark-text)!important}
.wizard-metric,.wizard-rec,.wizard-structure,.wizard-compact-cell,.wizard-diagnostic-failure{
 background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;
}
.wizard-metric span,.wizard-compact-cell span,.wizard-compact-cell small{color:var(--dark-muted)!important}
.wizard-status.neutral,.wizard-status.no-new-position{background:rgba(76,141,255,.12)!important;color:var(--dark-blue-soft)!important}
.wizard-status.wait{background:rgba(244,197,66,.12)!important;color:var(--dark-amber)!important}
.wizard-status.enter{background:rgba(53,208,111,.12)!important;color:var(--dark-green)!important}
.wizard-warning{background:rgba(244,197,66,.10)!important;border-color:rgba(244,197,66,.35)!important;color:var(--dark-amber)!important}

.sq-progress-wrap,.strangle-analysis-result,.section-order-status,.wizard-order-status{
 background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;color:var(--dark-text)!important;
}
.sq-progress-head,#sq-progress-label,#sq-progress-values{color:var(--dark-text)!important}
.sq-progress-bar{background:#1b2430!important}
#sq-progress-fill{background:linear-gradient(90deg,var(--dark-blue),var(--dark-green))!important}

.oi-stat-compact,.decision-evidence-item,.decision-confluence-item,.decision-confluence-summary,
.decision-fast-card,.moving-average-body,.moving-average-chart-wrap{
 background:var(--dark-surface-2)!important;border-color:var(--dark-border)!important;color:var(--dark-text)!important;
}
.decision-confluence-item span,.decision-confluence-item em,.decision-evidence-item span,
.decision-evidence-note strong{color:var(--dark-muted)!important}
.decision-confluence-item strong,.decision-evidence-item strong{color:var(--dark-text)!important}

.decision-cockpit-badge{background:rgba(255,255,255,.08)!important;color:#fff!important}
.decision-cockpit-badge.bullish{border-color:rgba(53,208,111,.5)!important;color:var(--dark-green)!important}
.decision-cockpit-badge.bearish{border-color:rgba(255,90,103,.5)!important;color:var(--dark-red)!important}
.decision-cockpit-badge.neutral{border-color:rgba(244,197,66,.55)!important;color:var(--dark-amber)!important}
#decision-cockpit-badge{color:var(--dark-amber)!important}
#decision-cockpit-action{color:#fff!important}

.decision-master-control select,#decision-instrument{
 background:#0b1016!important;color:#fff!important;border-color:#384656!important;
}
.decision-master-control select option,#decision-instrument option{background:#0b1016!important;color:#fff!important}

a,.link,.clickable,.portfolio-view-all,.portfolio-view-positions{color:var(--dark-blue-soft)}
.toast,.wizard-modal-card{background:#0d1117!important;color:var(--dark-text)!important;border-color:var(--dark-border)!important}
.wizard-modal-backdrop{background:rgba(0,0,0,.72)!important}
.footer{color:#718096!important;border-color:var(--dark-border-soft)!important}
.badge.running,.market-badge.open,.ready,.complete{color:var(--dark-green)!important}
.badge.stopped,.market-badge.closed{color:var(--dark-muted)!important}
.attention,.blocked{color:var(--dark-red)!important}

*{scrollbar-color:#334155 #0b1016}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:#0b1016}
*::-webkit-scrollbar-thumb{background:#334155;border-radius:10px}
*::-webkit-scrollbar-thumb:hover{background:#475569}

/* ==========================================================
   V4.9.6 — SEMANTIC CONTRAST SYSTEM
   Presentation-only. No behavior or trading logic changes.
   ========================================================== */

/* Shared semantic tokens */
:root{
  --sem-reference:#f3f6fb;
  --sem-analytic:#4dd7e8;
  --sem-info:#78a9ff;
  --sem-positive:#35d06f;
  --sem-attention:#f4c542;
  --sem-negative:#ff5a67;
  --sem-violet:#b58cff;
  --sem-muted:#9aa7b5;
}

/* Reference values stay white */
.reference-value,
.metric-reference,
.market-reference{
  color:var(--sem-reference)!important;
}

/* Analytical/calculated values use cyan */
.analytic-value,
.metric-analytic{
  color:var(--sem-analytic)!important;
}

/* Portfolio Analyzer semantic treatment */
.portfolio-table td:nth-child(3){ /* MTM */
  font-weight:800;
}
.portfolio-table td:nth-child(6){ /* Current ROM */
  color:var(--sem-reference)!important;
  font-weight:800;
}
.portfolio-table td:nth-child(7){ /* Theo ROM */
  color:var(--sem-analytic)!important;
  font-weight:800;
}
.portfolio-table td:nth-child(8){ /* ROM Gap */
  color:var(--sem-attention)!important;
  font-weight:800;
}
.portfolio-table td:nth-child(9),  /* Net Delta */
.portfolio-table td:nth-child(10){ /* Delta Imbalance */
  font-weight:800;
}
.portfolio-table td:nth-child(11){ /* Position */
  color:var(--sem-info)!important;
  font-weight:800;
}
.portfolio-table td:nth-child(12){ /* Cockpit */
  color:var(--sem-analytic)!important;
  font-weight:800;
}
.portfolio-table .portfolio-rom-gap-warning{
  color:var(--sem-attention)!important;
}
.portfolio-suggestion-row .portfolio-suggestion,
.portfolio-suggestion-row .portfolio-suggestion strong{
  color:var(--sem-info)!important;
}

/* Generic P&L / sign-aware classes */
.pnl-positive,.profit-positive,.positive-value,.positive{
  color:var(--sem-positive)!important;
}
.pnl-negative,.loss-negative,.negative-value,.negative{
  color:var(--sem-negative)!important;
}
.pnl-neutral,.neutral-value{
  color:var(--sem-reference)!important;
}

/* Risk hierarchy */
.portfolio-risk-low,.risk-low,.status-low{
  color:var(--sem-positive)!important;
}
.portfolio-risk-moderate,.risk-moderate,.status-moderate{
  color:var(--sem-attention)!important;
}
.portfolio-risk-high,.risk-high,.status-high,.blocked,.attention{
  color:var(--sem-negative)!important;
}

/* Incremental Suggestion */
.wizard-compact-cell span,
.wizard-metric span{
  color:var(--sem-muted)!important;
}
.wizard-compact-cell strong,
.wizard-metric strong{
  color:var(--sem-reference)!important;
}
.wizard-compact-cell small{
  color:var(--sem-muted)!important;
}
.wizard-rec .wizard-compact-cell:nth-child(1) strong{
  color:var(--sem-reference)!important;
}
.wizard-rec .wizard-compact-cell:nth-child(2) strong{
  color:var(--sem-reference)!important;
}

/* Improvement arrows / after values */
.wizard-risk-strip strong,
#wizard-risk-after strong{
  color:var(--sem-info)!important;
}
.wizard-warning{
  color:var(--sem-attention)!important;
}
.wizard-status.enter{
  color:var(--sem-positive)!important;
}
.wizard-status.wait{
  color:var(--sem-attention)!important;
}
.wizard-status.no-new-position,
.wizard-status.neutral{
  color:var(--sem-info)!important;
}

/* Sell / Square Strangle: CE vs PE distinction without good/bad semantics */
.strangle-result-grid > div:nth-child(1) strong,
.wizard-compact-legs .wizard-compact-cell:first-child strong{
  color:var(--sem-analytic)!important; /* CE */
}
.strangle-result-grid > div:nth-child(2) strong,
.wizard-compact-legs .wizard-compact-cell:nth-child(2) strong{
  color:var(--sem-violet)!important;   /* PE */
}
.strangle-result-grid span,
.strangle-result-grid small{
  color:var(--sem-muted)!important;
}
.strangle-result-grid strong{
  color:var(--sem-reference)!important;
}

/* Square-off monitoring */
#sq-progress-label{
  color:var(--sem-info)!important;
}
#sq-progress-values{
  color:var(--sem-reference)!important;
}
.section-order-status.complete,
.wizard-order-status.complete{
  color:var(--sem-positive)!important;
}
.section-order-status.working,
.wizard-order-status.working,
.section-order-status.submitted,
.wizard-order-status.submitted{
  color:var(--sem-info)!important;
}
.section-order-status.blocked,
.wizard-order-status.blocked,
.section-order-status.attention,
.wizard-order-status.attention{
  color:var(--sem-negative)!important;
}

/* Open Option Positions */
.position-row td{
  color:var(--sem-reference)!important;
}
.position-row td:first-child{
  color:var(--sem-info)!important;
  font-weight:800;
}
.position-row[data-side="BUY"] td:first-child,
.position-row.buy td:first-child{
  color:var(--sem-analytic)!important;
}
.position-row[data-side="SELL"] td:first-child,
.position-row.sell td:first-child{
  color:var(--sem-attention)!important;
}
.portfolio-position-focus{
  outline-color:var(--sem-info)!important;
}

/* OI Analysis */
.oi-stat strong{
  color:var(--sem-reference)!important;
}
.oi-stat .token-label,
.oi-details-hint{
  color:var(--sem-muted)!important;
}
.oi-bullish,
.oi-support,
.oi-positive{
  color:var(--sem-positive)!important;
}
.oi-bearish,
.oi-resistance,
.oi-negative{
  color:var(--sem-negative)!important;
}
.oi-neutral,
.oi-max-pain{
  color:var(--sem-attention)!important;
}

/* Decision Cockpit */
#decision-cockpit-badge{
  color:var(--sem-attention)!important; /* HOLD default */
}
.decision-cockpit-badge.bullish{
  color:var(--sem-positive)!important;
}
.decision-cockpit-badge.bearish{
  color:var(--sem-negative)!important;
}
.decision-cockpit-badge.neutral{
  color:var(--sem-attention)!important;
}
#decision-cockpit-action{
  color:#fff!important;
}
#decision-confluence-score{
  color:var(--sem-attention)!important;
}
#decision-confluence-direction{
  color:var(--sem-muted)!important;
}
.decision-confluence-item strong{
  color:var(--sem-reference)!important;
}
.decision-confluence-item.positive strong,
.decision-confluence-item.bullish strong{
  color:var(--sem-positive)!important;
}
.decision-confluence-item.negative strong,
.decision-confluence-item.bearish strong{
  color:var(--sem-negative)!important;
}
.decision-confluence-item.neutral strong,
.decision-confluence-item.mixed strong{
  color:var(--sem-attention)!important;
}

/* Moving Average / Technical Analysis */
.moving-average-card strong,
.moving-average-body strong{
  color:var(--sem-reference)!important;
}
.moving-average-card .bullish,
.moving-average-card .above,
.technical-bullish{
  color:var(--sem-positive)!important;
}
.moving-average-card .bearish,
.moving-average-card .below,
.technical-bearish{
  color:var(--sem-negative)!important;
}
.moving-average-card .neutral,
.technical-neutral{
  color:var(--sem-attention)!important;
}
.moving-average-card .ma-value,
.moving-average-card .dma-value,
.moving-average-card .ema-value{
  color:var(--sem-analytic)!important;
}

/* Alerts */
.alert-info,.alert-watch-info{
  color:var(--sem-info)!important;
}
.alert-watch,.alert-warning{
  color:var(--sem-attention)!important;
}
.alert-risk,.alert-high,.alert-error{
  color:var(--sem-negative)!important;
}
.alert-profit,.alert-success,.alert-resolved{
  color:var(--sem-positive)!important;
}

/* Market/system status */
.market-badge.open,.kite-status-button.ready,.status-online{
  color:var(--sem-positive)!important;
}
.market-badge.closed,.status-offline,.badge.stopped{
  color:var(--sem-muted)!important;
}
.kite-status-button.checking,.status-checking{
  color:var(--sem-attention)!important;
}
.kite-status-button.error,.status-error{
  color:var(--sem-negative)!important;
}

/* Navigation / interaction */
a,.link,.clickable,.portfolio-view-positions{
  color:var(--sem-info)!important;
}
.portfolio-view-all{
  color:var(--sem-positive)!important;
}

/* Avoid over-coloring labels */
th,label,.token-label,.meta,.hint,small{
  text-shadow:none!important;
}

.attention-value{color:var(--sem-attention)!important;font-weight:800;}

/* V5.0.1 — requested contrast refinements */
.decision-text-instrument,.decision-text-analytic{color:var(--sem-analytic,#4dd7e8)!important;font-weight:800}
.decision-text-positive,.signal-positive{color:var(--sem-positive,#35d06f)!important;font-weight:700}
.decision-text-attention,.signal-attention{color:var(--sem-attention,#f4c542)!important;font-weight:700}
.decision-text-negative,.signal-negative{color:var(--sem-negative,#ff5a67)!important;font-weight:700}
.signal-neutral,.historical-prefix,.historical-label{color:var(--sem-muted,#9aa7b5)!important}
.decision-reason,.decision-historical-context{color:#fff!important}
.decision-cockpit-basis-inline{justify-content:center!important;text-align:center!important;align-items:center!important;flex:1 1 auto!important}
.decision-cockpit-basis-inline span{color:var(--sem-analytic,#4dd7e8)!important;font-weight:900!important}
.decision-cockpit-basis-inline strong{color:var(--sem-attention,#f4c542)!important;font-weight:800!important}
#decision-cockpit-badge{font-size:16px!important;line-height:1!important;padding:8px 14px!important;min-width:84px!important}
#decision-cockpit-badge.bullish{color:var(--sem-positive,#35d06f)!important}
#decision-cockpit-badge.neutral{color:var(--sem-attention,#f4c542)!important}
#decision-cockpit-badge.bearish{color:var(--sem-negative,#ff5a67)!important}
.decision-confluence-breakdown-title{color:var(--sem-analytic,#4dd7e8)!important;font-weight:900!important}
.confluence-bullish .confluence-item-head strong,.confluence-bullish .confluence-item-head span,.confluence-bullish em{color:var(--sem-positive,#35d06f)!important}
.confluence-bearish .confluence-item-head strong,.confluence-bearish .confluence-item-head span,.confluence-bearish em{color:var(--sem-negative,#ff5a67)!important}
.confluence-neutral .confluence-item-head strong,.confluence-neutral .confluence-item-head span,.confluence-neutral em{color:var(--sem-attention,#f4c542)!important}
.confluence-score.score-strong{color:var(--sem-positive,#35d06f)!important}
.confluence-score.score-mixed{color:var(--sem-attention,#f4c542)!important}
.confluence-score.score-weak{color:var(--sem-negative,#ff5a67)!important}

.portfolio-summary-line{gap:8px!important}
.portfolio-summary-metric{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}
.portfolio-summary-metric>span{color:var(--sem-muted,#9aa7b5)!important;font-weight:650}
.portfolio-summary-metric>strong{font-weight:900!important}
.portfolio-summary-sep{color:#526171!important}
.summary-positive{color:var(--sem-positive,#35d06f)!important}
.summary-negative{color:var(--sem-negative,#ff5a67)!important}
.summary-attention{color:var(--sem-attention,#f4c542)!important}
.summary-analytic{color:var(--sem-analytic,#4dd7e8)!important}
.summary-reference{color:#fff!important}

.telegram-header-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:7px;border:1px solid var(--dark-border,#2a3441);font-size:10px;font-weight:800;white-space:nowrap}
.telegram-header-status.ready{color:var(--sem-positive,#35d06f)!important}
.telegram-header-status.attention{color:var(--sem-attention,#f4c542)!important}
.telegram-header-status.blocked{color:var(--sem-negative,#ff5a67)!important}
.telegram-header-status.checking{color:var(--sem-muted,#9aa7b5)!important}
\n

/* ==========================================================
   V5.0.5 — structural header + real cockpit section header
   ========================================================== */

/* TOP APP HEADER: three independent full-width bands */
.app-header{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
}
.header-brand-band{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    padding:8px 14px 5px!important;
    min-height:50px!important;
}
.header-left{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:auto!important;
    min-width:0!important;
}
.app-logo{width:40px!important;height:40px!important;flex:0 0 40px!important}
.header-title{text-align:left!important;min-width:0!important}
.header-title h1{
    margin:0 0 3px!important;
    font-size:22px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
}
.header-title .header-line{margin:0!important;white-space:nowrap!important;line-height:1.25!important}
.header-title .header-line-2{font-size:10px!important;font-weight:800!important;color:var(--sem-analytic,#4dd7e8)!important}
.header-title .header-line-3{font-size:9px!important;font-weight:750!important;color:var(--sem-attention,#f4c542)!important}

.header-market-band{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    padding:4px 14px 5px!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
}
.market-tickers{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:5px 15px!important;
    width:min(1250px,100%)!important;
    padding:0!important;
    overflow:visible!important;
}
.market-ticker{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:baseline!important;
    gap:4px!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    white-space:nowrap!important;
}
.market-ticker .ticker-label{font-size:7px!important;line-height:1!important;color:var(--sem-muted,#9aa7b5)!important}
.market-ticker strong,.market-ticker .market-price{font-size:9px!important;line-height:1!important;font-weight:850!important}
.market-ticker .market-change{font-size:7px!important;line-height:1!important;margin-left:1px!important}

.header-status-band{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    padding:5px 12px 7px!important;
}
.market-info{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    width:100%!important;
}
.market-info-row{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
}
.market-info-primary,.market-clock,.logged-in-user{font-size:8px!important;line-height:1.1!important}
.header-separator{color:#64748b!important;font-size:8px!important}
.market-badge{font-size:7px!important;padding:3px 5px!important;line-height:1!important}
.market-info-actions{font-size:8px!important}
.header-action-link,
.market-info .header-action-link,
.market-info .kite-status-button,
.market-info .telegram-header-status{
    margin:0!important;
    padding:3px 6px!important;
    min-height:0!important;
    height:auto!important;
    font-size:8px!important;
    line-height:1.05!important;
    border-radius:4px!important;
    white-space:nowrap!important;
}
.header-action-link{
    color:var(--sem-info,#78a9ff)!important;
    background:transparent!important;
    border:1px solid rgba(120,169,255,.25)!important;
    text-decoration:none!important;
    font-weight:750!important;
}
.market-info .logout-form{display:inline-flex!important;margin:0!important}
.kite-status-dot{width:5px!important;height:5px!important}

/* MARKET DECISION COCKPIT: real section header identical in role to Portfolio Analyzer */
.decision-cockpit{
    margin:12px 0 14px!important;
    border:1px solid var(--dark-border,#2a3441)!important;
    border-radius:12px!important;
    background:var(--dark-card,#0d1117)!important;
    overflow:hidden!important;
}
.decision-cockpit-section-header{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:10px 14px!important;
    background:var(--ink,#07090d)!important;
    color:#fff!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    cursor:pointer!important;
}
.decision-cockpit-section-title{
    color:#fff!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1.25!important;
    text-align:center!important;
}
.decision-cockpit-content{display:block!important}
.decision-cockpit.section-collapsed .decision-cockpit-content{display:none!important}

.decision-cockpit-top{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:0!important;
    padding:9px 14px 8px!important;
    background:var(--dark-card,#0d1117)!important;
    border:0!important;
    border-radius:0!important;
    cursor:default!important;
}
.decision-cockpit-heading-area{flex:1 1 auto!important;min-width:0!important}
.decision-heading-narrative-row{display:block!important;text-align:center!important}
.decision-heading-narrative{max-width:980px!important;margin:0 auto!important;text-align:center!important}
.decision-reason{font-size:10.5px!important;line-height:1.28!important;text-align:center!important;color:#fff!important;margin:0!important}
.decision-historical-context{font-size:9.5px!important;line-height:1.22!important;text-align:center!important;margin:3px 0 0!important;padding:0!important}
.decision-cockpit-title-row{justify-content:center!important;margin-top:6px!important}
.decision-master-control-inline{margin:0 auto!important}
#decision-instrument{font-size:9px!important}
.decision-cockpit-decision-wrap{flex:0 0 auto!important}
#decision-cockpit-badge{font-size:16px!important}
.decision-cockpit-action{font-size:9px!important}

/* preserve semantic contrast inside cockpit */
.decision-text-instrument,.decision-text-analytic{color:var(--sem-analytic,#4dd7e8)!important}
.decision-text-positive,.signal-positive{color:var(--sem-positive,#35d06f)!important}
.decision-text-attention,.signal-attention{color:var(--sem-attention,#f4c542)!important}
.decision-text-negative,.signal-negative{color:var(--sem-negative,#ff6b6b)!important}
.historical-label{color:var(--sem-muted,#9aa7b5)!important}

@media(max-width:760px){
    .header-title h1{font-size:19px!important}
    .header-title .header-line-2{font-size:9px!important}
    .header-title .header-line-3{font-size:8px!important}
    .market-tickers{gap:5px 10px!important}
    .decision-cockpit-top{flex-direction:column!important}
    .decision-cockpit-decision-wrap{width:100%!important}
}

/* V5.0.7 UI STEP 1 — ONLY approved top-header/cockpit alignment */
.app-header{display:grid!important;grid-template-columns:300px minmax(520px,1fr) 390px!important;grid-template-areas:"brand metrics status"!important;align-items:center!important;gap:22px!important;width:100%!important;min-height:150px!important;padding:12px 20px!important;box-sizing:border-box!important;background:#030405!important;color:#f8fafc!important;border-bottom:1px solid #26303c!important;overflow:visible!important}
.header-brand-band{grid-area:brand!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;padding:0!important;background:transparent!important;border:0!important}.header-left{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important}.app-logo{width:44px!important;height:44px!important;flex:0 0 44px!important}.header-title{text-align:left!important}.header-title h1{margin:0 0 5px!important;color:#fff!important;font-size:22px!important;line-height:1.05!important;font-weight:900!important;white-space:nowrap!important}.header-title .header-line{margin:0!important;white-space:nowrap!important;line-height:1.25!important}.header-title .header-line-2{color:#55ddeb!important;font-size:10px!important;font-weight:800!important}.header-title .header-line-3{color:#f4c542!important;font-size:9px!important;font-weight:750!important}
.header-market-band{grid-area:metrics!important;display:block!important;width:100%!important;padding:0!important;background:transparent!important;border:0!important}.market-tickers{display:grid!important;grid-template-columns:repeat(3,minmax(150px,1fr))!important;grid-auto-flow:row!important;gap:9px 20px!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;overflow:visible!important}.market-ticker{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:2px!important;width:100%!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;text-align:left!important;white-space:nowrap!important}.market-ticker .ticker-label{color:#94a3b8!important;font-size:8px!important;line-height:1.05!important;font-weight:800!important;text-align:left!important}.market-ticker strong,.market-ticker .market-price{color:#f8fafc!important;font-size:10px!important;line-height:1.08!important;font-weight:900!important;text-align:left!important}.market-ticker .market-change{font-size:8px!important}.market-ticker .market-up{color:#3ddc84!important}.market-ticker .market-down{color:#ff786e!important}.market-ticker .market-flat{color:#cbd5e1!important}
.header-status-band{grid-area:status!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;padding:0!important;background:transparent!important;border:0!important}.market-info{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:8px!important;width:100%!important}.market-info-row{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;width:100%!important;flex-wrap:nowrap!important;text-align:right!important;white-space:nowrap!important}.market-info-primary,.market-clock,.logged-in-user{color:#e5e7eb!important;font-size:8px!important}.header-separator{color:#64748b!important}.market-badge{font-size:7px!important;padding:3px 6px!important}.market-info-account .header-action-link{color:#60a5fa!important}.market-info .kite-status-button,.market-info .telegram-header-status,.market-info .header-action-link{margin:0!important;padding:3px 6px!important;height:auto!important;min-height:0!important;font-size:8px!important;line-height:1.05!important;white-space:nowrap!important}.market-info .logout-form{display:inline-flex!important;margin:0!important}.header-logout-button{appearance:none!important;border:1px solid #ff786e!important;background:#7f1d1d!important;color:#fff!important;border-radius:5px!important;padding:5px 14px!important;font-size:9px!important;font-weight:900!important;letter-spacing:.5px!important;cursor:pointer!important}.header-logout-button:hover{background:#991b1b!important}
.decision-cockpit-section-header{justify-content:flex-start!important;text-align:left!important;padding-left:16px!important}.decision-cockpit-section-title{text-align:left!important}.decision-cockpit-top{display:block!important;padding:10px 16px!important}.decision-cockpit-heading-area{display:block!important;width:100%!important}.decision-cockpit-title-row{display:flex!important;justify-content:flex-start!important;align-items:center!important;width:100%!important;margin:0 0 9px!important}.decision-master-control-inline{margin:0!important;justify-content:flex-start!important;text-align:left!important}#decision-instrument{text-align:left!important}.decision-heading-narrative-row,.decision-heading-narrative,.decision-reason,.decision-historical-context{display:block!important;width:100%!important;max-width:none!important;text-align:center!important}.decision-heading-narrative{margin:0!important}.decision-reason{margin:0!important;color:#55ddeb!important;font-size:11px!important;line-height:1.4!important;font-weight:800!important}.decision-historical-context{margin:4px 0 0!important;color:#b8c4d4!important;font-size:10px!important;line-height:1.35!important;font-weight:700!important}.decision-text-instrument,.decision-text-analytic{color:#55ddeb!important}.decision-text-positive,.signal-positive{color:#3ddc84!important}.decision-text-attention,.signal-attention{color:#f4c542!important}.decision-text-negative,.signal-negative{color:#ff786e!important}
@media(max-width:1100px){.app-header{grid-template-columns:1fr!important;grid-template-areas:"brand" "metrics" "status"!important}.header-brand-band,.header-status-band{justify-content:center!important}.header-left{justify-content:center!important;width:auto!important}.market-info{align-items:center!important}.market-info-row{justify-content:center!important;flex-wrap:wrap!important}}


/* V5.0.7 STEP 1C — right header zone only: compact 5-row layout */
.app-header{
    grid-template-columns:300px minmax(560px,1fr) 315px!important;
}
.header-status-band{
    min-width:0!important;
}
.market-info{
    width:100%!important;
    min-width:0!important;
    gap:6px!important;
    align-items:flex-end!important;
}
.market-info-row{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-end!important;
    text-align:right!important;
    flex-wrap:nowrap!important;
}
.market-info-time,
.market-info-user,
.market-info-account,
.market-info-connectivity,
.market-info-logout{
    justify-content:flex-end!important;
}
.market-info-time .market-clock,
.market-info-user .logged-in-user{
    color:#e5e7eb!important;
}
.market-info-account .header-action-link{
    display:inline-flex!important;
}
.market-info-connectivity .kite-status-button,
.market-info-connectivity .telegram-header-status{
    display:inline-flex!important;
    align-items:center!important;
}
@media(max-width:1200px){
    .app-header{
        grid-template-columns:280px minmax(480px,1fr) 300px!important;
        gap:16px!important;
    }
}


/* V5.0.7 STEP 2 — Market Decision Cockpit only */
.decision-cockpit-section-header{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:42px!important;
    padding:10px 14px!important;
    text-align:left!important;
    background:var(--ink,#07090d)!important;
}
.decision-cockpit-section-title{
    display:block!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:800!important;
    line-height:1.25!important;
}

/* instrument selector belongs on the left, like a normal control */
.decision-cockpit-title-row{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    width:100%!important;
    margin:0 0 8px!important;
    padding:0!important;
}
.decision-master-control,
.decision-master-control-inline{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
}
#decision-instrument{
    width:auto!important;
    min-width:150px!important;
    max-width:220px!important;
    text-align:left!important;
    margin:0!important;
}

/* each narrative row takes the full width and centers its own text */
.decision-heading-narrative-row{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}
.decision-heading-narrative{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
.decision-reason,
.decision-historical-context{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    text-align:center!important;
}

/* row 1/2 narrative: prominent cyan base, semantic inline colors remain stronger */
.decision-reason{
    margin:0!important;
    color:#55ddeb!important;
    font-size:11px!important;
    line-height:1.45!important;
    font-weight:850!important;
}

/* row 3 historical line: distinct softer blue-grey, values keep semantic colors */
.decision-historical-context{
    margin:4px 0 0!important;
    padding:0!important;
    color:#b8c4d4!important;
    font-size:10px!important;
    line-height:1.4!important;
    font-weight:750!important;
}

.decision-text-instrument,
.decision-text-analytic{
    color:#55ddeb!important;
    font-weight:900!important;
}
.decision-text-positive{
    color:#3ddc84!important;
    font-weight:850!important;
}
.decision-text-attention{
    color:#f4c542!important;
    font-weight:850!important;
}
.decision-text-negative{
    color:#ff786e!important;
    font-weight:850!important;
}
.historical-label{
    color:#9fb0c3!important;
    font-weight:750!important;
}


/* V5.0.7 STEP 3 — cockpit compact 3-zone row only */
.decision-cockpit-top{
    display:grid!important;
    grid-template-columns:180px minmax(0,1fr) 250px!important;
    grid-template-areas:"instrument narrative decision"!important;
    align-items:center!important;
    gap:14px!important;
    padding:10px 14px!important;
}
.decision-cockpit-zone{min-width:0!important}
.decision-cockpit-zone-left{grid-area:instrument!important;align-self:center!important;text-align:left!important}
.decision-cockpit-zone-center{grid-area:narrative!important;align-self:center!important;width:100%!important}
.decision-cockpit-zone-right{grid-area:decision!important;align-self:center!important;text-align:right!important}

/* Left: compact selector only */
.decision-cockpit-zone-left .decision-cockpit-title-row{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    width:100%!important;
    margin:0!important;
}
.decision-cockpit-zone-left .decision-master-control,
.decision-cockpit-zone-left .decision-master-control-inline{
    width:auto!important;
    margin:0!important;
    justify-content:flex-start!important;
}
.decision-cockpit-zone-left #decision-instrument{
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    text-align:left!important;
}

/* Center: each narrative line independently centered */
.decision-cockpit-zone-center .decision-heading-narrative-row,
.decision-cockpit-zone-center .decision-heading-narrative,
.decision-cockpit-zone-center .decision-reason,
.decision-cockpit-zone-center .decision-historical-context{
    width:100%!important;
    max-width:none!important;
    text-align:center!important;
}
.decision-cockpit-zone-center .decision-heading-narrative-row,
.decision-cockpit-zone-center .decision-heading-narrative{
    margin:0!important;
    padding:0!important;
}

/* Right: HOLD/action/confluence right aligned */
.decision-cockpit-zone-right .decision-cockpit-decision-wrap{
    width:100%!important;
    margin:0!important;
}
.decision-cockpit-zone-right .decision-cockpit-decision-line{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:center!important;
    gap:5px!important;
    width:100%!important;
    text-align:right!important;
}
.decision-cockpit-zone-right .decision-cockpit-decision-line>div:first-child,
.decision-cockpit-zone-right .decision-confluence-summary{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    text-align:right!important;
    width:100%!important;
}
.decision-cockpit-zone-right .decision-cockpit-badge{
    margin-left:auto!important;
    margin-right:0!important;
}
.decision-cockpit-zone-right .decision-cockpit-action,
.decision-cockpit-zone-right .decision-confluence-label,
.decision-cockpit-zone-right .decision-confluence-summary strong,
.decision-cockpit-zone-right .decision-confluence-summary span{
    text-align:right!important;
}
.decision-cockpit-zone-right .decision-confluence-bar{
    margin-left:auto!important;
    margin-right:0!important;
    width:150px!important;
}

/* compact responsive fallback */
@media(max-width:1000px){
    .decision-cockpit-top{
        grid-template-columns:160px minmax(0,1fr) 220px!important;
        gap:10px!important;
    }
    .decision-cockpit-zone-left #decision-instrument{
        width:150px!important;
        min-width:150px!important;
        max-width:150px!important;
    }
}
@media(max-width:760px){
    .decision-cockpit-top{
        grid-template-columns:1fr!important;
        grid-template-areas:"instrument" "narrative" "decision"!important;
    }
    .decision-cockpit-zone-right,
    .decision-cockpit-zone-right .decision-cockpit-decision-line,
    .decision-cockpit-zone-right .decision-cockpit-decision-line>div:first-child,
    .decision-cockpit-zone-right .decision-confluence-summary{
        align-items:flex-start!important;
        text-align:left!important;
    }
}


/* V5.0.7 STEP 4 — compact one-line market metrics only */
.header-market-band{
    transform:translateX(18px)!important;
}
.market-tickers{
    grid-template-columns:repeat(3,minmax(190px,1fr))!important;
    column-gap:20px!important;
    row-gap:8px!important;
    align-items:center!important;
}
.market-ticker{
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    justify-content:flex-start!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    text-align:left!important;
}
.market-ticker .ticker-label{
    flex:0 0 auto!important;
    margin:0!important;
}
.market-ticker strong,
.market-ticker .market-price{
    display:inline-flex!important;
    align-items:baseline!important;
    gap:5px!important;
    flex:0 0 auto!important;
    margin:0!important;
}
/* JS places the change span inside the strong price node */
.market-ticker strong .market-change,
.market-ticker .market-price .market-change{
    display:inline!important;
    margin-left:1px!important;
}
.market-ticker.metric-vix-center{
    grid-column:2!important;
    grid-row:4!important;
}

/* With metrics now one-line, reduce unused header height without shrinking controls. */
.app-header{
    min-height:126px!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
}


/* V5.0.7 STEP 4C — move the entire 4-row / 3-column metrics block right */
.header-market-band{
    transform:translateX(55px)!important;
}


/* V5.0.7 STEP 4D — metric label/value/change spacing only */
.market-ticker{
    column-gap:0!important;
}
.market-ticker .ticker-label{
    margin-right:10px!important;
}
.market-ticker strong,
.market-ticker .market-price{
    gap:0!important;
}
.market-ticker strong .market-change,
.market-ticker .market-price .market-change{
    margin-left:10px!important;
}


/* V5.0.7 STEP 4E — structural ticker spacing */
.market-ticker{
    display:grid!important;
    grid-template-columns:auto auto auto!important;
    align-items:baseline!important;
    justify-content:start!important;
    column-gap:10px!important;
}
.market-ticker .ticker-label{
    margin:0!important;
}
.market-ticker strong{
    display:contents!important;
}
.market-ticker .market-price,
.market-ticker .market-change{
    display:inline-block!important;
    margin:0!important;
    white-space:nowrap!important;
}
.market-ticker .market-change{
    margin-left:0!important;
}

/* V5.0.15 — FY P&L centered after Portfolio Analyzer header */
.portfolio-topline{
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;
    gap:12px!important;
}
.portfolio-title{justify-self:start!important;}
.portfolio-fy-pnl{
    justify-self:center!important;
    display:flex!important;
    align-items:baseline!important;
    gap:7px!important;
    white-space:nowrap!important;
    font-size:12px!important;
    font-weight:700!important;
}
.portfolio-fy-pnl strong{font-size:13px!important;font-weight:850!important;}
.portfolio-fy-sep{opacity:.55;}
.portfolio-head-actions{justify-self:end!important;}
@media(max-width:900px){
  .portfolio-topline{grid-template-columns:1fr!important;}
  .portfolio-title,.portfolio-fy-pnl,.portfolio-head-actions{justify-self:start!important;}
}

/* V5.0.20 — masked FY P&L + monthly cylindrical chart */
.portfolio-fy-wrap{
    justify-self:center!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
}
.portfolio-fy-toggle{
    appearance:none;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    padding:3px 5px!important;
    cursor:pointer!important;
    font:inherit!important;
}
.portfolio-fy-toggle:hover,.portfolio-fy-toggle:focus-visible{
    background:rgba(127,127,127,.10)!important;
    border-radius:6px!important;
}
.portfolio-fy-chart-btn{
    border:1px solid var(--dark-border,#30363d)!important;
    background:transparent!important;
    color:inherit!important;
    width:28px!important;
    height:26px!important;
    border-radius:6px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    font-size:17px!important;
    line-height:1!important;
}
.portfolio-fy-chart-btn:hover{background:rgba(127,127,127,.12)!important;}
.portfolio-fy-chart-modal-card{width:min(920px,94vw)!important;overflow:visible!important;}
.portfolio-fy-chart-status{text-align:center;padding:28px 8px;font-weight:700;opacity:.8;}
.portfolio-fy-cylinder-chart{padding:8px 4px 4px;}
.fy-chart-plot{
    position:relative;
    height:360px;
    display:flex;
    align-items:stretch;
    justify-content:space-around;
    gap:12px;
    padding:18px 18px 34px;
    border-left:1px solid var(--dark-border,#30363d);
    border-bottom:1px solid var(--dark-border,#30363d);
}
.fy-zero-line{
    position:absolute;
    left:0;right:0;
    top:var(--fy-zero);
    border-top:1px dashed rgba(127,127,127,.55);
    pointer-events:none;
}
.fy-zero-label{position:absolute;left:4px;top:calc(var(--fy-zero) - 18px);font-size:10px;opacity:.65;}
.fy-cylinder-col{position:relative;flex:1;min-width:54px;height:100%;display:flex;justify-content:center;}
.fy-cylinder{
    position:absolute;
    left:50%;
    width:min(54px,70%);
    transform:translateX(-50%);
    height:var(--fy-height);
    min-height:8px;
    background:linear-gradient(90deg,rgba(255,255,255,.05),currentColor 25%,currentColor 72%,rgba(255,255,255,.15));
    border-left:1px solid currentColor;
    border-right:1px solid currentColor;
    opacity:.88;
}
.fy-cylinder::before,.fy-cylinder::after{
    content:"";
    position:absolute;
    left:-1px;
    width:calc(100% + 2px);
    height:12px;
    border-radius:50%;
    background:currentColor;
    border:1px solid currentColor;
}
.fy-cylinder::before{top:-6px;filter:brightness(1.16);}
.fy-cylinder::after{bottom:-6px;filter:brightness(.72);}
.fy-cylinder-positive{bottom:calc(100% - var(--fy-zero));color:var(--dark-green,#3fb950);}
.fy-cylinder-negative{top:var(--fy-zero);color:var(--dark-red,#f85149);}
.fy-cylinder-value{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top:2px;
    white-space:nowrap;
    font-size:10px;
    font-weight:800;
}
.fy-cylinder-month{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:800;white-space:nowrap;}
@media(max-width:900px){
  .portfolio-fy-wrap{justify-self:start!important;}
  .fy-chart-plot{height:320px;padding-left:10px;padding-right:10px;gap:5px;}
  .fy-cylinder-col{min-width:38px;}
  .fy-cylinder{width:min(40px,74%);}
  .fy-cylinder-value{font-size:9px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);top:4px;}
}

/* V5.0.21 persistent rolling live-order monitor */
.wizard-order-status{white-space:pre-line!important}
.wizard-order-monitor{margin:8px auto 10px;padding:9px 11px;border:1px solid var(--dark-border,#303846);border-radius:9px;background:var(--dark-surface-2,#121820);max-width:100%;overflow:hidden}
.wizard-order-monitor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:800;margin-bottom:6px}
.wizard-order-monitor-head span{font-size:10px;font-weight:700;opacity:.8}
.wizard-order-monitor-track{height:6px;border-radius:999px;background:#1b2430;overflow:hidden;margin-bottom:7px}
.wizard-order-monitor-fill{height:100%;width:0;transition:width .45s ease;background:linear-gradient(90deg,var(--dark-blue,#4c8dff),var(--dark-green,#35d06f))}
.wizard-order-monitor-roll{position:relative;overflow:hidden;white-space:nowrap;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);padding:5px 0;margin:3px 0 7px}
.wizard-order-monitor-roll-text{display:inline-block;min-width:100%;padding-left:100%;font-size:10px;font-weight:750;white-space:nowrap}
.wizard-order-monitor-roll-text.wizard-roll-restart{animation:wizard-order-roll 22s linear infinite}
@keyframes wizard-order-roll{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.wizard-order-monitor-legs{display:grid;gap:4px}
.wizard-order-monitor-leg{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;padding:3px 5px;border-radius:5px;background:rgba(255,255,255,.025)}
.wizard-order-monitor-leg strong{white-space:nowrap}.wizard-order-monitor-leg span{text-align:right;overflow-wrap:anywhere}
.wizard-order-monitor.complete,.wizard-order-monitor-leg.complete{border-color:rgba(53,208,111,.4)}
.wizard-order-monitor.attention,.wizard-order-monitor-leg.attention{border-color:rgba(255,107,107,.45)}
.wizard-order-monitor.working,.wizard-order-monitor.submitted{border-color:rgba(76,141,255,.35)}
@media(max-width:720px){.wizard-order-monitor-leg{display:block}.wizard-order-monitor-leg span{display:block;text-align:left;margin-top:2px}.wizard-order-monitor-head{align-items:flex-start;flex-direction:column;gap:2px}}


/* V5.0.22 multi-basket rolling order history */
.wizard-order-stream{margin:8px 0 12px}
.wizard-order-stream-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:4px}
.wizard-order-stream-top span{font-size:10px;opacity:.72}
.wizard-order-global-roll{cursor:pointer;border:1px solid rgba(76,141,255,.25);border-radius:7px;padding:6px 0;background:rgba(76,141,255,.04)}
.wizard-order-baskets{display:grid;gap:8px;margin-top:8px}
.wizard-order-monitor{margin:0;padding:9px 11px}
.wizard-order-monitor-head>div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0}
.wizard-order-monitor-head>div>strong{overflow-wrap:anywhere}
.wizard-order-monitor-head>div>span{white-space:nowrap}
.wizard-order-dismiss{width:22px;height:22px;min-width:22px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:inherit;font-size:17px;line-height:20px;cursor:pointer;padding:0}
.wizard-order-dismiss:hover{background:rgba(255,107,107,.18)}
.wizard-order-history{max-height:74px;overflow:auto;padding:5px 7px;margin:4px 0 7px;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);font-size:10px;line-height:1.45}
.wizard-order-history span{white-space:normal;overflow-wrap:anywhere}.wizard-order-history b{padding:0 7px;opacity:.45}
.wizard-order-monitor-roll-text:not(.wizard-roll-restart){transform:translateX(0);padding-left:0}
@media(max-width:720px){.wizard-order-stream-top,.wizard-order-monitor-head>div{align-items:flex-start;flex-direction:column}.wizard-order-monitor-head>div>span{white-space:normal}}

/* V5.0.24: basket cards are live broker snapshots; chronological history stays only in global rolling strip */
.wizard-order-monitor-legs{margin-top:7px}
.wizard-order-monitor-head>div>span{font-variant-numeric:tabular-nums}

/* V5.0.24: basket cards are broker snapshots; history stays in global roll only */
.wizard-order-monitor-legs{margin-top:7px}
.wizard-order-monitor-head>div>span{font-variant-numeric:tabular-nums}

/* V5.0.25 — FY till-date label + visible % + Today P&L */
.portfolio-today-pnl{justify-self:center!important;display:flex!important;align-items:baseline!important;gap:6px!important;white-space:nowrap!important;font-size:12px!important;font-weight:700!important;}
.portfolio-today-pnl strong{font-size:13px!important;font-weight:850!important;}
.portfolio-topline{grid-template-columns:1fr auto auto 1fr!important;}
@media(max-width:1100px){.portfolio-topline{grid-template-columns:1fr auto!important;}.portfolio-fy-wrap,.portfolio-today-pnl{justify-self:end!important;}}
@media(max-width:900px){.portfolio-topline{grid-template-columns:1fr!important;}.portfolio-fy-wrap,.portfolio-today-pnl{justify-self:start!important;}}

\n/* ======================================================\n   MARKET-SENSITIVE NEWS PROTOTYPE — independent of cockpit\n   ====================================================== */\n.market-news-shell{margin:8px 0 10px;border:1px solid rgba(148,163,184,.22);border-radius:10px;background:rgba(9,15,26,.84);overflow:hidden}\n.market-news-strip{min-height:38px;display:flex;align-items:center;gap:10px;padding:5px 10px;white-space:nowrap}\n.market-news-title{font-size:11px;font-weight:800;letter-spacing:.08em;color:#e5e7eb}.market-news-count,.market-news-updated{font-size:10px;color:#94a3b8}.market-news-bias{font-size:10px;font-weight:800;padding:2px 6px;border-radius:999px;border:1px solid rgba(148,163,184,.3)}\n.market-news-bias.bullish,.news-bias.bullish{color:#86efac}.market-news-bias.bearish,.news-bias.bearish{color:#fca5a5}.market-news-bias.neutral,.news-bias.neutral{color:#cbd5e1}\n.market-news-marquee-viewport{flex:1;overflow:hidden;min-width:120px}.market-news-marquee{display:inline-block;padding-left:100%;animation:marketNewsScroll 44s linear infinite;font-size:11px;color:#dbeafe}.market-news-marquee-viewport:hover .market-news-marquee{animation-play-state:paused}@keyframes marketNewsScroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}\n.news-roll-item.critical{color:#fecaca;font-weight:800}.news-roll-item.high{color:#fde68a}.news-roll-sep{color:#64748b}.market-news-toggle{border:1px solid rgba(96,165,250,.32);background:rgba(30,64,175,.15);color:#bfdbfe;border-radius:7px;padding:4px 8px;font-size:10px;cursor:pointer}\n.market-news-panel{border-top:1px solid rgba(148,163,184,.18);padding:10px}.market-news-panel-note{font-size:10px;color:#94a3b8;margin-bottom:8px}.market-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.market-news-card{border:1px solid rgba(148,163,184,.18);border-left:3px solid #64748b;border-radius:8px;padding:8px;background:rgba(15,23,42,.62)}.market-news-card.severity-critical{border-left-color:#ef4444}.market-news-card.severity-high{border-left-color:#f59e0b}\n.market-news-card-top{display:flex;gap:7px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.news-severity{font-weight:900}.news-age{margin-left:auto;color:#94a3b8}.market-news-headline{display:block;color:#e5e7eb;text-decoration:none;font-weight:700;font-size:12px;line-height:1.35;margin:5px 0}.market-news-headline:hover{color:#93c5fd}.market-news-meta{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#94a3b8}.market-news-empty{color:#94a3b8;font-size:11px;padding:8px}\n@media(max-width:900px){.market-news-list{grid-template-columns:1fr}.market-news-count,.market-news-updated{display:none}}\n
/* ======================================================
   V5.0.28 — Market news ticker wrap + section collapse
   ====================================================== */
.market-news-strip{display:flex;align-items:center;gap:9px;padding:5px 10px;white-space:nowrap;min-width:0}
.market-news-collapse{flex:0 0 auto;width:24px;height:24px;border:1px solid rgba(148,163,184,.24);border-radius:6px;background:rgba(15,23,42,.7);color:#cbd5e1;cursor:pointer;font-size:12px;line-height:1;padding:0}
.market-news-collapse:hover{color:#fff;border-color:rgba(96,165,250,.55)}
.market-news-body{border-top:1px solid rgba(148,163,184,.12)}
.market-news-marquee-viewport{display:block;width:100%;overflow:hidden;white-space:nowrap;min-width:0;padding:6px 0}
.market-news-marquee{display:inline-flex;align-items:center;gap:0;width:max-content;max-width:none;white-space:nowrap;flex-wrap:nowrap;padding-left:100%;animation:marketNewsScrollV528 52s linear infinite;font-size:11px;line-height:1.35;color:#dbeafe;will-change:transform}
.market-news-marquee>*{flex:0 0 auto;white-space:nowrap}
.market-news-marquee-viewport:hover .market-news-marquee{animation-play-state:paused}
@keyframes marketNewsScrollV528{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.market-news-shell.collapsed .market-news-body{display:none}
.market-news-shell.collapsed .market-news-toggle{display:none}
.market-news-shell.collapsed{margin-bottom:6px}
@media(max-width:900px){.market-news-strip{gap:6px}.market-news-collapse{width:22px;height:22px}}

/* v5.0.30 — Portfolio Analyzer risk warnings */
@keyframes portfolioRiskFlicker{
  0%,100%{opacity:1;filter:none;text-shadow:0 0 0 rgba(239,68,68,0)}
  45%{opacity:.38;filter:saturate(1.4);text-shadow:0 0 10px rgba(239,68,68,.9)}
  55%{opacity:1;color:#fecaca;text-shadow:0 0 14px rgba(239,68,68,1)}
}
.portfolio-risk-flicker{
  color:#f87171!important;
  font-weight:900!important;
  animation:portfolioRiskFlicker 1.15s ease-in-out infinite;
}
.portfolio-today-loss{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px}
.portfolio-today-loss span{color:#94a3b8}
.portfolio-today-loss strong{font-size:12px}
.portfolio-today-loss.portfolio-loss-alert{padding:3px 7px;border:1px solid rgba(239,68,68,.45);border-radius:7px;background:rgba(127,29,29,.16)}
@media (prefers-reduced-motion: reduce){.portfolio-risk-flicker{animation:none;text-decoration:underline;text-decoration-style:wavy}}

/* v5.0.32 market event intelligence */
.market-news-intel-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 7px}
.market-news-intel-chip{font-size:9px;color:#cbd5e1;border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.6);border-radius:999px;padding:3px 7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-news-bias-explanation{font-size:10px;color:#cbd5e1;margin:0 0 8px;padding:6px 8px;border-left:2px solid rgba(96,165,250,.5);background:rgba(30,41,59,.35);border-radius:4px}
.market-news-badges{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0}
.news-lifecycle,.news-portfolio-badge,.news-official-badge,.news-confidence{font-size:8px;font-weight:800;letter-spacing:.04em;border-radius:999px;padding:2px 5px;border:1px solid rgba(148,163,184,.25)}
.news-lifecycle.lifecycle-new{color:#93c5fd;border-color:rgba(59,130,246,.45)}
.news-lifecycle.lifecycle-updated{color:#fbbf24;border-color:rgba(245,158,11,.45)}
.news-lifecycle.lifecycle-developing{color:#fca5a5;border-color:rgba(239,68,68,.45)}
.news-lifecycle.lifecycle-stable{color:#94a3b8}
.news-portfolio-badge{color:#fef08a;border-color:rgba(250,204,21,.45);background:rgba(113,63,18,.18)}
.news-official-badge{color:#86efac;border-color:rgba(34,197,94,.45);background:rgba(20,83,45,.18)}
.news-confidence.confidence-high{color:#86efac}.news-confidence.confidence-medium{color:#fde68a}.news-confidence.confidence-low{color:#94a3b8}

/* V5.0.33 Tasks 1-3: readable ticker + icon-only risk animation */
.header-market-band{transform:none!important;width:100%!important}
.market-tickers{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px 22px!important;width:100%!important;overflow:visible!important}
.market-ticker{display:flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:flex-start!important;gap:8px!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important}
.market-ticker .ticker-label{flex:0 0 auto!important;margin:0!important;font-size:9px!important}
.market-ticker strong{display:inline-flex!important;flex:0 0 auto!important;align-items:baseline!important;gap:4px!important;white-space:nowrap!important;font-size:10px!important}
.market-ticker .market-price,.market-ticker .market-change{display:inline!important;white-space:nowrap!important;margin:0!important}
.market-ticker.metric-vix-center{grid-column:auto!important;grid-row:auto!important}
@media(max-width:1050px){.market-tickers{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.market-tickers{grid-template-columns:1fr!important}}
@keyframes portfolioThunder{0%,100%{opacity:1;transform:scale(1)}45%{opacity:.15;transform:scale(.82)}60%{opacity:1;transform:scale(1.18)}}
.portfolio-alert-value{color:#ef4444!important;font-weight:900!important}
.portfolio-thunder{display:inline-block;color:#ef4444!important;animation:portfolioThunder .8s ease-in-out infinite;vertical-align:baseline}
.portfolio-today-loss.portfolio-loss-alert{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.portfolio-today-loss.portfolio-loss-alert strong{color:#ef4444!important}
@media(prefers-reduced-motion:reduce){.portfolio-thunder{animation:none}}
.market-news-card-top,.market-news-badges{column-gap:7px!important;row-gap:5px!important}
.news-lifecycle,.news-portfolio-badge,.news-official-badge,.news-confidence{display:inline-flex!important;align-items:center!important;margin:0 2px 0 0!important}

/* V5.0.34 — compact 3-column ticker, OI Analyzer and warning-value visibility */
.market-tickers{grid-template-columns:repeat(3,minmax(260px,1fr))!important;gap:8px 24px!important}
.market-ticker{gap:6px!important;overflow:visible!important}
.market-ticker .ticker-label{white-space:nowrap!important}
.market-ticker strong{white-space:nowrap!important}
.portfolio-table td.portfolio-alert-value,.portfolio-table .portfolio-alert-value{color:#ef4444!important;font-weight:900!important}
.portfolio-today-loss.portfolio-loss-alert strong{color:#ef4444!important;font-weight:900!important}
.oi-table tr.oi-atm td{background:rgba(245,158,11,.16)!important;border-top:1px solid rgba(245,158,11,.55)!important;border-bottom:1px solid rgba(245,158,11,.55)!important}
.oi-table tr.oi-atm td:first-child strong{color:#fbbf24!important}
@media(max-width:1050px){.market-tickers{grid-template-columns:repeat(2,minmax(250px,1fr))!important}}
@media(max-width:650px){.market-tickers{grid-template-columns:1fr!important}}


/* V5.0.36 — single-line Portfolio Analyzer header + compact cockpit */
.portfolio-topline {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  white-space:nowrap !important;
  overflow-x:auto !important;
  padding-top:6px !important;
  padding-bottom:6px !important;
}
.portfolio-topline > * { flex:0 0 auto !important; min-width:0 !important; }
.portfolio-title,.portfolio-fy-wrap,.portfolio-today-pnl,.portfolio-today-loss,.portfolio-head-actions {
  justify-self:auto !important; margin:0 !important;
}
.portfolio-fy-wrap,.portfolio-head-actions { display:inline-flex !important; align-items:center !important; gap:5px !important; }
.portfolio-fy-pnl { display:inline-flex !important; align-items:baseline !important; gap:4px !important; white-space:nowrap !important; }
.portfolio-today-pnl,.portfolio-today-loss,.portfolio-updated { white-space:nowrap !important; }
@media(max-width:1100px){
  .portfolio-topline { display:flex !important; flex-wrap:nowrap !important; }
  .portfolio-fy-wrap,.portfolio-today-pnl { justify-self:auto !important; }
}
@media(max-width:900px){
  .portfolio-topline { display:flex !important; flex-wrap:nowrap !important; }
  .portfolio-fy-wrap,.portfolio-today-pnl { justify-self:auto !important; }
}
.decision-cockpit-top { padding-top:6px !important; padding-bottom:6px !important; min-height:0 !important; }
.decision-cockpit-title-row { margin-top:2px !important; }
.decision-heading-narrative-row,.decision-heading-narrative { margin:0 !important; padding:0 !important; }
.decision-reason { line-height:1.15 !important; margin:0 !important; }
.decision-historical-context { line-height:1.15 !important; margin:2px 0 0 !important; padding:0 !important; white-space:nowrap !important; }
#decision-cockpit-action { display:none !important; }
.decision-cockpit-decision-line { gap:8px !important; }
.decision-confluence-summary { gap:2px !important; padding-top:0 !important; padding-bottom:0 !important; }
.decision-confluence-label { line-height:1.05 !important; margin:0 !important; }
.decision-confluence-bar { margin-top:2px !important; }

/* V5.0.37 — news summary compaction */
.market-news-strip-changes{
  margin-left:auto!important;
  white-space:nowrap!important;
  text-align:right!important;
  font-size:12px!important;
  opacity:.86;
}
.market-news-toggle{flex:0 0 auto!important}

/* V5.0.37 — strict one-line Portfolio Analyzer summary */
.portfolio-topline{width:100%!important;box-sizing:border-box!important;flex-wrap:nowrap!important}
.portfolio-title{font-size:15px!important}
.portfolio-fy-pnl,.portfolio-today-pnl,.portfolio-today-loss,.portfolio-head-actions{font-size:12px!important}
.portfolio-head-actions{margin-left:auto!important}


/* ============================================================
   V5.0.38 — SMART TOP MARKET AREA
   Six fixed core references + per-user scrolling Spot Watch
   ============================================================ */
.header-market-band{
  transform:none!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
}

.core-market-tickers{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,auto)!important;
  gap:7px 18px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

.core-market-tickers .market-ticker{
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

.core-market-tickers .market-ticker .ticker-label{
  flex:0 0 auto!important;
  margin:0!important;
  color:#94a3b8!important;
  font-size:8px!important;
  line-height:1.1!important;
  font-weight:850!important;
  white-space:nowrap!important;
}

.core-market-tickers .market-ticker strong{
  display:inline-flex!important;
  flex:0 1 auto!important;
  min-width:0!important;
  align-items:baseline!important;
  gap:4px!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  font-size:10px!important;
  line-height:1.1!important;
}

.core-market-tickers .market-ticker .market-price,
.core-market-tickers .market-ticker .market-change{
  display:inline!important;
  margin:0!important;
  white-space:nowrap!important;
}

.spot-watch-strip{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  padding-top:7px!important;
  border-top:1px solid rgba(148,163,184,.18)!important;
}

.spot-watch-label{
  color:#55ddeb!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}

.spot-watch-viewport{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
}

.spot-watch-track{
  display:inline-flex!important;
  align-items:baseline!important;
  width:max-content!important;
  min-width:max-content!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  padding-left:100%!important;
  white-space:nowrap!important;
  will-change:transform!important;
  animation:spotWatchScroll 50s linear infinite!important;
  font-size:9px!important;
  line-height:1.25!important;
}

.spot-watch-viewport:hover .spot-watch-track,
.spot-watch-viewport.paused .spot-watch-track{
  animation-play-state:paused!important;
}

.spot-watch-item{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:4px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  color:#cbd5e1!important;
}
.spot-watch-item b{
  color:#f8fafc!important;
  font-size:9px!important;
  font-weight:850!important;
}
.spot-watch-item.market-up{color:#3ddc84!important}
.spot-watch-item.market-down{color:#ff786e!important}
.spot-watch-item.market-flat{color:#cbd5e1!important}
.spot-watch-sep{
  flex:0 0 auto!important;
  padding:0 12px!important;
  color:#475569!important;
}

@keyframes spotWatchScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-100%)}
}

/* Keep brand, core market block, and account/status physically separate. */
.app-header{
  grid-template-columns:300px minmax(600px,1fr) 315px!important;
  column-gap:24px!important;
  min-height:132px!important;
}
.header-brand-band,
.header-status-band{
  min-width:0!important;
}
.header-market-band{
  min-width:0!important;
}

/* On narrower layouts, preserve the concept rather than squeezing columns. */
@media(max-width:1200px){
  .app-header{
    grid-template-columns:1fr!important;
    grid-template-areas:"brand" "metrics" "status"!important;
    row-gap:12px!important;
  }
  .header-brand-band,.header-status-band{justify-content:center!important}
  .header-left{justify-content:center!important;width:auto!important}
  .market-info{align-items:center!important}
  .market-info-row{justify-content:center!important}
  .core-market-tickers{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .core-market-tickers{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .core-market-tickers{grid-template-columns:1fr!important}
  .spot-watch-strip{grid-template-columns:1fr!important;gap:4px!important}
}
@media(prefers-reduced-motion:reduce){
  .spot-watch-track{animation:none!important;padding-left:0!important}
}


/* ============================================================
   V5.0.39 — CENTERED 2 × 3 CORE TICKER + READABLE SPOT WATCH
   ============================================================ */

/* Center the complete core market block inside the top section. */
.header-market-band{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}

/* 2 columns × 3 rows, compact fixed-width block centered. */
.core-market-tickers{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(250px, 280px))!important;
  grid-auto-rows:auto!important;
  gap:7px 34px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto!important;
  justify-content:center!important;
  align-items:start!important;
}

/* Each ticker cell has a label column and a right-aligned value stack. */
.core-market-tickers .market-ticker{
  display:grid!important;
  grid-template-columns:minmax(90px,auto) minmax(118px,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  row-gap:1px!important;
  align-items:baseline!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  white-space:nowrap!important;
}

/* Label remains on the left, occupying the first row only. */
.core-market-tickers .market-ticker .ticker-label{
  grid-column:1!important;
  grid-row:1!important;
  align-self:baseline!important;
  justify-self:start!important;
  margin:0!important;
  padding:0!important;
  font-size:9px!important;
  line-height:1.1!important;
  font-weight:850!important;
  white-space:nowrap!important;
}

/* The strong wrapper spans two rows but lays price and change vertically. */
.core-market-tickers .market-ticker strong{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  row-gap:1px!important;
  justify-items:end!important;
  align-items:baseline!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-variant-numeric:tabular-nums!important;
}

/* Price and change share the exact same right edge. */
.core-market-tickers .market-ticker .market-price{
  grid-row:1!important;
  justify-self:end!important;
  text-align:right!important;
  width:100%!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.05!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.core-market-tickers .market-ticker .market-change{
  grid-row:2!important;
  justify-self:end!important;
  text-align:right!important;
  width:100%!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.05!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* Spot Watch becomes full-width underneath, but text is easier to read. */
.spot-watch-strip{
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:12px!important;
  padding-top:8px!important;
}

.spot-watch-label{
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
}

.spot-watch-track{
  font-size:12px!important;
  line-height:1.3!important;
}

.spot-watch-item{
  gap:6px!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-variant-numeric:tabular-nums!important;
}

.spot-watch-item b{
  font-size:11px!important;
  font-weight:900!important;
}

.spot-watch-sep{
  padding:0 16px!important;
}

/* Preserve centered block sensibly on narrower screens. */
@media(max-width:760px){
  .core-market-tickers{
    grid-template-columns:minmax(250px, 300px)!important;
    width:max-content!important;
  }
}
@media(max-width:520px){
  .core-market-tickers{
    width:100%!important;
    grid-template-columns:1fr!important;
  }
  .core-market-tickers .market-ticker{
    grid-template-columns:minmax(85px,auto) minmax(110px,1fr)!important;
  }
  .spot-watch-strip{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   V2.0 Phase 1 CP2 — role/capability UX
   Backend authorization remains authoritative.
   ============================================================ */
.feature-locked-card{
  border-style:dashed!important;
  opacity:.92;
}
.feature-lock-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border:1px solid rgba(244,197,66,.45);
  border-radius:999px;
  color:#f4c542!important;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}
.feature-locked-note{
  color:#f4c542!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.3!important;
}
.wizard-live-order-bar .feature-locked-note{
  display:inline-flex;
  align-items:center;
  min-height:28px;
}


/* ============================================================
   V2.0 Phase 1 CP10 — role/access/session UX
   ============================================================ */
.market-info-user{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    flex-wrap:wrap!important;
}
.header-role-badge{
    display:inline-flex;
    align-items:center;
    padding:2px 7px;
    border-radius:999px;
    border:1px solid #cbd5e1;
    font-size:9px;
    line-height:1.15;
    font-weight:900;
    letter-spacing:.05em;
    white-space:nowrap;
}
.header-role-badge.role-basic{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.header-role-badge.role-pro{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.header-role-badge.role-advanced{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.header-role-badge.role-admin{background:#fff7ed;color:#b45309;border-color:#fed7aa}
.feature-locked-card .card-body{
    min-height:54px;
    display:flex;
    align-items:center;
}
.feature-locked-card .hint{
    margin:0;
}

.login-info{
    margin:10px 0;
    border:1px solid #2563eb;
    border-radius:8px;
    padding:10px 12px;
    color:#bfdbfe;
    background:#0c1d3a;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
}

/* RC4 unified access-level treatment */
.restricted-control,.restricted-link{
  opacity:.48!important;
  filter:grayscale(.7);
  cursor:not-allowed!important;
  pointer-events:none;
}
.restricted-control:disabled{
  background:#323842!important;
  color:#9aa7b5!important;
  border-color:#444c58!important;
}
.restricted-link{color:#8b96a5!important;text-decoration:none!important}
/* RC5 in-app secondary navigation */
.header-link-button{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.elevate-modal{position:fixed;inset:0;background:rgba(3,7,12,.72);z-index:99999;display:none;align-items:center;justify-content:center;padding:18px}
.elevate-modal.open{display:flex}
.elevate-modal-panel{width:min(1220px,96vw);height:min(900px,94vh);background:#0a0f15;border:1px solid #2a3441;border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden}
.elevate-modal-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#111720;border-bottom:1px solid #202833;color:#f3f6fb}
.elevate-modal-close{border:0;background:transparent;color:#f3f6fb;font-size:27px;line-height:1;cursor:pointer;padding:2px 8px}
.elevate-modal-frame{width:100%;height:100%;border:0;background:#07090d}
/* RC5 in-app secondary navigation */
.header-link-button{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.elevate-modal{position:fixed;inset:0;background:rgba(3,7,12,.72);z-index:99999;display:none;align-items:center;justify-content:center;padding:18px}
.elevate-modal.open{display:flex}
.elevate-modal-panel{width:min(1220px,96vw);height:min(900px,94vh);background:#0a0f15;border:1px solid #2a3441;border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden}
.elevate-modal-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#111720;border-bottom:1px solid #202833;color:#f3f6fb}
.elevate-modal-close{border:0;background:transparent;color:#f3f6fb;font-size:27px;line-height:1;cursor:pointer;padding:2px 8px}
.elevate-modal-frame{width:100%;height:100%;border:0;background:#07090d}
/* Appetite integration compact market/portfolio layout */
.header-market-band{display:block}
.core-market-tickers{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.market-ticker{display:inline-flex;gap:5px;align-items:baseline;min-width:0;width:auto}
.spot-watch-full{width:100%;box-sizing:border-box;margin-top:6px;display:flex;align-items:center;gap:8px}
.spot-watch-scope{font-size:10px;font-weight:800;letter-spacing:.08em;padding:2px 6px;border:1px solid currentColor;border-radius:10px;opacity:.8}
.spot-watch-item{white-space:nowrap;margin:0 2px}.spot-watch-sep{margin:0 5px;opacity:.35}
.portfolio-pnl-compact{gap:4px}.portfolio-summary-line{gap:5px 7px}.portfolio-summary-metric{gap:3px}
#open-leg-selector-body{max-height:55vh;overflow:auto}.wizard-modal-card{max-width:min(980px,94vw)}
.portfolio-target-hit{font-weight:800;text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   Appetite Integration CP1 — UI/layout/access correction pass
   ============================================================ */

/* Header is two structural rows: brand/core/status, then full-width Spot Watch. */
.app-header{
  display:grid!important;
  grid-template-columns:300px minmax(520px,1fr) 390px!important;
  grid-template-areas:
    "brand metrics status"
    "spot  spot    spot"!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:22px!important;
  row-gap:8px!important;
  min-height:0!important;
}
.header-brand-band{grid-area:brand!important}
.header-market-band{grid-area:metrics!important;min-width:0!important}
.header-status-band{grid-area:status!important}
.spot-watch-strip{
  grid-area:spot!important;
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:7px 0 0!important;
}

/* Keep labels left and quote data right, but remove the oversized dead middle gap. */
.header-market-band{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
}
.core-market-tickers{
  display:grid!important;
  grid-template-columns:repeat(2,max-content)!important;
  grid-auto-rows:auto!important;
  gap:6px 18px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto!important;
  justify-content:center!important;
}
.core-market-tickers .market-ticker{
  display:grid!important;
  grid-template-columns:max-content 128px!important;
  grid-template-rows:auto auto!important;
  column-gap:5px!important;
  row-gap:1px!important;
  width:max-content!important;
  min-width:0!important;
  align-items:baseline!important;
  overflow:visible!important;
}
.core-market-tickers .market-ticker .ticker-label{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
  text-align:left!important;
  margin:0!important;
  white-space:nowrap!important;
}
.core-market-tickers .market-ticker strong{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  width:128px!important;
  min-width:128px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  justify-items:end!important;
  row-gap:1px!important;
  margin:0!important;
}
.core-market-tickers .market-ticker .market-price,
.core-market-tickers .market-ticker .market-change{
  width:100%!important;
  justify-self:end!important;
  text-align:right!important;
  margin:0!important;
  white-space:nowrap!important;
}

/* Portfolio P&L is one compact center-right cluster. */
.portfolio-topline{
  display:grid!important;
  grid-template-columns:minmax(max-content,1fr) auto auto!important;
  align-items:center!important;
  gap:14px!important;
  overflow:visible!important;
  white-space:normal!important;
}
.portfolio-title{grid-column:1!important;justify-self:start!important}
.portfolio-pnl-cluster{
  grid-column:2!important;
  justify-self:end!important;
  display:grid!important;
  grid-template-columns:auto!important;
  gap:2px!important;
  min-width:max-content!important;
  text-align:right!important;
  margin-left:auto!important;
}
.portfolio-pnl-cluster .portfolio-fy-wrap,
.portfolio-pnl-cluster .portfolio-today-pnl{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.portfolio-head-actions{
  grid-column:3!important;
  justify-self:end!important;
  margin-left:0!important;
}
@media(max-width:1000px){
  .app-header{grid-template-columns:1fr!important;grid-template-areas:"brand" "metrics" "spot" "status"!important}
  .core-market-tickers{grid-template-columns:repeat(2,max-content)!important}
  .portfolio-topline{grid-template-columns:1fr auto!important}
  .portfolio-pnl-cluster{grid-column:2!important}
  .portfolio-head-actions{grid-column:1 / -1!important;justify-self:end!important}
}
@media(max-width:650px){
  .core-market-tickers{grid-template-columns:1fr!important;width:100%!important}
  .core-market-tickers .market-ticker{grid-template-columns:max-content minmax(110px,1fr)!important;width:100%!important}
  .core-market-tickers .market-ticker strong{width:100%!important;min-width:0!important}
  .portfolio-topline{grid-template-columns:1fr!important}
  .portfolio-pnl-cluster,.portfolio-head-actions{grid-column:1!important;justify-self:start!important;text-align:left!important}
  .portfolio-pnl-cluster .portfolio-fy-wrap,.portfolio-pnl-cluster .portfolio-today-pnl{justify-content:flex-start!important}
}

/* Shared compact popup visual standard. */
.wizard-modal{
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
}
.wizard-modal-card{
  width:min(760px,94vw)!important;
  max-width:94vw!important;
  max-height:82vh!important;
  margin:0 auto!important;
  padding:12px!important;
  border-radius:10px!important;
  overflow:auto!important;
}
.wizard-modal-head{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 8px!important;
  padding:0 0 8px!important;
  border-bottom:1px solid rgba(148,163,184,.16)!important;
}
.wizard-modal-head::before,
.elevate-modal-head::before{
  content:"";
  display:block;
  width:26px;
  height:26px;
  background:url('/static/logo.png') center/contain no-repeat;
}
.wizard-modal-head > div,.wizard-modal-head > strong{grid-column:2!important;min-width:0!important}
.wizard-modal-close{grid-column:3!important;justify-self:end!important;font-size:23px!important;padding:0 4px!important}
.wizard-modal-head strong{font-size:14px!important;line-height:1.1!important}
.wizard-modal-head small{font-size:10px!important;line-height:1.2!important;margin-top:2px!important}
.wizard-modal-actions{gap:6px!important;margin-top:9px!important;padding-top:8px!important;border-top:1px solid rgba(148,163,184,.13)!important}
#open-leg-selector-body{max-height:48vh!important;overflow:auto!important}
.open-leg-table{font-size:11px!important}
.open-leg-table th,.open-leg-table td{padding:5px 7px!important}
.open-leg-incompatible{opacity:.34!important}
.open-leg-selector-status{color:#55ddeb!important;font-weight:750!important}
#open-leg-apply:disabled{opacity:.42!important;cursor:not-allowed!important}

/* Compact iframe-based secondary views and branded popup header. */
.elevate-modal{padding:16px!important}
.elevate-modal-panel{
  width:min(1050px,94vw)!important;
  height:min(760px,88vh)!important;
  border-radius:10px!important;
}
.elevate-modal-head{
  height:38px!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:0 10px!important;
}
.elevate-modal-head strong,.elevate-modal-title{grid-column:2!important;justify-self:start!important;font-size:13px!important}
.elevate-modal-close{grid-column:3!important;justify-self:end!important;font-size:23px!important;padding:0 4px!important}

/* Appetite CP2 reconciliation fields */
.reconcile-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) 180px;gap:12px;align-items:center;margin-top:12px}
.reconcile-edit-row label{margin:0;font-weight:700}
.reconcile-money-input{width:100%;box-sizing:border-box;text-align:right;font-variant-numeric:tabular-nums;font-weight:800}
@media(max-width:720px){.reconcile-edit-row{grid-template-columns:1fr}.reconcile-money-input{max-width:220px}}

/* Fresh 2026-08-20 correction build */
.portfolio-topline{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr) max-content!important;
  align-items:center!important;
  column-gap:18px!important;
}
.portfolio-title{grid-column:1!important;white-space:nowrap!important}
.portfolio-pnl-cluster{
  grid-column:2!important;
  justify-self:end!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.portfolio-pnl-cluster .portfolio-fy-wrap,
.portfolio-pnl-cluster .portfolio-today-pnl{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
}
.portfolio-head-actions{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}
.modal-brand-title{display:flex!important;align-items:center!important;gap:9px!important;min-width:0}
.modal-brand-title img{width:28px!important;height:28px!important;object-fit:contain!important;flex:0 0 auto}
.modal-brand-title>div{display:flex!important;flex-direction:column!important;gap:1px!important}
.wizard-modal-card{
  width:min(680px,94vw)!important;
  max-height:88vh!important;
  overflow:auto!important;
  padding:14px 16px!important;
}
.portfolio-fy-chart-modal-card{width:min(780px,94vw)!important}
.wizard-modal-head{margin-bottom:10px!important;padding-bottom:8px!important}
.wizard-modal-actions{margin-top:12px!important;padding-top:10px!important}
.reconcile-status-line{font-size:12px!important;line-height:1.35!important;margin-top:4px!important}
.reconcile-unknown{color:var(--warning,#d29922)!important;font-weight:700!important}
.reconcile-target-hint{display:block!important;margin-top:4px!important;font-size:11px!important;opacity:.75!important}
.reconcile-edit-row{margin-top:10px!important}
@media(max-width:1150px){
  .portfolio-topline{grid-template-columns:max-content 1fr!important;row-gap:8px!important}
  .portfolio-pnl-cluster{grid-column:2!important;justify-self:end!important}
  .portfolio-head-actions{grid-column:1 / -1!important;justify-self:end!important}
}
@media(max-width:760px){
  .portfolio-topline{grid-template-columns:1fr!important}
  .portfolio-title,.portfolio-pnl-cluster,.portfolio-head-actions{grid-column:1!important;justify-self:start!important}
  .portfolio-pnl-cluster{flex-wrap:wrap!important;justify-content:flex-start!important;gap:8px 12px!important}
}

.realized-cache-modal-card{width:min(720px,94vw)!important}
.realized-cache-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.realized-cache-status-grid>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--dark-border,#30363d);border-radius:7px}
.realized-cache-status-grid span{font-size:12px;opacity:.78}
.realized-cache-status-grid strong{text-align:right;font-variant-numeric:tabular-nums}
.realized-cache-error{margin-top:12px;padding:10px;border:1px solid rgba(255,90,90,.35);border-radius:7px}
.realized-cache-error strong{display:block;margin-bottom:6px}
.realized-cache-error pre{margin:0;white-space:pre-wrap;word-break:break-word;font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}
.realized-cache-ok{margin:10px 0 0}
@media(max-width:650px){.realized-cache-status-grid{grid-template-columns:1fr}}

.realized-cache-fields{margin-top:10px;padding:9px 10px;border:1px solid var(--dark-border,#30363d);border-radius:7px}
.realized-cache-fields strong{display:block;margin-bottom:5px}
.realized-cache-fields code{display:block;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.35}

.cache-state-banner{font-weight:900;letter-spacing:.04em;text-align:center;padding:10px 12px;border-radius:8px;margin-bottom:10px}
.cache-state-banner.complete{border:2px solid rgba(50,205,120,.65)}
.cache-state-banner.running{border:2px solid rgba(240,180,40,.65)}
.cache-state-banner.failed{border:2px solid rgba(255,80,80,.8)}
.cache-coverage-line{padding:9px 10px;border:1px solid var(--dark-border,#30363d);border-radius:7px;margin-bottom:10px;text-align:center}
.cache-section-title{margin:14px 0 7px}
.cache-unit-table{width:100%;border-collapse:collapse;font-size:12px}
.cache-unit-table th,.cache-unit-table td{padding:7px 8px;border-bottom:1px solid var(--dark-border,#30363d);vertical-align:top;text-align:left}
.cache-unit-table th{position:sticky;top:0;background:var(--panel-bg,#111827);z-index:1}
.cache-unit-badge{display:inline-block;white-space:nowrap;font-weight:900;font-size:10px;padding:3px 6px;border-radius:999px;border:1px solid currentColor}
.cache-unit-badge.ok{opacity:.95}.cache-unit-badge.bad{font-weight:1000}.cache-unit-badge.warn{opacity:.95}.cache-unit-badge.run{opacity:.95}.cache-unit-badge.pending{opacity:.65}
.cache-row-failed{outline:1px solid rgba(255,80,80,.45);outline-offset:-1px}
.cache-detail{max-width:330px;word-break:break-word}
.cache-daily-details{margin-top:12px}.cache-daily-details summary{cursor:pointer;font-weight:800;padding:7px 0}
.cache-failure-callout{margin-top:10px;padding:10px 12px;border:2px solid rgba(255,80,80,.75);border-radius:8px}
.cache-failure-callout strong{display:block;margin-bottom:4px}
.cache-reject-reasons{margin-top:10px;padding:9px 10px;border:1px solid var(--dark-border,#30363d);border-radius:7px}
.cache-reject-reasons strong{display:block;margin-bottom:4px}

.cache-policy-line{padding:8px 10px;margin:-2px 0 10px;border-left:4px solid currentColor;font-size:12px;line-height:1.4}

.cache-schema-line{padding:9px 10px;margin-bottom:8px;border:2px solid var(--dark-border,#30363d);border-radius:7px;text-align:center;font-size:12px}
.cache-status-legend{margin:0 0 8px;padding:7px 9px;border:1px solid var(--dark-border,#30363d);border-radius:6px;font-size:11px;line-height:1.45}


/* V2 post-cache: Month/Year expiry performance */
.expiry-performance-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:4px 0 12px}
.expiry-performance-controls>div{display:flex;flex-direction:column;gap:4px;min-width:130px}
.expiry-performance-controls label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.72}
.expiry-performance-controls select{min-height:34px;border:1px solid var(--border);border-radius:8px;padding:5px 9px;background:var(--card-bg);color:inherit}
.expiry-perf-mode{margin-left:auto;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em}
.expiry-perf-mode.progress{background:rgba(25,135,84,.10);color:var(--dark-green)}
.expiry-perf-mode.closed{background:rgba(13,110,253,.10);color:var(--primary)}
.expiry-performance-heading{margin:4px 0 10px}
.expiry-performance-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;margin:0 0 12px}
.expiry-performance-summary>div{border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:var(--card-bg)}
.expiry-performance-summary span{display:block;font-size:11px;opacity:.7;margin-bottom:3px}
.expiry-performance-summary strong{font-size:14px}
.expiry-performance-table-wrap{overflow:auto;max-height:52vh}
.expiry-performance-table th{position:sticky;top:0;z-index:1;background:var(--card-bg)}
.expiry-perf-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em}
.expiry-perf-status.open{background:rgba(25,135,84,.12);color:var(--dark-green)}
.expiry-perf-status.future{background:rgba(255,193,7,.16);color:#8a6500}
.expiry-perf-status.closed{background:rgba(108,117,125,.14);color:inherit}
@media(max-width:900px){.expiry-performance-summary{grid-template-columns:repeat(2,minmax(130px,1fr))}.expiry-perf-mode{margin-left:0}}


/* ============================================================
   Final 2026-08-20 modal standard + reconciliation clarity
   ============================================================ */
/* Exactly one real logo in every modal header; disable legacy pseudo-logo. */
.wizard-modal-head::before,.elevate-modal-head::before{content:none!important;display:none!important}
.wizard-modal-card,.elevate-modal-panel{
  background:#3f4650!important;color:#fff!important;
  border:2px solid #7d8794!important;
  box-shadow:0 20px 60px rgba(0,0,0,.52)!important;
}
.wizard-modal-head,.elevate-modal-head{
  background:#343a43!important;color:#fff!important;
  border-bottom:1px solid #7d8794!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
.wizard-modal-head>.modal-brand-title,.elevate-modal-head>.modal-brand-title{grid-column:1!important;justify-self:start!important}
.wizard-modal-head .modal-brand-title img,.elevate-modal-head .modal-brand-title img{width:28px!important;height:28px!important;object-fit:contain!important;flex:0 0 auto!important}
.wizard-modal-close,.elevate-modal-close{grid-column:2!important;color:#fff!important;border:1px solid transparent!important;border-radius:6px!important}
.wizard-modal-close:hover,.elevate-modal-close:hover{border-color:#aeb7c2!important;background:#505966!important}
.wizard-modal-actions{border-top:1px solid #707986!important}
.wizard-modal-card input,.wizard-modal-card select,.wizard-modal-card textarea{background:#2f353d!important;color:#fff!important;border:1px solid #818b98!important}
.wizard-modal-card .hint,.wizard-modal-card small{color:#e6ebf0!important}
.reconcile-gap{border:1px solid #d5a64a;background:#4a4437;color:#fff;padding:9px 11px;border-radius:7px}
.reconcile-change-target{margin-top:10px;padding:10px;border:1px solid #7d8794;border-radius:8px;background:#383f48}
.modal-processing{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid #7d8794;border-radius:9px;background:#383f48;color:#fff}
.modal-processing strong{font-size:15px}.modal-processing span{font-weight:700}.modal-processing small{opacity:.9}

/* Task 6 · Portfolio Analyzer book drill-down */
.portfolio-book-clickable{cursor:pointer}
.portfolio-book-clickable:hover td{background:rgba(120,169,255,.08)}
.portfolio-book-legs-table{max-height:60vh;overflow:auto;border:1px solid #39424e;border-radius:8px}
.portfolio-book-legs-summary{margin:0 0 10px;color:#dbe7f5}

/* Task 3 · immediate global acknowledgement for user-started network work */
.elevate-global-working{position:fixed;right:18px;bottom:18px;z-index:12000;display:flex;align-items:center;gap:8px;background:#2d333b;color:#fff;border:1px solid #59636f;border-radius:9px;padding:9px 12px;box-shadow:0 8px 28px rgba(0,0,0,.35);opacity:0;transform:translateY(8px);pointer-events:none;transition:.15s ease}
.elevate-global-working.show{opacity:1;transform:translateY(0)}
.elevate-working-dot{width:9px;height:9px;border-radius:50%;background:#8fb7ff;animation:elevateWorkingPulse .8s infinite alternate}
@keyframes elevateWorkingPulse{from{opacity:.35;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}

/* Ten-task correction pack */
.portfolio-margin-warning{animation:portfolioWarningPulse 1s steps(2,end) infinite}.portfolio-cashin{cursor:help;font-size:16px}.portfolio-adjust-warning{cursor:help;color:#ffb347;font-size:16px}.strangle-capability-subtitle{font-weight:500;color:#9aa7b5;font-size:11px}.inline-info-btn{border:0;background:transparent;color:#9aa7b5;padding:0 2px;cursor:pointer}.field-hint{display:block;color:#9aa7b5;margin-top:4px;font-size:11px}.strangle-delta-guide{margin:10px 0;padding:10px 12px;border:1px solid #59636f;border-radius:8px;background:#2d333b;color:#fff}.strangle-delta-guide strong,.strangle-delta-guide span{display:block}.strangle-delta-guide span{margin-top:4px;color:#e5e7eb;font-size:12px}

@keyframes portfolioWarningPulse{0%,45%{opacity:1}50%,100%{opacity:.28}}

/* ============================================================
   MOBILE PHONE LAYOUT — 2026-08-22
   Phone-only final override. Desktop/tablet remain untouched.
   This block intentionally sits LAST to neutralize older,
   overlapping <=520/650/720/760 responsive rules on phones.
   ============================================================ */
@media (max-width:600px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body{padding-bottom:24px!important;font-size:14px!important}
  .container{width:100%!important;max-width:none!important;margin:0!important;padding:0 8px!important}

  /* ---------- header: compact, readable phone dashboard ---------- */
  .app-header{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"brand" "metrics" "spot" "status"!important;
    gap:10px!important;
    min-height:0!important;
    margin:8px 0 10px!important;
    padding:12px!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .header-brand-band{grid-area:brand!important;justify-content:flex-start!important;width:100%!important}
  .header-left{width:100%!important;justify-content:flex-start!important;gap:10px!important}
  .app-logo{width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:8px!important}
  .header-title{min-width:0!important;text-align:left!important}
  .header-title h1{font-size:18px!important;line-height:1.1!important;white-space:normal!important;margin:0 0 3px!important}
  .header-title .header-line{white-space:normal!important;line-height:1.25!important}
  .header-title .header-line-2{font-size:9px!important}
  .header-title .header-line-3{font-size:8px!important;opacity:.92!important}

  .header-market-band{grid-area:metrics!important;width:100%!important;align-items:stretch!important;gap:6px!important}
  .core-market-tickers{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .core-market-tickers .market-ticker{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;
    width:100%!important;
    min-width:0!important;
    padding:7px 8px!important;
    border:1px solid #253041!important;
    border-radius:8px!important;
    background:#0a0d12!important;
    align-items:center!important;
  }
  .core-market-tickers .market-ticker .ticker-label{
    width:100%!important;font-size:8px!important;line-height:1.1!important;text-align:left!important;white-space:normal!important
  }
  .core-market-tickers .market-ticker strong{
    width:100%!important;min-width:0!important;font-size:13px!important;line-height:1.15!important;text-align:left!important;white-space:nowrap!important
  }

  .spot-watch-strip{
    grid-area:spot!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    padding:6px 0!important;
    margin:0!important;
  }
  .spot-watch-label{font-size:8px!important;white-space:nowrap!important}
  .spot-watch-viewport{min-width:0!important;width:100%!important;overflow:hidden!important}
  .spot-watch-track{font-size:10px!important;white-space:nowrap!important}
  .spot-watch-sep{padding:0 8px!important}

  .header-status-band{grid-area:status!important;width:100%!important;justify-content:flex-start!important}
  .market-info{width:100%!important;align-items:flex-start!important;gap:6px!important}
  .market-info-row{
    width:100%!important;justify-content:flex-start!important;text-align:left!important;
    flex-wrap:wrap!important;white-space:normal!important;gap:5px 7px!important
  }
  .market-info-primary,.market-clock,.logged-in-user{font-size:10px!important}
  .market-badge{font-size:8px!important;padding:3px 7px!important}
  .market-info .kite-status-button,.market-info .telegram-header-status,.market-info .header-action-link{
    font-size:10px!important;line-height:1.2!important;white-space:normal!important;padding:5px 7px!important
  }
  .market-info-account .header-separator{display:none!important}
  .header-role-badge{font-size:9px!important}
  .header-logout-button{font-size:10px!important;padding:7px 14px!important;min-height:34px!important}

  /* ---------- news: one compact row + readable cards ---------- */
  .market-news-shell{margin:7px 0 9px!important;border-radius:9px!important}
  .market-news-strip{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    gap:6px!important;align-items:center!important;padding:7px 8px!important;white-space:normal!important
  }
  .market-news-collapse{grid-column:1!important;grid-row:1!important}
  .market-news-title{grid-column:2!important;grid-row:1!important;font-size:10px!important;min-width:0!important}
  .market-news-bias{grid-column:3!important;grid-row:1!important;font-size:9px!important;white-space:nowrap!important}
  .market-news-count,.market-news-updated,.market-news-strip-changes{display:none!important}
  .market-news-toggle{grid-column:2 / 4!important;grid-row:2!important;justify-self:end!important;font-size:9px!important;padding:4px 7px!important}
  .market-news-body{min-width:0!important}
  .market-news-marquee-viewport{width:100%!important;min-width:0!important;padding:0 8px 7px!important}
  .market-news-marquee{font-size:10px!important}
  .market-news-panel{padding:8px!important}
  .market-news-list{grid-template-columns:1fr!important;gap:7px!important}
  .market-news-card{padding:8px!important}
  .market-news-headline{font-size:12px!important;line-height:1.4!important}

  /* ---------- common sections/cards ---------- */
  .card,.analysis-section,.decision-cockpit{width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
  .card{border-radius:10px!important;margin-bottom:10px!important}
  .card-header{padding:10px!important;gap:8px!important;flex-wrap:wrap!important}
  .card-body{padding:10px!important;min-width:0!important}
  .collapsible-header{min-height:0!important}
  .btn{min-height:36px!important;padding:7px 10px!important;font-size:11px!important}
  select,input,textarea{max-width:100%!important;font-size:16px!important}
  .field label{font-size:10px!important}

  /* ---------- Decision Cockpit: narrative first, signal second ---------- */
  .decision-cockpit-section-header{min-height:36px!important;padding:8px 10px!important}
  .decision-cockpit-section-title{font-size:12px!important}
  .decision-cockpit-content{padding:0!important;min-width:0!important}
  .decision-cockpit-top{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
    padding:10px!important;
  }
  .decision-cockpit-zone{width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
  .decision-cockpit-zone-left{order:1!important}
  .decision-cockpit-zone-center{order:2!important}
  .decision-cockpit-zone-right{order:3!important}
  .decision-cockpit-title-row{display:block!important;width:100%!important;margin:0!important}
  .decision-master-control-inline{display:block!important;width:100%!important;margin:0!important}
  #decision-instrument{width:100%!important;min-height:38px!important;font-size:14px!important;padding:6px 9px!important}
  .decision-heading-narrative-row,.decision-heading-narrative{display:block!important;width:100%!important;min-width:0!important}
  .decision-reason{font-size:13px!important;line-height:1.45!important;text-align:left!important;white-space:normal!important;overflow:visible!important}
  .decision-historical-context{font-size:11px!important;line-height:1.4!important;text-align:left!important;white-space:normal!important;margin-top:5px!important}
  .decision-cockpit-decision-wrap{width:100%!important;min-width:0!important;margin:0!important}
  .decision-cockpit-decision-line{
    display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;align-items:start!important
  }
  #decision-cockpit-badge{display:inline-flex!important;width:auto!important;font-size:14px!important;padding:6px 9px!important}
  .decision-cockpit-action{font-size:12px!important;line-height:1.35!important;white-space:normal!important;margin-top:4px!important}
  .decision-confluence-summary{width:100%!important;min-width:0!important;padding:8px!important}
  .decision-confluence-grid{grid-template-columns:1fr!important;gap:6px!important}
  .decision-confluence-item{min-width:0!important}
  .decision-confluence-breakdown{width:100%!important;min-width:0!important}
  .decision-fast-confirmation{width:100%!important;min-width:0!important}

  /* ---------- Portfolio: compact summary, table stays scrollable ---------- */
  .portfolio-analyzer-card{margin-bottom:10px!important}
  .portfolio-topline{
    display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:start!important;padding:10px!important
  }
  .portfolio-title{grid-column:1!important;font-size:14px!important;justify-self:start!important}
  .portfolio-pnl-cluster{
    grid-column:1!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;
    width:100%!important;justify-self:stretch!important
  }
  .portfolio-pnl-cluster .portfolio-fy-wrap,.portfolio-pnl-cluster .portfolio-today-pnl{
    width:100%!important;justify-content:flex-start!important;white-space:normal!important;font-size:11px!important
  }
  .portfolio-head-actions{grid-column:1!important;justify-self:stretch!important;width:100%!important;display:flex!important;justify-content:space-between!important;flex-wrap:wrap!important}
  .portfolio-updated{font-size:9px!important}
  .portfolio-summary-line{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;
    width:100%!important;padding:8px 10px!important;white-space:normal!important
  }
  .portfolio-summary-line>*{min-width:0!important;white-space:normal!important}
  .portfolio-view-all{width:100%!important;min-height:36px!important;margin-top:5px!important}
  .portfolio-details-body{padding:0 10px 10px!important}
  .portfolio-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .portfolio-table-wrap table{min-width:720px!important}

  /* ---------- Strategy Wizard: no desktop row squeezing ---------- */
  .wizard-header{display:flex!important;align-items:flex-start!important;gap:6px!important;padding:10px!important}
  .wizard-subtitle{font-size:10px!important;line-height:1.35!important;white-space:normal!important}
  .wizard-updated{width:100%!important;text-align:left!important;font-size:9px!important;white-space:normal!important}
  .wizard-controls.wizard-controls-compact{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;padding:10px!important
  }
  .wizard-controls-compact .field{width:100%!important;min-width:0!important}
  .wizard-controls-compact .wizard-expiry-field{grid-column:1 / -1!important}
  .wizard-controls select,.wizard-controls input{min-height:38px!important;padding:6px 8px!important}
  .wizard-analyze-field{grid-column:1 / -1!important;width:100%!important;height:auto!important}
  .wizard-analyze-prominent{width:100%!important;min-height:40px!important;padding:8px 12px!important}
  .wizard-analysis-summary,.wizard-analysis-summary-actions{
    display:grid!important;grid-template-columns:1fr!important;gap:6px!important;width:100%!important;padding:0 10px!important;margin-top:4px!important
  }
  .wizard-analysis-summary .wizard-status,.wizard-analysis-summary .wizard-reason,
  .wizard-analysis-summary-actions .wizard-status,.wizard-analysis-summary-actions .wizard-reason{
    grid-column:1!important;width:100%!important;min-width:0!important;white-space:normal!important;text-align:left!important;overflow:visible!important;text-overflow:clip!important
  }
  .wizard-analysis-summary .wizard-status,.wizard-analysis-summary-actions .wizard-status{padding:7px 8px!important}
  .wizard-actions,.wizard-analysis-summary-actions .wizard-actions{
    grid-column:1!important;display:flex!important;float:none!important;position:static!important;margin:0!important;
    width:100%!important;overflow-x:auto!important;gap:6px!important;padding:2px 0 4px!important
  }
  .wizard-action-guidance{display:none!important}
  .wizard-strategy-actions-inline,.wizard-analysis-summary-actions .wizard-strategy-actions-inline{
    display:flex!important;flex-wrap:nowrap!important;gap:5px!important;margin:0!important;width:max-content!important
  }
  .wizard-strategy-icon{min-width:40px!important;height:38px!important;font-size:16px!important}
  .wizard-metrics{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;
    width:100%!important;overflow:visible!important;padding:0 10px!important;margin-top:8px!important
  }
  .wizard-metric{min-width:0!important;width:auto!important;padding:8px 6px!important;white-space:normal!important}
  .wizard-metric span{font-size:9px!important;white-space:normal!important;line-height:1.25!important}
  .wizard-metric strong{font-size:13px!important;white-space:normal!important;word-break:break-word!important}
  .wizard-risk-strip{margin:8px 10px 0!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;text-align:left!important}
  .wizard-risk-strip span{white-space:normal!important}
  .wizard-section{margin-top:10px!important;padding:0 10px!important}
  .wizard-rec-grid,.wizard-structure-grid{grid-template-columns:1fr!important}
  .wizard-compact-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  .wizard-compact-cell{min-width:0!important;width:100%!important}
  .wizard-table-wrap,.wizard-existing-details{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .wizard-table-wrap table{min-width:680px!important}
  .wizard-order-stream{margin:8px 10px!important;padding:8px!important}
  .wizard-order-stream-top{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}

  /* ---------- Strangle controls/results ---------- */
  .strangle-header-controls{width:100%!important;display:flex!important;flex-wrap:wrap!important;gap:6px!important}
  .strangle-form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;overflow:visible!important;width:100%!important}
  .strangle-form-grid .field{min-width:0!important}
  .strangle-analyze-action{grid-column:1 / -1!important;width:100%!important}
  .strangle-analyze-action .btn{width:100%!important}
  .strangle-analysis-result{max-width:100%!important;overflow-x:auto!important}
  .strangle-order-row{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
  .sq-progress-wrap{width:100%!important}

  /* ---------- OI / MA: stack controls, preserve charts/tables ---------- */
  .oi-layout{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .oi-detail-toolbar,.moving-average-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  .oi-detail-toolbar>* ,.moving-average-toolbar>*{min-width:0!important;width:100%!important}
  .ma-period-control{grid-column:1 / -1!important}
  .ma-period-button{width:100%!important;white-space:normal!important}
  .oi-table-wrap,.oi-all-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .oi-table,.oi-all-table{min-width:650px!important}
  .oi-chart-panel,.moving-average-chart-wrap{width:100%!important;max-width:100%!important;min-width:0!important}
  .moving-average-chart-wrap{min-height:280px!important}
  .moving-average-legend{display:flex!important;flex-wrap:wrap!important;gap:5px 8px!important}

  /* ---------- modals: phone sheet rather than desktop popup ---------- */
  .wizard-modal{padding:8px!important;align-items:center!important}
  .wizard-modal-card,.portfolio-fy-chart-modal-card,.realized-cache-modal-card{
    width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:92vh!important;
    margin:4vh auto!important;padding:10px!important;border-radius:10px!important;overflow:auto!important
  }
  .wizard-modal-head{gap:8px!important;align-items:flex-start!important}
  .wizard-modal-head strong{font-size:15px!important}
  .wizard-squareoff-metrics{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .wizard-squareoff-table{overflow-x:auto!important}
  .wizard-squareoff-table table{min-width:620px!important}
  .wizard-modal-actions{justify-content:flex-start!important;flex-wrap:wrap!important;gap:6px!important}
  .elevate-modal{padding:6px!important}
  .elevate-modal-panel{width:calc(100vw - 12px)!important;max-width:none!important;height:94vh!important;max-height:94vh!important;margin:3vh auto!important}
  .elevate-modal-head{padding:8px!important}
  .elevate-modal-frame{height:calc(94vh - 48px)!important}

  /* ---------- prevent accidental page-width blowouts ---------- */
  img,canvas,svg{max-width:100%!important}
  table{font-size:11px!important}
  th,td{padding:6px 7px!important}
  pre,code{white-space:pre-wrap!important;word-break:break-word!important}
  .footer{font-size:10px!important;padding:10px 0!important}
}


/* ============================================================
   MOBILE PHONE REDESIGN R3 · clarity fixes only
   - Keep desktop/tablet unchanged
   - Make AFTER ADJUSTMENT wrap like OPEN BOOK summary
   - Replace hover-only meaning of key icon buttons with short phone labels
   ============================================================ */
.mobile-icon-label{display:none;}

@media (max-width:600px){
  /* AFTER ADJUSTMENT must not inherit the desktop nowrap rule. */
  #wizard-risk-after{
    display:block!important;
    width:auto!important;
    max-width:calc(100% - 20px)!important;
    margin:8px 10px 0!important;
    padding:8px 10px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-align:left!important;
    align-items:initial!important;
    justify-content:initial!important;
    line-height:1.4!important;
    border-radius:8px!important;
  }
  #wizard-risk-after strong{
    display:block!important;
    width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    text-align:left!important;
    line-height:1.4!important;
    font-size:11px!important;
  }

  /* Icon-only actions need visible meaning on touch screens. */
  .wizard-analyze-prominent,
  .wizard-strategy-icon,
  .wizard-profit-icon-btn,
  .portfolio-fy-chart-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    white-space:nowrap!important;
  }
  .mobile-icon-label{
    display:inline-block!important;
    font-size:9px!important;
    line-height:1.1!important;
    font-weight:800!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  .wizard-analyze-prominent{
    font-size:16px!important;
  }
  .wizard-analyze-prominent .mobile-icon-label{
    font-size:11px!important;
  }

  /* Strategy actions become compact labelled chips rather than unexplained glyphs. */
  .wizard-strategy-actions-inline{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .wizard-strategy-actions-inline .wizard-selected-count-inline{
    grid-column:1 / -1!important;
  }
  .wizard-strategy-icon{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    padding:5px 7px!important;
    font-size:15px!important;
  }
  .wizard-strategy-icon .mobile-icon-label{
    font-size:9px!important;
  }
  .wizard-actions,
  .wizard-analysis-summary-actions .wizard-actions{
    overflow:visible!important;
  }

  .wizard-profit-icon-btn{
    min-width:64px!important;
    font-size:20px!important;
    padding:5px 7px!important;
  }
  .wizard-profit-icon-btn .mobile-icon-label{
    font-size:9px!important;
  }

  .portfolio-fy-chart-btn{
    min-width:0!important;
    width:auto!important;
    padding:4px 6px!important;
  }
  .portfolio-fy-chart-btn .mobile-icon-label{
    font-size:8px!important;
  }
}

/* ============================================================
   MOBILE PHONE REDESIGN R4 · strategy adjustment visibility fix
   - Keep desktop/tablet unchanged
   - Ensure Adjust controls are never clipped/transparent on phones
   - Present each action as a high-contrast labelled touch chip
   ============================================================ */
@media (max-width:600px){
  .wizard-analysis-summary-actions{
    overflow:visible!important;
  }
  .wizard-analysis-summary-actions .wizard-actions{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    position:relative!important;
    z-index:5!important;
    padding:4px 0 6px!important;
  }
  #wizard-strategy-actions.wizard-strategy-actions-inline{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    position:relative!important;
    z-index:6!important;
  }
  #wizard-selected-count.wizard-selected-count-inline{
    display:block!important;
    grid-column:1 / -1!important;
    width:100%!important;
    color:var(--text)!important;
    opacity:1!important;
    visibility:visible!important;
    white-space:normal!important;
    font-size:11px!important;
    line-height:1.35!important;
    margin:1px 0 2px!important;
  }
  #wizard-strategy-actions .wizard-strategy-icon{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    padding:6px 8px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    background:#171717!important;
    color:#fff!important;
    border:1px solid #303030!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    overflow:visible!important;
    font-size:16px!important;
    line-height:1.1!important;
    border-radius:8px!important;
  }
  #wizard-strategy-actions .wizard-strategy-icon:disabled{
    background:#2c2c2c!important;
    color:#fff!important;
    border-color:#454545!important;
    opacity:.68!important;
    visibility:visible!important;
    filter:none!important;
  }
  #wizard-strategy-actions .wizard-strategy-icon .mobile-icon-label{
    display:inline!important;
    color:inherit!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
}
