.login-page{--ui-control-radius:4px;background:#f5f8fb;place-items:center;min-height:100svh;padding:48px 20px;display:grid}.login-shell{width:min(var(--ui-login-width), 100%);min-width:0}.login-brand{gap:10px;width:fit-content;margin:0 auto 28px;font-size:28px;display:flex}.login-brand img{flex-shrink:0}.login-card{padding:var(--ui-login-padding);border:1px solid var(--border);border-radius:var(--ui-card-radius);background:var(--background);box-shadow:0 2px 5px #16365103}.login-heading{text-align:center;margin-bottom:28px}.login-heading h1{letter-spacing:-.4px;font-size:22px;font-weight:600;line-height:1.3}.login-heading p{color:var(--muted-foreground);margin-top:8px;font-size:14px}.login-form{gap:var(--ui-form-gap);flex-direction:column;display:flex}.login-field{gap:var(--ui-field-gap);flex-direction:column;min-width:0;display:flex}.login-field [data-slot=label]{font-size:var(--ui-font-label);line-height:1.5}.login-field [data-slot=input]{height:var(--ui-login-control-height);background:var(--background);padding-inline:12px;font-size:16px}.login-field [data-slot=input]:read-only{color:var(--muted-foreground)}.login-password-field{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid}.login-password-field .login-password{grid-area:2/1/auto/-1}.login-forgot{grid-area:1/2}.login-forgot,.login-register a{color:var(--primary);font-size:var(--ui-font-label);text-underline-offset:3px;font-weight:500}.login-forgot:hover,.login-register a:hover{text-decoration:underline}.login-password{position:relative}.login-password [data-slot=input]{padding-right:48px}.login-password-toggle{width:36px;height:36px;color:var(--muted-foreground);position:absolute;top:4px;right:4px}.login-submit{width:100%;height:var(--ui-login-control-height);gap:8px;margin-top:4px}.login-register{border-top:1px solid var(--border);color:var(--muted-foreground);font-size:var(--ui-font-label);text-align:center;margin-top:24px;padding-top:24px}.login-register a{margin-left:4px}.login-caption{color:var(--muted-foreground);text-align:center;margin-top:24px;font-size:12px}.login-error{border-radius:var(--radius);color:#b91c1c;font-size:var(--ui-font-label);overflow-wrap:anywhere;background:#fef2f2;border:1px solid #fecaca;padding:12px 14px;line-height:1.6}.login-spinner{animation:1s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}@media (max-width:420px){.login-page{padding:32px 16px}.login-card{padding:28px 24px}}@media (prefers-reduced-motion:reduce){.login-spinner{animation:none}}
