/* TimeTracker Modern Theme Template - Enhanced CSS Variables */
/* This file contains the complete modern theme system used in TimeTracker */
/* It can be used as a template for future customizations while maintaining consistency */

/* ===== MODERN LIGHT THEME VARIABLES ===== */
:root {
    /* Primary Color Palette - Enhanced Modern Blue */
    --primary-color: #3b82f6;           /* Main brand color - Modern Blue */
    --primary-dark: #2563eb;            /* Darker shade for hover states */
    --primary-light: #93c5fd;           /* Lighter shade for subtle accents */
    --primary-50: #eff6ff;              /* Ultra light blue */
    --primary-100: #dbeafe;             /* Very light blue */
    --primary-200: #bfdbfe;             /* Light blue */
    --primary-300: #93c5fd;             /* Medium light blue */
    --primary-400: #60a5fa;             /* Medium blue */
    --primary-500: #3b82f6;             /* Base blue */
    --primary-600: #2563eb;             /* Medium dark blue */
    --primary-700: #1d4ed8;             /* Dark blue */
    --primary-800: #1e40af;             /* Very dark blue */
    --primary-900: #1e3a8a;             /* Ultra dark blue */
    
    /* Semantic Color System */
    --secondary-color: #64748b;         /* Neutral gray for secondary elements */
    --success-color: #10b981;           /* Enhanced green for success states */
    --success-light: #d1fae5;           /* Light success background */
    --danger-color: #ef4444;            /* Enhanced red for error/danger states */
    --danger-light: #fee2e2;            /* Light danger background */
    --warning-color: #f59e0b;           /* Enhanced orange for warning states */
    --warning-light: #fef3c7;           /* Light warning background */
    --info-color: #06b6d4;              /* Enhanced cyan for informational states */
    --info-light: #cffafe;              /* Light info background */
    
    /* Neutral Color Palette - Enhanced */
    --gray-50: #f9fafb;                 /* Ultra light gray */
    --gray-100: #f3f4f6;               /* Very light gray */
    --gray-200: #e5e7eb;               /* Light gray */
    --gray-300: #d1d5db;               /* Medium light gray */
    --gray-400: #9ca3af;               /* Medium gray */
    --gray-500: #6b7280;               /* Base gray */
    --gray-600: #4b5563;               /* Medium dark gray */
    --gray-700: #374151;               /* Dark gray */
    --gray-800: #1f2937;               /* Very dark gray */
    --gray-900: #111827;               /* Ultra dark gray */
    
    /* Background Colors - Modern Hierarchy */
    --dark-color: #1e293b;             /* Dark backgrounds */
    --light-color: #f8fafc;            /* Light backgrounds */
    --body-bg: #ffffff;                /* Main body background */
    --surface-color: #ffffff;          /* Surface backgrounds */
    --surface-variant: #f8fafc;        /* Variant surface backgrounds */
    --surface-hover: #f1f5f9;          /* Hover surface backgrounds */
    --surface-pressed: #e2e8f0;        /* Pressed surface backgrounds */
    
    /* Border and Divider Colors - Refined */
    --border-color: #e2e8f0;           /* Standard borders */
    --border-light: #f1f5f9;           /* Light borders */
    --border-strong: #cbd5e1;          /* Strong borders */
    --divider-color: #e2e8f0;          /* Divider lines */
    
    /* Text Colors - Improved Hierarchy */
    --text-primary: #1e293b;           /* Primary text color */
    --text-secondary: #475569;         /* Secondary text color */
    --text-tertiary: #64748b;          /* Tertiary text color */
    --text-muted: #9ca3af;             /* Muted text color */
    --text-on-primary: #ffffff;        /* Text on primary backgrounds */
    --text-on-dark: #f8fafc;           /* Text on dark backgrounds */
    
    /* Component Backgrounds - Enhanced */
    --navbar-bg: rgba(255, 255, 255, 0.95);  /* Glass navigation bar */
    --navbar-border: rgba(226, 232, 240, 0.6); /* Navigation border */
    --dropdown-bg: #ffffff;            /* Dropdown menu background */
    --card-bg: #ffffff;                /* Card background */
    --input-bg: #ffffff;               /* Input background */
    --input-border: #d1d5db;           /* Input border */
    --input-focus: #3b82f6;            /* Input focus color */
    
    /* Visual Effects - Modern Shadows and Gradients */
    --bg-gradient: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    --bg-gradient-subtle: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    --card-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    --card-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    --card-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --focus-ring: 0 0 0 3px rgba(59, 130, 246, 0.12);
    --focus-ring-danger: 0 0 0 3px rgba(239, 68, 68, 0.12);
    --focus-ring-success: 0 0 0 3px rgba(16, 185, 129, 0.12);
    
    /* Spacing and Layout - Refined System */
    --border-radius: 8px;              /* Standard border radius */
    --border-radius-lg: 12px;          /* Large border radius */
    --border-radius-sm: 6px;           /* Small border radius */
    --border-radius-xs: 4px;           /* Extra small border radius */
    --border-radius-full: 9999px;      /* Full border radius (circular) */
    --section-spacing: 2.5rem;         /* Section spacing */
    --card-spacing: 1.5rem;            /* Card spacing */
    --mobile-section-spacing: 1.5rem; /* Mobile section spacing */
    --mobile-card-spacing: 1rem;      /* Mobile card spacing */
    --navbar-height: 72px;             /* Navigation bar height */
    --container-padding: 1.5rem;       /* Container padding */
    --grid-gap: 1.5rem;                /* Grid gap */
    --grid-gap-sm: 1rem;               /* Small grid gap */
    
    /* Transitions and Animations - Enhanced */
    --transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-bounce: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --animation-duration: 0.3s;
    --animation-timing: cubic-bezier(0.4, 0, 0.2, 1);
    
    /* Typography - Enhanced Scale */
    --font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-family-mono: 'SF Mono', Monaco, Inconsolata, 'Roboto Mono', 'Source Code Pro', monospace;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;
    
    /* Interactive States */
    --hover-opacity: 0.9;
    --active-opacity: 0.95;
    --disabled-opacity: 0.5;
    --loading-opacity: 0.6;
    
    /* Z-Index Scale */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    --z-toast: 1080;
    
    /* Bootstrap Integration - Enhanced */
    --bs-body-bg: var(--body-bg);
    --bs-body-color: var(--text-primary);
    --bs-body-font-family: var(--font-family-sans);
    --bs-body-font-size: 0.95rem;
    --bs-body-line-height: var(--line-height-normal);
    --bs-card-bg: var(--card-bg);
    --bs-card-border-color: var(--border-color);
    --bs-card-border-radius: var(--border-radius);
    --bs-dropdown-bg: var(--dropdown-bg);
    --bs-dropdown-border-color: var(--border-color);
    --bs-dropdown-link-color: var(--text-secondary);
    --bs-dropdown-link-hover-bg: var(--surface-hover);
    --bs-dropdown-link-hover-color: var(--text-primary);
}

