:root{--ink:#17141d;--muted:#6e6877;--line:#e8e4ec;--violet:#7c3aed;--violet-dark:#6027c7;--paper:#ffffffeb}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#f8f6fb;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{font:inherit}.auth-page{isolation:isolate;grid-template-rows:auto 1fr auto;justify-items:center;min-height:100vh;padding:28px 24px 34px;display:grid;position:relative;overflow:hidden}.auth-page:before{content:"";z-index:-3;background:linear-gradient(#ffffff94,#ffffffc7),radial-gradient(circle at 20% 12%,#eadcff,#0000 40%),radial-gradient(circle at 82% 78%,#dff7f1,#0000 36%);position:absolute;inset:0}.auth-page:after{content:"";z-index:-2;opacity:.24;background-image:radial-gradient(#8a8294 .65px,#0000 .65px);background-size:14px 14px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 68%);mask-image:linear-gradient(#000,#0000 68%)}.ambient{z-index:-1;filter:blur(10px);opacity:.65;border-radius:999px;animation:12s ease-in-out infinite alternate drift;position:absolute}.ambient-one{background:#d8c0ff;width:210px;height:210px;top:12%;left:8%}.ambient-two{background:#bcebdc;width:170px;height:170px;animation-delay:-4s;bottom:10%;right:8%}.brand{color:#1c1821;letter-spacing:-.8px;align-items:center;gap:9px;font-size:23px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#9b5cff,#652ad2);border-radius:11px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 8px 24px #692fcd47}.auth-card{text-align:center;background:var(--paper);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid #e2dbe8eb;border-radius:24px;align-self:center;width:min(100%,460px);margin:36px 0;padding:44px 46px 36px;box-shadow:0 28px 80px #392a4b21,0 2px 8px #392a4b0d}.eyebrow{color:var(--violet);letter-spacing:1.5px;margin-bottom:13px;font-size:11px;font-weight:800}h1{letter-spacing:-1.5px;margin:0;font-size:clamp(30px,5vw,38px);line-height:1.08}.intro{max-width:360px;color:var(--muted);margin:15px auto 29px;font-size:15px;line-height:1.55}.provider-list{gap:12px;display:grid}.provider-button{color:#211d25;cursor:pointer;background:#fff;border:1px solid #dcd7e2;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 20px;font-size:15px;font-weight:650;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;position:relative}.provider-button:hover:not(:disabled){border-color:#bdb4c7;transform:translateY(-1px);box-shadow:0 8px 22px #2d233617}.provider-button:focus-visible{outline-offset:2px;outline:3px solid #7c3aed3d}.provider-button:disabled{cursor:wait;opacity:.58}.provider-button-dark{color:#fff;background:#17141d;border-color:#17141d}.provider-button svg{position:absolute;left:18px}.session-note,.status{min-height:38px;color:var(--muted);margin:20px 0 0;font-size:12px;line-height:1.45}.status{justify-content:center;align-items:center;gap:9px;display:flex}.status-error{color:#a2283d}.spinner{border:2px solid #d8d2df;border-top-color:var(--violet);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin;display:inline-block}.spinner-large{border-width:3px;width:30px;height:30px}.legal{color:#8a8490;margin:18px 0 0;font-size:11px;line-height:1.55}.legal a{color:#5f5868;text-underline-offset:2px}.seo-copy{text-align:center;color:#655f6c;max-width:720px}.seo-copy h2{color:#302a35;margin:0 0 8px;font-size:15px}.seo-copy p{margin:0;font-size:12px;line-height:1.55}.logout-page{min-height:100vh;color:var(--muted);background:#f8f6fb;place-content:center;justify-items:center;gap:16px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{to{transform:translate(16px,-12px)scale(1.06)}}@media (max-width:560px){.auth-page{padding:22px 16px 28px}.auth-card{border-radius:20px;margin:25px 0;padding:34px 22px 28px}.ambient-one{left:-90px}.ambient-two{right:-80px}.seo-copy{padding:0 10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
