/* Main Styles */ :root { --primary-color: #0d6efd; --secondary-color: #6c757d; --success-color: #198754; --card-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); --card-shadow-hover: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #333; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Custom Navbar Styles */ .navbar { padding: 0.75rem 1rem; } .navbar-brand { font-weight: 600; font-size: 1.25rem; } .navbar-toggler { border: none; padding: 0.25rem 0.5rem; } .navbar-toggler:focus { box-shadow: none; outline: none; } /* Card Styles */ .card { transition: transform 0.3s, box-shadow 0.3s; border: none; border-radius: 0.5rem; box-shadow: var(--card-shadow); margin-bottom: 1.5rem; overflow: hidden; } @media (min-width: 768px) { .card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); } } .card-body { padding: 1.5rem; } /* Team Member Styles */ .team-member-avatar { width: 80px; height: 80px; border-radius: 50%; background-color: var(--primary-color); color: white; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; font-size: 2rem; } /* Table Styles */ .table th { font-weight: 600; background-color: #f8f9fa; } .table-responsive { overflow-x: auto; overflow-y: hidden; } /* Dashboard Styles */ .filter-card { position: sticky; top: 80px; } @media (max-width: 767.98px) { .filter-card { position: static; margin-bottom: 1.5rem; } } /* Auth Form Styles */ .auth-form-container { max-width: 400px; margin: 0 auto; } .form-control:focus { box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); border-color: #86b7fe; } /* Footer Styles */ footer { padding: 2rem 0 1.5rem; } footer a:hover { text-decoration: underline !important; } /* Utility Classes */ .text-highlight { color: var(--primary-color); font-weight: 600; } /* Mobile-specific Styles */ @media (max-width: 575.98px) { /* Extra small devices */ .container { padding-left: 1.25rem; padding-right: 1.25rem; } h1, .h1 { font-size: 1.75rem; } h2, .h2 { font-size: 1.5rem; } .display-4 { font-size: 2rem; } .lead { font-size: 1rem; } .py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .card-body { padding: 1.25rem; } /* Improve touch targets */ .btn { padding: 0.5rem 1rem; min-height: 44px; } /* Adjust modal for mobile */ .modal-dialog { margin: 0.5rem; } /* Improve form elements for touch */ input, select, textarea { font-size: 16px !important; /* Prevents iOS zoom on focus */ } } @media (min-width: 576px) and (max-width: 767.98px) { /* Small devices */ .display-4 { font-size: 2.25rem; } .lead { font-size: 1.1rem; } } @media (min-width: 768px) and (max-width: 991.98px) { /* Medium devices */ .display-4 { font-size: 2.5rem; } } /* Accessibility Improvements */ .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* Dark mode support */ @media (prefers-color-scheme: dark) { body.dark-mode-enabled { background-color: #121212; color: #e0e0e0; } body.dark-mode-enabled .card { background-color: #1e1e1e; color: #e0e0e0; } body.dark-mode-enabled .bg-light { background-color: #1e1e1e !important; color: #e0e0e0; } } /* Print styles */ @media print { .no-print { display: none !important; } a[href]:after { content: none !important; } } /* Animations */ .fade-in { animation: fadeIn 0.5s ease-in; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* Profile & Settings Pages */ .avatar-placeholder { width: 100px; height: 100px; border-radius: 50%; background-color: var(--primary-color); color: white; display: flex; align-items: center; justify-content: center; margin: 0 auto; font-size: 2rem; } .settings-range-slider { width: 25%; } @media (max-width: 767.98px) { .settings-range-slider { width: 50%; } } .api-key-container { display: flex; align-items: center; } .api-key-container .form-control { margin-right: 0.5rem; } .theme-dark { background-color: #121212; color: #e0e0e0; } .theme-dark .card { background-color: #1e1e1e; color: #e0e0e0; } .theme-dark .bg-light { background-color: #1e1e1e !important; color: #e0e0e0; }