/* RoboStat entry pages; authentication forms and CSRF remain unchanged. */
.auth-body{min-height:100svh;display:grid;place-items:center;padding:48px 28px;background:radial-gradient(ellipse at 18% 20%,#173c322e,transparent 60%),var(--bg);overflow-x:hidden}.auth-shell{width:min(1060px,100%);display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:85px}.auth-intro{min-width:0}.auth-intro>.brand{justify-content:flex-start;width:max-content;margin-bottom:56px}.auth-intro .brand-word{display:block!important}.auth-kicker{font-size:9px;color:var(--green);letter-spacing:2px;margin-bottom:20px}.auth-intro h2{font-size:clamp(34px,4vw,54px);line-height:1.13;letter-spacing:-1.8px;font-weight:550;margin:0 0 24px}.auth-intro h2 span{color:var(--green)}.auth-lead{font-size:14px;line-height:1.9;color:var(--muted);max-width:390px}.auth-visual{margin:35px 0;max-width:440px;position:relative}.auth-visual svg{width:100%;height:120px;overflow:visible;filter:drop-shadow(0 0 8px #79e8bf1c)}.auth-visual small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.auth-benefits{display:grid;gap:17px;border-top:1px solid var(--border);padding-top:23px}.auth-benefits div{display:grid;grid-template-columns:115px 1fr;gap:15px}.auth-benefits b{font-size:9px;letter-spacing:1px;color:var(--green);font-weight:550}.auth-benefits span{font-size:11px;color:var(--muted)}.auth-card{width:100%;max-width:none;margin:0;padding:36px 31px!important;min-width:0;border:1px solid var(--border);border-radius:18px;box-shadow:0 25px 80px #0003;background:linear-gradient(150deg,color-mix(in srgb,var(--green) 4%,var(--panel)),var(--panel));position:relative}.auth-card::before{content:"";position:absolute;top:0;left:32px;right:32px;height:1px;background:linear-gradient(90deg,transparent,#79e8bf80,transparent)}.auth-card .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:18px}.auth-card h1{font-size:27px;letter-spacing:-.7px;line-height:1.25;margin-bottom:14px}.auth-card p{font-size:12px;line-height:1.8;color:var(--muted)}.auth-card label{font-size:11px;display:grid;gap:8px;margin:18px 0;color:var(--text)}.auth-card input{width:100%;min-height:47px;border:1px solid var(--border);border-radius:9px;padding:12px;background:var(--bg);color:var(--text);font-size:14px}.auth-card button{min-height:46px;border-radius:9px;width:100%;margin-top:14px;background:var(--green);color:#09251c;border:0;cursor:pointer;font-size:12px;font-weight:650;transition:filter .2s,transform .2s}.auth-card button:hover{filter:brightness(1.07);transform:translateY(-1px)}.auth-error:empty{display:none}.auth-card .auth-error{color:var(--red)}.auth-card a{color:var(--green)}.auth-guest{border-top:1px solid var(--border);padding-top:20px;margin-top:23px}.guest-button{display:block;text-align:center;padding:12px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--border));border-radius:9px;font-size:12px;transition:background .2s}.guest-button:hover{background:#79e8bf0c}.auth-guest small{display:block;color:var(--muted);font-size:10px;line-height:1.8;text-align:center;margin-top:12px}
@media(max-width:820px){.auth-shell{gap:35px;grid-template-columns:1fr 1fr}.auth-benefits div{grid-template-columns:1fr;gap:4px}.auth-intro h2{font-size:35px}.auth-card{padding:28px 23px!important}}
@media(max-width:620px){.auth-body{padding:28px 20px}.auth-shell{grid-template-columns:1fr;gap:27px;max-width:430px}.auth-intro>.brand{margin-bottom:27px}.auth-intro h2{font-size:32px;margin-bottom:12px}.auth-kicker{font-size:8px;margin-bottom:13px}.auth-lead{font-size:12px;margin-bottom:0}.auth-visual,.auth-benefits{display:none}.auth-card h1{font-size:24px}.auth-card{padding:29px 24px!important}}

/* One gentle entrance; authentication state and form behavior are untouched. */
.auth-intro{animation:auth-arrive .65s cubic-bezier(.22,.7,.2,1) both}.auth-card{animation:auth-arrive .65s .09s cubic-bezier(.22,.7,.2,1) both}.auth-visual svg{animation:auth-chart-reveal 1.2s .15s ease-out both}.auth-card input{transition:border-color .2s,box-shadow .2s}.auth-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 9%,transparent)}
@keyframes auth-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-chart-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.auth-intro,.auth-card,.auth-visual svg{animation:none!important}.auth-card input{transition:none}}
