/**
 * CheckPoint EXSPEEDITE light skin — sage green ops-board (Pipeline-aligned).
 * Active when html[data-theme="exspeedite"] or body.cp-theme-exspeedite.
 * Must beat theme-futuristic.css !important red remaps.
 * SME [2026-07-14] Do not restyle Pipeline ↗ nav into sage green
 * SME [2026-07-14] Full light EXSPEEDITE deck matching Pipeline theme-exspeedite
 * SME [2026-07-13] EXSPEEDITE dual-theme path preserved alongside futuristic
 */

html[data-theme="exspeedite"] body,
body.cp-theme-exspeedite,
body.cp-body.cp-theme-exspeedite {
    background: var(--exp-page-bg,
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(90, 154, 143, 0.07), transparent 55%),
        linear-gradient(180deg, #f7f9fa 0%, #f4f9f1 100%)) !important;
    color: #27313c !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

body.cp-body--auth.cp-theme-exspeedite,
html[data-theme="exspeedite"] body.cp-body--auth {
    background: var(--cp-auth-bg) !important;
}

body.cp-theme-exspeedite::before {
    opacity: 0.45 !important;
    background-image:
        linear-gradient(rgba(77, 142, 49, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(77, 142, 49, 0.05) 1px, transparent 1px) !important;
    background-size: 48px 48px !important;
}

/* Header — sage green glass like Pipeline */
body.cp-theme-exspeedite .checkpoint-header {
    background: linear-gradient(to bottom, #f7fbf5 0%, #ecf9e6 42%, #d7efcd 78%, #c5e3b8 100%) !important;
    border-bottom: 3px solid #4d8e31 !important;
    box-shadow:
        0 10px 36px rgba(77, 142, 49, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.45),
        0 0 24px rgba(77, 142, 49, 0.12) !important;
    backdrop-filter: none !important;
    color: #1a3c34 !important;
}

body.cp-theme-exspeedite .checkpoint-header::after {
    height: 0 !important;
    opacity: 0 !important;
}

body.cp-theme-exspeedite .logo-check {
    color: #1f3d16 !important;
}

body.cp-theme-exspeedite .logo-point {
    color: #4d8e31 !important;
}

body.cp-theme-exspeedite .checkpoint-tagline {
    color: #4b5a68 !important;
}

body.cp-theme-exspeedite .checkpoint-header a:not(.checkpoint-nav-link--seamless),
body.cp-theme-exspeedite .checkpoint-nav-link:not(.checkpoint-nav-link--seamless),
body.cp-theme-exspeedite .nav-link,
body.cp-theme-exspeedite .dropdown-toggle {
    color: #1a3c34 !important;
}

body.cp-theme-exspeedite .checkpoint-nav-link:not(.checkpoint-nav-link--seamless):hover,
body.cp-theme-exspeedite .checkpoint-nav-link:not(.checkpoint-nav-link--seamless).is-active,
body.cp-theme-exspeedite .nav-link.active,
body.cp-theme-exspeedite a.nav-link.active,
body.cp-theme-exspeedite .cp-btn-primary,
body.cp-theme-exspeedite .btn-login,
body.cp-theme-exspeedite .btn-success,
body.cp-theme-exspeedite .btn-primary,
html[data-theme="exspeedite"] .btn-primary,
html[data-theme="exspeedite"] button[type="submit"]:not(.btn-dev):not(.checkpoint-logout-btn) {
    background: linear-gradient(180deg, #4d8e31 0%, #3b6f25 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(77, 142, 49, 0.35) !important;
    border-color: transparent !important;
}

body.cp-theme-exspeedite .login-card,
body.cp-theme-exspeedite .panel,
body.cp-theme-exspeedite .settings-card,
body.cp-theme-exspeedite .gate,
body.cp-theme-exspeedite .card,
body.cp-theme-exspeedite .hero,
html[data-theme="exspeedite"] .card,
html[data-theme="exspeedite"] .panel,
html[data-theme="exspeedite"] .hero {
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(77, 142, 49, 0.22) !important;
    color: #27313c !important;
    box-shadow: 0 12px 28px rgba(26, 60, 52, 0.12) !important;
}

body.cp-theme-exspeedite .form-control,
body.cp-theme-exspeedite input,
body.cp-theme-exspeedite select,
body.cp-theme-exspeedite textarea,
html[data-theme="exspeedite"] .form-control,
html[data-theme="exspeedite"] .form-select {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(77, 142, 49, 0.18) !important;
    color: #1b2635 !important;
}

body.cp-theme-exspeedite .form-control:focus,
body.cp-theme-exspeedite input:focus,
body.cp-theme-exspeedite select:focus,
body.cp-theme-exspeedite textarea:focus,
html[data-theme="exspeedite"] input:focus,
html[data-theme="exspeedite"] .form-control:focus {
    border-color: rgba(77, 142, 49, 0.45) !important;
    box-shadow: 0 0 0 3px rgba(77, 142, 49, 0.12) !important;
}

html[data-theme="exspeedite"] .kicker,
html[data-theme="exspeedite"] .hero-kicker,
html[data-theme="exspeedite"] .panel-kicker,
html[data-theme="exspeedite"] th,
html[data-theme="exspeedite"] .form-label,
body.cp-theme-exspeedite .kicker,
body.cp-theme-exspeedite .loads-kicker,
body.cp-theme-exspeedite .map-theme-title,
body.cp-theme-exspeedite .dot-legend-title,
body.cp-theme-exspeedite .history-title,
body.cp-theme-exspeedite .detail-section h4 {
    color: #4d8e31 !important;
}

html[data-theme="exspeedite"] a:not(.checkpoint-nav-link):not(.btn):not(.logo-point),
body.cp-theme-exspeedite main a:not(.btn) {
    color: #3b6f25 !important;
}

/* Live Map chrome — light panels over dark basemap */
body.cp-theme-exspeedite,
html[data-theme="exspeedite"] body {
    --cp-accent: #4d8e31;
    --cp-accent-dark: #3b6f25;
    --cp-accent-hover: #2d5016;
    --cp-accent-glow: rgba(77, 142, 49, 0.45);
}

body.cp-theme-exspeedite .sidebar,
body.cp-theme-exspeedite .sidebar.loads-panel,
body.cp-theme-exspeedite .legend,
body.cp-theme-exspeedite .load-detail-drawer {
    background: linear-gradient(160deg, rgba(247, 251, 245, 0.96), rgba(236, 249, 230, 0.94)) !important;
    border-color: rgba(77, 142, 49, 0.30) !important;
    color: #27313c !important;
    box-shadow: 0 18px 48px rgba(26, 60, 52, 0.18), 0 0 24px rgba(77, 142, 49, 0.10) !important;
}

body.cp-theme-exspeedite .loads-command-header {
    background: linear-gradient(135deg, rgba(77, 142, 49, 0.18), rgba(247, 251, 245, 0.9)) !important;
    border-color: rgba(77, 142, 49, 0.32) !important;
}

body.cp-theme-exspeedite .loads-command-header h3,
body.cp-theme-exspeedite .load-empty,
body.cp-theme-exspeedite .legend-item,
body.cp-theme-exspeedite .card-load {
    color: #1f3d16 !important;
}

body.cp-theme-exspeedite .loads-orb {
    background: #4d8e31 !important;
    box-shadow: 0 0 0 3px rgba(77, 142, 49, 0.22), 0 0 18px rgba(77, 142, 49, 0.75) !important;
}

body.cp-theme-exspeedite .loads-help-link,
body.cp-theme-exspeedite .sidebar .status-tab.active,
body.cp-theme-exspeedite button.status-tab.active,
body.cp-theme-exspeedite .status-tab.active,
body.cp-theme-exspeedite .map-theme-btn.active,
body.cp-theme-exspeedite .provider-refresh-btn,
body.cp-theme-exspeedite .map-layer-toggle {
    background: linear-gradient(180deg, #4d8e31 0%, #3b6f25 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(77, 142, 49, 0.35) !important;
}

body.cp-theme-exspeedite .sidebar .status-tabs {
    background: rgba(255, 255, 255, 0.72) !important;
    border-color: rgba(77, 142, 49, 0.22) !important;
}

body.cp-theme-exspeedite .sidebar .status-tab,
body.cp-theme-exspeedite .sidebar button.status-tab {
    color: #4b5a68 !important;
    background: transparent !important;
}

body.cp-theme-exspeedite .sidebar .clear-trail-btn,
body.cp-theme-exspeedite .sidebar button.clear-trail-btn {
    border-color: rgba(77, 142, 49, 0.45) !important;
    background: linear-gradient(135deg, rgba(77, 142, 49, 0.14), rgba(255, 255, 255, 0.85)) !important;
    color: #2d5016 !important;
    box-shadow: 0 0 18px rgba(77, 142, 49, 0.12) !important;
}

body.cp-theme-exspeedite .sidebar .load-empty {
    border-color: rgba(77, 142, 49, 0.28) !important;
    background: linear-gradient(160deg, rgba(77, 142, 49, 0.08), rgba(255, 255, 255, 0.75)) !important;
    color: #4b5a68 !important;
}

/* Developer docs under EXSPEEDITE */
body.cp-theme-exspeedite.cp-docs .docs-topbar,
body.cp-theme-exspeedite.cp-docs .topbar {
    background: linear-gradient(to bottom, #f7fbf5 0%, #ecf9e6 100%) !important;
    border-bottom: 3px solid #4d8e31 !important;
}

body.cp-theme-exspeedite.cp-docs .hero-card,
body.cp-theme-exspeedite.cp-docs .panel,
body.cp-theme-exspeedite.cp-docs .endpoint-card,
body.cp-theme-exspeedite.cp-docs .sidebar-block,
body.cp-theme-exspeedite.cp-docs .page-toc {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(77, 142, 49, 0.22) !important;
    color: #27313c !important;
    box-shadow: 0 12px 32px rgba(39, 49, 60, 0.08) !important;
}

body.cp-theme-exspeedite.cp-docs .method,
body.cp-theme-exspeedite.cp-docs .http-post,
body.cp-theme-exspeedite.cp-docs .http-get {
    background: rgba(77, 142, 49, 0.14) !important;
    color: #2d5016 !important;
    border-color: rgba(77, 142, 49, 0.35) !important;
}

body.cp-theme-exspeedite.cp-docs .url,
body.cp-theme-exspeedite.cp-docs .endpoint-path,
body.cp-theme-exspeedite.cp-docs pre,
body.cp-theme-exspeedite.cp-docs .code-block {
    background: #f4f9f1 !important;
    border-color: rgba(77, 142, 49, 0.22) !important;
    color: #1f3d16 !important;
}

body.cp-theme-exspeedite .table,
html[data-theme="exspeedite"] .table {
    --bs-table-bg: rgba(255, 255, 255, 0.9);
    --bs-table-color: #27313c;
    --bs-table-border-color: rgba(77, 142, 49, 0.16);
    --bs-table-striped-bg: rgba(77, 142, 49, 0.06);
    --bs-table-hover-bg: rgba(77, 142, 49, 0.10);
    color: #27313c !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
}
