:root {
    --ops-ink: #0f1720;
    --ops-ink-soft: #31424f;
    --ops-surface: rgba(16, 29, 38, 0.82);
    --ops-line: rgba(166, 192, 201, 0.16);
    --ops-accent: #18b6a2;
    --ops-accent-soft: #7ee5d8;
    --ops-warm: #f6ae2d;
    --ops-danger: #ff7f50;
    --ops-text: #edf4f8;
    --ops-text-muted: #9cb3bf;
    --ops-shadow: 0 24px 60px rgba(3, 11, 17, 0.35);
}
* { box-sizing: border-box; }
body { font-family: 'IBM Plex Sans', sans-serif; background: radial-gradient(circle at top left, rgba(24, 182, 162, 0.18), transparent 30%), linear-gradient(135deg, #081118 0%, #13232c 45%, #172b33 100%); color: var(--ops-text); min-height: 100vh; }
h1,h2,h3,h4,h5,h6 { font-family: 'Space Grotesk', sans-serif; letter-spacing: -0.03em; }
.ops-bg { position: fixed; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 40px 40px; opacity: 0.35; }
.ops-sidebar { position: relative; padding: 1.5rem; border-right: 1px solid var(--ops-line); background: rgba(7, 15, 20, 0.52); backdrop-filter: blur(14px); }
.ops-app-shell { display: flex; align-items: stretch; width: 100%; }
.ops-main { flex: 1 1 auto; min-width: 0; width: 100%; }
.ops-brand { display:flex; align-items:center; gap:1rem; }
.ops-brand h1 { font-size:1.15rem; margin:0; }
.ops-brand-mark { display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:16px; background: linear-gradient(135deg, var(--ops-accent), #0c8677); color:#041b19; font-family:'Space Grotesk', sans-serif; font-weight:700; box-shadow:var(--ops-shadow); }
.ops-eyebrow { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.14em; color:var(--ops-accent-soft); }
.ops-nav-link { border:1px solid transparent; border-radius:16px; color:var(--ops-text-muted); padding:0.8rem 1rem; transition:180ms ease; }
.ops-nav-link:hover,.ops-nav-link.active { color:var(--ops-text); background:rgba(255,255,255,0.05); border-color:var(--ops-line); }
.ops-sidebar-card,.ops-card,.ops-table-card,.ops-hero,.ops-form-shell { background:rgba(16, 29, 38, 0.82); border:1px solid var(--ops-line); border-radius:24px; box-shadow:var(--ops-shadow); }
.ops-sidebar-card,.ops-card,.ops-phase-card,.ops-form-shell { padding:1.1rem; }
.ops-sidebar-card { color:var(--ops-text-muted); }
.ops-page-title { font-size:clamp(1.75rem, 2vw, 2.4rem); }
.ops-stat-value { font-size:2rem; font-weight:700; }
.ops-label { color:var(--ops-text-muted); font-size:0.9rem; }
.ops-badge { display:inline-flex; align-items:center; gap:0.45rem; border-radius:999px; padding:0.38rem 0.78rem; background:rgba(24, 182, 162, 0.14); color:var(--ops-accent-soft); font-size:0.82rem; font-weight:600; line-height:1.15; }
.ops-badge.planned { background:rgba(246, 174, 45, 0.12); color:#ffd47b; }
.ops-badge.completed { background:rgba(47, 203, 128, 0.16); color:#8ef0b5; }
.ops-badge.active { background:rgba(24, 182, 162, 0.18); color:var(--ops-accent-soft); }
.ops-badge.alert { background:rgba(255, 127, 80, 0.14); color:#ffb496; }
.ops-state-bar { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:0.9rem; }
.ops-state-item { display:flex; flex-direction:column; gap:0.55rem; padding:0.95rem 1rem; border-radius:18px; background:rgba(255,255,255,0.05); border:1px solid var(--ops-line); }
.ops-state-item-wide { grid-column:span 2; }
.ops-state-label { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.12em; color:var(--ops-text-muted); }
.ops-sticky-stack { position:sticky; top:1.5rem; display:grid; gap:1rem; }
.ops-divider { height:1px; background:var(--ops-line); margin:0.25rem 0; }
.ops-action-stack { display:grid; gap:0.75rem; }
.ops-action-link { display:block; padding:0.9rem 1rem; border-radius:16px; border:1px solid var(--ops-line); background:rgba(255,255,255,0.04); color:var(--ops-text); text-decoration:none; transition:180ms ease; }
.ops-action-link:hover { transform:translateY(-1px); border-color:rgba(24,182,162,0.35); color:var(--ops-text); }
.ops-action-link strong { display:block; }
.ops-action-link span { display:block; color:var(--ops-text-muted); margin-top:0.35rem; }
.ops-checklist { display:grid; gap:0.75rem; }
.ops-checklist-item { display:grid; grid-template-columns:24px 1fr; gap:0.75rem; align-items:start; padding:0.85rem 1rem; border-radius:16px; background:rgba(255,255,255,0.04); border:1px solid var(--ops-line); color:var(--ops-text); text-decoration:none; }
.ops-checklist-item.is-done { border-color:rgba(47,203,128,0.22); background:rgba(47,203,128,0.08); }
.ops-checklist-item strong { display:block; }
.ops-checklist-item div div { color:var(--ops-text-muted); font-size:0.88rem; margin-top:0.2rem; }
.ops-mini-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:0.75rem; }
.ops-mini-stat { padding:0.85rem 0.9rem; border-radius:16px; background:rgba(255,255,255,0.04); border:1px solid var(--ops-line); }
.ops-mini-stat strong { display:block; font-size:1.25rem; }
.ops-mini-stat span { display:block; color:var(--ops-text-muted); font-size:0.84rem; margin-top:0.25rem; }
.ops-command-palette { position:fixed; inset:0; z-index:1080; }
.ops-command-backdrop { position:absolute; inset:0; background:rgba(4,10,14,0.76); backdrop-filter:blur(10px); }
.ops-command-dialog { position:relative; width:min(720px, calc(100vw - 2rem)); margin:8vh auto 0; border-radius:24px; border:1px solid var(--ops-line); background:rgba(12,22,29,0.96); box-shadow:var(--ops-shadow); padding:1rem; }
.ops-command-header { display:flex; gap:0.75rem; align-items:center; }
.ops-command-list { display:grid; gap:0.5rem; margin-top:1rem; max-height:60vh; overflow:auto; }
.ops-command-item { width:100%; text-align:left; border:1px solid transparent; background:rgba(255,255,255,0.04); color:var(--ops-text); border-radius:16px; padding:0.95rem 1rem; transition:180ms ease; }
.ops-command-item:hover { border-color:rgba(24,182,162,0.35); background:rgba(24,182,162,0.08); }
.ops-command-item strong { display:block; }
.ops-command-item span { display:block; color:var(--ops-text-muted); margin-top:0.25rem; }
.ops-shell.ops-command-open { overflow:hidden; }
.ops-setup-strip { display:flex; flex-wrap:wrap; gap:0.75rem; }
.ops-setup-pill { padding:0.75rem 0.95rem; border-radius:16px; background:rgba(255,255,255,0.05); border:1px solid var(--ops-line); color:var(--ops-text-muted); }
.ops-highlight-card { border:1px solid rgba(246,174,45,0.22); background:linear-gradient(135deg, rgba(246,174,45,0.10), rgba(255,255,255,0.04)); }
.ops-decision-grid { display:grid; gap:1rem; }
.ops-signal-card { padding:1.1rem; border-radius:22px; border:1px solid var(--ops-line); background:rgba(255,255,255,0.04); }
.ops-signal-card-header { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.ops-signal-card-metrics { display:grid; grid-template-columns:repeat(auto-fit, minmax(132px, 1fr)); gap:0.85rem; margin-top:1rem; }
.ops-metric-box { padding:0.75rem 0.85rem; border-radius:16px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.05); }
.ops-metric-box strong { display:block; font-size:1.02rem; }
.ops-metric-box span { display:block; color:var(--ops-text-muted); font-size:0.82rem; margin-top:0.2rem; }
.ops-card-actions { display:flex; gap:0.6rem; flex-wrap:wrap; margin-top:1rem; }
.ops-card-actions .btn { min-height:44px; }
.ops-filter-bar { display:flex; gap:0.85rem; flex-wrap:wrap; align-items:end; }
.ops-filter-group { min-width:180px; }
.ops-template-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1rem; }
.ops-template-card { padding:1rem; border-radius:20px; border:1px solid var(--ops-line); background:rgba(255,255,255,0.04); cursor:pointer; transition:180ms ease; }
.ops-template-card.is-active, .ops-template-card:hover { border-color:rgba(24,182,162,0.38); transform:translateY(-1px); }
.ops-template-card p { color:var(--ops-text-muted); margin:0.5rem 0 0; }
.ops-mode-toggle { display:inline-flex; padding:0.25rem; border-radius:999px; background:rgba(255,255,255,0.06); border:1px solid var(--ops-line); gap:0.25rem; }
.ops-mode-toggle button { border:0; background:transparent; color:var(--ops-text-muted); border-radius:999px; padding:0.5rem 0.9rem; }
.ops-mode-toggle button.is-active { background:rgba(24,182,162,0.18); color:var(--ops-text); }
.ops-bot-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:1rem; }
.ops-bot-card { padding:1rem; border-radius:22px; border:1px solid var(--ops-line); background:rgba(255,255,255,0.04); }
.ops-bot-warning { margin-top:0.9rem; padding:0.75rem 0.85rem; border-radius:14px; background:rgba(246,174,45,0.12); color:#ffd47b; font-size:0.9rem; }
.ops-hero-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1rem; }
.ops-hero-step { padding:1rem; border-radius:20px; background:rgba(255,255,255,0.04); border:1px solid var(--ops-line); }
.ops-hero-step strong { display:block; font-size:1rem; margin-bottom:0.25rem; }
.ops-hero-note { padding:1rem; border-radius:20px; background:rgba(255,127,80,0.08); border:1px solid rgba(255,127,80,0.16); }
.ops-confidence-high { color:#8ef0b5; }
.ops-confidence-medium { color:#ffd47b; }
.ops-confidence-low { color:#ffb496; }
.ops-rr-bar { height:10px; border-radius:999px; background:rgba(255,255,255,0.08); overflow:hidden; }
.ops-rr-fill { height:100%; background:linear-gradient(90deg, var(--ops-warm), var(--ops-accent)); }
.ops-table { color:var(--ops-text); margin-bottom:0; }
.ops-table,
.ops-table > :not(caption) > * > * { background-color:transparent; color:var(--ops-text); }
.ops-table th,.ops-table td { border-color:var(--ops-line); vertical-align:middle; }
.ops-table thead th { color:var(--ops-text-muted); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.08em; }
.ops-table code,.ops-card code { color:#ffe4a3; background:rgba(255,228,163,0.08); border-radius:8px; padding:0.08rem 0.28rem; }
.ops-cron-command { margin:0; padding:0.95rem 1rem; border-radius:16px; background:#071015; border:1px solid rgba(255,228,163,0.18); color:#fff2c2; font-size:0.85rem; white-space:pre-wrap; word-break:break-word; }
.ops-hero,.ops-form-shell { background:linear-gradient(135deg, rgba(10, 22, 29, 0.96), rgba(21, 38, 46, 0.88)); }
.ops-hero { padding:2rem; }
.ops-form-shell { max-width:520px; margin:0 auto; padding:2rem; }
.form-control,.form-select,textarea { background:rgba(255,255,255,0.05)!important; border-color:rgba(255,255,255,0.12)!important; color:var(--ops-text)!important; border-radius:14px!important; }
.form-control::placeholder,textarea::placeholder { color:rgba(237,244,248,0.48)!important; }
.btn-warning { color:#1b1403; font-weight:700; }
.btn-outline-light { border-color:rgba(255,255,255,0.16); }
.ops-phase-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1rem; }
.ops-list { display:grid; gap:0.65rem; }
.ops-list-item { display:flex; justify-content:space-between; align-items:center; padding:0.8rem 1rem; border-radius:18px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.04); }
.ops-detail-card { padding:1.1rem; border-radius:20px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.05); }
.ops-detail-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:0.75rem; }
.ops-detail-stat { padding:0.8rem 0.9rem; border-radius:16px; background:rgba(5,12,16,0.42); border:1px solid rgba(255,255,255,0.05); }
.ops-detail-stat span { display:block; color:var(--ops-text-muted); font-size:0.75rem; text-transform:uppercase; letter-spacing:0.08em; }
.ops-detail-stat strong { display:block; margin-top:0.35rem; font-size:0.96rem; word-break:break-word; }
.ops-detail-list { margin:0; padding-left:1.1rem; color:var(--ops-text-muted); display:grid; gap:0.45rem; }
.ops-detail-note { padding:0.85rem 0.95rem; border-radius:14px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.05); color:var(--ops-text-muted); }
.ops-audit-stack { display:grid; gap:0.85rem; }
.ops-audit-section { border-radius:18px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.05); overflow:hidden; }
.ops-audit-section summary { list-style:none; cursor:pointer; padding:0.9rem 1rem; font-family:'Space Grotesk', sans-serif; }
.ops-audit-section summary::-webkit-details-marker { display:none; }
.ops-audit-section[open] summary { border-bottom:1px solid rgba(255,255,255,0.05); }
.ops-audit-section .ops-structured-panel { padding:0 1rem 1rem; }
.ops-structured-panel { width:100%; }
.ops-structured-grid { display:grid; gap:0.55rem; }
.ops-structured-grid-nested { margin-top:0.25rem; }
.ops-structured-row,.ops-structured-group { padding:0.7rem 0.8rem; border-radius:14px; background:rgba(5,12,16,0.42); border:1px solid rgba(255,255,255,0.05); }
.ops-structured-row { display:flex; justify-content:space-between; gap:0.9rem; align-items:flex-start; }
.ops-structured-group + .ops-structured-group,.ops-structured-row + .ops-structured-row,.ops-structured-row + .ops-structured-group,.ops-structured-group + .ops-structured-row { margin-top:0; }
.ops-structured-key { display:block; color:var(--ops-text-muted); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; }
.ops-structured-value { color:var(--ops-text); font-size:0.92rem; word-break:break-word; text-align:right; }
.ops-structured-nested { margin-top:0.6rem; }
.ops-structured-list { margin:0; padding-left:1.1rem; display:grid; gap:0.35rem; }
.ops-structured-list-item { color:var(--ops-text-muted); }
.ops-command-chip-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:0.7rem; }
.ops-command-chip { display:flex; flex-direction:column; gap:0.35rem; padding:0.8rem 0.9rem; border-radius:16px; background:rgba(5,12,16,0.42); border:1px solid rgba(255,255,255,0.05); }
.ops-command-chip span { color:var(--ops-text-muted); font-size:0.84rem; line-height:1.45; }
.ops-command-chip code { align-self:flex-start; }
.ops-debug-pre { margin:0; padding:1rem; border-radius:18px; background:rgba(5,12,16,0.7); border:1px solid var(--ops-line); color:var(--ops-text); font-size:0.82rem; white-space:pre-wrap; word-break:break-word; }
@media (max-width: 1399.98px) { .ops-sticky-stack { position:static; } }
@media (max-width: 991.98px) {
    .ops-sidebar { border-right:0; border-bottom:1px solid var(--ops-line); }
    .ops-state-item-wide { grid-column:span 1; }
    .ops-filter-group { min-width:unset; width:100%; }
    .ops-signal-card-header { flex-direction:column; }
    .ops-signal-card-header .text-end { text-align:left !important; width:100%; }
    .ops-signal-card-header .justify-content-end { justify-content:flex-start !important; }
}
@media (max-width: 767.98px) {
    .ops-structured-row { flex-direction:column; }
    .ops-structured-value { text-align:left; }
    .ops-filter-bar { flex-direction:column; align-items:stretch; }
    .ops-detail-grid { grid-template-columns:1fr; }
    .ops-mini-grid { grid-template-columns:1fr; }
    .ops-command-chip-list { grid-template-columns:1fr; }
    .ops-signal-card-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .ops-card-actions { display:grid; grid-template-columns:1fr; }
    .ops-card-actions > * { width:100%; }
    .ops-card-actions .btn { width:100%; }
}


/* UI-only readability polish for trading tables and help text. */
.ops-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: rgba(16, 29, 38, 0.98);
}
.ops-table tbody tr:hover > * {
    background: rgba(255,255,255,0.035);
}
.ops-table td:nth-child(n+4),
.ops-table th:nth-child(n+4) {
    white-space: nowrap;
}
.ops-table pre {
    color: var(--ops-text) !important;
}
.ops-soft-panel {
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--ops-line);
    border-radius: 18px;
    padding: 0.85rem 1rem;
}
.ops-help-text {
    color: var(--ops-text-muted);
    font-size: 0.83rem;
    margin-top: 0.35rem;
}
.ops-number {
    text-align: right;
    font-variant-numeric: tabular-nums;
}


/* Mobile navbar formatting upgrade */
@media (max-width: 991.98px) {
    .ops-sidebar {
        position: sticky;
        top: 0;
        z-index: 20;
        background: rgba(7, 14, 20, 0.98);
        backdrop-filter: blur(18px);
        padding-bottom: 0.85rem;
    }
    .ops-brand {
        margin-bottom: 0.75rem;
    }
    .ops-sidebar nav.nav {
        display: flex;
        flex-direction: row !important;
        flex-wrap: nowrap;
        gap: 0.5rem !important;
        overflow-x: auto;
        padding: 0 0 0.35rem;
        margin-top: 0.75rem !important;
        scrollbar-width: thin;
    }
    .ops-sidebar nav.nav > .ops-nav-link,
    .ops-sidebar nav.nav > .ops-nav-submenu {
        flex: 0 0 auto;
    }
    .ops-nav-link {
        white-space: nowrap;
        padding: 0.65rem 0.9rem;
        border-radius: 999px;
        background: rgba(255,255,255,0.025);
    }
    .ops-nav-submenu {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        border-left: 0;
        padding-left: 0;
        margin-left: -0.25rem !important;
        margin-bottom: 0 !important;
    }
    .ops-nav-sublink {
        white-space: nowrap;
        padding: 0.55rem 0.75rem;
        border-radius: 999px;
        background: rgba(255,255,255,0.035);
        border: 1px solid rgba(255,255,255,0.06);
    }
    .ops-sidebar-card {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .ops-brand h1 { font-size: 1rem; }
    .ops-brand-mark { width: 40px; height: 40px; }
    main.py-4 { padding-top: 1rem !important; }
    header .btn { flex: 1 1 auto; }
    .ops-state-bar { grid-template-columns: 1fr; }
}

/* === THEME DROPDOWN STANDARDIZATION === */

.form-select {
    background: rgba(255,255,255,0.05) !important;
    color: var(--ops-text) !important;
    border-color: rgba(255,255,255,0.12);
}

.form-select option {
    background-color: #101d26;
    color: var(--ops-text);
}

.form-select option:checked,
.form-select option:hover {
    background-color: rgba(24, 182, 162, 0.22);
    color: var(--ops-text);
}

.form-select:focus {
    border-color: rgba(24, 182, 162, 0.6);
    box-shadow: 0 0 0 0.2rem rgba(24, 182, 162, 0.15);
}

/* === Commercial Dashboard Phase 1/2 === */
.ops-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}
.ops-kpi-card {
    min-height: 160px;
    position: relative;
    overflow: hidden;
}
.ops-kpi-card::after {
    content: "";
    position: absolute;
    inset: auto -20% -45% 45%;
    height: 120px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(24,182,162,0.16), transparent 70%);
    pointer-events: none;
}
.ops-kpi-value {
    color: var(--ops-text);
    font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(1.55rem, 2.1vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.05;
    word-break: break-word;
}
.ops-action-center-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.9rem;
}
.ops-action-tile {
    display: grid;
    gap: 0.55rem;
    min-height: 142px;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid var(--ops-line);
    background: rgba(255,255,255,0.04);
    color: var(--ops-text);
    text-decoration: none;
    transition: 180ms ease;
}
.ops-action-tile:hover {
    transform: translateY(-1px);
    border-color: rgba(24,182,162,0.35);
    color: var(--ops-text);
    background: rgba(24,182,162,0.07);
}
.ops-action-tile strong {
    display: block;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.02rem;
}
.ops-action-tile small {
    color: var(--ops-text-muted);
    line-height: 1.45;
}
.ops-risk-grid {
    display: grid;
    gap: 0.75rem;
}
.ops-risk-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--ops-line);
}
.ops-risk-row span {
    color: var(--ops-text-muted);
}
.ops-risk-row strong {
    flex: 0 0 auto;
}
.ops-chart-shell {
    border-radius: 22px;
    border: 1px solid var(--ops-line);
    background: rgba(255,255,255,0.035);
    padding: 1rem;
}
.ops-chart-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 160px;
    border-radius: 18px;
    border: 1px dashed var(--ops-line);
    color: var(--ops-text-muted);
}
.ops-mini-bars {
    display: flex;
    align-items: end;
    gap: 0.5rem;
    min-height: 160px;
    padding: 0.75rem;
    border-radius: 18px;
    background: rgba(5,12,16,0.34);
    overflow-x: auto;
}
.ops-mini-bar {
    display: block;
    flex: 1 0 24px;
    min-width: 24px;
    height: 70px;
    border-radius: 999px 999px 8px 8px;
    background: rgba(24,182,162,0.32);
    border: 1px solid rgba(126,229,216,0.26);
}
.ops-mini-bar:nth-child(2n) { height: 105px; }
.ops-mini-bar:nth-child(3n) { height: 52px; }
.ops-mini-bar:nth-child(4n) { height: 128px; }
.ops-mini-bar.completed {
    background: rgba(24,182,162,0.34);
    border-color: rgba(126,229,216,0.28);
}
.ops-mini-bar.alert {
    background: rgba(255,127,80,0.24);
    border-color: rgba(255,127,80,0.24);
}
@media (max-width: 767.98px) {
    .ops-dashboard-grid,
    .ops-action-center-grid {
        grid-template-columns: 1fr;
    }
    .ops-kpi-card {
        min-height: auto;
    }
    .ops-risk-row {
        align-items: flex-start;
        flex-direction: column;
    }
    .ops-mini-bars {
        min-height: 120px;
    }
}

