/* The sign-in has its own palette; authenticated dashboard themes stay independent. */
.login-shell{--login-ink:#edf4f2;--login-muted:#9aadaa;--login-mint:#a4efd2;position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100svh;padding:36px clamp(24px,5.5vw,100px) 25px;overflow:hidden;background:#080f12;color:var(--login-ink);color-scheme:dark}
.login-shell *{box-sizing:border-box}
.login-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 21% 55%,#13332d66,transparent 52%),radial-gradient(ellipse at 85% 14%,#18303c55,transparent 45%)}
.ambient-light{position:absolute;width:760px;height:760px;left:-210px;top:12%;border-radius:50%;background:radial-gradient(circle,#4ed8b31a,transparent 64%);animation:ambient-drift 20s ease-in-out infinite alternate}
.login-grid{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(#77bbaa12 1px,transparent 1px),linear-gradient(90deg,#77bbaa12 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse at 30% 60%,#000,transparent 65%)}
.login-topline,.login-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:1;width:100%}
.login-brand{display:flex;align-items:center;gap:11px;color:var(--login-ink);text-decoration:none;font-size:31px;font-weight:640;letter-spacing:-1.7px;line-height:1}
.login-brand>svg{width:34px;height:34px;fill:none;stroke:var(--login-mint);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.brand-dot{color:var(--login-mint)}
.login-byline{font-size:10px;letter-spacing:2.4px;color:#b2c3bf;font-weight:600}
.login-top-actions{display:flex;align-items:center;gap:19px}
#motion-toggle{display:grid;place-items:center;width:34px;height:34px;border:1px solid #a4efd226;border-radius:50%;padding:7px;background:#a4efd206;color:#a4efd2;cursor:pointer}
#motion-toggle:hover{background:#a4efd218;border-color:#a4efd25c}
#motion-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.motion-pause{display:none}
#motion-toggle[aria-pressed=true] .motion-pause{display:block}
#motion-toggle[aria-pressed=true] .motion-play{display:none}
.login-layout{width:100%;max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.9fr);align-items:center;gap:clamp(30px,5vw,90px);padding:68px 0 60px}
.login-story{min-width:0;position:relative;align-self:center}
.login-kicker{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:2.5px;color:#b3cdc3;margin-bottom:26px}
.login-kicker>span{width:18px;height:1px;background:var(--login-mint)}
.login-story h1{font-size:clamp(32px,3.5vw,53px);line-height:1.15;font-weight:530;letter-spacing:-2px;margin:0;white-space:nowrap}
.login-story h1>span{color:var(--login-mint)}
.login-intro{font-size:15px;line-height:1.8;color:var(--login-muted);margin:24px 0 0}
.pulse-art{position:relative;width:115%;max-width:680px;margin:0 0 -18px -9%;pointer-events:none}
.pulse-sculpture{width:100%;height:auto;display:block;overflow:visible}
.orb-halo{position:absolute;width:65%;aspect-ratio:1;left:20%;top:5%;border-radius:50%;background:radial-gradient(circle,#71e3b70b,transparent 63%)}
.orbit{transform-origin:340px 210px;will-change:transform}
.orbit-one{animation:orbit-one 19s ease-in-out infinite alternate}
.orbit-two{animation:orbit-two 23s ease-in-out infinite alternate}
.orbit-three{animation:orbit-three 16s ease-in-out infinite alternate}
.art-stars{animation:star-breathe 7s ease-in-out infinite alternate}
.art-caption{display:flex;align-items:center;gap:16px;margin:-5px 12% 0 9%;font-size:8px;font-weight:550;letter-spacing:2px;color:#7f9d93}
.art-line{height:1px;flex:1;background:linear-gradient(90deg,#64877944,transparent)}
.login-card{position:relative;width:100%;max-width:440px;margin-left:auto;padding:35px;border-radius:24px;border:1px solid #abc8c125;background:linear-gradient(145deg,#1b292bfa,#101b20fa);box-shadow:0 32px 80px #0005,inset 0 1px #d6fff108;animation:login-arrive .65s ease-out both}
.login-card:before{content:"";position:absolute;height:1px;top:-1px;left:20%;right:20%;background:linear-gradient(90deg,transparent,#c4f1dc99,transparent)}
.login-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.login-eyebrow{font-size:9px;letter-spacing:2px;font-weight:650;color:#adccc1}
.login-card-top>svg{width:21px;height:21px;fill:none;stroke:#aac6bb;stroke-width:1.3;stroke-linecap:round}
.login-card h2{margin:0;font-size:28px;line-height:1.25;font-weight:570;letter-spacing:-1px;color:var(--login-ink)}
.login-card h2>span{color:var(--login-mint)}
.login-card-intro{font-size:13px;line-height:1.7;color:var(--login-muted);margin:12px 0 27px}
.login-card form{display:flex;flex-direction:column;gap:19px;margin:0}
.login-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.login-card label{font-size:12px;font-weight:550;color:#d3dfdb;margin:0}
.login-card input{width:100%;height:51px;padding:0 15px;border:1px solid #b8d8cc22;border-radius:10px;background:#08121666;color:#f0f7f4;outline:none;font:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}
.login-card input::placeholder{color:#819891;opacity:1}
.login-card input:hover{border-color:#b8d8cc44}
.login-card input:focus{border-color:#a4efd2;box-shadow:0 0 0 3px #a4efd216;background:#0c191c}
.password-wrap{position:relative}
.password-wrap input{padding-right:51px}
#password-toggle{position:absolute;right:3px;top:3px;width:45px;height:45px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:#99b3a9;cursor:pointer}
#password-toggle:hover{color:#d9ffee;background:#a4efd210}
#password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.eye-slash{display:none}
#password-toggle[aria-pressed=true] .eye-slash{display:block}
.login-shell button:focus-visible,.login-brand:focus-visible{outline:2px solid var(--login-mint);outline-offset:4px}
.login-card .primary{height:51px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:5px;padding:0 18px;border:1px solid #d7ffe688;border-radius:10px;background:#a4efd2;color:#11291e;font-size:13px;font-weight:650;box-shadow:0 4px 22px #74efba0d;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}
.login-card .primary:hover{background:#bffadd;box-shadow:0 6px 25px #74efba22;transform:translateY(-1px)}
.login-card .primary:active{transform:translateY(0)}
.login-card .primary:disabled{cursor:wait;opacity:.7;transform:none}
.login-submit-icon{width:20px;height:20px;display:grid;place-items:center}
.login-submit-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.primary[aria-busy=true] .login-submit-icon{border:2px solid #123c292f;border-top-color:#123c29;border-radius:50%;animation:login-spin .8s linear infinite}
.primary[aria-busy=true] .login-submit-icon svg{display:none}
.login-card .error{font-size:12px;line-height:1.6;color:#ffb7b0;margin:0}
.login-card .error:empty{display:none}
.login-access-note{display:flex;align-items:center;gap:10px;margin:29px 0 15px;color:#8ba49a;font-size:8px;letter-spacing:1.2px;white-space:nowrap}
.access-rule{height:1px;background:#b8d8cc1c;flex:1}
.login-help{font-size:12px;line-height:1.8;text-align:center;color:#9eb2a9;margin:0 auto;max-width:285px}
.login-readonly{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:25px;padding-top:19px;border-top:1px solid #b8d8cc13;color:#b0c7bb;font-size:10px;letter-spacing:.1px}
.login-readonly svg{height:15px;width:15px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.login-footer{width:100%;font-size:10px;letter-spacing:.35px;color:#8ca59c;border-top:1px solid #b8d8cc16;padding:16px 0 0}
.footer-separator{margin:0 10px;color:#49645a}
.login-shell.motion-paused *{animation-play-state:paused!important}
@keyframes orbit-one{from{transform:rotate(-8deg) scale(.97)}to{transform:rotate(12deg) scale(1.025)}}
@keyframes orbit-two{from{transform:rotate(12deg) scale(1.03)}to{transform:rotate(-16deg) scale(.95)}}
@keyframes orbit-three{from{transform:rotate(-16deg)}to{transform:rotate(23deg)}}
@keyframes ambient-drift{to{transform:translate(100px,-55px) scale(1.15)}}
@keyframes star-breathe{from{opacity:.25}to{opacity:.9}}
@keyframes login-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes login-spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.login-layout{padding:80px 0}.pulse-art{margin-top:15px}}
@media(max-width:1050px) and (min-width:761px){.login-layout{gap:28px;grid-template-columns:1fr 360px}.login-story h1{font-size:32px;letter-spacing:-1.2px}.login-card{padding:28px}.login-story h1{white-space:normal}.login-card h2{font-size:26px}}
@media(max-width:760px){
 .login-shell{padding:25px 24px 22px;min-height:100svh}
 .login-brand{font-size:28px}.login-brand>svg{width:29px;height:29px}.login-byline{font-size:8px;letter-spacing:1.8px}.login-top-actions{gap:12px}#motion-toggle{width:30px;height:30px;padding:5px}
 .login-layout{max-width:440px;display:flex;flex-direction:column;gap:22px;padding:30px 0 24px;margin:auto}
 .login-story{width:100%;padding:0 3px}.login-kicker{font-size:8px;letter-spacing:2px;margin-bottom:17px}
 .login-story h1{font-size:clamp(26px,6.6vw,36px);letter-spacing:-1px;line-height:1.2;white-space:normal}
 .login-intro{display:none}
 .pulse-art{position:absolute;width:300px;max-width:none;right:-114px;top:-95px;margin:0;opacity:.4;z-index:-1;transform:rotate(-20deg)}
 .art-caption{display:none}.login-card{max-width:none;padding:25px;border-radius:21px;background:linear-gradient(145deg,#1b2b2cf5,#101c20fa)}
 .login-card-top{margin-bottom:18px}.login-card h2{font-size:27px}.login-card-intro{margin:10px 0 21px;font-size:12px}
 .login-card input{font-size:16px}.login-card form{gap:17px}.login-card .primary{margin-top:4px}
 .login-access-note{margin-top:24px}.login-readonly{margin-top:21px;padding-top:16px}
 .login-footer{font-size:9px;letter-spacing:0}.login-footer>span:first-child{max-width:140px}.footer-separator{margin:0 5px}
}
@media(max-width:360px){.login-shell{padding:21px 17px}.login-layout{padding:32px 0 27px;gap:22px}.login-card{padding:23px 20px}.login-story h1{font-size:25px}.login-card h2{font-size:25px}.login-eyebrow{font-size:8px}.login-access-note{font-size:7px;letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){.login-shell *{animation:none!important;transition:none!important}.orbit{will-change:auto}}
/* An explicit press of Play can opt into decorative motion for this page only. */
@media(prefers-reduced-motion:reduce){
 .login-shell.motion-enabled .orbit-one{animation:orbit-one 19s ease-in-out infinite alternate!important}
 .login-shell.motion-enabled .orbit-two{animation:orbit-two 23s ease-in-out infinite alternate!important}
 .login-shell.motion-enabled .orbit-three{animation:orbit-three 16s ease-in-out infinite alternate!important}
 .login-shell.motion-enabled .ambient-light{animation:ambient-drift 20s ease-in-out infinite alternate!important}
 .login-shell.motion-enabled .art-stars{animation:star-breathe 7s ease-in-out infinite alternate!important}
 .login-shell.motion-enabled.motion-paused *{animation-play-state:paused!important}
}
