/* Delphi Database System - Theme Styles */ /* Light Theme (Default) */ :root { --delphi-primary: #0d6efd; --delphi-primary-dark: #0b5ed7; --delphi-primary-light: #6ea8fe; --delphi-secondary: #6c757d; --delphi-success: #198754; --delphi-info: #0dcaf0; --delphi-warning: #ffc107; --delphi-danger: #dc3545; --delphi-light: #f8f9fa; --delphi-dark: #212529; /* Background colors */ --bg-primary: #ffffff; --bg-secondary: #f8f9fa; --bg-tertiary: #e9ecef; /* Text colors */ --text-primary: #212529; --text-secondary: #6c757d; --text-muted: #868e96; /* Border colors */ --border-color: #dee2e6; --border-light: #f8f9fa; /* Shadow */ --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); } /* Dark Theme */ [data-theme="dark"] { --delphi-primary: #6ea8fe; --delphi-primary-dark: #0b5ed7; --delphi-primary-light: #9ec5fe; --delphi-secondary: #adb5bd; --delphi-success: #20c997; --delphi-info: #39d7f0; --delphi-warning: #ffcd39; --delphi-danger: #ea868f; --delphi-light: #495057; --delphi-dark: #f8f9fa; /* Background colors */ --bg-primary: #212529; --bg-secondary: #343a40; --bg-tertiary: #495057; /* Text colors */ --text-primary: #f8f9fa; --text-secondary: #adb5bd; --text-muted: #6c757d; /* Border colors */ --border-color: #495057; --border-light: #343a40; /* Shadow */ --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.25); --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.35); --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.45); } /* High Contrast Theme */ [data-theme="high-contrast"] { --delphi-primary: #0000ff; --delphi-primary-dark: #000080; --delphi-primary-light: #4040ff; --delphi-secondary: #808080; --delphi-success: #008000; --delphi-info: #008080; --delphi-warning: #ff8000; --delphi-danger: #ff0000; --delphi-light: #ffffff; --delphi-dark: #000000; /* Background colors */ --bg-primary: #ffffff; --bg-secondary: #f0f0f0; --bg-tertiary: #e0e0e0; /* Text colors */ --text-primary: #000000; --text-secondary: #404040; --text-muted: #606060; /* Border colors */ --border-color: #000000; --border-light: #808080; /* Shadow */ --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.5); --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.7); --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.8); } /* Apply theme variables to components */ body { background-color: var(--bg-secondary); color: var(--text-primary); } .card { background-color: var(--bg-primary); border-color: var(--border-color); box-shadow: var(--shadow-sm); } .navbar-dark { background-color: var(--delphi-primary) !important; } .table { background-color: var(--bg-primary); color: var(--text-primary); } .table th { background-color: var(--delphi-primary); border-color: var(--border-color); } .table td { border-color: var(--border-color); } .form-control { background-color: var(--bg-primary); border-color: var(--border-color); color: var(--text-primary); } .form-control:focus { border-color: var(--delphi-primary); box-shadow: 0 0 0 0.2rem rgba(var(--delphi-primary), 0.25); } .modal-content { background-color: var(--bg-primary); border-color: var(--border-color); } .modal-header { background-color: var(--delphi-primary); border-color: var(--border-color); } .btn-primary { background-color: var(--delphi-primary); border-color: var(--delphi-primary); } .btn-primary:hover { background-color: var(--delphi-primary-dark); border-color: var(--delphi-primary-dark); } .alert { border-color: var(--border-color); } /* Theme transition */ * { transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; } /* Print styles */ @media print { :root { --delphi-primary: #000000; --bg-primary: #ffffff; --bg-secondary: #ffffff; --text-primary: #000000; --border-color: #000000; } .navbar, .btn, .modal, .alert { display: none !important; } .card { border: 1px solid #000000; box-shadow: none; } } /* Reduced motion preferences */ @media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }