/* ================================================
   Theme Variables — shared across all pages
   ================================================ */

:root {
    --primary-color: #00d4ff;
    --primary-dark: #0099cc;
    --secondary-color: #7c8da1;
    --success-color: #00d084;
    --danger-color: #ff6b6b;
    --warning-color: #ffa500;

    /* Dark theme base */
    --bg-primary: #0a0e14;
    --bg-secondary: #0f1419;
    --bg-tertiary: #1a2332;
    --text-primary: #e0e6ed;
    --text-secondary: #a8b3c1;
    --card-bg: #0f1419;
    --input-bg: #0a0e14;
    --input-border: #1a2f4f;

    /* Structural tokens */
    --header-bg: #1a1d23;
    --border-color: #2d3039;
    --surface-bg: #23272e;
    --surface-raised: #2d3039;
    --text-bright: #e0e0e0;
    --text-mid: #ccc;
    --text-dim: #889;
    --text-muted-dark: #778;
    --text-faint: #667;
    --text-subtle: #556;
    --icon-color: #889;
    --icon-hover: #e0e0e0;
    --hover-overlay: rgba(255,255,255,0.06);
    --hover-highlight: rgba(255,255,255,0.02);
    --shadow-color: rgba(0,0,0,0.3);
    --accent-blue: #5bc0de;
    --accent-green: #4cdf6b;
    --accent-red: #e06470;
    --badge-bg: #e06470;
    --scrollbar-thumb: #333;
    --code-bg: #1a1d23;

    /* Layout tokens */
    --col-bg: #1e2128;
    --btn-secondary-bg: #3a3f4b;
    --btn-secondary-color: #ccc;
    --btn-secondary-active: #50566a;
    --panel-count-bg: #3a3f4b;

    /* Alert tokens */
    --alert-error-bg: #3b1c22;
    --alert-error-color: #f5a0a0;
    --alert-error-border: #5c2a2a;
    --alert-success-bg: #1c3b27;
    --alert-success-color: #a0f5b5;
    --alert-success-border: #2a5c36;

    /* Pricing / total */
    --total-gradient-start: #1b3a2a;
    --total-gradient-end: #1c4432;
    --total-border: #28a745;
    --total-label-color: #8fbc8f;
    --pricing-card-bg: #2a2e36;
    --pricing-card-border: #333;
}

/* ── Light Theme ── */
[data-theme="light"] {
    --primary-color: #0088cc;
    --primary-dark: #006699;
    --bg-primary: #f0f2f5;
    --bg-secondary: #ffffff;
    --bg-tertiary: #e8ecf0;
    --text-primary: #1a1a2e;
    --text-secondary: #555e6e;
    --card-bg: #ffffff;
    --input-bg: #ffffff;
    --input-border: #d0d5dd;

    --header-bg: #ffffff;
    --border-color: #dde1e6;
    --surface-bg: #f7f8fa;
    --surface-raised: #e8ecf0;
    --text-bright: #1a1a2e;
    --text-mid: #333;
    --text-dim: #666;
    --text-muted-dark: #777;
    --text-faint: #888;
    --text-subtle: #999;
    --icon-color: #666;
    --icon-hover: #1a1a2e;
    --hover-overlay: rgba(0,0,0,0.04);
    --hover-highlight: rgba(0,0,0,0.02);
    --shadow-color: rgba(0,0,0,0.08);
    --accent-blue: #0088cc;
    --accent-green: #0d9f3f;
    --accent-red: #d03040;
    --badge-bg: #d03040;
    --scrollbar-thumb: #ccc;
    --code-bg: #f0f2f5;

    --col-bg: #f7f8fa;
    --btn-secondary-bg: #e0e4e8;
    --btn-secondary-color: #555;
    --btn-secondary-active: #d0d5dd;
    --panel-count-bg: #e0e4e8;

    --alert-error-bg: #fef2f2;
    --alert-error-color: #dc2626;
    --alert-error-border: #fecaca;
    --alert-success-bg: #f0fdf4;
    --alert-success-color: #16a34a;
    --alert-success-border: #bbf7d0;

    --total-gradient-start: #f0fdf4;
    --total-gradient-end: #dcfce7;
    --total-border: #22c55e;
    --total-label-color: #16a34a;
    --pricing-card-bg: #f0f2f5;
    --pricing-card-border: #dde1e6;
}

/* ── Global light-theme overrides for inline styles ── */
[data-theme="light"] body {
    color: var(--text-bright) !important;
}

/* Override inline background/color on form inputs */
[data-theme="light"] input[type="text"],
[data-theme="light"] input[type="email"],
[data-theme="light"] input[type="tel"],
[data-theme="light"] input[type="number"],
[data-theme="light"] input[type="search"],
[data-theme="light"] input[type="password"],
[data-theme="light"] textarea,
[data-theme="light"] select {
    background: var(--code-bg) !important;
    color: var(--text-bright) !important;
    border-color: var(--border-color) !important;
}

[data-theme="light"] input[type="text"]:focus,
[data-theme="light"] input[type="email"]:focus,
[data-theme="light"] input[type="tel"]:focus,
[data-theme="light"] input[type="number"]:focus,
[data-theme="light"] input[type="search"]:focus,
[data-theme="light"] input[type="password"]:focus,
[data-theme="light"] textarea:focus,
[data-theme="light"] select:focus {
    border-color: var(--accent-blue) !important;
}

/* Override inline label colors */
[data-theme="light"] label {
    color: var(--text-muted-dark) !important;
}

/* ── Blue Theme ── */
[data-theme="blue"] {
    --primary-color: #5b9dff;
    --primary-dark: #3575e6;
    --bg-primary: #091428;
    --bg-secondary: #0c1a33;
    --bg-tertiary: #122444;
    --text-primary: #d8e4f5;
    --text-secondary: #8eaad0;
    --card-bg: #0c1a33;
    --input-bg: #091428;
    --input-border: #1a3a6e;

    --header-bg: #0c1a33;
    --border-color: #183060;
    --surface-bg: #122444;
    --surface-raised: #1a3568;
    --text-bright: #dce6f5;
    --text-mid: #b4c8e4;
    --text-dim: #7a9cc8;
    --text-muted-dark: #5c82b3;
    --text-faint: #5c82b3;
    --text-subtle: #3e6499;
    --icon-color: #7a9cc8;
    --icon-hover: #dce6f5;
    --hover-overlay: rgba(70,140,255,0.10);
    --hover-highlight: rgba(70,140,255,0.05);
    --shadow-color: rgba(0,6,30,0.5);
    --accent-blue: #5b9dff;
    --accent-green: #34d399;
    --accent-red: #f87171;
    --badge-bg: #f87171;
    --scrollbar-thumb: #1a3568;
    --code-bg: #091428;

    --col-bg: #0e1d3a;
    --btn-secondary-bg: #1a3568;
    --btn-secondary-color: #b4c8e4;
    --btn-secondary-active: #254880;
    --panel-count-bg: #1a3568;

    --alert-error-bg: #2d1620;
    --alert-error-color: #fca5a5;
    --alert-error-border: #7f1d1d;
    --alert-success-bg: #0d2818;
    --alert-success-color: #86efac;
    --alert-success-border: #166534;

    --total-gradient-start: #0d2818;
    --total-gradient-end: #14532d;
    --total-border: #22c55e;
    --total-label-color: #86efac;
    --pricing-card-bg: #1e293b;
    --pricing-card-border: #334155;
}
