/* RAQEEM Surface — cross-route feel (constitutional consumer of raqeemi_tokens.css) */
/* Layout stays in Tailwind. Color, elevation, focus, and interaction live here. */


body {
    font-family: 'Cairo', sans-serif;
}

/* —— Global form fields (replaces base.html inline block) —— */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="search"],
input[type="tel"],
input[type="url"],
select,
textarea,
.rq-field {
    width: 100%;
    padding: 0.625rem;
    border-radius: var(--rq-radius-field);
    border: 1px solid var(--rq-border-field);
    background-color: var(--rq-bg-surface);
    color: var(--rq-text-main);
    font-size: 0.875rem;
    transition: border-color var(--rq-duration-normal) var(--rq-ease-standard),
        box-shadow var(--rq-duration-fast) var(--rq-ease-standard);
}

input:focus,
select:focus,
textarea:focus,
.rq-field:focus,
.rq-field:focus-visible {
    outline: none;
    border-color: var(--rq-info);
    box-shadow: var(--rq-focus-ring-field);
}

label,
.rq-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--rq-text-muted);
    margin-bottom: 0.25rem;
}

/* —— Surfaces —— */
.rq-surface {
    border: 1px solid var(--rq-border-subtle);
    border-radius: var(--rq-radius-surface);
    background: var(--rq-bg-surface);
    box-shadow: var(--rq-elev-rest);
}

.rq-surface--metric {
    border: 1px solid var(--rq-border-subtle);
    border-radius: var(--rq-radius-md);
    background: var(--rq-bg-surface);
    box-shadow: none;
}

.rq-surface--interactive {
    transition: border-color var(--rq-duration-fast) var(--rq-ease-standard),
        background-color var(--rq-duration-fast) var(--rq-ease-standard),
        box-shadow var(--rq-duration-fast) var(--rq-ease-standard);
}

.rq-surface--interactive:hover {
    border-color: var(--rq-hover-border);
}

.rq-surface--interactive:focus-visible {
    outline: none;
    box-shadow: var(--rq-focus-ring);
}

/* —— Tables —— */
.rq-table {
    width: 100%;
    text-align: right;
    border-collapse: collapse;
}

.rq-table thead {
    background: var(--rq-bg-muted);
    color: var(--rq-text-muted);
    font-size: 0.875rem;
}

.rq-table th,
.rq-table td {
    padding: 0.75rem 1rem;
}

.rq-table tbody tr {
    transition: background-color var(--rq-duration-fast) var(--rq-ease-standard);
}

.rq-table tbody tr:hover {
    background-color: var(--rq-hover-bg);
}

.rq-table .rq-money,
.rq-table [data-raqeem-numeric="money"] {
    font-variant-numeric: tabular-nums;
}

/* —— Status tints —— */
.rq-status {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
    border: 1px solid transparent;
}

.rq-status--success {
    background: var(--rq-tint-success-bg);
    border-color: var(--rq-tint-success-border);
    color: var(--rq-tint-success-text);
}

.rq-status--warning {
    background: var(--rq-tint-warning-bg);
    border-color: var(--rq-tint-warning-border);
    color: var(--rq-tint-warning-text);
}

.rq-status--danger {
    background: var(--rq-tint-danger-bg);
    border-color: var(--rq-tint-danger-border);
    color: var(--rq-tint-danger-text);
}

.rq-status--info {
    background: var(--rq-tint-info-bg);
    border-color: var(--rq-tint-info-border);
    color: var(--rq-tint-info-text);
}

.rq-status--neutral {
    background: var(--rq-tint-neutral-bg);
    border-color: var(--rq-tint-neutral-border);
    color: var(--rq-tint-neutral-text);
}

/* —— Flash / success feedback —— */
.rq-flash {
    border-radius: var(--rq-radius-md);
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    box-shadow: var(--rq-elev-rest);
}

.rq-flash--success,
.success-moment-card.rq-flash--success {
    border: 1px solid var(--rq-tint-success-border);
    border-inline-start-width: 4px;
    background: var(--rq-tint-success-bg);
    color: var(--rq-tint-success-text);
}

