.portal-auth,.portal-shell,.portal-state{min-height:100dvh;background:#08090b;color:#eee}.portal-shell{padding:0 5vw 80px}.portal-header{display:flex;align-items:center;justify-content:space-between;height:74px;border-bottom:1px solid #24262b}.portal-header>div{display:flex;align-items:center;gap:14px;color:#858a92;font-size:13px}.portal-brand{color:#f3f3f0;font-family:var(--font-display),sans-serif;font-size:17px}.portal-intro{max-width:780px;padding:80px 0 55px}.portal-kicker{margin:0 0 14px;color:#93a6c4;font-size:11px;letter-spacing:.17em}.portal-auth>div>h1,.portal-intro h1{margin:0;color:#f4f4f1;font-family:var(--font-display),sans-serif;font-size:clamp(42px,7vw,76px);font-weight:500;letter-spacing:-.055em;line-height:.98}.portal-auth>div>p:last-child,.portal-intro>p:last-child{max-width:620px;margin:22px 0 0;color:#92969d;font-size:16px;line-height:1.7}.portal-error{margin:0 0 24px;padding:13px 16px;border:1px solid #713f48;background:#351a20;color:#ffd9de}.portal-create{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:end;gap:18px;margin-bottom:28px;padding:24px;border:1px solid #30343b;background:#111318}.portal-create h2{margin:0;font:500 22px/1.15 var(--font-display),sans-serif}.portal-create>div>p:last-child{margin:7px 0 0;color:#7f848c;font-size:13px}.portal-create label,.update-form label{display:flex;flex-direction:column;gap:7px;color:#9ca1a9;font-size:12px}.portal-create input,.update-form input,.update-form select,.update-form textarea{width:100%;border:1px solid #2c3037;background:#0b0d10;color:#efefec;font:inherit}.portal-create input,.update-form input,.update-form select{height:44px;padding:0 12px}.portal-create button,.update-form button{min-height:44px;padding:0 18px;border:1px solid #dfe4eb;background:#e9e9e7;color:#0a0b0d;font-weight:600;cursor:pointer}.portal-create button:disabled,.update-form button:disabled{cursor:wait;opacity:.5}.portal-projects{display:grid;gap:22px}.portal-project{overflow:hidden;border:1px solid #272a30;background:linear-gradient(145deg,#111318,#0b0d10 68%);box-shadow:0 30px 80px #0004}.portal-project>header{display:flex;justify-content:space-between;padding:15px 22px;border-bottom:1px solid #24272d;color:#aeb2b8;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.portal-project>header>div{display:flex;align-items:center;gap:9px}.portal-project>header small{color:#6f747c;text-transform:none;letter-spacing:0}.status-dot{width:7px;height:7px;border-radius:50%;background:#93a6c4;box-shadow:0 0 16px #93a6c4}.project-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:36px 38px 28px}.project-overview h2{margin:0;color:#f2f2ef;font:500 clamp(30px,4vw,48px)/1 var(--font-display),sans-serif;letter-spacing:-.04em}.project-overview .next-step{margin:13px 0 0;color:#8e939b}.project-overview>strong{color:#e8ebf0;font:500 clamp(48px,7vw,80px)/.8 var(--font-display),sans-serif;letter-spacing:-.07em}.project-overview>strong span{color:#737983;font-size:.35em;letter-spacing:0}.progress-track{height:3px;margin:0 38px;overflow:hidden;background:#24272d}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#526784,#c2cedf);box-shadow:0 0 20px #9fb5d4;transition:width .6s ease}.project-meta{display:flex;gap:40px;padding:18px 38px 34px;color:#676c74;font-size:12px}.project-meta b{margin-left:5px;color:#a9aeb5;font-weight:400}.project-lower{display:grid;grid-template-columns:1.35fr 1fr;border-top:1px solid #24272d}.timeline,.update-form{padding:30px 38px 38px}.timeline{border-right:1px solid #24272d}.timeline-item{display:grid;grid-template-columns:105px 1fr;gap:20px;padding:18px 0;border-top:1px solid #22252a}.timeline-item time{color:#686d75;font-size:12px}.muted,.timeline-item p{margin:0;color:#afb3ba;font-size:14px;line-height:1.65}.update-form{display:flex;flex-direction:column;gap:13px}.update-form textarea{min-height:90px;padding:11px 12px;resize:vertical}.update-row{display:grid;grid-template-columns:1fr 100px;gap:10px}.portal-empty{padding:80px 30px;border:1px solid #25282e;text-align:center}.portal-empty span{color:#454a52;font:500 72px/1 var(--font-display),sans-serif}.portal-empty h2{margin:15px 0 8px;font:500 30px var(--font-display),sans-serif}.portal-empty p{margin:0;color:#7f848c}.portal-auth{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8vw;padding:80px 8vw}.portal-auth>.portal-brand{position:absolute;top:28px;left:8vw}.portal-auth>div{max-width:720px}.portal-auth-button{width:fit-content;padding:15px 22px;border:1px solid #dfe4eb;background:#e9e9e7;color:#0a0b0d;font-size:14px;font-weight:600}.portal-auth-button:hover{background:#fff;color:#0a0b0d}.portal-state{display:grid;place-items:center;color:#9da2aa}.simple-auth{position:relative;isolation:isolate;display:grid;min-height:100dvh;overflow:hidden;place-items:center;padding:92px 20px 40px;color:#fff;background:radial-gradient(circle at 50% 45%,#182234 0,#0b0d12 42%,#050607 76%)}.simple-auth:before{content:"";position:absolute;z-index:-2;width:680px;height:680px;border:1px solid #9eb9df1f;border-radius:50%;background:radial-gradient(circle,#6f91c02e,transparent 67%);filter:blur(8px)}.simple-auth:after{content:"";position:absolute;z-index:-1;inset:0;opacity:.22;background-image:linear-gradient(#9aabc00a 1px,transparent 0),linear-gradient(90deg,#9aabc00a 1px,transparent 0);background-size:48px 48px;mask-image:radial-gradient(circle at center,#000,transparent 72%)}.simple-auth>.portal-brand{position:absolute;top:32px;left:50%;color:#fff;font-size:20px;font-weight:600;letter-spacing:-.04em;text-shadow:0 2px 20px #000;transform:translateX(-50%)}@media (max-width:980px){.portal-create{grid-template-columns:1fr 1fr}.portal-create>div{grid-column:1/-1}.project-lower{grid-template-columns:1fr}.timeline{border-right:0;border-bottom:1px solid #24272d}.portal-auth{grid-template-columns:1fr;padding-top:130px}}@media (max-width:620px){.portal-shell{padding-inline:20px}.portal-intro{padding:58px 0 38px}.portal-create{grid-template-columns:1fr;padding:20px}.project-overview{align-items:flex-start;padding:28px 22px 22px}.project-overview>strong{font-size:48px}.progress-track{margin-inline:22px}.project-meta{flex-direction:column;gap:8px;padding:16px 22px 26px}.timeline,.update-form{padding:26px 22px}.timeline-item{grid-template-columns:1fr;gap:6px}.portal-auth{padding-inline:20px}.portal-auth>.portal-brand{left:20px}.simple-auth>.portal-brand{left:50%}}