/**
 * Bootstrap Variable Overrides - Minimal Design System
 * ALL theming variables centralized here
 * Only overrides for components actually used in the application
 * Minimal use of shadows and animations
 * Load this AFTER Bootstrap but BEFORE custom styles
 */

:root {
    /* ============================================
       CUSTOM DESIGN TOKENS (Non-Bootstrap)
       Used by custom components
       ============================================ */

    /* Grayscale palette */
    --gray-50: #fafafa;
    --gray-100: #f5f5f5;
    --gray-200: #e5e5e5;
    --gray-300: #d4d4d4;
    --gray-400: #a3a3a3;
    --gray-500: #737373;
    --gray-600: #525252;
    --gray-700: #404040;
    --gray-800: #262626;
    --gray-900: #171717;
    --white: #ffffff;
    --black: #000000;

    /* Semantic colors (for custom components) */
    --color-success: #059669;
    --color-success-light: #d1fae5;
    --color-success-border: #6ee7b7;

    --color-warning: #d97706;
    --color-warning-light: #fef3c7;
    --color-warning-border: #fbbf24;

    --color-danger: #dc2626;
    --color-danger-light: #fee2e2;
    --color-danger-border: #fca5a5;

    --color-info: #0284c7;
    --color-info-light: #e0f2fe;
    --color-info-border: #7dd3fc;

    /* Primary/Interactive */
    --color-primary: #171717;
    --color-secondary: #525252;

    /* Backgrounds */
    --bg-primary: #ffffff;
    --bg-secondary: #fafafa;
    --bg-tertiary: #f5f5f5;
    --bg-hover: #f5f5f5;
    --bg-active: #e5e5e5;

    /* Borders */
    --border-light: #e5e5e5;
    --border-medium: #d4d4d4;
    --border-dark: #a3a3a3;
    --border-active: #404040;

    /* Text */
    --text-primary: #171717;
    --text-secondary: #525252;
    --text-muted: #737373;
    --text-disabled: #a3a3a3;

    /* Spacing scale */
    --spacing-0: 0;
    --spacing-1: 0.25rem;
    --spacing-2: 0.5rem;
    --spacing-3: 0.75rem;
    --spacing-4: 1rem;
    --spacing-5: 1.25rem;
    --spacing-6: 1.5rem;
    --spacing-8: 2rem;
    --spacing-10: 2.5rem;
    --spacing-12: 3rem;

    /* Semantic spacing */
    --spacing-xs: var(--spacing-1);
    --spacing-sm: var(--spacing-2);
    --spacing-md: var(--spacing-3);
    --spacing-lg: var(--spacing-4);
    --spacing-xl: var(--spacing-6);
    --spacing-2xl: var(--spacing-8);

    /* Border radius */
    --radius-none: 0;
    --radius-sm: 0.25rem;
    --radius-base: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;

    /* Typography */
    --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-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;

    /* Transitions - fast only, no animations */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;

    /* Z-index scale */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-tooltip: 1070;

    /* ============================================
       BOOTSTRAP CORE OVERRIDES
       ============================================ */

    /* Semantic colors */
    --bs-success: #059669;
    --bs-success-rgb: 5, 150, 105;
    --bs-success-text-emphasis: #065f46;
    --bs-success-bg-subtle: #d1fae5;
    --bs-success-border-subtle: #6ee7b7;

    --bs-warning: #d97706;
    --bs-warning-rgb: 217, 119, 6;
    --bs-warning-text-emphasis: #92400e;
    --bs-warning-bg-subtle: #fef3c7;
    --bs-warning-border-subtle: #fbbf24;

    --bs-danger: #dc2626;
    --bs-danger-rgb: 220, 38, 38;
    --bs-danger-text-emphasis: #991b1b;
    --bs-danger-bg-subtle: #fee2e2;
    --bs-danger-border-subtle: #fca5a5;

    --bs-info: #0284c7;
    --bs-info-rgb: 2, 132, 199;
    --bs-info-text-emphasis: #075985;
    --bs-info-bg-subtle: #e0f2fe;
    --bs-info-border-subtle: #7dd3fc;

    --bs-primary: #171717;
    --bs-primary-rgb: 23, 23, 23;
    --bs-primary-text-emphasis: #0d0d0d;
    --bs-primary-bg-subtle: #f5f5f5;
    --bs-primary-border-subtle: #e5e5e5;

    --bs-secondary: #525252;
    --bs-secondary-rgb: 82, 82, 82;
    --bs-secondary-text-emphasis: #404040;
    --bs-secondary-bg-subtle: #f5f5f5;
    --bs-secondary-border-subtle: #e5e5e5;

    /* Grayscale palette */
    --bs-gray: #737373;
    --bs-gray-dark: #262626;
    --bs-gray-100: #fafafa;
    --bs-gray-200: #f5f5f5;
    --bs-gray-300: #e5e5e5;
    --bs-gray-400: #d4d4d4;
    --bs-gray-500: #a3a3a3;
    --bs-gray-600: #737373;
    --bs-gray-700: #525252;
    --bs-gray-800: #404040;
    --bs-gray-900: #262626;

    /* Spacing */
    --bs-spacer: 1rem;
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;

    /* Border radius */
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.75rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 1.5rem;
    --bs-border-radius-pill: 50rem;

    /* Borders */
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #e5e5e5;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);

    /* Body */
    --bs-body-color: #171717;
    --bs-body-color-rgb: 23, 23, 23;
    --bs-body-bg: #ffffff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;

    --bs-emphasis-color: #171717;
    --bs-emphasis-color-rgb: 23, 23, 23;

    --bs-secondary-color: #525252;
    --bs-secondary-color-rgb: 82, 82, 82;
    --bs-secondary-bg: #f5f5f5;
    --bs-secondary-bg-rgb: 245, 245, 245;

    --bs-tertiary-color: rgba(82, 82, 82, 0.6);
    --bs-tertiary-color-rgb: 82, 82, 82;
    --bs-tertiary-bg: #fafafa;
    --bs-tertiary-bg-rgb: 250, 250, 250;

    /* Typography */
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --bs-font-monospace: "Monaco", "Menlo", "Consolas", monospace;
    --bs-heading-color: #171717;

    /* Links */
    --bs-link-color: #171717;
    --bs-link-color-rgb: 23, 23, 23;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #404040;
    --bs-link-hover-color-rgb: 64, 64, 64;

    /* Shadows - Minimal */
    --bs-box-shadow: none;
    --bs-box-shadow-sm: none;
    --bs-box-shadow-lg: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
    --bs-box-shadow-inset: inset 0 1px 1px rgba(0, 0, 0, 0.05);

    /* ============================================
       FORMS
       ============================================ */
    --bs-form-text-color: #737373;
    --bs-form-control-bg: #ffffff;
    --bs-form-control-disabled-bg: #f5f5f5;
    --bs-form-control-color: #171717;
    --bs-form-control-border-color: #d4d4d4;
    --bs-form-control-border-width: 1px;
    --bs-form-control-border-radius: 0.375rem;
    --bs-form-control-focus-border-color: #404040;
    --bs-form-control-focus-box-shadow: 0 0 0 3px rgba(64, 64, 64, 0.1);

    --bs-input-padding-y: 0.75rem;
    --bs-input-padding-x: 1rem;
    --bs-input-font-size: 1rem;
    --bs-input-border-radius: 0.375rem;
    --bs-input-focus-border-color: #404040;
    --bs-input-focus-box-shadow: 0 0 0 3px rgba(64, 64, 64, 0.1);

    /* ============================================
       BUTTONS
       ============================================ */
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: 0.75rem;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-font-weight: 500;
    --bs-btn-line-height: 1.25;
    --bs-btn-border-radius: 0.375rem;
    --bs-btn-border-width: 1px;
    --bs-btn-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --bs-btn-disabled-opacity: 0.5;
    --bs-btn-focus-box-shadow: 0 0 0 3px rgba(64, 64, 64, 0.15);

    /* Button sizes */
    --bs-btn-padding-y-sm: 0.5rem;
    --bs-btn-padding-x-sm: 0.75rem;
    --bs-btn-font-size-sm: 0.75rem;
    --bs-btn-border-radius-sm: 0.25rem;

    --bs-btn-padding-y-lg: 1rem;
    --bs-btn-padding-x-lg: 1.25rem;
    --bs-btn-font-size-lg: 1rem;
    --bs-btn-border-radius-lg: 0.5rem;

    /* ============================================
       NAVBARS
       ============================================ */
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0.75rem;
    --bs-navbar-color: #525252;
    --bs-navbar-hover-color: #171717;
    --bs-navbar-disabled-color: #a3a3a3;
    --bs-navbar-active-color: #171717;
    --bs-navbar-brand-padding-y: 0.5rem;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-brand-font-size: 1.25rem;
    --bs-navbar-brand-color: #171717;
    --bs-navbar-brand-hover-color: #171717;
    --bs-navbar-nav-link-padding-x: 0.75rem;
    --bs-navbar-toggler-padding-y: 0.5rem;
    --bs-navbar-toggler-padding-x: 0.75rem;
    --bs-navbar-toggler-font-size: 1rem;
    --bs-navbar-toggler-border-radius: 0.375rem;

    /* ============================================
       DROPDOWNS
       ============================================ */
    --bs-dropdown-min-width: 10rem;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: 0.5rem;
    --bs-dropdown-spacer: 0.125rem;
    --bs-dropdown-font-size: 0.875rem;
    --bs-dropdown-color: #171717;
    --bs-dropdown-bg: #ffffff;
    --bs-dropdown-border-color: #e5e5e5;
    --bs-dropdown-border-radius: 0.5rem;
    --bs-dropdown-border-width: 1px;
    --bs-dropdown-divider-bg: #f5f5f5;
    --bs-dropdown-divider-margin-y: 0.5rem;
    --bs-dropdown-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
    --bs-dropdown-link-color: #262626;
    --bs-dropdown-link-hover-color: #171717;
    --bs-dropdown-link-hover-bg: #fafafa;
    --bs-dropdown-link-active-color: #ffffff;
    --bs-dropdown-link-active-bg: #171717;
    --bs-dropdown-link-disabled-color: #a3a3a3;
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: 0.5rem;
    --bs-dropdown-header-color: #737373;
    --bs-dropdown-header-padding-x: 1rem;
    --bs-dropdown-header-padding-y: 0.5rem;

    /* ============================================
       CARDS
       ============================================ */
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: #171717;
    --bs-card-subtitle-color: #737373;
    --bs-card-border-width: 1px;
    --bs-card-border-color: #e5e5e5;
    --bs-card-border-radius: 0.5rem;
    --bs-card-box-shadow: none;
    --bs-card-inner-border-radius: calc(0.5rem - 1px);
    --bs-card-cap-padding-y: 0.75rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: #fafafa;
    --bs-card-cap-color: #171717;
    --bs-card-bg: #ffffff;

    /* ============================================
       MODALS
       ============================================ */
    --bs-modal-padding: 1.5rem;
    --bs-modal-margin: 0.5rem;
    --bs-modal-color: #171717;
    --bs-modal-bg: #ffffff;
    --bs-modal-border-color: #e5e5e5;
    --bs-modal-border-width: 1px;
    --bs-modal-border-radius: 0.75rem;
    --bs-modal-box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
    --bs-modal-inner-border-radius: calc(0.75rem - 1px);
    --bs-modal-header-padding-y: 1.25rem;
    --bs-modal-header-padding-x: 1.5rem;
    --bs-modal-header-padding: 1.25rem 1.5rem;
    --bs-modal-header-border-color: #e5e5e5;
    --bs-modal-header-border-width: 1px;
    --bs-modal-title-line-height: 1.25;
    --bs-modal-footer-gap: 0.75rem;
    --bs-modal-footer-bg: #fafafa;
    --bs-modal-footer-border-color: #e5e5e5;
    --bs-modal-footer-border-width: 1px;

    /* ============================================
       TABLES
       ============================================ */
    --bs-table-color: #171717;
    --bs-table-bg: transparent;
    --bs-table-border-color: #e5e5e5;
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: #171717;
    --bs-table-striped-bg: #fafafa;
    --bs-table-active-color: #171717;
    --bs-table-active-bg: #f5f5f5;
    --bs-table-hover-color: #171717;
    --bs-table-hover-bg: #fafafa;

    /* ============================================
       BADGES
       ============================================ */
    --bs-badge-padding-x: 0.75rem;
    --bs-badge-padding-y: 0.35rem;
    --bs-badge-font-size: 0.75rem;
    --bs-badge-font-weight: 500;
    --bs-badge-color: #ffffff;
    --bs-badge-border-radius: 50rem;

    /* ============================================
       ALERTS
       ============================================ */
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: 1rem;
    --bs-alert-margin-bottom: 1rem;
    --bs-alert-border-radius: 0.5rem;
    --bs-alert-border-width: 1px;

    /* ============================================
       TOASTS
       ============================================ */
    --bs-toast-padding-x: 0.75rem;
    --bs-toast-padding-y: 0.5rem;
    --bs-toast-font-size: 0.875rem;
    --bs-toast-color: #171717;
    --bs-toast-bg: #ffffff;
    --bs-toast-border-width: 1px;
    --bs-toast-border-color: rgba(0, 0, 0, 0.1);
    --bs-toast-border-radius: 0.5rem;
    --bs-toast-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
    --bs-toast-header-color: #737373;
    --bs-toast-header-bg: #fafafa;
    --bs-toast-header-border-color: rgba(0, 0, 0, 0.05);
}