/* —— Empty state wrapper —— */
.rq-empty {
    border: 1px solid var(--rq-border-subtle);
    border-radius: var(--rq-radius-md);
    background: var(--rq-bg-surface);
    padding: 2rem 1.5rem;
    text-align: center;
    color: var(--rq-text-muted);
}

/* Dashboard command-center (extracted from dashboard.html) */
        .rq-card {
            border: 1px solid var(--rq-border-subtle);
            border-radius: var(--rq-radius-surface);
            background: var(--rq-bg-surface);
            box-shadow: var(--rq-elev-raised);
        }
        .bg-gradient-to-br from-slate-900 via-blue-900 to-indigo-900 {
            border-radius: 1.75rem;
            border: 1px solid rgba(245, 244, 241, 0.08);
            background:
                radial-gradient(circle at top right, color-mix(in srgb, var(--rq-dark-gradient-blue) 22%, transparent), transparent 26%),
                radial-gradient(circle at bottom left, color-mix(in srgb, var(--rq-dark-gradient-green) 16%, transparent), transparent 26%),
                linear-gradient(135deg, var(--rq-dark-bg) 0%, var(--rq-primary-strong) 52%, var(--rq-dark-bg-soft) 100%);
            box-shadow: var(--rq-elev-float);
        }
        .rq-chip {
            display: inline-flex;
            align-items: center;
            gap: .5rem;
            border-radius: 9999px;
            padding: .55rem .95rem;
            font-size: .78rem;
            font-weight: 900;
            line-height: 1;
        }
        .rq-kpi {
            border: 1px solid var(--rq-border-subtle);
            border-radius: 1.25rem;
            background: var(--rq-bg-surface);
            min-height: 132px;
        }
        /* Proof / KPI strip: supportive context, not competing with financial pulse */
        .rq-proof-panel .rq-proof-kpi {
            min-height: 0;
            border-color: rgb(241 245 249);
            background: rgba(255, 255, 255, 0.92);
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
        }
        .rq-command-surface {
            border-color: rgb(226 232 240 / 0.95);
            box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
        }
        .rq-proof-panel {
            background: rgba(248, 250, 252, 0.55);
        }
        .rq-action,
        .rq-link,
        .rq-soft {
            transition: border-color var(--rq-duration-fast) var(--rq-ease-standard),
                background-color var(--rq-duration-fast) var(--rq-ease-standard);
        }
        .rq-action {
            border: 1px solid var(--rq-border-subtle);
            border-radius: 1.25rem;
            background: var(--rq-bg-surface);
        }
        .rq-link {
            border: 1px solid var(--rq-border-subtle);
            border-radius: 1.1rem;
            background: var(--rq-bg-surface);
        }
        .rq-soft {
            border: 1px solid var(--rq-border-subtle);
            border-radius: 1.25rem;
            background: linear-gradient(180deg, var(--rq-bg-surface) 0%, var(--rq-bg-muted) 100%);
        }
        .rq-action:hover,
        .rq-link:hover,
        .rq-soft:hover {
            border-color: var(--rq-hover-border);
            background-color: var(--rq-hover-bg);
        }
        .rq-decision-pulse {
            border: 1px solid rgba(255,255,255,.10);
            background: rgba(255,255,255,.05);
            border-radius: 1.15rem;
        }
        .rq-primary-cta {
            box-shadow: 0 12px 32px rgba(255,255,255,.08);
        }
        /* Financial pulse: executive command surface — calm, high-contrast, minimal gradient noise */
        .rq-financial-pulse-shell {
            box-shadow:
                0 22px 56px rgba(15, 23, 42, 0.12),
                0 0 0 1px rgba(15, 23, 42, 0.06);
        }
        /* Expansion column: supportive, not competing with pulse typography */
        .rq-card.rq-expansion-muted {
            background: #f8fafc;
            box-shadow: 0 6px 16px rgba(15, 23, 42, 0.035);
            border-color: rgb(226 232 240 / 0.85);
        }
        .dashboard-truth-strip .rq-proof-kpi {
            min-height: 0;
            border-color: rgb(241 245 249);
            background: rgba(255, 255, 255, 0.96);
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
        }
        .dashboard-truth-strip .rq-truth-tier-primary.rq-proof-kpi {
            border-color: rgb(226 232 240);
            background: rgba(255, 255, 255, 0.98);
            box-shadow: 0 3px 10px rgba(15, 23, 42, 0.055);
        }
        .dashboard-truth-strip .rq-truth-tier-primary .rq-truth-label {
            color: rgb(71 85 105);
        }
        .dashboard-truth-strip .rq-truth-tier-primary .rq-truth-value {
            color: rgb(2 6 23);
        }
        .dashboard-truth-strip .rq-truth-tier-support.rq-proof-kpi {
            border-color: rgb(241 245 249);
            background: rgba(255, 255, 255, 0.9);
            box-shadow: none;
        }
        .dashboard-truth-strip .rq-truth-tier-support .rq-truth-label {
            color: rgb(148 163 184);
        }
        .dashboard-truth-strip .rq-truth-tier-support .rq-truth-value {
            color: rgb(51 65 85);
        }
        .dashboard-truth-strip .rq-truth-tier-support .rq-truth-sub {
            opacity: 0.88;
        }
        .rq-metric-value-primary {
            line-height: 1;
            font-weight: 900;
            font-variant-numeric: tabular-nums;
            font-size: 1rem;
        }
        @media (min-width: 768px) {
            .rq-metric-value-primary {
                font-size: 1.125rem;
            }
        }
        .rq-metric-value-standard {
            line-height: 1;
            font-weight: 900;
            font-variant-numeric: tabular-nums;
            font-size: 0.875rem;
        }
        @media (min-width: 640px) {
            .rq-metric-value-standard {
                font-size: 1rem;
            }
        }
        .rq-metric-value-compact {
            line-height: 1;
            font-weight: 900;
            font-variant-numeric: tabular-nums;
            font-size: 0.75rem;
        }
        @media (min-width: 640px) {
            .rq-metric-value-compact {
                font-size: 0.875rem;
            }
        }
        .rq-metric-count {
            line-height: 1.25;
            font-weight: 700;
            font-size: 9px;
        }
        @media (min-width: 640px) {
            .rq-metric-count {
                font-size: 10px;
            }
        }
        .rq-metric-value-zero {
            opacity: 0.55;
        }
        .rq-metric-tile {
            border-radius: 0.5rem;
            text-align: center;
        }
        .rq-metric-drilldown {
            color: inherit;
            text-decoration: none;
            display: block;
            cursor: pointer;
        }
        .rq-dashboard-drilldown {
            min-height: 44px;
            transition: border-color var(--rq-duration-fast) var(--rq-ease-standard);
        }
        .rq-dashboard-drilldown:hover {
            border-color: rgb(59 130 246 / 0.24);
        }
        .rq-drilldown-open-hint {
            font-size: 8px;
            font-weight: 800;
            line-height: 1;
            color: rgb(100 116 139);
            margin-top: 1px;
        }
        @media (min-width: 640px) {
            .rq-drilldown-open-hint {
                font-size: 9px;
            }
        }
        .rq-metric-drilldown:focus-visible,
        .rq-dashboard-drilldown:focus-visible {
            outline: 2px solid var(--rq-focus-ring-color);
            outline-offset: 2px;
            border-radius: 0.35rem;
        }
        .rq-mtd-compact .rq-mtd-cell {
            min-height: 0;
            border-color: rgb(241 245 249);
            background: rgba(255, 255, 255, 0.94);
        }
        .rq-mtd-compact .rq-mtd-net {
            opacity: 0.92;
        }
        .rq-hero-chip {
            padding: 0.4rem 0.75rem;
            font-size: 0.7rem;
            font-weight: 900;
            line-height: 1.2;
        }
        .rq-primary-quick-action {
            color: inherit;
            text-decoration: none;
            cursor: pointer;
        }
        .rq-primary-quick-action:hover,
        .rq-primary-quick-action:focus-visible {
            opacity: 0.94;
        }
        .rq-primary-quick-action:focus-visible {
            outline: 2px solid var(--rq-focus-ring-color);
            outline-offset: 2px;
            border-radius: 0.35rem;
        }
        .rq-wave1b-zone {
            border: 1px solid rgb(226 232 240);
            border-radius: 0.75rem;
            background: white;
            box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
        }
        .rq-wave1b-waiting {
            border: 1px solid rgb(226 232 240);
            border-radius: 0.65rem;
            background: rgb(248 250 252);
            padding: 0.625rem 0.75rem;
            font-size: 0.6875rem;
            font-weight: 700;
            line-height: 1.45;
            color: rgb(51 65 85);
            text-align: right;
        }
        .rq-zone-attention-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem;
            min-height: 2.75rem;
            padding: 0.5rem 0.625rem;
            border-bottom: 1px solid rgb(241 245 249);
            text-decoration: none;
            color: inherit;
        }
        .rq-zone-attention-row:last-child {
            border-bottom: 0;
        }
        .rq-zone-attention-row--static {
            cursor: default;
        }
        .rq-first-use-guidance {
            border: 1px solid rgb(226 232 240);
            border-radius: 0.75rem;
            background: white;
            box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
            padding: 0.75rem 1rem;
        }
        .rq-first-use-guidance__headline {
            font-size: 0.75rem;
            font-weight: 800;
            color: rgb(51 65 85);
            margin-bottom: 0.5rem;
            text-align: right;
        }
        .rq-first-use-ready {
            font-size: 0.625rem;
            font-weight: 700;
            line-height: 1.45;
            color: rgb(71 85 105);
            text-align: right;
            margin-bottom: 0.5rem;
        }
        .rq-guidance-step {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem;
            padding: 0.5rem 0;
            border-bottom: 1px solid rgb(241 245 249);
        }
        .rq-guidance-step:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }
        .rq-guidance-step__title {
            font-size: 0.6875rem;
            font-weight: 900;
            color: rgb(15 23 42);
            line-height: 1.3;
        }
        .rq-guidance-step__desc {
            font-size: 0.625rem;
            font-weight: 600;
            color: rgb(100 116 139);
            line-height: 1.4;
            margin-top: 0.125rem;
        }
        .rq-guidance-step__btn {
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 0.5rem;
            padding: 0.35rem 0.65rem;
            font-size: 0.625rem;
            font-weight: 900;
            line-height: 1;
            text-decoration: none;
            white-space: nowrap;
        }
        .rq-guidance-step__btn--primary {
            background: rgb(15 23 42);
            color: white;
        }
        .rq-guidance-step__btn--secondary {
            border: 1px solid rgb(226 232 240);
            background: white;
            color: rgb(51 65 85);
        }
        .rq-zone-depth > summary,
        .rq-zone-pathways > summary {
            cursor: pointer;
            list-style: none;
            font-size: 0.6875rem;
            font-weight: 700;
            color: rgb(100 116 139);
            padding: 0.5rem 0.75rem;
            text-align: right;
        }
        .rq-zone-depth,
        .rq-zone-pathways {
            border-color: rgb(226 232 240);
            background: white;
        }
        .rq-zone-depth > summary::-webkit-details-marker,
        .rq-zone-pathways > summary::-webkit-details-marker {
            display: none;
        }
        .rq-zone-depth[open] > summary,
        .rq-zone-pathways[open] > summary {
            border-bottom: 1px solid rgb(241 245 249);
            color: rgb(51 65 85);
            font-weight: 800;
        }
        /* FINISHING reference surface — calm first screen */
        .rq-ref-surface {
            padding-top: 0.25rem;
        }
        .rq-ref-btn {
            text-decoration: none;
            transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
        }
        .rq-ref-btn--primary {
            background: rgb(2 6 23);
            color: white;
            box-shadow: 0 8px 22px rgba(15, 23, 42, 0.1);
        }
        .rq-ref-btn--primary:hover {
            background: rgb(15 23 42);
        }
        .rq-ref-btn--secondary {
            border: 1px solid rgb(226 232 240);
            background: white;
            color: rgb(15 23 42);
            box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
        }
        .rq-ref-btn--secondary:hover {
            border-color: rgb(203 213 225);
            box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
        }
        .rq-ref-add-btn:active,
        .rq-ref-btn:active {
            transform: scale(0.99);
        }
        .rq-ref-money-value {
            font-variant-numeric: tabular-nums;
            line-height: 1.1;
        }
        .rq-ref-cycle-action {
            box-shadow: 0 2px 8px rgba(59, 130, 246, 0.08);
        }
        .rq-ref-cycle-step--gap {
            animation: rq-ref-gap-pulse 2.4s ease-in-out infinite;
        }
        @keyframes rq-ref-gap-pulse {
            0%, 100% { box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2); }
            50% { box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.06); }
        }

