.login-wrap{background:var(--ex-navy);background-image:radial-gradient(1200px 500px at 50% -10%, #2b3370 0%, var(--ex-navy) 60%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;width:min(400px,100%);padding:28px;box-shadow:0 24px 64px #0a0c1e66}.login-brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.login-mark{background:var(--ex-green);color:#fff;border-radius:10px;place-items:center;width:40px;height:40px;font-size:14px;font-weight:800;display:grid}.login-title{font-size:1.0625rem;font-weight:700}.login-sub{color:var(--ink-3);font-size:.75rem}.login-form{flex-direction:column;gap:14px;display:flex}.login-form label{flex-direction:column;gap:5px;display:flex}.login-form label span{color:var(--ink-2);font-size:.75rem;font-weight:600}.login-form input{border:1px solid var(--border);border-radius:var(--radius-ctl);background:var(--surface);color:var(--ink);font:inherit;padding:9px 11px}.login-form input:focus{border-color:var(--ex-primary);box-shadow:var(--focus-ring);outline:none}.login-error{background:var(--ex-red-tint);color:var(--ex-red);border-radius:var(--radius-ctl);padding:8px 12px;font-size:.8125rem}.login-foot{color:var(--ink-3);text-align:center;margin:18px 0 0;font-size:.71875rem;line-height:1.5}
