:root {
    --primary-dark: #1a3a52;
    --secondary-dark: #0d1f2d;
    --accent-blue: #2d5a7b;
    --border-blue: #3d6a8b;
    --safe-color: #0f1f2f;
    --critical-color: #fe3531;
    --semi-critical-color: #005262;
    --accent-blue-disabled: #6f93ad;
    --border-blue-disabled: #8fb0c6;
    --text-disabled: #eef5fa;
}
body {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--secondary-dark) 100%);
    min-height: 100vh;
}
.app-header {
    background: #0a1929;
    border-bottom: 3px solid #1e4d6d;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}
.app-nav .nav-link {
    color: #d7e7fa;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50rem;
    padding-inline: 1.1rem;
}
.app-nav .nav-link:hover {
    color: #fff;
    border-color: #fff;
}
.app-nav .nav-link.active {
    background: #fff;
    color: #0a1929;
    border-color: #fff;
}
.app-main {
    min-height: calc(100vh - 120px);
}
.form-select-custom {
    background: var(--accent-blue);
    border: 1px solid var(--border-blue);
    color: #fff;
}
.form-select-custom:focus {
    background: var(--accent-blue);
    border-color: #5d8aab;
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(93, 138, 171, 0.25);
}
.form-select-custom:disabled,
.form-select-custom[disabled] {
    background: var(--accent-blue-disabled) !important;
    border-color: var(--border-blue-disabled) !important;
    color: var(--text-disabled) !important;
    opacity: 1 !important;
    cursor: not-allowed;
}
.form-select-custom:disabled:focus {
    box-shadow: none;
}
.form-select-custom:disabled option {
    background: var(--accent-blue-disabled);
    color: var(--text-disabled);
}
.form-select-custom option {
    background: var(--accent-blue);
    color: #fff;
}
.legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}
.legend-item.active {
    font-weight: 700;
    text-decoration: underline;
}
.surface-card {
    background: rgba(255, 255, 255, 0.98);
    border-radius: 1.25rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.auth-card .form-control,
.auth-card .form-select {
    min-height: 3rem;
}
.auth-card .btn {
    min-height: 3rem;
    font-weight: 600;
}
.brand-emblem {
    max-height: 80px;
}
.card-equal-height {
    height: 260px;
}
#map {
    height: 100%;
    min-height: 520px;
    border-radius: 8px;
    cursor: pointer;
}

.chart-container-medium {
    height: 150px;
}
.chart-container-tall {
    height: 200px;
}
@media (max-width: 1600px) {
    .card-equal-height { height: 240px; }
    .chart-container-medium { height: 140px; }
    .chart-container-tall { height: 190px; }
    #map { min-height: 500px; }
}
@media (max-width: 1440px) {
    .card-equal-height { height: 230px; }
    .chart-container-medium { height: 130px; }
    .chart-container-tall { height: 180px; }
    #map { min-height: 480px; }
}
@media (max-width: 1366px) {
    .card-equal-height { height: 220px; }
    .chart-container-medium { height: 120px; }
    .chart-container-tall { height: 170px; }
    #map { min-height: 460px; }
}
