/* ===================================================================
   liq-house.css — the LedgerIQ house pieces, lifted from Break-Even & CVP.
   Every rule answers to its original .cvp-* name AND a .liq-* name, so
   Break-Even keeps working unchanged and every other module builds from
   the same control bar, KPI rail, chart card and insight feed.
   Modules keep their own signature visual; these are the shared parts.
   =================================================================== */

.cvp-module-container,
.liq-module-container {
    font-family: var(--liq-font-body);
    color: var(--liq-text);
    display: flex;
    flex-direction: column;
    gap: 18px;
    animation: cvpFadeUp 0.45s ease both;
}

@keyframes cvpFadeUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.cvp-header,
.liq-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.cvp-title-section h2,
.liq-title-section h2 {
    font-family: var(--liq-font-display);
    font-size: 1.65rem;
    font-weight: 600;
    margin: 0;
    color: var(--liq-text);
    letter-spacing: -0.01em;
}

.cvp-period-label,
.liq-period-label {
    font-family: var(--liq-font-mono);
    font-size: 0.78rem;
    color: var(--liq-text-muted);
    margin-top: 4px;
}

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

.cvp-btn-ghost,
.liq-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border: 1px solid var(--liq-border);
    border-radius: 8px;
    background: var(--liq-surface);
    color: var(--liq-text-secondary);
    font-family: var(--liq-font-body);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.cvp-btn-ghost:hover,
.liq-btn-ghost:hover {
    border-color: var(--liq-accent);
    color: var(--liq-accent);
    box-shadow: 0 2px 8px rgba(74, 144, 128, 0.12);
}

.cvp-controls-bar,
.liq-controls-bar {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
    padding: 12px 16px;
    background: var(--liq-surface);
    border: 1px solid var(--liq-border);
    border-radius: 12px;
    position: sticky;
    top: 0;
    z-index: 30;
    box-shadow: 0 2px 10px rgba(23, 33, 29, 0.04);
}

.cvp-control-group,
.liq-control-group {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cvp-control-group-end,
.liq-control-group-end {
    margin-left: auto;
}

.cvp-control-label,
.liq-control-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--liq-text-muted);
}

.cvp-seg,
.liq-seg {
    display: inline-flex;
    background: var(--liq-bg);
    border: 1px solid var(--liq-border);
    border-radius: 9px;
    padding: 3px;
    gap: 2px;
}

.cvp-seg-btn,
.liq-seg-btn {
    border: none;
    background: transparent;
    padding: 5px 12px;
    border-radius: 7px;
    font-family: var(--liq-font-body);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--liq-text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.cvp-seg-btn:hover:not(.active):not(:disabled),
.liq-seg-btn:hover:not(.active):not(:disabled) {
    color: var(--liq-text);
    background: rgba(74, 144, 128, 0.07);
}

.cvp-seg-btn.active,
.liq-seg-btn.active {
    background: var(--liq-green-800);
    color: #fff;
    box-shadow: 0 1px 4px rgba(15, 39, 34, 0.3);
}

.cvp-seg-btn:disabled,
.liq-seg-btn:disabled {
    opacity: 0.38;
    cursor: not-allowed;
}

.cvp-switch,
.liq-switch {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    user-select: none;
}

.cvp-switch input,
.liq-switch input { display: none; }

.cvp-switch-track,
.liq-switch-track {
    width: 36px;
    height: 20px;
    border-radius: 999px;
    background: var(--liq-border-strong);
    position: relative;
    transition: background 0.18s ease;
    flex-shrink: 0;
    display: inline-block;
}

.cvp-switch-thumb,
.liq-switch-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    transition: transform 0.18s ease;
}

.cvp-switch input:checked + .cvp-switch-track,
.liq-switch input:checked + .liq-switch-track {
    background: var(--liq-profit);
}

.cvp-switch input:checked + .cvp-switch-track .cvp-switch-thumb,
.liq-switch input:checked + .liq-switch-track .liq-switch-thumb {
    transform: translateX(16px);
}

.cvp-switch-label,
.liq-switch-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--liq-text-secondary);
}