/* ============================================
   BUTTON VARIANTS - Only Used Variants
   ============================================ */

/* Primary Button */
.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #171717;
    --bs-btn-border-color: #171717;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #262626;
    --bs-btn-hover-border-color: #262626;
    --bs-btn-focus-shadow-rgb: 23, 23, 23;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #404040;
    --bs-btn-active-border-color: #404040;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #171717;
    --bs-btn-disabled-border-color: #171717;
}

/* Secondary Button */
.btn-secondary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #525252;
    --bs-btn-border-color: #525252;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #404040;
    --bs-btn-hover-border-color: #404040;
    --bs-btn-focus-shadow-rgb: 82, 82, 82;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #262626;
    --bs-btn-active-border-color: #262626;
}

/* Outline Secondary (most commonly used) */
.btn-outline-secondary {
    --bs-btn-color: #525252;
    --bs-btn-border-color: #d4d4d4;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #525252;
    --bs-btn-hover-border-color: #525252;
    --bs-btn-focus-shadow-rgb: 82, 82, 82;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #525252;
}

/* ============================================
   NAV TABS
   ============================================ */
.nav-tabs {
    --bs-nav-tabs-border-width: 1px;
    --bs-nav-tabs-border-color: #e5e5e5;
    --bs-nav-tabs-border-radius: 0.375rem;
    --bs-nav-tabs-link-hover-border-color: #f5f5f5 #f5f5f5 #e5e5e5;
    --bs-nav-tabs-link-active-color: #171717;
    --bs-nav-tabs-link-active-bg: #ffffff;
    --bs-nav-tabs-link-active-border-color: #e5e5e5 #e5e5e5 #ffffff;
}