/* === Final commercial dashboard + centralized theme polish === */
:root {
    --ops-surface-strong: var(--ops-surface);
    --ops-surface-soft: color-mix(in srgb, var(--ops-surface) 78%, transparent);
    --ops-surface-subtle: color-mix(in srgb, var(--ops-text) 5%, transparent);
    --ops-accent-panel: color-mix(in srgb, var(--ops-accent) 16%, transparent);
    --ops-accent-border: color-mix(in srgb, var(--ops-accent) 38%, var(--ops-line));
    --ops-warm-panel: color-mix(in srgb, var(--ops-warm) 14%, transparent);
    --ops-danger-panel: color-mix(in srgb, var(--ops-danger) 14%, transparent);
    --ops-success: var(--ops-accent-soft);
}
.ops-nav-group-label {
    margin: 1rem 0 0.35rem;
    padding: 0 0.75rem;
    color: var(--ops-text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.ops-kpi-trend,
.ops-status-dot,
.ops-risk-meter {
    display: inline-flex;
    align-items: center;
}
.ops-kpi-trend { gap: 0.35rem; color: var(--ops-text-muted); font-size: 0.82rem; }
.ops-status-dot { width: 0.65rem; height: 0.65rem; border-radius: 999px; background: var(--ops-accent); }
.ops-status-dot.planned { background: var(--ops-warm); }
.ops-status-dot.alert { background: var(--ops-danger); }
.ops-activity-feed { border-color: var(--ops-line); }
.ops-risk-meter { width: 100%; min-height: 0.55rem; border-radius: 999px; background: var(--ops-surface-subtle); overflow: hidden; }
.ops-risk-meter::before { content: ""; display:block; width: 42%; height: 100%; background: var(--ops-accent); border-radius: inherit; }
.ops-card,
.ops-table-card,
.ops-kpi-card,
.ops-action-tile,
.ops-risk-row,
.ops-chart-shell,
.ops-mini-bars,
.ops-detail-stat,
.ops-soft-panel {
    background: var(--ops-surface-soft) !important;
    border-color: var(--ops-line) !important;
}
.ops-badge { background: var(--ops-accent-panel); color: var(--ops-accent-soft); }
.ops-badge.planned { background: var(--ops-warm-panel); color: var(--ops-warm); }
.ops-badge.completed { background: var(--ops-accent-panel); color: var(--ops-accent-soft); }
.ops-badge.alert { background: var(--ops-danger-panel); color: var(--ops-danger); }
.ops-mini-bar { background: var(--ops-accent-panel); border-color: var(--ops-accent-border); }
.ops-mini-bar.completed { background: var(--ops-accent-panel); border-color: var(--ops-accent-border); }
.ops-mini-bar.alert { background: var(--ops-danger-panel); border-color: var(--ops-danger); }
.ops-action-tile:hover,
.ops-nav-link:hover,
.ops-nav-link.active,
.ops-nav-sublink:hover,
.ops-nav-sublink.active { border-color: var(--ops-accent-border); }
@media (max-width: 991.98px) {
    .ops-nav-group-label { display: none; }
}


/* === Clean sidebar navigation: parent link navigates, chevron toggles === */
.ops-nav-group-label {
    margin: 1rem 0 0.35rem;
    padding: 0 0.75rem;
    color: var(--ops-text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.ops-nav-dropdown { display: grid; gap: 0.28rem; }

.ops-nav-parent {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.2rem;
    gap: 0.4rem;
    align-items: stretch;
}

.ops-nav-parent-link {
    display: flex !important;
    align-items: center;
    min-width: 0;
    min-height: 2.55rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ops-nav-parent-link .ops-nav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

.ops-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    min-width: 2.2rem;
    min-height: 2.55rem;
    padding: 0;
    border: 1px solid var(--ops-line);
    border-radius: 14px;
    background: var(--ops-surface-subtle);
    color: var(--ops-text-muted);
    cursor: pointer;
    line-height: 1;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.ops-nav-toggle:hover,
.ops-nav-dropdown.is-open .ops-nav-toggle {
    color: var(--ops-text);
    border-color: var(--ops-accent-border);
    background: var(--ops-accent-panel);
}

.ops-nav-chevron {
    display: inline-block;
    width: 0.52rem;
    height: 0.52rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 180ms ease;
}

.ops-nav-dropdown.is-open .ops-nav-chevron { transform: rotate(225deg); }

.ops-nav-submenu {
    display: grid;
    gap: 0.28rem;
    margin-left: 0.85rem !important;
    margin-bottom: 0.35rem !important;
    padding-left: 0.75rem;
    border-left: 1px solid var(--ops-line);
}

.ops-nav-dropdown:not(.is-open) .ops-nav-submenu { display: none; }

.ops-nav-sublink {
    display: block;
    color: var(--ops-text-muted);
    font-size: 0.88rem;
    line-height: 1.25;
    white-space: nowrap;
    padding: 0.48rem 0.75rem;
    border-radius: 0.75rem;
    border: 1px solid transparent;
}

.ops-nav-sublink:hover,
.ops-nav-sublink.active {
    color: var(--ops-text);
    background: var(--ops-surface-subtle);
    border-color: var(--ops-accent-border);
}

@media (min-width: 992px) {
    .ops-app-shell {
        flex-wrap: nowrap;
    }
    .ops-sidebar {
        width: max-content;
        min-width: 222px;
        max-width: 258px;
        flex: 0 0 max-content;
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }
    .ops-main {
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
        max-width: none;
    }
    .ops-sidebar .ops-brand,
    .ops-sidebar nav.nav,
    .ops-sidebar-card { max-width: 236px; }
}

@media (max-width: 991.98px) {
    .ops-app-shell { flex-direction: column; }
    .ops-main { width: 100%; }
    .ops-nav-group-label { display: none; }
    .ops-sidebar nav.nav > .ops-nav-dropdown,
    .ops-sidebar nav.nav > .ops-nav-link { flex: 0 0 auto; }
    .ops-nav-dropdown { min-width: max-content; }
    .ops-nav-parent { grid-template-columns: minmax(0, 1fr) 2.35rem; }
    .ops-nav-parent-link,
    .ops-nav-sublink { white-space: nowrap; }
    .ops-nav-submenu { margin-left: 0 !important; padding-left: 0; border-left: 0; }
}