/* Subcontract list */
    .subs-shell { direction: rtl; }

    .section-title {
        display: flex;
        align-items: center;
        gap: .75rem;
        font-size: 1.02rem;
        font-weight: 900;
        color: #0f172a;
        margin-bottom: 1rem;
    }

    .section-title::after {
        content: "";
        flex: 1;
        height: 1px;
        background: linear-gradient(to left, #cbd5e1, transparent);
    }


    .sub-card {
        background: var(--rq-bg-surface);
        border: 1px solid var(--rq-border-subtle);
        border-radius: 1.35rem;
        padding: 1.1rem;
        box-shadow: var(--rq-elev-rest);
        transition: border-color var(--rq-duration-fast) var(--rq-ease-standard);
    }

    .sub-card:hover {
        border-color: var(--rq-hover-border);
    }


    .metric-label {
        font-size: .72rem;
        font-weight: 800;
        margin-bottom: .35rem;
    }

    .metric-value {
        font-size: 1.2rem;
        font-weight: 900;
        line-height: 1;
    }

    .decision-box {
        border-radius: 1rem;
        padding: .9rem 1rem;
        border: 1px solid transparent;
        font-size: .84rem;
        font-weight: 800;
    }

    .decision-settle {
        background: #fef2f2;
        border-color: #fecaca;
        color: #991b1b;
    }

    .action-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        padding: .75rem 1rem;
        border-radius: 1rem;
        font-weight: 900;
        transition: background-color var(--rq-duration-fast) var(--rq-ease-standard),
            border-color var(--rq-duration-fast) var(--rq-ease-standard);
    }

    .muted {
        color: #64748b;
        font-size: .82rem;
        line-height: 1.8;
    }

    .ltr {
        direction: ltr;
        display: inline-block;
    }

    .list-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    @media (min-width: 1280px) {
        .list-grid {
            grid-template-columns: 1fr 1fr;
        }
    }
