.auth-page{--dash-bg:#f3f4f8;--dash-surface:#ffffff;--dash-border:#e8ebf2;--dash-text:#111827;--dash-muted:#6b7280;--dash-purple:#7c3aed;--dash-purple-hover:#6d28d9;--dash-purple-soft:#f3efff;--dash-radius-lg:20px;--dash-shadow-card:0 8px 30px rgba(17,24,39,0.06);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--dash-bg);color:var(--dash-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.auth-card{width:min(100%,420px);box-shadow:var(--dash-shadow-card)}.auth-card__brand{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-card__logo{display:inline-flex;align-items:center;gap:.65rem;font-size:1.15rem;font-weight:700;color:inherit;text-decoration:none}.auth-card__logo-mark{width:40px;height:40px;border-radius:12px;background:var(--dash-purple-soft);color:var(--dash-purple);display:inline-flex;align-items:center;justify-content:center}.auth-card__header{text-align:center;margin-bottom:1.5rem}.auth-card__title{font-size:1.45rem;font-weight:700;line-height:1.25;margin-bottom:.45rem}.auth-card__subtitle{font-size:.95rem;color:var(--dash-muted);line-height:1.45}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-hint{margin:-.4rem 0 0;font-size:.78rem;color:#6b7280}.auth-form__actions{margin-top:.35rem}.auth-form__actions .ui-btn{width:100%}.auth-card__footer{margin-top:1.25rem;text-align:center;font-size:.9rem;color:var(--dash-muted)}.auth-card__footer a{color:var(--dash-purple);font-weight:600;text-decoration:none}.auth-card__footer a:hover{text-decoration:underline}.auth-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px}.auth-error,.auth-success{padding:.7rem .85rem;font-size:.875rem}.auth-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px}.ui-field{display:flex;flex-direction:column;gap:.4rem}.ui-field__label{font-size:.8125rem;font-weight:600;color:var(--dash-muted)}.ui-input{width:100%;border:1px solid var(--dash-border);background:#fff;border-radius:12px;padding:.75rem .9rem;font-size:.95rem;color:var(--dash-text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.ui-input:focus{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,58,237,.12)}.ui-input:disabled{opacity:.6;cursor:not-allowed}