/* Responsive design styles */ /* Extra small devices (phones, 576px and down) */ @media (max-width: 575.98px) { .navbar-brand { font-size: 1rem; } .card-body { padding: 1rem; } .btn { font-size: 0.875rem; padding: 0.375rem 0.75rem; } .display-1 { font-size: 3rem; } .display-2 { font-size: 2.5rem; } .display-3 { font-size: 2rem; } .display-4 { font-size: 1.75rem; } .display-5 { font-size: 1.5rem; } .display-6 { font-size: 1.25rem; } .table-responsive { font-size: 0.875rem; } .log-container { font-size: 0.75rem; max-height: 300px; } .script-parameter { padding: 0.5rem; } } /* Small devices (landscape phones, 576px and up) */ @media (min-width: 576px) and (max-width: 767.98px) { .card-columns { column-count: 1; } .navbar-nav .nav-link { padding: 0.375rem 0.75rem; } } /* Medium devices (tablets, 768px and up) */ @media (min-width: 768px) and (max-width: 991.98px) { .card-columns { column-count: 2; } .script-group-card { margin-bottom: 1.5rem; } } /* Large devices (desktops, 992px and up) */ @media (min-width: 992px) and (max-width: 1199.98px) { .card-columns { column-count: 3; } } /* Extra large devices (large desktops, 1200px and up) */ @media (min-width: 1200px) { .card-columns { column-count: 4; } .container-fluid { padding-left: 2rem; padding-right: 2rem; } } /* Mobile-specific adjustments */ @media (max-width: 768px) { /* Navigation adjustments */ .navbar-collapse { background-color: rgba(0, 0, 0, 0.1); border-radius: 0.375rem; margin-top: 0.5rem; padding: 1rem; } .navbar-nav { text-align: center; } .navbar-nav .nav-item { margin: 0.25rem 0; } /* Card adjustments */ .card { margin-bottom: 1rem; } .card-header h5 { font-size: 1rem; } /* Button adjustments */ .btn-group-vertical .btn { margin-bottom: 0.5rem; } /* Modal adjustments */ .modal-dialog { margin: 0.5rem; } /* Form adjustments */ .form-group { margin-bottom: 1rem; } .input-group { flex-direction: column; } .input-group .form-control, .input-group .input-group-text { border-radius: 0.375rem !important; margin-bottom: 0.5rem; } /* Table adjustments */ .table-responsive { border: none; margin-bottom: 0; } .table th, .table td { padding: 0.5rem; font-size: 0.875rem; } /* Dashboard adjustments */ .script-group-card .card-body { padding: 1rem; } .script-group-card .card-footer { padding: 0.75rem 1rem; } .script-group-card .btn { display: block; width: 100%; margin-bottom: 0.5rem; } /* Stats cards adjustments */ .stats-card { margin-bottom: 1rem; } .stats-card .display-6 { font-size: 2rem; } } /* Tablet adjustments */ @media (min-width: 769px) and (max-width: 1024px) { .container-fluid { padding-left: 1.5rem; padding-right: 1.5rem; } .card-columns { column-count: 2; column-gap: 1.5rem; } .script-group-card { break-inside: avoid; margin-bottom: 1.5rem; } } /* Print styles */ @media print { .navbar, .btn, .card-footer, #theme-toggle, .dropdown { display: none !important; } .card { border: 1px solid #000 !important; box-shadow: none !important; } .container-fluid { padding: 0; } body { background: white !important; color: black !important; } .card-body { page-break-inside: avoid; } } /* High contrast mode support */ @media (prefers-contrast: high) { .card { border: 2px solid; } .btn { border-width: 2px; } .form-control { border-width: 2px; } } /* Reduced motion support */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } .spinner-border { animation: none; } } /* Dark mode preference */ @media (prefers-color-scheme: dark) { /* This will be overridden by theme selection, but provides default */ body:not(.theme-light) { background-color: #1a1a1a; color: #e9ecef; } }