/* ============================================================
   VERSA PC — Styles communs à toutes les pages
   Règles identiques sur plusieurs pages, factorisées ici.
   Chargé avant les styles propres à chaque page.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

h1, h2, .page-title { font-family: var(--font-display); }


.auth-shell { position: relative; z-index: 1; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }

.auth-card-logo { display: flex; justify-content: center; margin-bottom: 1.5rem; }

.auth-card-logo img { height: 30px; width: auto; }

.page-title { font-size: clamp(1.375rem, 3vw, 1.75rem); font-weight: 600; letter-spacing: -0.02em; margin-bottom: 0.5rem; line-height: 1.25; }

.form-group { margin-bottom: 1.125rem; }

.submit-btn:disabled { opacity: 0.5; cursor: not-allowed; box-shadow: none; }

.submit-btn.loading::after {
            content: ''; position: absolute; right: 1.125rem; top: 50%; transform: translateY(-50%);
            width: 15px; height: 15px; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff;
            border-radius: 50%; animation: spin 0.6s linear infinite;
        }

@keyframes spin { to { transform: translateY(-50%) rotate(360deg); } }

@media (max-width: 900px) {
        }

@media (max-width: 480px) {
            .form-panel { padding: 1.5rem 1.25rem; }
        }

