/* ==========================================================================
   CSS Custom Properties — Cannabis Finance Design System
   ========================================================================== */

:root {
    /* Brand Colors */
    --color-primary: #0d47a1;
    --color-primary-light: #1565c0;
    --color-primary-lighter: #bbdefb;
    --color-primary-lightest: #e3f2fd;
    --color-accent: #27ae60;
    --color-accent-light: #2ecc71;
    --color-accent-dark: #219a52;

    /* Text */
    --text-primary: #333;
    --text-secondary: #555;
    --text-muted: #666;
    --text-heading: #0d47a1;
    --text-link: #1565c0;

    /* Backgrounds */
    --bg-body: linear-gradient(135deg, #f5faff 0%, #e8f4fc 100%);
    --bg-body-flat: #f5faff;
    --bg-card: #ffffff;
    --bg-header: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    --bg-sidebar: linear-gradient(180deg, #0d47a1 0%, #1565c0 100%);
    --bg-footer: #0d47a1;
    --bg-input: #ffffff;
    --bg-table-header: #f5faff;
    --bg-table-hover: #f5faff;
    --bg-form-section: #f8f9fa;

    /* Borders */
    --border-color: rgba(100, 149, 237, 0.1);
    --border-color-medium: rgba(100, 149, 237, 0.2);
    --border-color-strong: rgba(100, 149, 237, 0.3);
    --border-input: rgba(100, 149, 237, 0.3);

    /* Shadows */
    --shadow-card: 0 4px 20px rgba(100, 149, 237, 0.1);
    --shadow-header: 0 2px 10px rgba(100, 149, 237, 0.1);
    --shadow-hover: 0 10px 30px rgba(100, 149, 237, 0.2);
    --shadow-btn: 0 4px 12px rgba(39, 174, 96, 0.3);

    /* Badges */
    --badge-success-bg: #d4edda;
    --badge-success-text: #155724;
    --badge-warning-bg: #fff3cd;
    --badge-warning-text: #856404;
    --badge-danger-bg: #f8d7da;
    --badge-danger-text: #721c24;
    --badge-info-bg: #e3f2fd;
    --badge-info-text: #0d47a1;
    --badge-secondary-bg: #e2e3e5;
    --badge-secondary-text: #383d41;
    --badge-primary-bg: #bbdefb;
    --badge-primary-text: #0d47a1;

    /* Alerts */
    --alert-success-bg: #d4edda;
    --alert-success-text: #155724;
    --alert-success-border: #c3e6cb;
    --alert-error-bg: #f8d7da;
    --alert-error-text: #721c24;
    --alert-error-border: #f5c6cb;
    --alert-warning-bg: #fff3cd;
    --alert-warning-text: #856404;
    --alert-warning-border: #ffeeba;
    --alert-info-bg: #e3f2fd;
    --alert-info-text: #0d47a1;
    --alert-info-border: #bbdefb;

    /* Spacing */
    --sidebar-width: 260px;
    --content-padding: 2rem;
    --card-radius: 12px;
    --btn-radius: 6px;
    --input-radius: 6px;

    /* Typography */
    --font-family: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-size-base: 0.9rem;
    --font-size-sm: 0.8rem;
    --font-size-xs: 0.75rem;
    --font-size-lg: 1.1rem;
    --font-size-xl: 1.5rem;
    --line-height: 1.6;

    /* AI Section (dark section on public pages) */
    --ai-bg: linear-gradient(135deg, #0d47a1 0%, #1565c0 50%, #0d47a1 100%);
    --ai-text: rgba(255, 255, 255, 0.9);
    --ai-heading: #2ecc71;
    --ai-feature-bg: rgba(255, 255, 255, 0.08);
    --ai-feature-border: rgba(255, 255, 255, 0.12);
    --ai-feature-text: rgba(255, 255, 255, 0.75);

    /* Footer */
    --footer-text: rgba(255,255,255,0.8);
    --footer-link: rgba(255,255,255,0.7);
    --footer-border: rgba(255,255,255,0.1);

    /* Sidebar */
    --sidebar-text: rgba(255,255,255,0.85);
    --sidebar-hover: rgba(255,255,255,0.1);
    --sidebar-user-bg: rgba(255,255,255,0.08);
    --sidebar-border: rgba(255,255,255,0.1);
    --sidebar-section-title: rgba(255,255,255,0.5);

    /* Hero banner (portal inline hero) */
    --hero-banner-bg: linear-gradient(135deg, #1a237e, #0a0e27);
    --hero-banner-text: #ffffff;
}

/* ==========================================================================
   Dark Mode Overrides
   ========================================================================== */

[data-theme="dark"] {
    --color-primary: #90caf9;
    --color-primary-light: #64b5f6;
    --color-primary-lighter: #1e3a5f;
    --color-primary-lightest: #0d1b2a;
    --color-accent: #2ecc71;
    --color-accent-light: #58d68d;
    --color-accent-dark: #27ae60;

    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --text-muted: #999;
    --text-heading: #90caf9;
    --text-link: #64b5f6;

    --bg-body: #0d1117;
    --bg-body-flat: #0d1117;
    --bg-card: #161b22;
    --bg-header: #161b22;
    --bg-sidebar: linear-gradient(180deg, #0d1117 0%, #161b22 100%);
    --bg-footer: #0d1117;
    --bg-input: #21262d;
    --bg-table-header: #161b22;
    --bg-table-hover: #1c2128;
    --bg-form-section: #161b22;

    --border-color: rgba(255, 255, 255, 0.08);
    --border-color-medium: rgba(255, 255, 255, 0.12);
    --border-color-strong: rgba(255, 255, 255, 0.2);
    --border-input: rgba(255, 255, 255, 0.15);

    --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.3);
    --shadow-header: 0 2px 10px rgba(0, 0, 0, 0.3);
    --shadow-hover: 0 10px 30px rgba(0, 0, 0, 0.4);
    --shadow-btn: 0 4px 12px rgba(39, 174, 96, 0.4);

    --badge-success-bg: #1a3a2a;
    --badge-success-text: #58d68d;
    --badge-warning-bg: #3a3520;
    --badge-warning-text: #f7dc6f;
    --badge-danger-bg: #3a1a1a;
    --badge-danger-text: #e74c3c;
    --badge-info-bg: #1a2a3a;
    --badge-info-text: #64b5f6;
    --badge-secondary-bg: #2a2d30;
    --badge-secondary-text: #adb5bd;
    --badge-primary-bg: #1a2a3a;
    --badge-primary-text: #90caf9;

    --alert-success-bg: #1a3a2a;
    --alert-success-text: #58d68d;
    --alert-success-border: #2a5a3a;
    --alert-error-bg: #3a1a1a;
    --alert-error-text: #e74c3c;
    --alert-error-border: #5a2a2a;
    --alert-warning-bg: #3a3520;
    --alert-warning-text: #f7dc6f;
    --alert-warning-border: #5a5030;
    --alert-info-bg: #1a2a3a;
    --alert-info-text: #64b5f6;
    --alert-info-border: #2a4a6a;

    --ai-bg: linear-gradient(135deg, #0d1117 0%, #161b22 50%, #0d1117 100%);
    --ai-text: rgba(255, 255, 255, 0.85);
    --ai-heading: #2ecc71;
    --ai-feature-bg: rgba(255, 255, 255, 0.05);
    --ai-feature-border: rgba(255, 255, 255, 0.08);
    --ai-feature-text: rgba(255, 255, 255, 0.65);

    --footer-text: rgba(255,255,255,0.7);
    --footer-link: rgba(255,255,255,0.6);
    --footer-border: rgba(255,255,255,0.08);

    --sidebar-text: rgba(255,255,255,0.8);
    --sidebar-hover: rgba(255,255,255,0.08);
    --sidebar-user-bg: rgba(255,255,255,0.05);
    --sidebar-border: rgba(255,255,255,0.08);
    --sidebar-section-title: rgba(255,255,255,0.4);

    --hero-banner-bg: linear-gradient(135deg, #161b22, #0d1117);
    --hero-banner-text: #e0e0e0;
}