/* —— Focusable interactive (links, drilldowns) —— */
.rq-focusable:focus-visible {
    outline: none;
    box-shadow: var(--rq-focus-ring);
}

/* —— Public pricing surface (Surface Authority closure — CSS-only) —— */
.pricing-billing-toggle button[aria-pressed="true"] {
    background-color: var(--rq-primary);
    color: #fff;
}

.pricing-card-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 900;
    line-height: 1.25rem;
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

.pricing-card-header {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 0.25rem;
}

.pricing-card-offer-row {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 0;
}

.pricing-card-meta-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
}

.pricing-card-featured-slot {
    display: flex;
    justify-content: center;
    width: 100%;
    min-height: 0;
}

.pricing-billing-toggle {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
}

@media (min-width: 768px) {
    .pricing-card-meta-row {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .pricing-card-featured-slot {
        justify-content: flex-start;
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
    }

    .pricing-card-meta-row .pricing-billing-toggle {
        flex: 0 0 auto;
        justify-content: flex-end;
        width: auto;
    }

    .pricing-card-meta-row--toggle-only .pricing-billing-toggle {
        flex: 1 1 auto;
        justify-content: center;
        width: 100%;
    }
}

.pricing-price-block {
    min-height: 9.5rem;
}

/* MOBILE_RUNTIME_SURFACE — public dark hero contrast (token-only; templates unchanged) */
.min-h-screen.bg-slate-950 {
    background-color: var(--rq-dark-bg) !important;
    color: var(--rq-dark-text-primary);
}

.min-h-screen.bg-slate-950 .text-slate-200,
.min-h-screen.bg-slate-950 .text-slate-300 {
    color: var(--rq-dark-text-body) !important;
}

.min-h-screen.bg-slate-950 .text-slate-400 {
    color: var(--rq-dark-text-muted) !important;
}

.min-h-screen.bg-slate-950 .text-blue-100 {
    color: var(--rq-dark-accent-soft) !important;
}

.min-h-screen.bg-slate-950 .text-indigo-300,
.min-h-screen.bg-slate-950 .text-blue-300 {
    color: var(--rq-dark-link) !important;
}

.min-h-screen.bg-slate-950 .text-emerald-300 {
    color: var(--rq-dark-link-emerald) !important;
}

.min-h-screen.bg-slate-950 a.text-indigo-300:hover,
.min-h-screen.bg-slate-950 a.text-blue-300:hover,
.min-h-screen.bg-slate-950 a.text-emerald-300:hover {
    color: var(--rq-dark-text-primary) !important;
}

.min-h-screen.bg-slate-950 .bg-blue-600 {
    background-color: var(--rq-dark-btn-primary) !important;
}

.min-h-screen.bg-slate-950 .bg-blue-600:hover,
.min-h-screen.bg-slate-950 a.bg-blue-600:hover {
    background-color: var(--rq-dark-btn-primary-hover) !important;
}

.min-h-screen.bg-slate-950 .shadow-blue-900\/40 {
    --tw-shadow-color: rgba(15, 23, 42, 0.55);
}


.rq-dark-hero-glow {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--rq-dark-gradient-blue) 42%, transparent), transparent 38%),
        radial-gradient(circle at bottom left, color-mix(in srgb, var(--rq-dark-gradient-green) 34%, transparent), transparent 32%);
}

