/**
 * ========================================
 * THEME BUILDER - Generated CSS Variables
 * ========================================
 * COLORS + TYPOGRAPHY only — operator-tunable identity.
 * Dimensions live in muaadh-chassis.css (developer-locked).
 *
 * Generated by ThemeService at: 2026-05-20 01:56:14
 * Do not edit manually - changes will be overwritten on every save.
 */
:root {
    /* ===== PRIMARY BRAND COLORS ===== */
    --theme-primary: #006c35;
    --theme-primary-hover: #005529;
    --theme-primary-dark: #004420;
    --theme-primary-light: #e8f5ed;
    --theme-primary-rgb: 0, 108, 53;

    /* ===== SECONDARY COLORS ===== */
    --theme-secondary: #1a1510;
    --theme-secondary-hover: #2d261e;
    --theme-secondary-light: #45382a;
    --theme-secondary-rgb: 26, 21, 16;

    /* ===== TEXT COLORS ===== */
    --theme-text-primary: #1a1510;
    --theme-text-secondary: #3d3429;
    --theme-text-muted: #7a6f5f;
    --theme-text-light: #b8a992;
    --theme-text-white: #ffffff;

    /* ===== BACKGROUND COLORS ===== */
    --theme-bg-body: #fdfcfa;
    --theme-bg-light: #faf8f5;
    --theme-bg-gray: #f5f2ec;
    --theme-bg-dark: #1a1510;

    /* ===== BORDER COLORS ===== */
    --theme-border: #d4c4a8;
    --theme-border-light: #e8dcc8;
    --theme-border-dark: #c9a962;
    --theme-border-rgb: 212, 196, 168;

    /* ===== STATUS COLORS ===== */
    --theme-success: #10b981;
    --theme-warning: #d4af37;
    --theme-danger: #c53030;
    --theme-info: #2c7a7b;
    --theme-success-rgb: 16, 185, 129;
    --theme-warning-rgb: 212, 175, 55;
    --theme-danger-rgb: 197, 48, 48;
    --theme-info-rgb: 44, 122, 123;

    /* ===== STATUS LIGHT (derived from base statuses) ===== */
    --theme-success-light: #e7f8f2;
    --theme-warning-light: #fbf7eb;
    --theme-danger-light: #f9eaea;
    --theme-info-light: #eaf2f2;

    /* ===== STATUS HOVER (derived) ===== */
    --theme-success-hover: #0e9d6e;
    --theme-warning-hover: #b4952f;
    --theme-danger-hover: #a72929;
    --theme-info-hover: #256869;

    /* ===== STATUS DARK (derived — for text on light statuses) ===== */
    --theme-success-dark: #0d9467;
    --theme-warning-dark: #aa8c2c;
    --theme-danger-dark: #9e2626;
    --theme-info-dark: #236262;

    /* ===== TEXT-ON COLORS (WCAG contrast safe — derived) ===== */
    --theme-text-on-primary: #ffffff;
    --theme-text-on-secondary: #ffffff;
    --theme-text-on-success: #1f0300;
    --theme-text-on-warning: #1f0300;
    --theme-text-on-danger: #ffffff;
    --theme-text-on-info: #ffffff;
    --theme-text-on-dark: #ffffff;
    --theme-text-on-light: #1f0300;

    /* ===== TYPOGRAPHY — FAMILIES ===== */
    --theme-font-primary: 'Cairo', sans-serif;
    --theme-font-heading: 'Cairo', sans-serif;
    --theme-font-mono: ui-monospace, 'JetBrains Mono', Menlo, Consolas, monospace;

    /* ===== TYPOGRAPHY — SIZE SCALE ===== */
    --theme-font-size-xs: 12px;
    --theme-font-size-sm: 13px;
    --theme-font-size-base: 15px;
    --theme-font-size-lg: 18px;
    --theme-font-size-xl: 20px;
    --theme-font-size-2xl: 24px;

    /* ===== TYPOGRAPHY — LINE HEIGHTS ===== */
    --theme-line-height-tight: 1.25;
    --theme-line-height: 1.5;
    --theme-line-height-relaxed: 1.75;

    /* ===== TYPOGRAPHY — LETTER-SPACING ===== */
    --theme-letter-spacing-tight: 0.5px;
    --theme-letter-spacing-normal: 0.02em;
    --theme-letter-spacing-wide: 0.05em;

    /* ===== TYPOGRAPHY — FONT WEIGHTS ===== */
    --theme-font-normal: 400;
    --theme-font-medium: 500;
    --theme-font-semibold: 600;
    --theme-font-bold: 700;

    /* ===== HEADER ===== */
    --theme-header-bg: #ffffff;
    --theme-nav-link-color: #3d3429;

    /* ===== SIDEBAR ===== */
    --theme-sidebar-bg: #fdfcfa;
    --theme-sidebar-text: #3d3429;
    --theme-sidebar-text-hover: #1a1510;
    --theme-sidebar-active-bg: #e8f5ed;
    --theme-sidebar-hover-bg: #faf8f5;
    --theme-sidebar-border: #e8dcc8;
    --theme-sidebar-section-text: #7a6f5f;

    /* ===== TOPBAR ===== */
    --theme-topbar-bg: #004420;
    --theme-topbar-text: rgba(255, 255, 255, 0.9);
    --theme-topbar-border: rgba(201, 169, 98, 0.3);

    /* ===== FOOTER ===== */
    --theme-footer-bg: #0b2b1a;
    --theme-footer-text: #dceee4;
    --theme-footer-text-muted: #7faa92;
    --theme-footer-link: #b8d4c4;
    --theme-footer-border: rgba(16, 185, 129, 0.2);

    /* ===== CARD ===== */
    --theme-card-bg: #ffffff;
    --theme-card-bg-rgb: 255, 255, 255;

    /* ===== MODAL ===== */
    --theme-modal-bg: #ffffff;
    --theme-modal-backdrop: rgba(26,21,16,0.65);

    /* ===== TABLES ===== */
    --theme-table-header-bg: #faf8f5;
    --theme-table-border: #e8dcc8;
    --theme-table-hover-bg: #f5f2ec;

    /* ===== SCROLLBAR ===== */
    --theme-scrollbar-track: #f5f2ec;
    --theme-scrollbar-thumb: #d4c4a8;
    --theme-scrollbar-thumb-hover: #c9a962;

    /* ===== BREADCRUMB ===== */
    --theme-breadcrumb-bg: #faf8f5;
    --theme-breadcrumb-name: #1a1510;
    --theme-breadcrumb-link: #7a6f5f;
    --theme-breadcrumb-link-hover: #006c35;

    /* ===== FOCUS + SELECTION ===== */
    --theme-focus-ring: rgba(0, 108, 53, 0.3);
    --theme-selection-bg: #e8f5ed;
    --theme-selection-text: #1a1510;

    /* ===== OVERLAYS ===== */
    --theme-overlay-bg: rgba(0, 0, 0, 0.5);
    --theme-overlay-light: rgba(0, 0, 0, 0.05);
    --theme-overlay-medium: rgba(0, 0, 0, 0.1);
    --theme-overlay-strong: rgba(0, 0, 0, 0.25);
    --theme-overlay-heavy: rgba(0, 0, 0, 0.6);

    /* ===== GRADIENTS - derived from theme primaries ===== */
    --gradient-primary: linear-gradient(135deg, var(--theme-primary-hover) 0%, var(--theme-primary) 100%);
    --gradient-secondary: linear-gradient(135deg, var(--theme-secondary-hover) 0%, var(--theme-secondary) 100%);
    --gradient-success: linear-gradient(135deg, var(--theme-success-hover) 0%, var(--theme-success) 100%);
    --gradient-warning: linear-gradient(135deg, var(--theme-warning-hover) 0%, var(--theme-warning) 100%);
    --gradient-danger: linear-gradient(135deg, var(--theme-danger-hover) 0%, var(--theme-danger) 100%);
    --gradient-info: linear-gradient(135deg, var(--theme-info-hover) 0%, var(--theme-info) 100%);
    --gradient-dark: linear-gradient(135deg, var(--theme-bg-dark) 0%, color-mix(in srgb, var(--theme-bg-dark) 80%, #000) 100%);

    /* ===== GRADIENT SHADOWS - derived via *-rgb tokens ===== */
    --shadow-primary: 0 4px 14px rgba(var(--theme-primary-rgb), 0.25);
    --shadow-secondary: 0 4px 14px rgba(var(--theme-secondary-rgb), 0.25);
    --shadow-success: 0 4px 14px rgba(var(--theme-success-rgb), 0.25);
    --shadow-warning: 0 4px 14px rgba(var(--theme-warning-rgb), 0.25);
    --shadow-danger: 0 4px 14px rgba(var(--theme-danger-rgb), 0.25);
    --shadow-info: 0 4px 14px rgba(var(--theme-info-rgb), 0.25);

    /* ===== SEMANTIC MAPPING ===== */
    /* Text Colors */
    --text-primary: var(--theme-text-primary);
    --text-secondary: var(--theme-text-secondary);
    --text-muted: var(--theme-text-muted);
    --text-inverse: var(--theme-text-white);

    /* Action Colors */
    --action-primary: var(--theme-primary);
    --action-primary-hover: var(--theme-primary-hover);
    --action-secondary: var(--theme-secondary);
    --action-success: var(--theme-success);
    --action-warning: var(--theme-warning);
    --action-danger: var(--theme-danger);
    --action-info: var(--theme-info);

    /* Surface Colors */
    --surface-page: var(--theme-bg-body);
    --surface-card: var(--theme-card-bg);
    --surface-elevated: var(--theme-bg-light);
    --surface-primary: var(--theme-card-bg);
    --surface-secondary: var(--theme-bg-light);
    --bg-primary: var(--theme-card-bg);
    --bg-secondary: var(--theme-bg-light);

    /* Border Colors */
    --border-default: var(--theme-border);
    --border-light: var(--theme-border-light);

    /* Status Light Colors */
    --success-light: var(--theme-success-light);
    --warning-light: var(--theme-warning-light);
    --danger-light: var(--theme-danger-light);
    --info-light: var(--theme-info-light);

    /* Status Dark Colors (for text on light backgrounds) */
    --success-dark: var(--theme-success-dark);
    --warning-dark: var(--theme-warning-dark);
    --danger-dark: var(--theme-danger-dark);
    --info-dark: var(--theme-info-dark);

    /* Status Text Colors (semantic — for status-tinted text) */
    --text-success: var(--theme-success);
    --text-warning: var(--theme-warning);
    --text-danger: var(--theme-danger);
    --text-info: var(--theme-info);
}

/* ===== TEXT SELECTION (operator-themed) ===== */
::selection { background-color: var(--theme-selection-bg); color: var(--theme-selection-text); }
::-moz-selection { background-color: var(--theme-selection-bg); color: var(--theme-selection-text); }

/* ===== SCROLLBAR STYLING ===== */
::-webkit-scrollbar { width: var(--chassis-scrollbar-width); height: var(--chassis-scrollbar-width); }
::-webkit-scrollbar-track { background: var(--theme-scrollbar-track); }
::-webkit-scrollbar-thumb { background: var(--theme-scrollbar-thumb); border-radius: var(--chassis-radius); }
::-webkit-scrollbar-thumb:hover { background: var(--theme-scrollbar-thumb-hover); }

/* ===== BODY STYLING ===== */
body {
    font-family: var(--theme-font-primary);
    font-size: var(--theme-font-size-base);
    line-height: var(--theme-line-height);
    color: var(--theme-text-primary);
    background-color: var(--theme-bg-body);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--theme-font-heading);
}