.login-page{min-height:100dvh;padding:var(--space-4,16px);background:var(--color-bg-alt,#f4f8fc);place-items:center;display:grid}.login-card{background:var(--color-white,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:12px;width:100%;max-width:380px;padding:32px;box-shadow:0 4px 24px #001e4d14}.login-logo{width:auto;height:30px;margin:0 0 20px;display:block}.login-title{color:var(--color-primary,#001e4d);margin:0;font-size:1.5rem}.login-subtitle{color:var(--color-ink-soft,#64748b);margin:4px 0 24px;font-size:.875rem}.login-form{flex-direction:column;display:flex}.login-label{color:var(--color-ink,#1e293b);margin-bottom:6px;font-size:.8125rem;font-weight:600}.login-input{border:1px solid var(--color-line,#cbd5e1);color:var(--color-ink,#1e293b);background:var(--color-white,#fff);border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:1rem}.login-input:focus-visible{outline:2px solid var(--color-accent,#007ea7);outline-offset:1px;border-color:#0000}.login-button{background:var(--color-primary,#001e4d);color:var(--color-white,#fff);cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:11px 16px;font-size:.9375rem;font-weight:600}.login-button:hover:not(:disabled){background:var(--color-primary-dk,#001433)}.login-button:disabled{opacity:.6;cursor:progress}.login-error,.login-notice{border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:.8125rem}.login-error{background:var(--color-danger-soft,#fff1ef);color:var(--color-danger,#ef4444)}.login-notice{background:var(--color-accent-lt,#edf7fa);color:var(--color-accent-hover,#006687)}