.min-h-screen.bg-slate-950 > section > .absolute.inset-0.opacity-25,
.min-h-screen.bg-slate-950 > section > .rq-dark-hero-glow {
    opacity: 0.12 !important;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--rq-dark-gradient-blue) 42%, transparent), transparent 38%),
        radial-gradient(circle at bottom left, color-mix(in srgb, var(--rq-dark-gradient-green) 34%, transparent), transparent 32%) !important;
}

body:has(main > .min-h-screen.bg-slate-950) {
    color-scheme: dark;
}


/* VISUAL_ERGONOMICS — governing Tailwind utility → token bridge (light dashboard shell) */
body.bg-slate-50 {
    background-color: var(--rq-surface-light-bg) !important;
    color: var(--rq-surface-light-text);
    color-scheme: light;
}

body.bg-slate-50 .text-slate-900 {
    color: var(--rq-text-main) !important;
}

body.bg-slate-50 .text-slate-500,
body.bg-slate-50 .text-slate-400 {
    color: var(--rq-text-muted) !important;
}

body.bg-slate-50 .text-slate-300,
body.bg-slate-50 .text-slate-200 {
    color: var(--rq-text-subtle) !important;
}

body.bg-slate-50 .bg-white {
    background-color: var(--rq-surface-elevated-bg) !important;
}

