.login-portal{min-height:100dvh;padding:clamp(40px, 8vh, 88px) var(--space-6) var(--space-8);background:var(--gradient-canvas);flex-direction:column;align-items:center;display:flex}.login-portal-heading{text-align:center;width:100%;margin-bottom:var(--space-10)}.login-portal-heading .brand{margin-bottom:var(--space-10);display:inline-flex}.login-portal-heading .brand-full{width:220px;height:auto;display:block}.login-portal-heading .brand-compact{display:none}.login-portal-heading h1{margin-bottom:var(--space-2);font-size:clamp(1.75rem,4vw,2.25rem)}.login-portal-heading p{color:var(--text-secondary);margin:0}.login-portal-form{width:min(100%,480px);padding:var(--space-8);background:var(--glass-strong,var(--surface));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.login-portal-form>.notice{margin-bottom:var(--space-6)}.login-portal-form input{border-radius:var(--radius-md);min-height:56px}.login-portal-form form>.button{justify-content:center;min-height:50px}.login-portal-form .caption{text-align:center;margin:0}.login-portal-form details{margin-top:var(--space-6)}.login-portal-form summary{text-align:center;cursor:pointer;color:var(--text-primary);min-height:44px;padding:var(--space-2)}.login-portal-form details[open] summary{margin-bottom:var(--space-4)}.login-portal>.caption{text-align:center;margin-top:var(--space-8)}@media (max-width:520px){.login-portal{padding-inline:var(--space-4)}.login-portal-form{padding:var(--space-6)}.login-portal-heading .brand{margin-bottom:var(--space-8)}}
