/* App branding derived from the user's Altiora reference. */
.app-logo img { border-radius: 0.5rem; }
.altiora-auth-page { background: #f8fafc; }
.dark .altiora-auth-page { background: #0f172a; }
.altiora-auth-page #theme-toggle { position:fixed; z-index:30; min-width:2.75rem; min-height:2.75rem; background:#f8fafc; color:#334155; }
.dark .altiora-auth-page #theme-toggle { background:#334155; color:#f8fafc; }
.altiora-auth-shell { min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.altiora-auth-brand { display:flex; align-items:center; justify-content:center; padding:clamp(2rem, 6vw, 6rem); background:#1d1d1b; color:#fff; position:relative; overflow:hidden; }
.altiora-auth-brand::after { content:""; position:absolute; inset:auto -10rem -20rem auto; width:38rem; height:38rem; border:5rem solid #2563eb; border-radius:50%; opacity:0.25; pointer-events:none; }
.altiora-auth-identity { max-width:30rem; position:relative; z-index:1; }
.altiora-auth-logo { display:flex; align-items:center; gap:1rem; font-size:1.75rem; font-weight:800; letter-spacing:0.06em; }
.altiora-auth-logo .altiora-auth-symbol { width:4.5rem; height:4.5rem; }
.altiora-auth-tagline { margin:3rem 0 1.5rem; font-size:clamp(2.5rem,4.5vw,4.25rem); line-height:1.05; font-weight:800; letter-spacing:-0.04em; text-wrap:balance; }
.altiora-auth-description { font-size:1rem; line-height:1.7; color:#cbd5e1; }
.altiora-auth-signature { display:block; margin-top:4rem; font-size:0.8rem; color:#cbd5e1; }
.altiora-auth-content { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:4rem 2rem; min-width:0; }
.altiora-login-card { width:100%; max-width:25rem; color:#1d1d1b; }
.dark .altiora-login-card { color:#f8fafc; }
.altiora-login-title { margin:0 0 0.75rem; font-size:1.8rem; line-height:1.2; font-weight:750; letter-spacing:-0.03em; }
.altiora-login-intro { margin-bottom:2.5rem; font-size:0.95rem; line-height:1.6; color:#475569; }
.dark .altiora-login-intro { color:#cbd5e1; }
.altiora-login-card input:not([type="checkbox"]) { min-height:3rem; font-size:1rem; padding-inline:0.875rem; }
.altiora-login-card input.password { padding-inline-end:3rem; }
.altiora-login-card label { font-size:0.875rem; }
.altiora-login-card .toggle-password { width:2.75rem; justify-content:center; padding:0; color:#475569; }
.dark .altiora-login-card .toggle-password { color:#cbd5e1; }
.altiora-login-actions { display:flex; flex-direction:column; gap:1rem; margin-top:1.5rem; }
.altiora-login-actions .altiora-login-submit { width:100%; min-height:3rem; font-size:0.95rem; }
.altiora-access-help { color:#475569; font-size:0.8rem; line-height:1.6; margin-top:1.5rem; }
.dark .altiora-access-help { color:#cbd5e1; }
@media (max-width: 767px) {
    .altiora-auth-shell { grid-template-columns:1fr; min-height:100dvh; }
    .altiora-auth-brand { padding:2rem 1.5rem; }
    .altiora-auth-logo { font-size:1.2rem; gap:0.75rem; }
    .altiora-auth-logo .altiora-auth-symbol { width:3rem; height:3rem; }
    .altiora-auth-tagline { margin:1.5rem 0 0.75rem; font-size:2rem; }
    .altiora-auth-signature { display:none; }
    .altiora-auth-content { padding:2rem 1.5rem; justify-content:flex-start; }
    .altiora-login-title { font-size:1.5rem; }
    .altiora-login-intro { margin-bottom:1.5rem; }
}
@media print { .altiora-auth-brand::after { display:none; } }