body.bg-slate-50 .bg-slate-50 {
    background-color: var(--rq-bg-muted) !important;
}

body.bg-slate-50 .border-slate-200,
body.bg-slate-50 .border-slate-800 {
    border-color: var(--rq-border-subtle) !important;
}

body.bg-slate-50 .hover\:bg-slate-50:hover {
    background-color: var(--rq-hover-bg) !important;
}

body.bg-slate-50 .selection\:bg-blue-100::selection,
body.bg-slate-50 ::selection {
    background-color: var(--rq-tint-info-bg);
    color: var(--rq-tint-info-text);
}

body.bg-slate-50 .bg-blue-100 {
    background-color: var(--rq-tint-info-bg) !important;
}

body.bg-slate-50 .text-blue-900,
body.bg-slate-50 .text-blue-700,
body.bg-slate-50 .text-blue-600 {
    color: var(--rq-tint-info-text) !important;
}

body.bg-slate-50 .border-blue-100 {
    border-color: var(--rq-tint-info-border) !important;
}

body.bg-slate-50 .bg-blue-50 {
    background-color: var(--rq-tint-info-bg) !important;
}

body.bg-slate-50 .text-emerald-900,
body.bg-slate-50 .text-emerald-800,
body.bg-slate-50 .text-emerald-700 {
    color: var(--rq-tint-success-text) !important;
}