.cvp-body,
.liq-body {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.cvp-hero,
.liq-hero {
    display: grid;
    grid-template-columns: minmax(300px, 380px) 1fr;
    gap: 18px;
    align-items: stretch;
}

.cvp-hero > *,
.liq-hero > *,
.cvp-grid-2 > *,
.liq-grid-2 > *,
.cvp-chart-card,
.liq-chart-card,
.cvp-chart-host,
.liq-chart-host {
    min-width: 0;
}

.cvp-hero-rail,
.liq-hero-rail {
    background: linear-gradient(160deg, var(--liq-green-900) 0%, var(--liq-green-950) 100%);
    border-radius: 16px;
    padding: 26px 24px;
    color: #f2f8f5;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.cvp-hero-rail::after,
.liq-hero-rail::after {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(94, 205, 164, 0.14) 0%, transparent 70%);
    pointer-events: none;
}

.cvp-hero-label,
.liq-hero-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--liq-side-text);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.cvp-basis-chip,
.liq-basis-chip {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: var(--liq-side-text);
    text-transform: none;
}

.cvp-basis-chip.measured,
.liq-basis-chip.measured {
    background: rgba(94, 205, 164, 0.18);
    color: #7ee2b8;
}

.cvp-basis-chip.cash,
.liq-basis-chip.cash {
    background: rgba(217, 161, 59, 0.18);
    color: #ffd98a;
}