/* ===== MODERN DARK THEME VARIABLES ===== */
[data-theme="dark"] {
    /* Primary Color Palette - Enhanced for dark theme */
    --primary-color: #60a5fa;           /* Lighter blue for better contrast */
    --primary-dark: #3b82f6;            /* Standard blue for hover */
    --primary-light: #93c5fd;           /* Light blue accent */
    --primary-50: #1e3a8a;              /* Dark blue (reversed) */
    --primary-100: #1e40af;             /* Very dark blue */
    --primary-200: #1d4ed8;             /* Dark blue */
    --primary-300: #2563eb;             /* Medium dark blue */
    --primary-400: #3b82f6;             /* Medium blue */
    --primary-500: #60a5fa;             /* Base blue (lighter for dark) */
    --primary-600: #93c5fd;             /* Medium light blue */
    --primary-700: #bfdbfe;             /* Light blue */
    --primary-800: #dbeafe;             /* Very light blue */
    --primary-900: #eff6ff;             /* Ultra light blue */
    
    /* Semantic Color System - Dark theme */
    --secondary-color: #94a3b8;         /* Lighter gray for visibility */
    --success-color: #34d399;           /* Brighter green for dark theme */
    --success-light: #064e3b;           /* Dark success background */
    --danger-color: #f87171;            /* Brighter red for dark theme */
    --danger-light: #7f1d1d;            /* Dark danger background */
    --warning-color: #fbbf24;           /* Brighter orange for dark theme */
    --warning-light: #78350f;           /* Dark warning background */
    --info-color: #38bdf8;              /* Brighter cyan for dark theme */
    --info-light: #164e63;              /* Dark info background */
    
    /* Neutral Color Palette - Dark theme (reversed) */
    --gray-50: #0f172a;                 /* Dark gray (reversed) */
    --gray-100: #1e293b;               /* Very dark gray */
    --gray-200: #334155;               /* Dark gray */
    --gray-300: #475569;               /* Medium dark gray */
    --gray-400: #64748b;               /* Medium gray */
    --gray-500: #94a3b8;               /* Base gray (lighter for dark) */
    --gray-600: #cbd5e1;               /* Medium light gray */
    --gray-700: #e2e8f0;               /* Light gray */
    --gray-800: #f1f5f9;               /* Very light gray */
    --gray-900: #f8fafc;               /* Ultra light gray */
    
    /* Background Colors - Dark theme specific */
    --dark-color: #0f172a;             /* Very dark blue-gray */
    --light-color: #1e293b;            /* Dark blue-gray */
    --body-bg: #0b1220;                /* Main dark background */
    --surface-color: #0f172a;          /* Surface backgrounds */
    --surface-variant: #1e293b;        /* Variant surface backgrounds */
    --surface-hover: #334155;          /* Hover surface backgrounds */
    --surface-pressed: #475569;        /* Pressed surface backgrounds */
    
    /* Border and Divider Colors - Dark theme */
    --border-color: #334155;           /* Dark borders with better contrast */
    --border-light: #1e293b;           /* Light borders for dark theme */
    --border-strong: #475569;          /* Strong borders for dark theme */
    --divider-color: #334155;          /* Divider lines */
    
    /* Text Colors - Dark theme */
    --text-primary: #f1f5f9;           /* Light gray for primary text */
    --text-secondary: #cbd5e1;         /* Medium gray for secondary text */
    --text-tertiary: #94a3b8;          /* Tertiary text color */
    --text-muted: #64748b;             /* Muted gray for less important text */
    --text-on-primary: #ffffff;        /* Text on primary backgrounds */
    --text-on-dark: #0f172a;           /* Text on light backgrounds in dark theme */
    
    /* Component Backgrounds - Dark theme */
    --navbar-bg: rgba(11, 18, 32, 0.95);     /* Glass navigation bar for dark */
    --navbar-border: rgba(51, 65, 85, 0.6);  /* Navigation border for dark */
    --dropdown-bg: #0f172a;            /* Dark dropdown */
    --card-bg: #0f172a;                /* Dark cards */
    --input-bg: #1e293b;               /* Input background for dark */
    --input-border: #475569;           /* Input border for dark */
    --input-focus: #60a5fa;            /* Input focus color for dark */
    
    /* Visual Effects - Dark theme */
    --bg-gradient: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 100%);
    --bg-gradient-subtle: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    --card-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.4), 0 1px 2px -1px rgba(0, 0, 0, 0.4);
    --card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
    --card-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
    --card-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
    --focus-ring: 0 0 0 3px rgba(96, 165, 250, 0.2);
    --focus-ring-danger: 0 0 0 3px rgba(248, 113, 113, 0.2);
    --focus-ring-success: 0 0 0 3px rgba(52, 211, 153, 0.2);
    
    /* Bootstrap Integration - Dark theme */
    --bs-body-bg: var(--body-bg);
    --bs-body-color: var(--text-primary);
    --bs-body-font-family: var(--font-family-sans);
    --bs-card-bg: var(--card-bg);
    --bs-card-border-color: var(--border-color);
    --bs-dropdown-bg: var(--dropdown-bg);
    --bs-dropdown-border-color: var(--border-color);
    --bs-dropdown-link-color: var(--text-secondary);
    --bs-dropdown-link-hover-bg: var(--surface-hover);
    --bs-dropdown-link-hover-color: var(--text-primary);
}

