/* Patriot LPR theme tokens - grays and blues only (no green, no red).
   Class theme-light / theme-dark on <html> is set by js/theme.js. */
:root,
html.theme-light {
    --bg-primary: #FFFFFF;
    --bg-secondary: #F4F6F9;
    --card-bg: #FFFFFF;
    --surface-2: #EEF2F7;
    --border-color: #D9DFE7;
    --text-primary: #0F172A;
    --text-secondary: #5B6676;
    --accent: #1F5FAF;
    --accent-hover: #174A8A;
    --accent-soft: #E6EEF8;
    --btn-primary-bg: #1F5FAF;      /* filled buttons with white text (light: same as accent, 6.3:1) */
    --btn-primary-hover: #174A8A;
    --sidebar-bg: linear-gradient(180deg,#0B1F3A 0%,#1C3A63 70%);
    --sidebar-text: #FFFFFF;

    /* Status: shade + icon carries meaning */
    --status-ok: #0B3D91;
    --status-info: #1F5FAF;
    --status-info-bg: #1F5FAF;      /* badge fill under white text (6.3:1) */
    --status-warning: #56606E;      /* white text 6.4:1 (was #7A8899, 3.6:1) */
    --status-error: #0A1A33;
    --status-error-text: #FFFFFF;
    --status-inactive: #677385;     /* white text 4.8:1 (was #9AA6B6, 2.5:1) */

    color-scheme: light;
}

html.theme-dark {
    --bg-primary: #0B0F15;
    --bg-secondary: #131A24;
    --card-bg: #131A24;
    --surface-2: #1B2431;
    --border-color: #2A3546;
    --text-primary: #F5F7FA;
    --text-secondary: #9AA6B6;
    --accent: #4C8BE0;
    --accent-hover: #6FA3EA;
    --accent-soft: #111D32;         /* accent text on it 4.9:1 (was #16263D, 4.4:1) */
    --btn-primary-bg: #2F6BC2;      /* deeper than --accent so white text clears 4.5:1 (5.2:1) */
    --btn-primary-hover: #255AA6;
    --sidebar-bg: linear-gradient(180deg,#05080D 0%,#0F1E33 70%);
    --sidebar-text: #E6ECF4;

    --status-ok: #7FB0F0;
    --status-info: #4C8BE0;
    --status-info-bg: #2F6BC2;      /* badge fill under white text 5.2:1 (#4C8BE0 was 3.5:1); --status-info stays for text */
    --status-warning: #B4BFCC;
    --status-error: #E6ECF4;
    --status-error-text: #000000;
    --status-inactive: #5B6676;

    color-scheme: dark;
}

/* Bootstrap overrides - no stray green/red leaks through Bootstrap utilities */
:root,
html.theme-light,
html.theme-dark {
    --bs-body-bg: var(--card-bg);
    --bs-body-color: var(--text-primary);
    --bs-secondary-color: var(--text-secondary);
    --bs-border-color: var(--border-color);
    --bs-link-color: var(--accent);
    --bs-link-hover-color: var(--accent-hover);
    --bs-primary: var(--accent);
    --bs-success: var(--status-ok);
    --bs-info: var(--status-info);
    --bs-warning: var(--status-warning);
    --bs-danger: var(--status-error);
}

:root,
html.theme-light {
    --bs-primary-rgb: 31, 95, 175;
    --bs-success-rgb: 11, 61, 145;
    --bs-info-rgb: 31, 95, 175;
    --bs-warning-rgb: 86, 96, 110;
    --bs-danger-rgb: 10, 26, 51;
    --bs-success-text-emphasis: #0B3D91;
    --bs-danger-text-emphasis: #0A1A33;
    --bs-warning-text-emphasis: #56606E;
    --bs-success-bg-subtle: #E6EEF8;
    --bs-danger-bg-subtle: #EEF2F7;
    --bs-warning-bg-subtle: #EEF2F7;
    --bs-success-border-subtle: #D9DFE7;
    --bs-danger-border-subtle: #D9DFE7;
    --bs-warning-border-subtle: #D9DFE7;
    --bs-form-valid-color: #0B3D91;
    --bs-form-valid-border-color: #0B3D91;
    --bs-form-invalid-color: #0A1A33;
    --bs-form-invalid-border-color: #0A1A33;
}

html.theme-dark {
    --bs-primary-rgb: 76, 139, 224;
    --bs-success-rgb: 127, 176, 240;
    --bs-info-rgb: 76, 139, 224;
    --bs-warning-rgb: 180, 191, 204;
    --bs-danger-rgb: 230, 236, 244;
    --bs-success-text-emphasis: #7FB0F0;
    --bs-danger-text-emphasis: #E6ECF4;
    --bs-warning-text-emphasis: #B4BFCC;
    --bs-success-bg-subtle: #111D32;
    --bs-danger-bg-subtle: #1B2431;
    --bs-warning-bg-subtle: #1B2431;
    --bs-success-border-subtle: #2A3546;
    --bs-danger-border-subtle: #2A3546;
    --bs-warning-border-subtle: #2A3546;
    --bs-form-valid-color: #7FB0F0;
    --bs-form-valid-border-color: #7FB0F0;
    --bs-form-invalid-color: #E6ECF4;
    --bs-form-invalid-border-color: #E6ECF4;
}

body {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

/* Status badges */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .125rem .5rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.4;
    color: #FFFFFF;
}
.status-ok { background: var(--status-ok); }
.status-info { background: var(--status-info-bg); }
.status-warning { background: var(--status-warning); }
.status-error { background: var(--status-error); color: var(--status-error-text); }
.status-inactive { background: var(--status-inactive); }
html.theme-dark .status-ok,
html.theme-dark .status-warning { color: #0B0F15; }
