/* Loading overlay styling */ #loading-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9999; align-items: center; justify-content: center; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; transition: opacity 0.4s ease; } #loading-overlay.show { display: flex; opacity: 1; } /* Restart banner */ #restartBanner { display: none; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #555; } /* Custom select2 styling to match Tailwind */ .select2-container--default .select2-selection--multiple { border: 1px solid #d1d5db; border-radius: 0.375rem; padding: 0.25rem 0.5rem; min-height: 42px; } .select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #3b82f6; border: 1px solid #3b82f6; color: white; border-radius: 0.25rem; padding: 0 0.5rem; } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: white; margin-right: 0.25rem; } /* Custom modal styling */ .modal-content { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); } body.modal-open { overflow: hidden !important; } /* Custom tooltip styling */ .tooltip { position: relative; display: inline-block; } .tooltip .tooltip-text { visibility: hidden; width: 200px; background-color: #333; color: #fff; text-align: center; border-radius: 6px; padding: 5px; position: absolute; z-index: 1; bottom: 125%; left: 50%; margin-left: -100px; opacity: 0; transition: opacity 0.3s; } .tooltip:hover .tooltip-text { visibility: visible; opacity: 1; } /* Custom mark styling for search highlights */ mark { background-color: #fef08a; padding: 0.1em 0em 0.1em 0.2em; border-radius: 0.25em; } /* Toast notifications */ #toast-container { position: fixed; top: 1.5rem; right: 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; z-index: 10000; pointer-events: none; } .toast { min-width: 240px; max-width: 360px; padding: 0.75rem 1rem; border-radius: 0.5rem; color: #fff; font-weight: 500; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); opacity: 0; transform: translateY(-6px); transition: opacity 0.25s ease, transform 0.25s ease; } .toast.show { opacity: 1; transform: translateY(0); } .toast-success { background-color: #047857; } .toast-error { background-color: #b91c1c; } .toast-info { background-color: #1d4ed8; } #advancedMikrotikFields, #advancedPfSenseFields { padding: 10px; }