.cvp-hero-value,
.liq-hero-value {
    font-family: var(--liq-font-mono);
    font-size: clamp(2rem, 3.4vw, 2.9rem);
    font-weight: 600;
    line-height: 1.1;
    margin-top: 12px;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.cvp-hero-value.above,
.liq-hero-value.above { color: #7ee2b8; }

.cvp-hero-value.below,
.liq-hero-value.below { color: #f1a59e; }

.cvp-hero-context,
.liq-hero-context {
    font-size: 0.86rem;
    color: var(--liq-side-text);
    margin-top: 8px;
    line-height: 1.45;
}

.cvp-hero-context strong,
.liq-hero-context strong {
    color: #f2f8f5;
    font-family: var(--liq-font-mono);
    font-weight: 600;
}

.cvp-status-mini,
.liq-status-mini { margin-top: 18px; }

.cvp-status-mini-label,
.liq-status-mini-label {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--liq-side-text-dim);
    margin-bottom: 7px;
}

.cvp-mini-bar,
.liq-mini-bar {
    height: 7px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    overflow: hidden;
}

.cvp-mini-bar-fill,
.liq-mini-bar-fill {
    height: 100%;
    border-radius: 999px;
    transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.cvp-mini-bar-fill.positive,
.liq-mini-bar-fill.positive { background: linear-gradient(90deg, #3e8f77, #5ecda4); }

.cvp-mini-bar-fill.negative,
.liq-mini-bar-fill.negative { background: linear-gradient(90deg, #b65b51, #d98a82); }

.cvp-hero-stat-grid,
.liq-hero-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 20px;
}

.cvp-hero-stat-card,
.liq-hero-stat-card {
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: 11px 12px 11px 15px;
    position: relative;
}

.cvp-hero-stat-card::before,
.liq-hero-stat-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--liq-side-text-dim);
}

.cvp-hero-stat-card.positive::before,
.liq-hero-stat-card.positive::before { background: #5ecda4; }

.cvp-hero-stat-card.warning::before,
.liq-hero-stat-card.warning::before { background: #ffd98a; }

.cvp-hero-stat-card.negative::before,
.liq-hero-stat-card.negative::before { background: #f1a59e; }

.cvp-hero-stat-label,
.liq-hero-stat-label {
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--liq-side-text-dim);
}

.cvp-hero-stat-value,
.liq-hero-stat-value {
    font-family: var(--liq-font-mono);
    font-size: 1.12rem;
    font-weight: 600;
    color: #f2f8f5;
    margin-top: 4px;
    font-variant-numeric: tabular-nums;
}

.cvp-hero-stat-meta,
.liq-hero-stat-meta {
    font-size: 0.68rem;
    color: var(--liq-side-text-dim);
    margin-top: 3px;
    line-height: 1.35;
}

.cvp-chart-card,
.liq-chart-card {
    background: var(--liq-surface);
    border: 1px solid var(--liq-border);
    border-radius: 16px;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 0 2px 12px rgba(23, 33, 29, 0.04);
    transition: box-shadow 0.2s ease;
}

.cvp-chart-card:hover,
.liq-chart-card:hover {
    box-shadow: 0 4px 18px rgba(23, 33, 29, 0.07);
}

.cvp-hero-chart-card,
.liq-hero-chart-card {
    min-height: 100%;
}

.cvp-chart-header,
.liq-chart-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.cvp-chart-title,
.liq-chart-title {
    font-family: var(--liq-font-display);
    font-size: 1.06rem;
    font-weight: 600;
    color: var(--liq-text);
}

.cvp-chart-subtitle,
.liq-chart-subtitle {
    font-size: 0.76rem;
    color: var(--liq-text-muted);
    margin-top: 3px;
    line-height: 1.4;
    max-width: 560px;
}

.cvp-chart-badge,
.liq-chart-badge {
    font-family: var(--liq-font-mono);
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--liq-green-50);
    color: var(--liq-green-700);
    white-space: nowrap;
    flex-shrink: 0;
}

.cvp-chart-badge.accent,
.liq-chart-badge.accent { background: var(--liq-info-light); color: var(--liq-info); }

.cvp-chart-badge.warning,
.liq-chart-badge.warning { background: var(--liq-warning-light); color: var(--liq-warning); }

.cvp-chart-host,
.liq-chart-host {
    width: 100%;
    min-height: 120px;
}

.cvp-empty-note,
.liq-empty-note {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 120px;
    color: var(--liq-text-muted);
    font-size: 0.82rem;
    text-align: center;
    padding: 20px;
}

.cvp-target-inline,
.liq-target-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.cvp-target-inline label,
.liq-target-inline label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--liq-text-muted);
}

.cvp-target-inline input,
.liq-target-inline input {
    width: 110px;
    padding: 6px 10px;
    border: 1px solid var(--liq-border);
    border-radius: 8px;
    font-family: var(--liq-font-mono);
    font-size: 0.82rem;
    color: var(--liq-text);
    background: var(--liq-surface-soft);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cvp-target-inline input:focus,
.liq-target-inline input:focus {
    outline: none;
    border-color: var(--liq-info);
    box-shadow: 0 0 0 3px rgba(61, 111, 158, 0.12);
}

.cvp-grid-2,
.liq-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.cvp-insight-feed,
.liq-insight-feed {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cvp-insight-feed-title,
.liq-insight-feed-title {
    font-family: var(--liq-font-display);
    font-size: 1.06rem;
    font-weight: 600;
    color: var(--liq-text);
}

.cvp-insight-cards,
.liq-insight-cards {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.cvp-insight-card,
.liq-insight-card {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    background: var(--liq-surface);
    border: 1px solid var(--liq-border);
    border-left-width: 4px;
    border-radius: 12px;
    padding: 14px 16px;
    transition: box-shadow 0.15s ease;
}

.cvp-insight-card:hover,
.liq-insight-card:hover { box-shadow: 0 3px 14px rgba(23, 33, 29, 0.06); }

.cvp-insight-card.critical,
.liq-insight-card.critical { border-left-color: var(--liq-loss); }

.cvp-insight-card.warning,
.liq-insight-card.warning { border-left-color: var(--liq-warning); }

.cvp-insight-card.info,
.liq-insight-card.info { border-left-color: var(--liq-info); }

.cvp-insight-card.positive,
.liq-insight-card.positive { border-left-color: var(--liq-profit); }

.cvp-insight-icon,
.liq-insight-icon {
    font-size: 1rem;
    line-height: 1.4;
    flex-shrink: 0;
}

.cvp-insight-content,
.liq-insight-content { flex: 1; }

.cvp-insight-title,
.liq-insight-title {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--liq-text);
}

.cvp-insight-text,
.liq-insight-text {
    font-size: 0.79rem;
    color: var(--liq-text-secondary);
    line-height: 1.5;
    margin-top: 3px;
}

.cvp-ask-riq,
.liq-ask-riq {
    flex-shrink: 0;
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid var(--liq-border);
    background: var(--liq-surface-soft);
    color: var(--liq-text-secondary);
    font-family: var(--liq-font-body);
    font-size: 0.72rem;
    font-weight: 700;
    padding: 7px 13px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.cvp-ask-riq span,
.liq-ask-riq span { transition: transform 0.15s ease; display: inline-block; }

.cvp-ask-riq:hover,
.liq-ask-riq:hover {
    background: var(--liq-green-800);
    border-color: var(--liq-green-800);
    color: #fff;
}

.cvp-ask-riq:hover span,
.liq-ask-riq:hover span { transform: translateX(2px); }

@media (max-width: 1200px) {
    .cvp-hero,
    .liq-hero { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .cvp-grid-2,
    .liq-grid-2 { grid-template-columns: 1fr; }
    .cvp-controls-bar,
    .liq-controls-bar { position: static; gap: 12px; }
    .cvp-control-group-end,
    .liq-control-group-end { margin-left: 0; }
}

@media (max-width: 600px) {
    .cvp-hero-stat-grid,
    .liq-hero-stat-grid { grid-template-columns: 1fr; }
    .cvp-chart-card,
    .liq-chart-card { padding: 16px; }
    .cvp-hero-rail,
    .liq-hero-rail { padding: 20px 18px; }
}

#contentSectionEl .cvp-basis-chip,
#contentSectionEl .liq-basis-chip,
#contentSectionEl .cvp-period-label,
#contentSectionEl .liq-period-label { font-family: var(--liq-font-mono, monospace); }

#contentSectionEl .cvp-target-inline input,
#contentSectionEl .liq-target-inline input { font-family: var(--liq-font-mono, monospace); }

#contentSectionEl .cvp-seg-btn,
#contentSectionEl .liq-seg-btn,
#contentSectionEl .cvp-ask-riq,
#contentSectionEl .liq-ask-riq,
#contentSectionEl .cvp-switch-label,
#contentSectionEl .liq-switch-label,
#contentSectionEl .cvp-btn-ghost,
#contentSectionEl .liq-btn-ghost { font-family: var(--liq-font-body, sans-serif); }

/* ── House additions (not in the original Break-Even sheet) ─────── */

.liq-glyph { flex-shrink: 0; vertical-align: -3px; }

/* One tab strip for every module: underline tabs, keyboard operable via LedgerIQHouse.tabs */
.liq-tabs {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--liq-border);
    overflow-x: auto;
    scrollbar-width: none;
}
.liq-tab {
    appearance: none;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    padding: 10px 14px;
    font: 600 0.84rem var(--liq-font-body);
    color: var(--liq-text-muted);
    cursor: pointer;
    white-space: nowrap;
    transition: color .15s ease, border-color .15s ease;
}
.liq-tab:hover { color: var(--liq-text); }
.liq-tab.active { color: var(--liq-green-800, #1f5c4d); border-bottom-color: var(--liq-accent); }

/* Deltas: good/bad is judged by the caller (a lower break-even is good) */
.liq-delta {
    display: inline-block;
    font: 600 0.72rem var(--liq-font-mono);
    padding: 2px 7px;
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
}
.liq-delta.good { background: var(--liq-profit-light); color: var(--liq-profit); }
.liq-delta.bad { background: var(--liq-loss-light); color: var(--liq-loss); }
.liq-delta.flat { background: var(--liq-border-lighter); color: var(--liq-text-muted); }

/* Scenario panel: the shared what-if levers */
.liq-scenario {
    background: var(--liq-surface);
    border: 1px solid var(--liq-border);
    border-radius: 16px;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.liq-scenario.is-active {
    border-color: rgba(197, 137, 31, 0.55);
    box-shadow: inset 3px 0 0 #c5891f;
}
.liq-scenario-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.liq-scenario-title {
    font-family: var(--liq-font-display);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--liq-text);
    display: flex;
    align-items: center;
    gap: 8px;
}
.liq-scenario-title .liq-glyph { color: #c5891f; }
.liq-scenario-sub { font-size: 0.8rem; color: var(--liq-text-muted); margin-top: 3px; max-width: 62ch; }
.liq-scenario-levers {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px 22px;
}
.liq-lever { display: flex; flex-direction: column; gap: 8px; cursor: default; }
.liq-lever-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.liq-lever-name { font-size: 0.8rem; font-weight: 600; color: var(--liq-text-secondary); }
.liq-lever-val { font: 700 0.82rem var(--liq-font-mono); color: var(--liq-text); font-variant-numeric: tabular-nums; }
.liq-scenario.is-active .liq-lever-val { color: #8a5a12; }
.liq-lever-scale {
    display: flex;
    justify-content: space-between;
    font: 0.66rem var(--liq-font-mono);
    color: var(--liq-text-muted);
}
#contentSectionEl .liq-scenario input[type="range"],
#overviewDashboard .liq-scenario input[type="range"] { --liq-accent: #c5891f; }
.liq-scenario-results {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--liq-border-light);
    padding-top: 14px;
}
.liq-result { padding: 0 16px; border-left: 1px solid var(--liq-border-light); min-width: 0; }
.liq-result:first-child { padding-left: 0; border-left: 0; }
.liq-result-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--liq-text-muted);
}
.liq-result-value {
    font: 700 1.25rem var(--liq-font-mono);
    color: var(--liq-text);
    margin: 4px 0 5px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.liq-result-note { font-size: 0.72rem; color: var(--liq-text-muted); }

@media (max-width: 1100px) {
    .liq-scenario-levers, .liq-scenario-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .liq-result:nth-child(3) { padding-left: 0; border-left: 0; }
    .liq-result { padding-bottom: 12px; }
}
@media (max-width: 600px) {
    .liq-scenario-levers, .liq-scenario-results { grid-template-columns: 1fr; }
    .liq-result { padding-left: 0; border-left: 0; }
}

/* Old .oe-* modules converted to the house shell (Return Ratios, Liquidity, ...):
   the rail carries the headline ratios, so the Overview tab's card grid steps aside. */
#contentSectionEl .lr-house .oe-tab-panel#lr-overview > .oe-metrics-grid,
#contentSectionEl .dl-house .oe-tab-panel[data-tab="dl-overview"] > .oe-metrics-grid { display: none !important; }
#contentSectionEl .oe-module-container[class*="-house"] { padding: 0; background: transparent; gap: 18px; }
#contentSectionEl .oe-module-container[class*="-house"] .oe-content { padding: 0; }
#contentSectionEl .oe-module-container[class*="-house"] .oe-riq-btn { border-color: var(--liq-accent); color: var(--liq-green-800, #1f5c4d); }
/* Asset Management: the rail and "the asset base at work" replace the card grid and the old columns */
#contentSectionEl .am-house .oe-tab-panel[data-tab="overview"] > .oe-metrics-grid,
#contentSectionEl .am-house .oe-tab-panel[data-tab="overview"] > .oe-chart-card:has(#amWaterfallChart) { display: none !important; }
/* Working Capital: the rail and the bridge replace the Overview tab's card grid and old waterfall */
#contentSectionEl .wc-house #wc-overview > .oe-metrics-grid,
#contentSectionEl .wc-house #wc-overview > .oe-chart-card:has(#wc-waterfall-actions) { display: none !important; }

/* Legacy .oe insight lists inside house modules read as house insight cards */
#contentSectionEl [class*="-house"] .oe-insights-panel { background: transparent; border: 0; padding: 0; box-shadow: none; }
#contentSectionEl [class*="-house"] .oe-insights-panel .oe-insights-title,
#contentSectionEl [class*="-house"] .oe-insights-title { font-family: var(--liq-font-display); font-size: 1.1rem; font-weight: 600; color: var(--liq-text); margin-bottom: 10px; }
#contentSectionEl [class*="-house"] .oe-insight-item {
    background: var(--liq-surface); border: 1px solid var(--liq-border); border-left: 3px solid var(--liq-info);
    border-radius: 12px; padding: 13px 16px; margin: 0 0 8px; color: var(--liq-text-secondary) !important;
    font-size: 0.86rem; line-height: 1.55;
}
#contentSectionEl [class*="-house"] .oe-insight-item.positive,
#contentSectionEl [class*="-house"] .oe-insight-item.success { border-left-color: var(--liq-profit); }
#contentSectionEl [class*="-house"] .oe-insight-item.warning,
#contentSectionEl [class*="-house"] .oe-insight-item.medium { border-left-color: var(--liq-warning); }
#contentSectionEl [class*="-house"] .oe-insight-item.negative,
#contentSectionEl [class*="-house"] .oe-insight-item.critical,
#contentSectionEl [class*="-house"] .oe-insight-item.high { border-left-color: var(--liq-loss); }
/* Inventory: the rail and "how long the shelves would last" replace the card grid */
#contentSectionEl .inv-house .oe-tab-panel[data-tab="overview"] > .oe-metrics-grid { display: none !important; }
/* Receivables & Payables: the rail and "who is funding whom" replace the card grid */
#contentSectionEl .rp-house .oe-tab-panel[data-tab="overview"] > .oe-metrics-grid { display: none !important; }
#contentSectionEl [class*="-house"] .oe-section.oe-chart-card .oe-section-title { font-family: var(--liq-font-display); font-size: 1.1rem; font-weight: 600; margin: 0 0 4px; }
/* Productivity: the rail and "the wage lever" replace the card grid; headcount set inline */
#contentSectionEl .pm-house .oe-tab-panel[data-tab="overview"] > .oe-metrics-grid,
#contentSectionEl .pm-house .oe-tab-panel[data-tab="overview"] > .oe-note:first-child { display: none !important; }
.pm-headcount { margin-top: 14px; display: grid; gap: 6px; }
.pm-headcount label { font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.pm-headcount div { display: flex; gap: 8px; }
#contentSectionEl .pm-headcount input[type="number"] { flex: 1; min-width: 0; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.22); border-radius: 8px; color: #fff; padding: 7px 10px; font-family: var(--liq-font-mono, 'JetBrains Mono', monospace); }
#contentSectionEl .pm-headcount input:focus { outline: 2px solid #9cc9b9; outline-offset: 1px; }
#contentSectionEl .pm-headcount .liq-btn-ghost { color: #fff; border-color: rgba(255,255,255,0.35); background: transparent; }
/* RiQ's per-tab ask pill is a direct child of the flex-column module; keep it pill-sized */
#contentSectionEl .liq-module-container > .riq-ask { align-self: flex-start; }
/* Seasonality: the rail and "the year clock" replace the metric cards and the radar */
#contentSectionEl .sa-house .seasonality-metrics,
#contentSectionEl .sa-house #seasonalityContentArea > .section-header:first-child { display: none !important; }
#contentSectionEl .sa-house .section-header { font-family: var(--liq-font-display); font-size: 1.3rem; font-weight: 600; margin: 22px 0 10px; }
/* Cash Flow Forecast: the rail and "the runway" replace the overview's position card and metric row */
#contentSectionEl .cf-house .cf-forecast-panel[data-panel="overview"] > .cf-forecast-metric,
#contentSectionEl .cf-house .cf-forecast-panel[data-panel="overview"] > .cf-forecast-metrics { display: none !important; }
#contentSectionEl .cf-house.cf-forecast-wrapper { padding: 0; background: transparent; box-shadow: none; border: 0; }
/* Budget vs Actual: the rail carries the summary tiles; a missing budget gets a way forward */
#contentSectionEl .bva-house .bva-summary-grid { display: none !important; }
#contentSectionEl .bva-empty { background: var(--liq-surface, #fff); border: 1px dashed var(--liq-border, #d7dfda); border-radius: 12px; padding: 28px; max-width: 640px; }
#contentSectionEl .bva-empty-title { font-family: var(--liq-font-display); font-size: 1.25rem; font-weight: 600; margin-bottom: 6px; color: var(--liq-text, #10231d); }
#contentSectionEl .bva-empty p { margin: 0 0 16px; color: var(--liq-text-muted, #4b5854); line-height: 1.55; }
.liq-btn-primary { background: #1f5c4d; color: #fff; border: 0; border-radius: 8px; padding: 9px 16px; font-weight: 600; cursor: pointer; font-family: inherit; }
.liq-btn-primary:hover { background: #174a3e; }
.liq-btn-primary:focus-visible { outline: 2px solid #9cc9b9; outline-offset: 2px; }
/* Custom KPIs, Operating KPIs and Budget Builder read --accent, which resolves to the app blue here */
#contentSectionEl [class^="ckpi"], #contentSectionEl [class*=" ckpi"],
#contentSectionEl [class^="okpi"], #contentSectionEl [class*=" okpi"],
#contentSectionEl [class^="bb-"], #contentSectionEl [class*=" bb-"] { --accent: #1f5c4d; --accent-dark: #174a3e; }
.liq-scenario-also { margin: 10px 0 0; padding: 8px 12px; border-radius: 8px; background: rgba(197,137,31,.1); color: var(--liq-text, #10231d); font-size: .8rem; line-height: 1.45; }

/* View tabs: a clear segmented control at the top of every module */
.liq-tabs-host { position: sticky; top: 0; z-index: 6; padding: 6px 0 2px; background: var(--liq-bg, #f6f5f1); }
.liq-tabs.liq-tabs--views {
    display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px;
    background: var(--liq-surface-2, #e9eeeb); border: 1px solid var(--liq-border, #d7dfda);
    border-radius: 12px; border-bottom: 1px solid var(--liq-border, #d7dfda); max-width: 100%;
}
.liq-tabs--views .liq-tab {
    border: 0; margin: 0; border-radius: 8px; padding: 9px 18px;
    font: 600 0.9rem var(--liq-font-body); color: #3c4a45; background: transparent;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.liq-tabs--views .liq-tab:hover { background: rgba(31, 92, 77, .08); color: #10231d; }
.liq-tabs--views .liq-tab.active { background: #1f5c4d; color: #fff; box-shadow: 0 1px 3px rgba(16, 35, 29, .25); }
.liq-tabs--views .liq-tab:focus-visible { outline: 2px solid #c5891f; outline-offset: 2px; }

/* What-If Impact: "The Ripple" */
.wii-house { display: flex; flex-direction: column; gap: 16px; }
.wii-body { display: flex; flex-direction: column; gap: 16px; }
.wii-ripple-wrap { display: grid; grid-template-columns: minmax(230px, 280px) 1fr; gap: 16px; align-items: start; }
@media (max-width: 1100px) { .wii-ripple-wrap { grid-template-columns: 1fr; } }
.wii-stones { background: #10231d; color: #e8efeb; border-radius: 14px; padding: 18px; }
.wii-stones-title { font-family: var(--liq-font-display); font-size: 1.2rem; font-weight: 600; color: #fff; }
.wii-stones-sub { font-size: .8rem; color: #b8c7c0; margin: 6px 0 12px; line-height: 1.45; }
.wii-stones-list { display: grid; gap: 8px; }
.wii-stones-list button { text-align: left; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; border-radius: 10px; padding: 10px 12px; font: 600 .88rem var(--liq-font-body); cursor: pointer; }
.wii-stones-list button:hover { background: #1f5c4d; border-color: #5ea892; }
.wii-stones-list button:focus-visible { outline: 2px solid #c5891f; outline-offset: 2px; }
.wii-stones-now { margin-top: 14px; font-size: .8rem; color: #b8c7c0; line-height: 1.5; }
.wii-stones-now strong { color: #fff; }
.wii-stone-clear { margin-left: 4px; background: none; border: 0; color: #e7c27a; text-decoration: underline; cursor: pointer; font: inherit; }
.wii-ripple-card { background: #fff; border: 1px solid var(--liq-border, #d7dfda); border-radius: 16px; padding: 20px 22px; }
.wii-ripple-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.wii-eyebrow { width: 100%; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: #6b7a74; font-weight: 700; }
.wii-big { font: 700 2.6rem var(--liq-font-mono); color: #10231d; letter-spacing: -.02em; }
.wii-big.up { color: #1f5c4d; } .wii-big.down { color: #8e463e; }
.wii-verdict { flex: 1; min-width: 260px; margin: 0; font-size: .92rem; color: #3c4a45; line-height: 1.5; }
.wii-lever-inline .wii-lever { display: flex; align-items: center; gap: 10px; background: #f1f7f4; border-radius: 10px; padding: 8px 12px; }
.wii-ripple { margin-top: 10px; }
.wii-ripple-empty { text-align: center; color: #6b7a74; font-size: .88rem; margin: 0; }
.wii-h3 { font-family: var(--liq-font-display); font-size: 1.2rem; font-weight: 600; margin: 0; color: #10231d; }

/* Three-Way Forecast: tabs + a sentence saying what the forecast runs on */
.tw-house { display: flex; flex-direction: column; gap: 14px; }
.tw-house .tw-view { display: flex; flex-direction: column; gap: 16px; }
.tw-house .tw-view[hidden] { display: none !important; }
.tw-quick { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: #f1f7f4; border: 1px solid #d3e5dc; border-radius: 12px; padding: 12px 16px; }
.tw-quick-text { font-size: .92rem; color: #10231d; }
.tw-quick-btn { border: 0; background: #1f5c4d; color: #fff; border-radius: 8px; padding: 8px 14px; font: 600 .84rem var(--liq-font-body); cursor: pointer; }
.tw-quick-btn:focus-visible { outline: 2px solid #c5891f; outline-offset: 2px; }

/* Targets: preview board on a first visit */
.sb-board.preview { outline: 2px dashed rgba(232, 176, 75, .55); outline-offset: 4px; }
.sb-preview-tag { position: absolute; top: 10px; right: 14px; font: 700 .66rem var(--liq-font-mono, monospace); letter-spacing: .12em; text-transform: uppercase; color: #e8b04b; }
.sb-preview-bar { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