.nav-tabs .nav-link {
    color: #737373;
    padding: 0.75rem 1rem;
    font-weight: 500;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    color: #171717;
    background-color: #fafafa;
}

.nav-tabs .nav-link.active {
    color: #171717;
    font-weight: 600;
}

/* ============================================
   ALERTS - Semantic Colors
   ============================================ */
.alert-success {
    --bs-alert-color: #065f46;
    --bs-alert-bg: #d1fae5;
    --bs-alert-border-color: #6ee7b7;
}

.alert-warning {
    --bs-alert-color: #92400e;
    --bs-alert-bg: #fef3c7;
    --bs-alert-border-color: #fbbf24;
}

.alert-danger {
    --bs-alert-color: #991b1b;
    --bs-alert-bg: #fee2e2;
    --bs-alert-border-color: #fca5a5;
}

.alert-info {
    --bs-alert-color: #075985;
    --bs-alert-bg: #e0f2fe;
    --bs-alert-border-color: #7dd3fc;
}

/* ============================================
   BADGE VARIANTS
   ============================================ */
.badge.bg-success {
    background-color: #059669 !important;
}

.badge.bg-warning {
    background-color: #d97706 !important;
}

.badge.bg-danger {
    background-color: #dc2626 !important;
}

.badge.bg-info {
    background-color: #0284c7 !important;
}

.badge.bg-primary {
    background-color: #171717 !important;
}

/* ============================================
   TEXT & BG UTILITIES
   ============================================ */
.text-success {
    color: #059669 !important;
}

.text-warning {
    color: #d97706 !important;
}

.text-danger {
    color: #dc2626 !important;
}

.text-info {
    color: #0284c7 !important;
}

.bg-success {
    background-color: #059669 !important;
}

.bg-warning {
    background-color: #d97706 !important;
}

.bg-danger {
    background-color: #dc2626 !important;
}

.bg-info {
    background-color: #0284c7 !important;
}

/* ============================================
   FOCUS STATES
   ============================================ */
.form-control:focus,
.form-select:focus,
.btn:focus,
.btn:focus-visible {
    border-color: #404040;
    box-shadow: 0 0 0 3px rgba(64, 64, 64, 0.15);
}

/* ============================================
   HOVER STATES - Background/Border only
   ============================================ */
.btn:hover:not(:disabled) {
    transform: none;
}

.nav-link:hover {
    background-color: var(--bg-hover);
}

/* ============================================
   REMOVE SHADOWS
   ============================================ */
.shadow,
.shadow-sm {
    box-shadow: none !important;
}

.shadow-lg {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05) !important;
}