/* ===== MOBILE-SPECIFIC VARIABLES ===== */
:root {
    /* Mobile Touch Targets and Spacing */
    --mobile-touch-target: 52px;       /* Minimum touch target size */
    --mobile-nav-height: 70px;         /* Mobile navigation height */
    --mobile-tabbar-height: 64px;      /* Bottom tab bar height */
    --mobile-card-padding: 1.25rem;    /* Mobile card padding */
    --mobile-button-height: 52px;      /* Mobile button height */
    --mobile-input-height: 56px;       /* Mobile input height */
    --mobile-border-radius: 4px;       /* Mobile border radius */
    --mobile-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    --mobile-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);
}

/* ===== ENHANCED USAGE EXAMPLES ===== */

/* Example 1: Modern Themed Card with Glass Effect */
/*
.modern-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    color: var(--text-primary);
    transition: var(--transition-slow);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: relative;
    overflow: hidden;
}

.modern-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--primary-color), transparent);
    opacity: 0;
    transition: opacity var(--transition);
}

.modern-card:hover {
    box-shadow: var(--card-shadow-hover);
    transform: translateY(-4px) scale(1.02);
    border-color: var(--primary-200);
}

.modern-card:hover::before {
    opacity: 0.8;
}
*/

/* Example 2: Enhanced Primary Button with Gradient */
/*
.btn-modern-primary {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-600) 100%);
    border: 1px solid var(--primary-color);
    color: var(--text-on-primary);
    border-radius: var(--border-radius);
    padding: 0.875rem 1.5rem;
    font-weight: var(--font-weight-medium);
    transition: var(--transition-slow);
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.2);
}

.btn-modern-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.btn-modern-primary:hover::before {
    left: 100%;
}

.btn-modern-primary:hover {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.3);
}
*/

