.auth-frame{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,44%);background:radial-gradient(900px 500px at 70% 0,var(--c-indigo-50),transparent 70%),var(--c-bg)}.auth-stage{display:grid;place-items:center;padding:48px 24px;min-width:0}.auth-shell,.auth-stage>main,.auth-stage>p{width:100%;max-width:470px;margin:0;padding:0}.auth-shell>.panel{padding:clamp(24px,4vw,36px);border-radius:22px;border:1px solid #e6e9f3;background:linear-gradient(180deg,#ffffff,#fdfdff);box-shadow:var(--shadow-lg)}.auth-shell h1{font-size:clamp(25px,3vw,30px);margin:0 0 6px}.auth-shell .muted{margin:0 0 20px;font-size:15px}.auth-shell .action{width:100%;min-height:48px;font-size:16px;margin-top:4px}.auth-shell a{color:var(--c-indigo-600);font-weight:600;text-decoration:none}.auth-shell a:hover{text-decoration:underline;text-underline-offset:3px}.auth-form{display:grid;gap:15px}.auth-form label{display:grid;gap:0}.auth-notice{background:var(--c-success-bg);border:1px solid #c4ead9;color:var(--c-success);border-radius:var(--r-sm);padding:10px 13px;font-size:14px;line-height:1.55;margin:0 0 14px}.auth-notice-info{background:var(--c-info-bg);border-color:#cddcf6;color:var(--c-info)}.auth-error{background:var(--c-danger-bg);border:1px solid #f6cdd3;color:var(--c-danger);border-radius:var(--r-sm);padding:10px 13px;font-size:14px;line-height:1.55;margin:0}.auth-links{display:grid;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--c-line);font-size:14px;color:var(--c-muted)}.auth-consent a,.auth-links a{color:var(--c-indigo-600)}.auth-consent{font-size:13px;color:var(--c-muted);margin:0;line-height:1.6}.auth-inline-link{justify-self:start;font-size:13px;color:var(--c-indigo-600)}.auth-actions{display:flex;gap:10px;flex-wrap:wrap}.auth-actions>*{flex:1 1 160px}.auth-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:12px;border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-indigo-700)!important;font:inherit;font-weight:700;text-decoration:none!important;transition:background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.auth-btn-secondary:hover{background:var(--c-indigo-50);border-color:var(--c-indigo-300)}.auth-btn-secondary:active{transform:scale(.98)}.auth-btn-secondary:focus-visible{outline:none;box-shadow:var(--ring)}.auth-stack{display:grid;gap:14px}.auth-stack>*{margin:0}.auth-status{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-md);background:var(--c-surface-2);border:1px solid var(--c-line);color:var(--c-text)}.auth-status-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--c-indigo-100);color:var(--c-indigo-600)}.auth-status-ok .auth-status-icon{background:var(--c-success-bg);color:var(--c-success)}.auth-status-error .auth-status-icon{background:var(--c-danger-bg);color:var(--c-danger)}.auth-spinner{width:18px;height:18px;border-radius:50%;border:2px solid;border-inline-end-color:transparent}.auth-email{direction:ltr;unicode-bidi:embed;font-weight:700}.auth-brand{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:48px clamp(28px,4vw,56px);color:#fff;background:radial-gradient(900px 500px at 0 0,#2c2f6b 0,transparent 60%),linear-gradient(160deg,var(--c-navy-950) 0,var(--c-navy-900) 45%,var(--c-navy-700) 100%)}.auth-brand-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.auth-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}.auth-blob-a{width:460px;height:460px;inset-inline-end:-160px;top:-140px;background:radial-gradient(circle,#6d5be0,transparent 65%)}.auth-blob-b{width:380px;height:380px;inset-inline-start:-120px;bottom:-160px;background:radial-gradient(circle,#1fbf9a,transparent 65%);opacity:.35}.auth-brand-logo{display:inline-flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:22px;font-weight:850;letter-spacing:-.3px;width:fit-content}.auth-brand-logo:focus-visible{outline:none;box-shadow:var(--ring-light);border-radius:12px}.auth-brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#0a9488,var(--c-teal-700));box-shadow:0 8px 20px #087b7366,inset 0 1px 0 #ffffff40}.auth-brand-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#c9f1e4;background:#ffffff12;border:1px solid #ffffff24;padding:6px 13px;border-radius:30px}.auth-brand-title{font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:-1px;font-weight:850;margin:20px 0 26px;color:#fff}.auth-brand-title span{background:linear-gradient(100deg,var(--c-teal-300) 10%,#b9c3ff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-brand-points{list-style:none;margin:0;padding:0;display:grid;gap:11px;max-width:420px}.auth-brand-points li{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:14px;background:#ffffff10;border:1px solid #ffffff1a;backdrop-filter:blur(8px);font-size:14.5px;color:#eef0fb}.auth-brand-points svg{flex:none;color:var(--c-teal-300)}.auth-brand-links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.auth-brand-links a{color:#c9cfe6;text-decoration:none}.auth-brand-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}@media (max-width:900px){.auth-frame{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-brand{order:-1;padding:18px 20px 22px;gap:10px}.auth-brand-copy,.auth-brand-links{display:none}.auth-stage{place-items:start center;padding:24px 16px 40px}.auth-shell,.auth-stage>main{max-width:520px}}@media (prefers-reduced-motion:no-preference){.auth-shell>.panel{animation:ui-fade-up .62s var(--ease-out) both}.auth-brand-copy>*{animation:ui-fade-up .72s var(--ease-out) both}.auth-brand-copy>:nth-child(2){animation-delay:.1s}.auth-brand-copy>:nth-child(3){animation-delay:.2s}.auth-brand-points li{animation:ui-fade-up .6s var(--ease-out) both}.auth-brand-points li:first-child{animation-delay:.26s}.auth-brand-points li:nth-child(2){animation-delay:.34s}.auth-brand-points li:nth-child(3){animation-delay:.42s}.auth-blob-a{animation:ui-drift-a 22s var(--ease-in-out) infinite}.auth-blob-b{animation:ui-drift-b 26s var(--ease-in-out) infinite}.auth-spinner{animation:auth-spin .8s linear infinite}}@keyframes auth-spin{to{transform:rotate(1turn)}}