@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500;600&display=swap";
.auth-root{--auth-navy:#091524;--auth-accent:#3d82ff;--auth-accent-lt:#60a5fa;--auth-text:#0f1e30;--auth-muted:#607080;--auth-border:#e4ecf8;--auth-off-white:#f6f9fe;min-height:100vh;font-family:"DM Sans", var(--font-dm-sans), system-ui, sans-serif;color:var(--auth-text);grid-template-columns:1fr 1fr;display:grid}.auth-brand{background:var(--auth-navy);color:#fff;flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.auth-brand:before{content:"";pointer-events:none;background:radial-gradient(70% 60% at 20% 40%,#3d82ff33 0%,#0000 70%),radial-gradient(50% 40% at 80% 80%,#1e3554e6 0%,#0000 70%);position:absolute;inset:0}.auth-brand-inner{z-index:1;flex-direction:column;flex:1;justify-content:center;max-width:420px;display:flex;position:relative}.auth-brand-logo{margin-bottom:40px;text-decoration:none;display:inline-flex}.auth-brand-eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--auth-accent-lt);margin-bottom:16px;font-size:11px;font-weight:600}.auth-brand-title{font-family:"DM Serif Display", var(--font-dm-serif), Georgia, serif;letter-spacing:-.5px;margin-bottom:16px;font-size:clamp(28px,3vw,38px);line-height:1.15}.auth-brand-lead{color:#b4c8e1d1;margin-bottom:32px;font-size:15px;line-height:1.7}.auth-brand-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.auth-brand-list li{color:#b4c8e1bf;padding-left:22px;font-size:14px;line-height:1.5;position:relative}.auth-brand-list li:before{content:"";background:var(--auth-accent);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:0;box-shadow:0 0 0 3px #3d82ff33}.auth-brand-foot{z-index:1;color:#b4c8e180;padding-top:32px;font-size:13px;position:relative}.auth-brand-foot a{color:#ffffffbf;text-decoration:none;transition:color .15s}.auth-brand-foot a:hover{color:#fff}.auth-panel{background:var(--auth-off-white);justify-content:center;align-items:center;padding:48px 32px;display:flex}.auth-card{border:1px solid var(--auth-border);background:#fff;border-radius:18px;width:100%;max-width:400px;padding:40px 36px;box-shadow:0 16px 48px #0f1e3c12}.auth-card-logo-mobile{justify-content:center;margin-bottom:24px;display:none}.auth-card-title{font-family:"DM Serif Display", var(--font-dm-serif), Georgia, serif;letter-spacing:-.3px;color:var(--auth-text);margin-bottom:8px;font-size:26px}.auth-card-sub{color:var(--auth-muted);margin-bottom:28px;font-size:14px;line-height:1.6}.auth-field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.auth-label{color:var(--auth-text);font-size:13px;font-weight:500}.auth-input{width:100%;color:var(--auth-text);background:var(--auth-off-white);border:1px solid var(--auth-border);border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:#94a3b8}.auth-input:focus{border-color:var(--auth-accent);background:#fff;box-shadow:0 0 0 3px #3d82ff1f}.auth-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:18px;padding:10px 14px;font-size:13px;line-height:1.5}.auth-submit{color:#fff;background:var(--auth-accent);cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:4px;padding:13px 20px;font-family:inherit;font-size:15px;font-weight:500;transition:background .2s,box-shadow .2s,transform .15s}.auth-submit:hover:not(:disabled){background:#2563eb;box-shadow:0 6px 20px #3d82ff4d}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-links{text-align:center;color:var(--auth-muted);flex-direction:column;gap:10px;margin-top:24px;font-size:14px;display:flex}.auth-link{color:var(--auth-accent);font-weight:500;text-decoration:none;transition:color .15s}.auth-link:hover{color:#2563eb;text-underline-offset:2px;text-decoration:underline}.auth-forgot-row{justify-content:flex-end;margin-top:-8px;margin-bottom:8px;display:flex}.auth-forgot-row .auth-link{font-size:13px;font-weight:400}@media (max-width:900px){.auth-root{grid-template-columns:1fr}.auth-brand{display:none}.auth-card-logo-mobile{display:flex}.auth-panel{min-height:100vh;padding:32px 20px}.auth-card{padding:32px 24px}}
