@font-face{font-family:"Manrope";src:url("/assets/Manrope-Variable.ttf?v=2") format("truetype-variations");font-weight:200 800;font-style:normal;font-display:swap}
:root{--auth-bg:#05080f;--auth-panel:#101827;--auth-text:#f8fafc;--auth-muted:#a7b2c3;--auth-green:#34d399;--auth-gold:#fbbf24}
*{box-sizing:border-box}
html{min-width:320px;background:var(--auth-bg);font-family:"Manrope","Inter",system-ui,sans-serif;color:var(--auth-text)}
body.fm-auth-page{min-width:320px;min-height:100svh;margin:0;background:radial-gradient(circle at 50% 0,rgba(16,185,129,.16),transparent 28rem),var(--auth-bg)!important;color:var(--auth-text);font-family:"Manrope","Inter",system-ui,sans-serif}
.fm-auth-shell{display:grid;width:min(520px,calc(100% - 28px));min-height:100svh;margin:0 auto;padding:28px 0;align-content:center;gap:22px}
.fm-auth-shell>.brand{display:flex;align-items:center;justify-self:center;gap:10px;color:#fff!important;font-size:1.05rem;font-weight:700;letter-spacing:-.04em;text-decoration:none!important}
.fm-auth-shell .brand-mark{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(52,211,153,.3);border-radius:9px;background:rgba(52,211,153,.1);color:var(--auth-green);font-size:.72rem;font-weight:800}
.fm-auth-shell .brand-word strong{color:var(--auth-green)}
.fm-auth-card{width:100%;padding:36px;border:1px solid rgba(52,211,153,.2);border-radius:25px;background:linear-gradient(145deg,rgba(17,24,39,.94),rgba(8,13,22,.9));box-shadow:0 30px 90px rgba(0,0,0,.45)}
.fm-auth-eyebrow{margin:0 0 16px;color:var(--auth-green);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.fm-auth-card h1{margin:0;color:var(--auth-text);font-size:clamp(2rem,7vw,3rem);font-weight:520;letter-spacing:-.05em;line-height:1.05}
.fm-auth-lede{margin:18px 0 0;color:var(--auth-muted);font-size:.95rem;line-height:1.65}
.fm-oauth-grid{display:grid;gap:10px;margin-top:26px}
.fm-oauth-grid button{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;gap:11px;padding:0 14px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.045);color:var(--auth-text);font:inherit;font-size:.84rem;font-weight:750;cursor:pointer}
.fm-oauth-grid button:hover,.fm-oauth-grid button:focus-visible{border-color:rgba(52,211,153,.55);background:rgba(52,211,153,.08);outline:none}
.fm-oauth-grid button span{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:rgba(255,255,255,.08);font-size:.64rem}
.fm-auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#718095;font-size:.69rem}
.fm-auth-divider::before,.fm-auth-divider::after{height:1px;background:rgba(255,255,255,.09);content:"";flex:1}
.fm-auth-card form{display:grid;gap:9px}.fm-auth-card label{color:#c6d0dc;font-size:.74rem;font-weight:750}
.fm-auth-card input{display:block;width:100%;min-height:52px;padding:0 14px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#080d16;color:#fff;font:inherit;font-size:1rem}
.fm-auth-card input:focus{border-color:var(--auth-green);outline:3px solid rgba(52,211,153,.14)}
.fm-auth-card input::placeholder{color:#6f7c8e}
.fm-auth-submit{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;margin-top:5px;padding:0 18px;border:1px solid transparent;border-radius:13px;background:linear-gradient(135deg,var(--auth-gold),#f59e0b);box-shadow:0 13px 34px rgba(245,158,11,.22);color:#05080f;font:inherit;font-size:.86rem;font-weight:850;cursor:pointer}
.fm-auth-submit:hover,.fm-auth-submit:focus-visible{box-shadow:0 17px 42px rgba(245,158,11,.3);outline:3px solid rgba(251,191,36,.2);transform:translateY(-1px)}
.fm-auth-submit:disabled{cursor:default;opacity:1;transform:none}.fm-auth-submit.is-sent{border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.12);box-shadow:none;color:#6ee7b7}
.fm-auth-message{min-height:22px;margin:14px 0 0;color:#94a3b8;font-size:.78rem;line-height:1.5;text-align:center}.fm-auth-message[data-kind="error"]{color:#fca5a5}.fm-auth-message[data-kind="success"]{color:#6ee7b7}
.fm-auth-terms{margin:15px 0 0;color:#6f7d90;font-size:.67rem;line-height:1.5;text-align:center}.fm-auth-terms a,.fm-auth-back a,.fm-auth-card--status a{color:#a7f3d0}.fm-auth-back{margin:0;text-align:center;font-size:.76rem}.fm-auth-card--status{text-align:center}
.fm-auth-loader{width:38px;height:38px;margin:0 auto 22px;border:3px solid rgba(52,211,153,.18);border-top-color:var(--auth-green);border-radius:50%;animation:fm-auth-spin .8s linear infinite}@keyframes fm-auth-spin{to{transform:rotate(360deg)}}
@media(max-width:560px){.fm-auth-shell{width:100%;padding:0;align-content:start;gap:0}.fm-auth-shell>.brand{width:100%;min-height:66px;padding:0 18px;justify-self:stretch;border-bottom:1px solid rgba(255,255,255,.07)}.fm-auth-card{min-height:calc(100svh - 66px);padding:30px 18px 38px;border-width:0;border-radius:0;background:linear-gradient(160deg,rgba(16,24,39,.68),rgba(5,8,15,.9));box-shadow:none}.fm-auth-card h1{font-size:clamp(2.25rem,12vw,3.2rem);line-height:1.02}.fm-auth-lede{font-size:.94rem}.fm-auth-back{padding:20px}.fm-auth-card--status{display:grid;align-content:center}}
@media(max-width:370px){.fm-auth-card{padding-inline:15px}.fm-auth-card h1{font-size:2.18rem}.fm-oauth-grid button{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.fm-auth-loader{animation:none}.fm-auth-submit{transition:none}}
