/* Shared brand language and the entrance to the team's workspace. */
:root{--radius:20px;--muted:#5b6f90;--shadow:0 10px 32px #153a720d}
body{line-height:1.5}
svg{display:block;stroke-linecap:round;stroke-linejoin:round}
.button{min-height:48px;padding:13px 20px;font-size:14px;border-radius:12px}
.button-dark{background:linear-gradient(135deg,#2869f3,#245de8);box-shadow:0 8px 22px #245de82b}
.button-dark:hover{background:linear-gradient(135deg,#245de8,#1748be);transform:translateY(-1px)}
.button>span{transition:transform .2s ease}
.button:hover>span{transform:translate(2px,-2px)}
.field{gap:9px;margin-bottom:22px}
.field label{font-size:13px}
.field input,.field select,.field textarea{font-size:15px;min-height:50px;border-radius:12px;padding:13px 15px;background:#f8faff;border-color:#d8e2f3}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#6594f3;box-shadow:0 0 0 3px #245de810;background:white}
.field small{font-size:12px}
.notice{font-size:14px;line-height:1.7;padding:14px 16px;border-radius:12px}
.brand-symbol img{animation:portal-brand-float 7s ease-in-out infinite;transform-origin:50% 55%}
@keyframes portal-brand-float{0%,100%{transform:perspective(180px) rotateY(-12deg) translateY(0)}50%{transform:perspective(180px) rotateY(15deg) translateY(-2px)}}
.initial-loader{background:#0b1934;color:#bdcce6;font-size:15px}
.loader-mark{color:#28d9ce;border-color:#28d9ce70;background:#28d9ce0d}
.auth-screen{background:radial-gradient(ellipse at 10% 50%,#183c7138,transparent 58%),#0b1934;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);grid-template-rows:auto 1fr;min-height:100dvh;padding-inline:max(40px,calc((100vw - 1360px)/2));column-gap:68px}
.portal-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:104px;border-bottom:1px solid #ffffff16;position:relative}
.portal-header .brand{font-size:15px;letter-spacing:1.8px;font-weight:650;gap:12px}
.portal-header .brand b{display:inline;font-weight:650}
.portal-header .brand small{font-size:7.5px;margin-top:5px;letter-spacing:2px}
.portal-header .brand-symbol{width:43px;height:48px}
.portal-home-link{display:flex;align-items:center;gap:18px;font-size:13px;color:#d4def0;white-space:nowrap}
.portal-home-link span{color:#28d9ce;font-size:19px;transition:transform .2s ease}
.portal-home-link:hover{color:white}.portal-home-link:hover span{transform:translate(2px,-2px)}
.portal-header::before,.portal-header::after{content:"";position:absolute;left:0;right:0;bottom:-2px;pointer-events:none;background-repeat:no-repeat;animation:portal-entrance-beacon 4.8s ease-in-out infinite}
.portal-header::before{height:9px;bottom:-5px;background-image:radial-gradient(ellipse at center,#ff8a1f4d,transparent 70%),radial-gradient(ellipse at center,#ff8a1f4d,transparent 70%);background-size:24% 100%,24% 100%;filter:blur(2px)}
.portal-header::after{height:2px;background-image:linear-gradient(90deg,transparent,#ff8a1f 30%,#ffd18a 50%,#ff8a1f 70%,transparent),linear-gradient(90deg,transparent,#ff8a1f 30%,#ffd18a 50%,#ff8a1f 70%,transparent),linear-gradient(90deg,transparent,#ff8a1f26 12%,#ff8a1f26 88%,transparent);background-size:18% 100%,18% 100%,100% 100%}
@keyframes portal-entrance-beacon{0%,100%{background-position:0% 50%,100% 50%,center}50%{background-position:100% 50%,0% 50%,center}}
.auth-story{padding:55px 0 36px;background:none;overflow:visible;isolation:auto;min-width:0}
.auth-story::before,.auth-story::after{display:none}
.auth-story-main{padding:0;margin:auto 0}
.auth-story .eyebrow{color:#79d6d5;font-size:11px;letter-spacing:1.9px;display:block}
.auth-story h1{font-size:clamp(42px,4vw,60px);font-weight:400;line-height:1.13;letter-spacing:-1.9px;margin:24px 0;color:#f4f7ff}
.auth-story h1 em{color:#28d9ce;font-weight:400}
.auth-story-main>p{font-size:16px;line-height:1.85;max-width:490px;color:#b8c8e3;margin-bottom:0}
.auth-visual{height:218px;max-width:470px;position:relative;perspective:650px;margin:22px 0 16px;isolation:isolate}
.auth-visual::before{content:"";position:absolute;inset:0 8%;background:radial-gradient(ellipse,#28d9ce1a,transparent 67%);pointer-events:none}
.auth-grid-plane{position:absolute;inset:45% 8% -14%;background-image:linear-gradient(#78cbd31a 1px,transparent 1px),linear-gradient(90deg,#78cbd31a 1px,transparent 1px);background-size:30px 30px;transform:rotateX(66deg);mask-image:radial-gradient(ellipse,black,transparent 70%)}
.auth-orbit{position:absolute;left:50%;top:50%;border:1px solid #74bbd42a;border-radius:50%;width:290px;height:110px;transform:translate(-50%,-50%) rotate(-12deg)}
.auth-orbit-two{width:160px;height:200px;transform:translate(-50%,-50%) rotate(24deg);border-color:#28d9ce29}
.auth-shield{position:absolute;left:calc(50% - 55px);top:calc(50% - 69px);width:110px;height:138px;filter:drop-shadow(0 14px 24px #020b2050);animation:portal-shield-float 7s ease-in-out infinite}
.auth-shield img{width:100%;height:100%;object-fit:contain}
@keyframes portal-shield-float{0%,100%{transform:rotateY(-16deg) rotateZ(-3deg) translateY(0)}50%{transform:rotateY(18deg) rotateZ(3deg) translateY(-7px)}}
.auth-light-node{position:absolute;left:calc(50% - 3px);top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#73fff4;box-shadow:0 0 12px #28d9ce;animation:portal-node-orbit 12s linear infinite}
.auth-light-node-two{background:#ffb45e;box-shadow:0 0 10px #ffb45e;animation-direction:reverse;animation-delay:-6s;opacity:.8}
@keyframes portal-node-orbit{from{transform:rotate(-12deg) scaleY(.4) rotate(0deg) translateX(145px) scaleY(2.5)}to{transform:rotate(-12deg) scaleY(.4) rotate(360deg) translateX(145px) scaleY(2.5)}}
.auth-float-card{position:absolute;display:flex;align-items:center;gap:10px;min-width:128px;padding:14px 16px;border-radius:13px;border:1px solid #729bcc3a;background:linear-gradient(135deg,#1b3866dd,#102449ee);color:#c9daee;box-shadow:0 10px 24px #020a2029;font-size:12px;animation:portal-card-float 8s ease-in-out infinite}
.auth-float-card svg{width:24px;height:24px;color:#64d6d6;flex-shrink:0}
.auth-float-doc{left:1%;top:26%;--card-tilt:-5deg}
.auth-float-team{right:0;bottom:13%;--card-tilt:5deg;animation-delay:-4s}
.auth-float-team svg{color:#83a9ff}
@keyframes portal-card-float{0%,100%{transform:rotate(var(--card-tilt)) translateY(0)}50%{transform:rotate(var(--card-tilt)) translateY(-6px)}}
.story-features{gap:25px;margin-top:24px;padding-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.story-features>div{gap:12px;min-width:0}.story-features span{font-size:11px}.story-features p{font-size:13px;line-height:1.75}.story-features strong{font-weight:500}
.auth-story-foot{font-size:11px;margin-top:35px;color:#91a7c7}.auth-story-foot a{display:none}
.auth-panel{background:none;padding:55px 0 32px;min-width:0;position:relative}
.auth-card{max-width:480px;margin:auto 0;border-radius:24px;padding:36px 38px;background:linear-gradient(160deg,#fff,#fafcff);border-color:#dde8fa;box-shadow:0 28px 80px #020e2845;animation:portal-auth-enter .65s ease both}
@keyframes portal-auth-enter{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.auth-card-top{margin-bottom:26px;gap:12px}.auth-card-top .eyebrow{font-size:10px;letter-spacing:1.5px}
.small-shield{width:32px;height:38px;display:block}.small-shield img{display:block;width:100%;height:100%;object-fit:contain}
.auth-card h2{font-size:32px;font-weight:550;line-height:1.2;letter-spacing:-1px;margin-bottom:12px}
.auth-card>p.muted{font-size:15px;line-height:1.75;margin-bottom:26px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:#edf3ff;border:1px solid #e0e9f8;border-radius:13px;margin-bottom:26px}
.auth-tabs button{padding:10px 12px;border:1px solid transparent;border-radius:9px;font-size:14px;min-height:43px;color:#5b7093;transition:background .2s,color .2s,box-shadow .2s}
.auth-tabs button[aria-selected=true]{background:white;color:#245de8;border-color:#d5e2fa;box-shadow:0 3px 9px #245de80c}.auth-tabs button[aria-selected=true]::after{display:none}
.auth-card .password-field input{padding-right:90px}.password-field button{font-size:12px;color:#48638e;right:15px;padding:0 2px}
.auth-submit{margin-top:8px;min-height:52px;font-size:14px}
.auth-footnote{font-size:12px;line-height:1.8;margin:22px 0}.back-link{font-size:13px;color:#516e98}.back-link:hover{color:#245de8}
.auth-copyright{color:#94a9ca;font-size:11px;padding-top:24px}
@media(max-width:1200px){.auth-screen{column-gap:40px;padding-inline:32px;grid-template-columns:minmax(0,1fr) minmax(370px,.9fr)}.auth-story h1{font-size:44px}.auth-story-main>p{font-size:15px}.auth-card{padding:32px}.story-features{gap:14px}.story-features p{font-size:12px}.auth-float-card{font-size:11px;min-width:115px;padding:12px}.auth-float-doc{left:0}.auth-float-team{right:0}}
@media(max-width:980px){.auth-screen{grid-template-columns:1fr;column-gap:0;padding-inline:28px}.portal-header{min-height:86px}.auth-story{width:100%;max-width:680px;margin-inline:auto;padding:38px 0 0}.auth-story-main{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:0 24px}.auth-story .eyebrow,.auth-story h1,.auth-story-main>p{grid-column:1}.auth-story h1{font-size:40px;margin:16px 0}.auth-story-main>p{font-size:14px}.auth-visual{grid-column:2;grid-row:1/4;height:190px;width:190px;align-self:center;margin:0}.auth-shield{width:94px;height:116px;left:calc(50% - 47px);top:calc(50% - 58px)}.auth-float-card{display:none}.auth-orbit-one{width:185px;height:70px}.auth-orbit-two{width:120px;height:175px}.auth-light-node{display:none}.story-features{grid-column:1/-1;margin-top:22px;padding-top:20px}.auth-story-foot{display:none}.auth-panel{padding:32px 0 28px}.auth-card{max-width:560px}.auth-copyright{padding-top:24px}}
@media(max-width:600px){.auth-screen{padding-inline:20px}.portal-header{min-height:82px;gap:14px}.portal-header .brand{font-size:12px;letter-spacing:1.2px;gap:9px}.portal-header .brand small{font-size:6px;letter-spacing:1.4px}.portal-header .brand-symbol{width:36px;height:42px}.portal-home-link{font-size:11px;gap:7px}.portal-home-link span{font-size:17px}.auth-story{padding-top:32px}.auth-story-main{display:block;text-align:center}.auth-story .eyebrow{font-size:10px}.auth-story h1{font-size:clamp(30px,8.2vw,39px);letter-spacing:-1px;line-height:1.16;margin:16px 0}.auth-story-main>p{font-size:14px;max-width:390px;margin-inline:auto;line-height:1.8}.auth-visual{width:100%;height:142px;margin:12px 0 0}.auth-shield{width:78px;height:96px;left:calc(50% - 39px);top:calc(50% - 48px)}.auth-orbit-one{width:240px;height:70px}.auth-orbit-two{width:110px;height:132px}.auth-grid-plane{inset:45% 10% -10%}.story-features{display:none}.auth-panel{padding-top:18px}.auth-card{padding:27px 23px;border-radius:20px}.auth-card h2{font-size:28px}.auth-card>p.muted{font-size:14px}.auth-card-top{margin-bottom:22px}.auth-tabs{margin-bottom:24px}.auth-card .field{margin-bottom:20px}.field input,.field select,.field textarea{font-size:16px}.auth-footnote{font-size:12px}.auth-submit{gap:12px;font-size:14px}.auth-copyright{padding-top:22px}}
@media(prefers-reduced-motion:reduce){.brand-symbol img,.portal-header::before,.portal-header::after,.auth-shield,.auth-light-node,.auth-float-card,.auth-card{animation:none!important}.portal-header::before,.portal-header::after{background-position:50% 50%,50% 50%,center;opacity:.5}.auth-light-node{display:none}.auth-card{opacity:1;translate:0 0}}
.portal-header-actions{display:flex;align-items:center;gap:18px}.auth-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:var(--muted);margin:18px 0}.auth-consent input{width:17px;height:17px;margin:3px 0 0;flex-shrink:0;accent-color:#245de8}.auth-submit:disabled{opacity:.38;filter:saturate(.3);cursor:not-allowed;box-shadow:none}@media(max-width:600px){.portal-header-actions{gap:10px}.portal-header-actions .portal-home-link{font-size:10px}}
