body.guest{min-height:100vh;overflow:hidden;background:linear-gradient(135deg,#047857 0%,#0b2e63 35%,#0f766e 68%,#047857 100%);background-size:400% 400%;animation:auth-bg-shift 60s ease infinite}
body.guest main{width:100%;max-width:none;margin:0;padding:20px}
.auth-shell{position:relative;min-height:calc(100vh - 40px);display:grid;place-items:center;isolation:isolate}
.auth-orb{position:fixed;border-radius:50%;filter:blur(85px);opacity:.48;pointer-events:none;z-index:-2;animation:auth-orb-float 9s ease-in-out infinite}
.auth-orb-one{width:430px;height:430px;top:-150px;left:-100px;background:radial-gradient(circle,#34d399,#047857)}
.auth-orb-two{width:350px;height:350px;right:-80px;bottom:-110px;background:radial-gradient(circle,#2dd4bf,#0f766e);animation-duration:12s;animation-delay:-4s}
.auth-orb-three{width:260px;height:260px;top:38%;right:18%;background:radial-gradient(circle,#5eead4,#03695f);animation-duration:14s;animation-delay:-7s}
#auth-particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.68}
.auth-card{position:relative;width:min(430px,100%);padding:38px 38px 30px;overflow:hidden;border:1px solid #ffffff2b;border-radius:24px;background:#ffffff12;box-shadow:0 32px 70px #0007,inset 0 1px 0 #ffffff35;backdrop-filter:blur(28px) saturate(165%);-webkit-backdrop-filter:blur(28px) saturate(165%);color:#fff;animation:auth-card-in .7s cubic-bezier(.16,1,.3,1) both}
.auth-card-shimmer{position:absolute;inset:0 auto 0 -100%;width:65%;background:linear-gradient(105deg,transparent 30%,#ffffff0f 50%,transparent 70%);animation:auth-shimmer 4.8s ease-in-out infinite;pointer-events:none}
.auth-brand{position:relative;text-align:center}
.auth-mark{position:relative;width:70px;height:70px;margin:0 auto 17px;display:grid;place-items:center;border:1px solid #ffffff4a;border-radius:19px;background:linear-gradient(135deg,#059669,#14b8a6);box-shadow:0 10px 30px #10b98155;font-size:20px;font-weight:900;letter-spacing:1.5px;animation:auth-mark-pulse 3s ease-in-out infinite}
.auth-mark:after{content:"";position:absolute;inset:-5px;z-index:-1;border-radius:23px;border:1px solid #5eead477;animation:auth-mark-ring 3s ease-in-out infinite}
.auth-mark img{display:block;width:100%;height:100%;padding:7px;object-fit:contain}
.auth-kicker{display:block;margin-bottom:4px;color:#b4eee7;font-size:10px;font-weight:600;letter-spacing:1.15px;text-transform:uppercase}
.auth-brand h1{margin:0;color:#fff;font-size:28px;line-height:1.16;letter-spacing:-.5px;text-shadow:0 2px 16px #0005}
.auth-brand p{margin:8px 0 25px;color:#c8e7df;font-size:var(--text-sm)}
.auth-form{position:relative}
.auth-form form{display:grid;gap:15px}
.auth-form label{display:grid;gap:7px;color:#d9eee9;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.7px;text-transform:uppercase}
.auth-form input{width:100%;padding:13px 15px;border:1px solid #ffffff26;border-radius:12px;outline:0;background:#ffffff0f;color:#fff;font-size:var(--text-base);font-weight:var(--weight-normal);line-height:1.2;box-shadow:none;transition:border-color .25s,box-shadow .25s,background .25s}
.auth-form input::placeholder{color:#c2d9d388}
.auth-form input:focus{border-color:#5eead499;background:#ffffff19;box-shadow:0 0 0 3px #14b8a633,0 5px 18px #0003}
.password-field{position:relative;display:block}.password-field input{padding-right:48px}
.password-toggle{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#b9dcd4;font-size:16px;cursor:pointer;box-shadow:none}.password-toggle:hover{background:#ffffff12;color:#fff}
.auth-submit{width:100%;margin-top:3px;padding:14px;border:0;border-radius:12px;background:linear-gradient(135deg,#173b78,#126b82,#159a94);background-size:200% 200%;color:#fff;font-size:var(--text-md);font-weight:var(--weight-heavy);line-height:1;letter-spacing:.2px;cursor:pointer;box-shadow:0 9px 25px #0a315c55;transition:transform .18s,box-shadow .18s,filter .18s,background-position .4s}
.auth-submit:hover{transform:translateY(-2px);background-position:right center;filter:brightness(1.1);box-shadow:0 13px 32px #159a9466}.auth-submit:active{transform:translateY(0)}
.auth-switch{margin:17px 0 0;text-align:center}.auth-switch a{color:#99f6e4;font-size:12px;font-weight:700;text-decoration:none}.auth-switch a:hover{color:#fff}
.auth-divider{height:1px;margin:21px 0 17px;background:#ffffff17}
.auth-card footer{text-align:center;color:#bdd8d3;font-size:var(--text-2xs);line-height:1.55}
body.guest .alert{position:fixed;top:16px;left:50%;z-index:30;width:min(430px,calc(100% - 32px));transform:translateX(-50%);border-color:#ffffff38;background:#123d37eb;color:#fff;box-shadow:0 12px 35px #0005;backdrop-filter:blur(15px)}
@keyframes auth-bg-shift{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}
@keyframes auth-orb-float{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(28px,-24px,0) scale(1.08)}}
@keyframes auth-card-in{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes auth-shimmer{0%,42%{left:-100%}68%,100%{left:145%}}
@keyframes auth-mark-pulse{0%,100%{transform:translateY(0);box-shadow:0 10px 30px #10b98155}50%{transform:translateY(-3px);box-shadow:0 14px 38px #2dd4bf77}}
@keyframes auth-mark-ring{0%,100%{opacity:.2;transform:scale(.93)}50%{opacity:.75;transform:scale(1.05)}}
@media(max-width:600px){body.guest{overflow:auto}body.guest main{padding:12px}.auth-shell{min-height:calc(100vh - 24px)}.auth-card{padding:30px 23px 25px;border-radius:20px}.auth-mark{width:60px;height:60px;border-radius:16px}.auth-brand h1{font-size:24px}.auth-orb-one{width:300px;height:300px}.auth-orb-two{width:250px;height:250px}}
@media(prefers-reduced-motion:reduce){body.guest,.auth-orb,.auth-card,.auth-card-shimmer,.auth-mark,.auth-mark:after{animation:none!important}}
.auth-mark{z-index:2;width:145px;height:145px;margin:0 auto 2px;display:flex;align-items:center;justify-content:center;border:0!important;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.24) 0%,rgba(80,210,225,.16) 42%,rgba(80,210,225,.07) 62%,rgba(80,210,225,.025) 74%,transparent 84%)!important;box-shadow:none!important;animation:none}.auth-mark:after{display:none}.auth-mark img{position:relative;z-index:2;width:106px;height:auto;padding:0;object-fit:contain;filter:drop-shadow(0 10px 18px #0004);animation:auth-logo-float 4s ease-in-out infinite}
@keyframes auth-logo-float{0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 10px 18px #0005)}50%{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 15px 23px #0007)}}
@media(max-width:600px){.auth-mark{width:125px;height:125px}.auth-mark img{width:92px}}
@media(prefers-reduced-motion:reduce){.auth-mark img{animation:none!important}}
.auth-mark.auth-mark-text{width:70px;height:70px;border:1px solid #ffffff4a!important;background:linear-gradient(135deg,#059669,#14b8a6)!important;box-shadow:0 10px 30px #10b98155!important;color:#fff;font-size:30px;animation:auth-mark-pulse 3s ease-in-out infinite}
.auth-mark.auth-mark-text:after{display:block}