body.bg-slate-50 footer.bg-slate-900 {
    background-color: var(--rq-surface-footer-bg) !important;
    border-top-color: var(--rq-surface-footer-border) !important;
    color: var(--rq-surface-footer-text);
    color-scheme: dark;
}

body.bg-slate-50 footer.bg-slate-900 .text-slate-400 {
    color: var(--rq-surface-footer-text) !important;
}

body.bg-slate-50 footer.bg-slate-900 .text-slate-200 {
    color: var(--rq-dark-text-body) !important;
}

body.bg-slate-50 footer.bg-slate-900 .text-slate-500 {
    color: var(--rq-surface-footer-muted) !important;
}

body.bg-slate-50 footer.bg-slate-900 a.hover\:text-slate-300:hover,
body.bg-slate-50 footer.bg-slate-900 a.hover\:text-white:hover {
    color: var(--rq-dark-text-primary) !important;
}

/* Landing light card island inside dark hero */
.min-h-screen.bg-slate-950 .bg-white.text-slate-950 {
    background-color: var(--rq-surface-elevated-bg) !important;
    color: var(--rq-text-main) !important;
}

.min-h-screen.bg-slate-950 .text-slate-950 {
    color: var(--rq-text-main) !important;
}

.min-h-screen.bg-slate-950 .bg-slate-50 {
    background-color: var(--rq-bg-muted) !important;
}

.min-h-screen.bg-slate-950 .text-slate-500 {
    color: var(--rq-text-muted) !important;
}

.min-h-screen.bg-slate-950 .text-blue-600,
.min-h-screen.bg-slate-950 .text-blue-700 {
    color: var(--rq-primary) !important;
}

.min-h-screen.bg-slate-950 .bg-blue-50 {
    background-color: var(--rq-tint-info-bg) !important;
}

.min-h-screen.bg-slate-950 .border-blue-100 {
    border-color: var(--rq-tint-info-border) !important;
}

/* Shell nav dropdown (governing partial) */
body.bg-slate-50 nav .border-slate-200.bg-white {
    background-color: var(--rq-surface-modal-bg) !important;
    border-color: var(--rq-border-subtle) !important;
    box-shadow: var(--rq-elev-float);
}

body.bg-slate-50 nav .text-slate-900 {
    color: var(--rq-text-main) !important;
}

/* Reduce glass/opacity fatigue on dark hero cards */
.min-h-screen.bg-slate-950 .border-white\/10.bg-white\/10 {
    border-color: var(--rq-dark-chrome-border) !important;
    background-color: rgba(245, 244, 241, 0.06) !important;
}

.min-h-screen.bg-slate-950 .border-white\/15.bg-white\/10,
.min-h-screen.bg-slate-950 a.border-white\/15.bg-white\/10 {
    border-color: var(--rq-dark-chrome-border) !important;
    background-color: rgba(245, 244, 241, 0.07) !important;
}

.min-h-screen.bg-slate-950 a.border-white\/15.bg-white\/10:hover,
.min-h-screen.bg-slate-950 .hover\:bg-white\/15:hover {
    background-color: rgba(245, 244, 241, 0.11) !important;
}


.min-h-screen.bg-slate-950 footer.bg-slate-900,
body:has(main > .min-h-screen.bg-slate-950) footer.bg-slate-900 {
    background-color: var(--rq-surface-footer-bg) !important;
    border-color: var(--rq-surface-footer-border) !important;
    color: var(--rq-surface-footer-text) !important;
}

.min-h-screen.bg-slate-950 footer.bg-slate-900 a,
body:has(main > .min-h-screen.bg-slate-950) footer.bg-slate-900 a {
    color: var(--rq-surface-footer-text) !important;
}

.min-h-screen.bg-slate-950 footer.bg-slate-900 .text-slate-400,
body:has(main > .min-h-screen.bg-slate-950) footer.bg-slate-900 .text-slate-400 {
    color: var(--rq-surface-footer-muted) !important;
}

.min-h-screen.bg-slate-950 .bg-emerald-400 {
    background-color: var(--rq-dark-link-emerald) !important;
}

