/* Modal Components */ .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); backdrop-filter: blur(4px); align-items: center; justify-content: center; } /* Show the modal with flex when visible */ .modal[style*="block"] { display: flex !important; } .modal-content { background: white; margin: 0; padding: 0; border-radius: var(--radius-xl); width: min(90vw, 500px); max-height: min(85vh, 600px); box-shadow: var(--shadow-xl); overflow: hidden; display: flex; flex-direction: column; transform: scale(0.95); opacity: 0; transition: all 0.2s ease; } /* Animation when modal appears */ .modal[style*="block"] .modal-content { transform: scale(1); opacity: 1; } .modal-header { padding: 24px 24px 0; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; } .modal-title { font-size: 20px; font-weight: 600; color: var(--gray-900); font-family: 'Poppins', 'Inter', sans-serif; } .close { color: var(--gray-400); font-size: 24px; font-weight: normal; cursor: pointer; padding: 4px; border-radius: var(--radius-sm); transition: all 0.2s ease; } .close:hover { color: var(--gray-600); background: var(--gray-100); } .modal-body { padding: 24px; overflow-y: auto; flex: 1; min-height: 0; } .modal-body::-webkit-scrollbar { width: 6px; } .modal-body::-webkit-scrollbar-track { background: var(--gray-100); } .modal-body::-webkit-scrollbar-thumb { background: var(--gray-300); border-radius: 3px; } .modal-body::-webkit-scrollbar-thumb:hover { background: var(--gray-400); } /* Settings Tabs */ .settings-tabs { display: flex; border-bottom: 1px solid var(--border-light); margin-bottom: 24px; gap: 0; } .tab-button { background: none; border: none; padding: 12px 20px; font-size: 14px; font-weight: 500; color: var(--gray-600); cursor: pointer; border-bottom: 2px solid transparent; transition: all 0.2s ease; position: relative; } .tab-button:hover { color: var(--gray-800); background: var(--gray-50); } .tab-button.active { color: var(--primary-600); border-bottom-color: var(--primary-600); background: var(--primary-50); } .tab-button:first-child { border-radius: var(--radius-sm) 0 0 0; } .tab-button:last-child { border-radius: 0 var(--radius-sm) 0 0; } /* Tab Content */ .tab-content { display: none; } .tab-content.active { display: block; animation: fadeIn 0.2s ease-in-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Settings Form Submit Button */ #settingsForm button[type="submit"] { margin-top: 32px; } /* Mobile responsiveness */ @media (max-width: 640px) { .modal-content { width: 95vw; max-height: 90vh; margin: 0 8px; /* Small margin to prevent edge touching */ } .modal-header, .modal-body { padding: 16px; } .modal-title { font-size: 18px; } .settings-tabs { margin-bottom: 16px; } .tab-button { padding: 10px 16px; font-size: 13px; } /* Reduce margin on mobile */ #settingsForm button[type="submit"] { margin-top: 24px; } }