/* AutoBackups Custom Styles */ :root { --primary-color: #0d6efd; --success-color: #198754; --info-color: #0dcaf0; --warning-color: #ffc107; --danger-color: #dc3545; --dark-color: #212529; } /* General Styles */ body { background-color: #f8f9fa; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .navbar-brand { font-weight: bold; font-size: 1.5rem; } /* Cards */ .card { border: none; border-radius: 0.5rem; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); transition: box-shadow 0.15s ease-in-out; } .card:hover { box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); } .card-header { background-color: #fff; border-bottom: 1px solid #dee2e6; font-weight: 600; } /* Statistics Cards */ .card.bg-primary, .card.bg-success, .card.bg-info, .card.bg-warning { border: none; } .card.bg-primary .card-title, .card.bg-success .card-title, .card.bg-info .card-title, .card.bg-warning .card-title { font-size: 0.9rem; margin-bottom: 0.5rem; } .card.bg-primary .card-text, .card.bg-success .card-text, .card.bg-info .card-text, .card.bg-warning .card-text { font-size: 2rem; font-weight: bold; margin: 0; } /* Tables */ .table { background-color: #fff; } .table-hover tbody tr:hover { background-color: rgba(0, 0, 0, 0.025); } .table th { border-top: none; font-weight: 600; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.5px; } .table td { vertical-align: middle; border-color: #dee2e6; } /* Badges */ .badge { font-size: 0.75rem; padding: 0.375rem 0.75rem; } /* Buttons */ .btn { border-radius: 0.375rem; font-weight: 500; } .btn-group-sm > .btn, .btn-sm { padding: 0.25rem 0.5rem; font-size: 0.875rem; } /* Alerts */ .alert { border: none; border-radius: 0.5rem; margin-bottom: 1rem; } .alert-dismissible .btn-close { padding: 1.25rem 1rem; } /* Modals */ .modal-content { border: none; border-radius: 0.5rem; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); } .modal-header { border-bottom: 1px solid #dee2e6; padding: 1.5rem; } .modal-body { padding: 1.5rem; } .modal-footer { border-top: 1px solid #dee2e6; padding: 1rem 1.5rem; } /* Form Controls */ .form-control, .form-select { border-radius: 0.375rem; border: 1px solid #ced4da; } .form-control:focus, .form-select:focus { border-color: var(--primary-color); box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25); } /* Loading States */ .loading { opacity: 0.6; pointer-events: none; } /* Custom Utilities */ .text-truncate-50 { max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block; } /* Responsive Design */ @media (max-width: 768px) { .table-responsive { font-size: 0.875rem; } .card.bg-primary .card-text, .card.bg-success .card-text, .card.bg-info .card-text, .card.bg-warning .card-text { font-size: 1.5rem; } .btn-group-sm > .btn { padding: 0.125rem 0.25rem; font-size: 0.75rem; } } /* Animation Classes */ .fade-in { animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Status Indicators */ .status-indicator { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-right: 0.5rem; } .status-ready { background-color: var(--success-color); } .status-error { background-color: var(--danger-color); } .status-warning { background-color: var(--warning-color); } .status-info { background-color: var(--info-color); } /* Progress Bars */ .progress { height: 0.5rem; border-radius: 0.25rem; } .progress-bar { transition: width 0.6s ease; } /* Custom Scrollbar */ .custom-scrollbar { scrollbar-width: thin; scrollbar-color: #ced4da #f8f9fa; } .custom-scrollbar::-webkit-scrollbar { width: 8px; } .custom-scrollbar::-webkit-scrollbar-track { background: #f8f9fa; border-radius: 4px; } .custom-scrollbar::-webkit-scrollbar-thumb { background: #ced4da; border-radius: 4px; } .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #adb5bd; }