/* ==========================================
   BIKEEPER - CSS VARIABLES (Design Tokens)
   Sistema de variáveis para tema claro/escuro
   ========================================== */

:root {
    /* ===== Cores Primárias ===== */
    --color-primary: #01cc03;
    --color-primary-hover: #00b503;
    --color-primary-active: #009e02;
    --color-primary-light: rgba(1, 204, 3, 0.1);
    --color-primary-rgb: 1, 204, 3;

    --color-secondary: #18475a;
    --color-secondary-hover: #143d4d;
    --color-secondary-active: #103340;
    --color-secondary-light: rgba(24, 71, 90, 0.1);

    /* ===== Cores de Estado ===== */
    --color-success: #22c55e;
    --color-success-light: rgba(34, 197, 94, 0.1);
    --color-warning: #f59e0b;
    --color-warning-light: rgba(245, 158, 11, 0.1);
    --color-error: #ef4444;
    --color-error-light: rgba(239, 68, 68, 0.1);
    --color-info: #3b82f6;
    --color-info-light: rgba(59, 130, 246, 0.1);

    /* ===== Zonas de Frequência ===== */
    --zona-verde: #22c55e;
    --zona-azul: #3b82f6;
    --zona-cinza: #6b7280;

    /* ===== Tipografia ===== */
    --font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;

    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;

    /* ===== Espaçamentos ===== */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;

    /* ===== Bordas ===== */
    --border-radius-sm: 0.375rem;
    --border-radius-md: 0.5rem;
    --border-radius-lg: 0.75rem;
    --border-radius-xl: 1rem;
    --border-radius-2xl: 1.5rem;
    --border-radius-full: 9999px;

    /* ===== Transições ===== */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;
    --transition-slower: 500ms ease;

    /* ===== Layout ===== */
    --sidebar-width: 280px;
    --sidebar-collapsed-width: 80px;
    --header-height: 64px;
    --max-content-width: 1400px;

    /* ===== Z-Index ===== */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-tooltip: 600;
    --z-toast: 700;
}

/* ===== TEMA CLARO (Padrão) ===== */
:root,
[data-theme="light"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f5f5f7;
    --bg-tertiary: #e8e8ed;
    --bg-elevated: #ffffff;
    --bg-overlay: rgba(0, 0, 0, 0.4);

    --text-primary: #1d1d1f;
    --text-secondary: #6e6e73;
    --text-tertiary: #86868b;
    --text-inverse: #ffffff;
    --text-link: var(--color-primary);

    --border-color: #d2d2d7;
    --border-color-light: #e8e8ed;
    --border-color-focus: var(--color-primary);

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

    --input-bg: #ffffff;
    --input-border: #d2d2d7;
    --input-placeholder: #86868b;

    --sidebar-bg: #fafafa;
    --sidebar-border: #e8e8ed;
    --sidebar-item-hover: rgba(0, 0, 0, 0.04);
    --sidebar-item-active: var(--color-primary-light);

    --card-bg: #ffffff;
    --card-border: #e8e8ed;

    --table-header-bg: #f5f5f7;
    --table-row-hover: #f9f9f9;
    --table-border: #e8e8ed;

    --scrollbar-track: #f5f5f7;
    --scrollbar-thumb: #c7c7cc;
    --scrollbar-thumb-hover: #a1a1a6;
}

/* ===== TEMA ESCURO ===== */
[data-theme="dark"] {
    --bg-primary: #000000;
    --bg-secondary: #1c1c1e;
    --bg-tertiary: #2c2c2e;
    --bg-elevated: #1c1c1e;
    --bg-overlay: rgba(0, 0, 0, 0.7);

    --text-primary: #f5f5f7;
    --text-secondary: #a1a1a6;
    --text-tertiary: #8e8e93;
    --text-inverse: #1d1d1f;
    --text-link: #30d158;

    --border-color: #38383a;
    --border-color-light: #2c2c2e;
    --border-color-focus: var(--color-primary);

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.3);

    --input-bg: #1c1c1e;
    --input-border: #38383a;
    --input-placeholder: #8e8e93;

    --sidebar-bg: #1c1c1e;
    --sidebar-border: #38383a;
    --sidebar-item-hover: rgba(255, 255, 255, 0.06);
    --sidebar-item-active: var(--color-primary-light);

    --card-bg: #1c1c1e;
    --card-border: #38383a;

    --table-header-bg: #2c2c2e;
    --table-row-hover: #2c2c2e;
    --table-border: #38383a;

    --scrollbar-track: #1c1c1e;
    --scrollbar-thumb: #48484a;
    --scrollbar-thumb-hover: #636366;

    --color-primary: #30d158;
    --color-primary-hover: #28c74e;
    --color-primary-active: #20b844;
}