/* Example 3: Modern Status Badge System */
/*
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.875rem;
    border-radius: var(--border-radius-full);
    font-size: 0.8rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.025em;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.status-badge--success {
    background: rgba(16, 185, 129, 0.1);
    color: var(--success-color);
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.status-badge--warning {
    background: rgba(245, 158, 11, 0.1);
    color: var(--warning-color);
    border: 1px solid rgba(245, 158, 11, 0.2);
}

.status-badge--danger {
    background: rgba(239, 68, 68, 0.1);
    color: var(--danger-color);
    border: 1px solid rgba(239, 68, 68, 0.2);
}
*/

/* Example 4: Responsive Grid with Modern Spacing */
/*
.modern-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--grid-gap);
    margin-bottom: var(--section-spacing);
}

@media (max-width: 768px) {
    .modern-grid {
        grid-template-columns: 1fr;
        gap: var(--grid-gap-sm);
        margin-bottom: var(--mobile-section-spacing);
    }
}
*/

/* Example 5: Modern Form Styling */
/*
.modern-form-group {
    margin-bottom: 1.5rem;
}

.modern-form-label {
    display: block;
    font-weight: var(--font-weight-medium);
    color: var(--text-primary);
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.modern-form-control {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 2px solid var(--input-border);
    border-radius: var(--border-radius);
    background: var(--input-bg);
    color: var(--text-primary);
    font-size: 0.95rem;
    transition: var(--transition);
    font-family: var(--font-family-sans);
}

.modern-form-control:focus {
    outline: none;
    border-color: var(--input-focus);
    box-shadow: var(--focus-ring);
    transform: translateY(-1px);
}
*/

/* ===== COMPREHENSIVE THEME CUSTOMIZATION GUIDE ===== */
/*
MODERN TIMETRACKER THEME CUSTOMIZATION GUIDE
============================================

1. COLOR SYSTEM CUSTOMIZATION:
   - Primary colors: Modify --primary-* variables for brand colors
   - Semantic colors: Adjust --success-*, --danger-*, --warning-*, --info-* for status colors
   - Neutral palette: Update --gray-* variables for consistent grayscale
   - Always maintain both light and dark theme variants

2. SPACING SYSTEM:
   - Layout spacing: --section-spacing, --card-spacing for consistent layouts
   - Component spacing: --grid-gap, --container-padding for internal spacing
   - Mobile spacing: --mobile-* variables for responsive design
   - Border radius: --border-radius-* for consistent corner styles

3. TYPOGRAPHY SYSTEM:
   - Font families: --font-family-sans, --font-family-mono
   - Font weights: --font-weight-* for consistent typography hierarchy
   - Line heights: --line-height-* for optimal readability

4. VISUAL EFFECTS:
   - Shadows: --card-shadow-* for depth and elevation
   - Gradients: --bg-gradient-* for modern visual appeal
   - Focus rings: --focus-ring-* for accessibility
   - Transitions: --transition-* for smooth interactions

5. COMPONENT CUSTOMIZATION:
   - Navigation: --navbar-* variables for header styling
   - Cards: --card-* variables for content containers
   - Forms: --input-* variables for form elements
   - Interactive states: --hover-*, --active-* for user feedback

6. MOBILE OPTIMIZATION:
   - Touch targets: --mobile-touch-target for accessibility
   - Responsive spacing: --mobile-* variables for smaller screens
   - Navigation: --mobile-nav-height, --mobile-tabbar-height

7. ACCESSIBILITY CONSIDERATIONS:
   - Maintain WCAG contrast ratios (4.5:1 for normal text, 3:1 for large text)
   - Ensure focus indicators are visible and consistent
   - Test with screen readers and keyboard navigation
   - Verify color-blind friendly combinations

8. DARK THEME BEST PRACTICES:
   - Increase contrast for better readability
   - Use appropriate shadow intensities
   - Ensure interactive elements remain discoverable
   - Test in various lighting conditions

9. CUSTOMIZATION WORKFLOW:
   - Start with color palette modifications
   - Test in both light and dark themes
   - Verify mobile responsiveness
   - Check accessibility compliance
   - Document any custom additions

10. INTEGRATION WITH BOOTSTRAP:
    - Use --bs-* variables for Bootstrap integration
    - Override Bootstrap defaults through CSS variables
    - Maintain consistency with custom components

EXAMPLE CUSTOM COLOR SCHEME:
---------------------------
For a green-themed variant, replace blue primary colors:
--primary-color: #10b981;
--primary-dark: #059669;
--primary-light: #6ee7b7;

And adjust the full color scale accordingly in both themes.

Remember to test all changes thoroughly across different devices,
browsers, and accessibility tools before deployment.
*/
