/* Purpose:
Applies the unified dark River Bend Outdoors palette and streamlined interaction hierarchy across the Field App.

Responsibilities:
- Apply the layout, responsive behavior, and visual states required by rbo-dark-theme.

Boundaries:
CSS controls presentation only; trust meaning, workflow state, privacy, and persistence remain in maintained source logic.

Key decisions and invariants:
The dark field palette changes presentation without hiding warning, confidence, or interaction hierarchy.
*/
:root {
    --rbo-navy: #050728;
    --rbo-navy-soft: #10183b;
    --rbo-gold: #f0d58a;
    --rbo-orange: #f59a3d;
    --rbo-cream: #070a17;
    --rbo-paper: #11172a;
    --rbo-ink: #f8f4ea;
    --rbo-muted: #b8c1d3;
    --rbo-border: #303a55;
    --rbo-success: #72c79a;
    --rbo-surface: #0c1122;
    --rbo-surface-elevated: #151d33;
    --rbo-surface-muted: #1a243b;
    --rbo-danger: #ff9199;
    --shadow-soft: 0 18px 44px rgba(0, 0, 0, 0.28);
    color-scheme: dark;
}

html,
body {
    background: var(--rbo-cream);
}

body {
    background:
        radial-gradient(circle at 84% 0%, rgba(240, 213, 138, 0.07), transparent 28rem),
        linear-gradient(180deg, #080b19 0%, var(--rbo-cream) 46%, #060812 100%);
    color: var(--rbo-ink);
    line-height: 1.5;
}

::selection {
    color: var(--rbo-navy);
    background: var(--rbo-gold);
}

:focus-visible {
    outline: 3px solid var(--rbo-gold);
    outline-offset: 3px;
}

.sidebar {
    border-right: 1px solid rgba(240, 213, 138, 0.16);
    background:
        radial-gradient(circle at 28% 0%, rgba(240, 213, 138, 0.16), transparent 28%),
        linear-gradient(180deg, #050728 0%, #080d24 100%);
}

.nav-item {
    min-height: 48px;
    color: rgba(248, 244, 234, 0.72);
}

.nav-item:hover,
.nav-item:focus-visible,
.nav-item.active,
.nav-item-active {
    color: var(--rbo-ink);
    border-color: rgba(240, 213, 138, 0.34);
    background: rgba(240, 213, 138, 0.12);
}

.sidebar-status {
    border-color: rgba(240, 213, 138, 0.18);
    background: rgba(255, 255, 255, 0.045);
}

.workspace-shell {
    background: transparent;
}

.topbar {
    border-bottom-color: rgba(240, 213, 138, 0.14);
    background: rgba(8, 11, 25, 0.9);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.topbar-context,
.topbar-title .eyebrow {
    color: var(--rbo-ink) !important;
}

.topbar-title .eyebrow {
    color: var(--rbo-gold) !important;
}

.connection-pill,
.operational-chip {
    color: var(--rbo-muted) !important;
    border-color: var(--rbo-border) !important;
    background: rgba(17, 23, 42, 0.92) !important;
}

.operational-chip-offline {
    color: #ffd59b !important;
    border-color: rgba(245, 154, 61, 0.5) !important;
    background: rgba(87, 49, 20, 0.5) !important;
}

.operational-chip-error {
    color: #ffc0c4 !important;
    border-color: rgba(255, 145, 153, 0.42) !important;
    background: rgba(92, 30, 38, 0.52) !important;
}

.main-content {
    width: min(1180px, 100%);
}

.eyebrow,
.location-status,
.summary-panel > span,
.forecast-card > span,
.field-label,
.dossier-content .eyebrow,
.dossier-content .summary-panel > span,
.dossier-content .forecast-card > span,
.dossier-content .field-label {
    color: var(--rbo-gold) !important;
}

.section-note,
.dossier-content .section-note,
.dossier-content .form-grid label {
    color: var(--rbo-muted) !important;
}

.hero-panel {
    border: 1px solid rgba(240, 213, 138, 0.25);
    background:
        radial-gradient(circle at 82% 14%, rgba(240, 213, 138, 0.13), transparent 20rem),
        linear-gradient(130deg, #050728 0%, #111a3d 100%);
    box-shadow: 0 26px 68px rgba(0, 0, 0, 0.38);
}

.hero-copy,
.readiness-card > span:not(.readiness-label),
.readiness-card small {
    color: rgba(248, 244, 234, 0.74);
}

.readiness-card {
    border-color: rgba(240, 213, 138, 0.2);
    background: rgba(17, 23, 42, 0.7);
}

.button {
    min-height: 48px;
    border-radius: 12px;
    cursor: pointer;
    transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.button:hover:not(:disabled) {
    transform: translateY(-1px);
}

.button-primary {
    color: #050728;
    background: linear-gradient(135deg, var(--rbo-gold), var(--rbo-orange));
    box-shadow: 0 8px 20px rgba(245, 154, 61, 0.18);
}

.button-secondary,
.button-outline {
    color: var(--rbo-ink) !important;
    border-color: var(--rbo-border) !important;
    background: var(--rbo-surface-elevated) !important;
}

.hero-panel .button-secondary {
    border-color: rgba(248, 244, 234, 0.24) !important;
    background: rgba(248, 244, 234, 0.07) !important;
}

.action-card,
.location-card,
.summary-panel,
.forecast-card,
.entry-panel,
.recommendation-panel,
.evidence-card,
.gap-card,
.mission-item {
    color: var(--rbo-ink);
    border-color: var(--rbo-border);
    background: linear-gradient(145deg, var(--rbo-surface-elevated), var(--rbo-paper));
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

.action-card,
.location-card,
.summary-panel,
.forecast-card,
.entry-panel,
.recommendation-panel {
    border-radius: 16px;
}

.action-card {
    min-height: 168px;
}

.action-card-primary {
    border-color: rgba(240, 213, 138, 0.38);
    background: linear-gradient(145deg, #1a2138, #171c2e);
}

.action-card p,
.location-card > p,
.phase-banner p,
.empty-state p,
.summary-panel p,
.forecast-card p,
.forecast-card small,
.entry-panel p,
.recommendation-panel p {
    color: var(--rbo-muted);
}

.text-link,
.location-score strong,
summary {
    color: var(--rbo-gold);
}

.location-progress {
    background: var(--rbo-surface);
}

.next-requirement {
    border-left-color: var(--rbo-orange);
    background: var(--rbo-surface-muted);
}

.requirement-marker {
    border-color: #78839d;
}

.phase-banner {
    border-color: rgba(240, 213, 138, 0.32);
    background: linear-gradient(125deg, rgba(240, 213, 138, 0.13), rgba(245, 154, 61, 0.07));
}

.phase-tag {
    color: var(--rbo-navy);
    background: var(--rbo-gold);
}

.dossier-tabs {
    border-color: var(--rbo-border) !important;
    background: rgba(12, 17, 34, 0.96) !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.28) !important;
}

.dossier-tab,
.dossier-more-item {
    min-height: 48px !important;
    color: var(--rbo-muted) !important;
}

.dossier-tab:hover,
.dossier-tab:focus-visible,
.dossier-tab.active,
.dossier-more-item:hover,
.dossier-more-item:focus-visible,
.dossier-more-item.active {
    color: var(--rbo-ink) !important;
    border-color: rgba(240, 213, 138, 0.38) !important;
    background: rgba(240, 213, 138, 0.14) !important;
}

.dossier-more-menu {
    border-color: var(--rbo-border) !important;
    background: var(--rbo-surface-elevated) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.42) !important;
}

.dossier-textarea,
.export-textarea,
.form-grid input,
.form-grid select,
.form-grid textarea,
.gap-card textarea,
.source-assessment textarea,
.requirement-status-select,
.requirement-notes {
    min-height: 48px;
    color: var(--rbo-ink) !important;
    border-color: var(--rbo-border) !important;
    background: var(--rbo-surface) !important;
}

textarea::placeholder,
input::placeholder {
    color: #858fa7;
    opacity: 1;
}

.dossier-textarea:focus-visible,
.export-textarea:focus-visible,
.form-grid input:focus-visible,
.form-grid select:focus-visible,
.form-grid textarea:focus-visible,
.gap-card textarea:focus-visible,
.source-assessment textarea:focus-visible,
.requirement-status-select:focus,
.requirement-notes:focus {
    border-color: var(--rbo-gold) !important;
    outline: 3px solid rgba(240, 213, 138, 0.24) !important;
}

.evidence-state,
.source-availability,
.source-reliability {
    color: var(--rbo-gold);
    border: 1px solid rgba(240, 213, 138, 0.22);
    background: rgba(240, 213, 138, 0.1);
}

.source-reliability {
    color: #a9e4c1;
    border-color: rgba(114, 199, 154, 0.25);
    background: rgba(114, 199, 154, 0.1);
}

.gap-card-resolved,
.mission-item-complete,
.source-completeness-complete {
    background: rgba(114, 199, 154, 0.09) !important;
}

.warning-panel,
.status-warning,
.source-completeness-warning,
.source-warning,
.intel-category-caution {
    color: #ffe1b8;
    border-color: var(--rbo-orange) !important;
    background: rgba(97, 53, 18, 0.42) !important;
}

.offline-source-text,
.public-source-material,
.source-claims {
    color: var(--rbo-ink);
    border-color: var(--rbo-border) !important;
    background: var(--rbo-surface) !important;
}

.intel-category-grid {
    gap: 14px;
}

.intel-category-tile,
.source-link-tile {
    min-height: 48px;
    color: var(--rbo-ink);
    border-color: var(--rbo-border);
    background: linear-gradient(145deg, var(--rbo-surface-elevated), var(--rbo-paper));
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.intel-category-tile {
    min-height: 158px;
    padding: 18px;
    border-radius: 15px;
}

.intel-category-tile:hover,
.source-link-tile:hover {
    border-color: rgba(240, 213, 138, 0.58);
    background: linear-gradient(145deg, #1b2440, #131a2f);
}

.intel-category-tile:focus-visible,
.source-link-tile:focus-visible {
    outline-color: var(--rbo-gold);
}

.intel-category-title,
.source-link-title,
.source-assessment legend {
    color: var(--rbo-gold) !important;
}

.intel-category-meta strong,
.source-link-status strong,
.assessment-status span {
    color: #ffc47e;
}

.source-link-tile {
    padding: 15px 16px;
    border-radius: 12px;
}

.source-provenance div,
.source-assessment {
    border-color: var(--rbo-border);
    background: var(--rbo-surface-muted);
}

.source-provenance dt,
.source-level-intro p:last-child,
.intel-category-meta,
.source-link-publisher,
.source-link-status,
.category-claims small,
.source-claims small,
.assessment-status {
    color: var(--rbo-muted);
}

.requirement-list li.requirement-editor {
    color: var(--rbo-ink);
    border-color: var(--rbo-border);
    background: var(--rbo-surface-elevated);
}

.requirement-editor-complete {
    border-color: rgba(114, 199, 154, 0.38) !important;
    background: rgba(42, 89, 68, 0.34) !important;
}

.requirement-editor-follow-up {
    border-color: rgba(245, 154, 61, 0.42) !important;
    background: rgba(97, 53, 18, 0.36) !important;
}

.requirement-editor-complete .requirement-description,
.location-status-complete,
.copy-message {
    color: #9fdbb7;
}

.location-status-in-progress {
    color: #ffc47e;
}

#blazor-error-ui {
    border: 1px solid rgba(255, 145, 153, 0.42);
    background: #5c1e26;
}

@media (max-width: 720px) {
    .topbar {
        background: rgba(8, 11, 25, 0.96);
    }

    .main-content {
        padding-top: 18px;
    }

    .hero-panel,
    .action-card,
    .location-card,
    .summary-panel,
    .forecast-card,
    .entry-panel,
    .recommendation-panel,
    .evidence-card,
    .gap-card {
        border-radius: 14px;
    }

    .action-card {
        min-height: 0;
        padding: 20px;
    }

    .intel-category-tile {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
