:root { --bg-main: #121212; --bg-surface: #1E1E1E; --border: #2C2C2C; --text-primary: #E0E0E0; --text-secondary: #A0A0A0; --accent: #2DECBF; --accent-hover: #58FFCF; } html, body { background-color: var(--bg-main); color: var(--text-primary); margin: 0; padding: 0; font-family: "Vazirmatn", sans-serif; height: 100%; } body, .container, .container-fluid, .row, .col, main { background-color: var(--bg-main) !important; color: var(--text-primary) !important; } .navbar { background-color: var(--bg-surface) !important; border-bottom: 1px solid var(--border); } .navbar-brand { color: var(--accent) !important; font-weight: bold; } .card { background-color: var(--bg-surface) !important; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.6); color: var(--text-primary); } .card-header { background-color: var(--bg-surface) !important; border-bottom: 1px solid var(--border); font-weight: 600; color: var(--text-primary); } .btn-primary { background-color: var(--accent); border: none; color: #000000; font-weight: 600; border-radius: 6px; transition: background-color 0.2s, transform 0.1s; } .btn-primary:hover { background-color: var(--accent-hover); transform: translateY(-1px); } .btn-outline-light { background-color: transparent; border: 1px solid var(--accent); color: var(--accent); } .btn-outline-light:hover { background-color: var(--accent); color: #000000; } .form-control, .form-select, textarea { background-color: var(--bg-main) !important; color: var(--text-primary) !important; border: 1px solid var(--border); border-radius: 6px; } .form-control:focus, .form-select:focus { border-color: var(--accent); box-shadow: 0 0 0 0.2rem rgba(45, 236, 191, 0.25); background-color: var(--bg-surface); } .table { background-color: var(--bg-surface) !important; color: var(--text-primary); border-color: var(--border); } .table-striped>tbody>tr:nth-of-type(odd)>* { background-color: var(--bg-main); } .table-striped>tbody>tr:hover>* { background-color: #2A2A2A; } .table td, .table th { color: #FFFFFF !important; } .card-body, .alert, .form-label, .form-check-label, .card-header { color: #FFFFFF !important; } .alert, .custom-alert { background-color: #1E1E1E !important; color: #FFFFFF !important; } .custom-alert, .alert { background-color: var(--bg-surface) !important; border-left: 4px solid var(--accent); color: var(--text-primary); } canvas, img { background-color: var(--bg-surface); border: 1px solid var(--border); border-radius: 8px; padding: 8px; } footer { background-color: var(--bg-surface); border-top: 1px solid var(--border); color: var(--text-secondary); padding-top: 10px; padding-bottom: 10px; } ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: var(--bg-main); } ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 8px; } ::-webkit-scrollbar-thumb:hover { background: var(--accent); } .table>:not(caption)>*>* { background-color: transparent !important; } .modal-content, .dropdown-menu, .popover, .tooltip { background-color: var(--bg-surface) !important; color: var(--text-primary) !important; border: 1px solid var(--border); } ::placeholder { color: var(--text-secondary); opacity: 1; } ::-webkit-input-placeholder { color: var(--text-secondary); opacity: 1; } :-ms-input-placeholder { color: var(--text-secondary); opacity: 1; } #loading-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(18,18,18,0.95); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 9999; } .loading-spinner { width: 60px; height: 60px; border: 6px solid #2C2C2C; border-top-color: #2DECBF; border-radius: 50%; animation: spin 1s linear infinite; } .text-accent { color: var(--accent); } .loading-text { margin-top: 15px; font-size: 1.1rem; color: #E0E0E0; text-align: center; letter-spacing: 0.5px; } @keyframes spin { to { transform: rotate(360deg); } }