:root{--ink:#14243a;--muted:#5c6c81;--blue:#145cea;--navy:#0b1f3a;--line:#e0e8f1;--radius:24px}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 4% 18%,#e4efff,transparent 45%),radial-gradient(ellipse at 98% 55%,#e6f7fb,transparent 38%),#f6f8fc;color:var(--ink);font:15px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}
a{color:#175ac4;text-underline-offset:4px}button,input,select{font:inherit}
header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px max(24px,calc((100vw - 1180px)/2));background:#ffffffd9;border-bottom:1px solid #dce5ef;backdrop-filter:blur(14px)}
header nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:650}header nav>a{text-decoration:none;color:#41536b}header nav>a:hover{color:var(--blue)}header form{margin:0}
.portal-brand{display:inline-flex;flex-direction:column;gap:6px;text-decoration:none;flex-shrink:0}
.portal-wordmark{display:flex;align-items:center;background:linear-gradient(115deg,#0b1f3a,#183957);border:1px solid #284e73;border-radius:12px;padding:10px 16px;box-shadow:0 5px 15px #08223d12}
.portal-wordmark img{display:block;width:190px;height:auto}.portal-brand-caption{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#61758d;font-weight:700;margin-left:3px}
main{max-width:1180px;margin:30px auto 64px;padding:0 24px}
.test-notice{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 16px;border:1px solid #dae4ee;background:#ffffffa8;border-radius:12px;font-size:12px;color:#63758b;margin-bottom:32px}.test-notice strong{color:#344b68}.status-dot{width:7px;height:7px;border-radius:50%;background:#1682c9;box-shadow:0 0 0 4px #1682c911;flex-shrink:0}
h1,h2,h3{letter-spacing:-.035em;line-height:1.18}h1{font-size:clamp(30px,4vw,48px);margin:18px 0}h2{font-size:25px}h3{font-size:20px}.muted{color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin:20px 0;box-shadow:0 8px 30px #183e6906}
.narrow{max-width:530px;margin:32px auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px}.grid>.card{margin:0}
.tag,.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#edf4ff;color:#245cb3;border:1px solid #dce9fe;border-radius:30px;padding:5px 12px;font-size:11px;font-weight:750;letter-spacing:.03em}
.eyebrow{background:transparent;border:0;padding:0;color:#5a86b5;text-transform:uppercase;letter-spacing:.16em}
label{display:block;margin:18px 0;font-size:13px;font-weight:650;color:#2c425e}input,select{display:block;width:100%;padding:13px 15px;border:1px solid #ccd8e5;border-radius:11px;color:var(--ink);background:#fafdff;margin-top:8px;min-width:0}input::placeholder{color:#8b9bb0}input:focus,select:focus{border-color:#548be7;background:white}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(115deg,#1859dc,#147bd9);color:white;padding:13px 22px;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;min-height:46px;box-shadow:0 5px 14px #175ac420;transition:transform .18s,box-shadow .18s}
button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #175ac42c}.secondary{background:#f4f7fc;color:#2b4361;border-color:#dbe5f1;box-shadow:none}
.error{background:#fff2ec;border:1px solid #f1d5c6;color:#973e19;padding:14px 18px;border-radius:12px}
.steps{list-style:none;counter-reset:step;padding:0}.steps li{position:relative;padding:6px 0 24px 55px;margin:16px 0;color:var(--muted);border-bottom:1px solid #eef2f8}.steps li:last-child{border:0}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf4ff;color:#235dba;font-weight:750}.steps strong{display:block;color:#263f5c;margin-bottom:6px}
.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #dce5ef;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 22px 65px #183e690c;margin-top:36px}
.auth-story{position:relative;padding:55px 46px;overflow:hidden;background:radial-gradient(ellipse at 90% 10%,#16669477,transparent 55%),linear-gradient(145deg,#0b1f3a,#102f50);color:#c0d3e7}
.auth-story:after{content:"";position:absolute;right:-140px;bottom:-160px;width:390px;height:390px;border:1px solid #6bafff25;border-radius:50%;box-shadow:0 0 0 60px #6bafff07,0 0 0 120px #6bafff04;pointer-events:none}
.auth-story h1{color:white;font-size:clamp(32px,3.3vw,44px);max-width:390px}.auth-story h1 em{font-style:normal;color:#73ceff}.auth-story .eyebrow{color:#8cc8f0}.auth-story>p{max-width:360px;font-size:15px}.story-points{list-style:none;padding:0;margin:36px 0}.story-points li{display:flex;gap:14px;align-items:center;margin:23px 0;font-size:14px}.story-points span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#ffffff0a;border:1px solid #ffffff20;color:#85d6ff;font-size:12px;font-weight:750}.story-note{font-size:11px!important;color:#91aac4;border-top:1px solid #ffffff16;padding-top:18px;position:relative;z-index:1}
.auth-panel{padding:42px 44px}.auth-panel h2{margin:20px 0 7px;font-size:29px}.auth-panel>p{font-size:13px}.auth-brand{display:flex;align-items:center;gap:10px}.auth-brand img{width:42px;height:42px;object-fit:contain}.auth-brand span{font-weight:750;color:#244564;font-size:14px}.auth-panel form{margin-top:10px}.auth-panel form>button{width:100%;margin-top:10px}.social-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:23px 0}.social-options .button{font-size:12px;background:#fff;border-color:#dbe5f1;color:#304760;box-shadow:none;padding:11px 12px}.social-mark{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;font-size:15px;font-weight:800;background:#eaf2ff;color:#195ecb}
.divider{display:flex;align-items:center;gap:12px;font-size:11px;color:#71839a;margin:20px 0}.divider:before,.divider:after{content:"";height:1px;background:#e5ebf3;flex:1}.auth-switch{text-align:center;font-size:12px;color:#65778d;margin-top:23px}
.welcome-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;align-items:center;padding:26px 0 42px}.welcome-hero h1{font-size:clamp(36px,4.8vw,58px);max-width:600px}.welcome-hero h1 em{color:#176bcb;font-style:normal}.welcome-hero p{max-width:540px}.hero-visual{background:linear-gradient(145deg,#102948,#164974);border:1px solid #26577a;padding:30px;border-radius:26px;box-shadow:0 18px 45px #143c6220;color:white;transform:rotate(2deg)}.hero-visual .visual-top{display:flex;gap:5px;margin-bottom:22px}.visual-top i{width:6px;height:6px;background:#91b7d1;border-radius:50%}.visual-address{margin-left:auto;color:#92c6e8;font-size:10px;overflow-wrap:anywhere}.visual-title{font-size:21px;font-weight:750;line-height:1.35;max-width:230px}.visual-row{display:flex;gap:12px;align-items:center;border:1px solid #ffffff15;border-radius:12px;padding:13px;margin-top:12px;background:#ffffff08;font-size:12px}.visual-row span{background:#8cdaff17;color:#99ddff;width:27px;height:27px;display:grid;place-items:center;border-radius:8px}.visual-row small{display:block;color:#a1bfd6;font-size:10px}.role-card{position:relative;padding:32px}.role-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #deebfb;border-radius:14px;background:#f0f6ff;color:#2567c7;margin-bottom:20px;font-weight:800;font-size:16px}.role-card p{color:var(--muted);font-size:14px}.role-card .button{margin-top:6px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:14px 0 20px}.section-heading h2{margin:0;font-size:21px}.subtle-card{background:#ffffff75;box-shadow:none}.subtle-card h2{font-size:19px}.subtle-card p{font-size:13px;color:var(--muted)}
footer{max-width:1180px;margin:0 auto;padding:24px;border-top:1px solid #dfe7f0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#7a8a9d;font-size:11px}footer>span:first-child{font-weight:750;color:#425d7a}
:focus-visible{outline:3px solid #379bd8;outline-offset:4px}
@media(max-width:900px){.auth-layout{grid-template-columns:.85fr 1fr}.auth-story{padding:40px 28px}.auth-panel{padding:36px 28px}.welcome-hero{gap:25px}.hero-visual{padding:24px}.welcome-hero h1{font-size:42px}}
@media(max-width:680px){header{padding:16px 20px;flex-wrap:wrap;gap:15px}header nav{gap:16px;flex-wrap:wrap;font-size:12px}.portal-wordmark img{width:160px}.portal-brand-caption{font-size:8px}main{padding:0 18px;margin-top:22px}.test-notice{font-size:10px;margin-bottom:22px}.test-notice>span:last-child{flex-basis:100%}.auth-layout{display:flex;flex-direction:column;margin-top:22px;border-radius:22px}.auth-story{padding:30px 25px}.auth-story h1{font-size:31px;margin:14px 0}.auth-story>p{font-size:13px}.story-points{display:none}.story-note{margin-bottom:0;font-size:10px!important}.auth-panel{padding:28px 24px}.auth-panel h2{font-size:25px}.welcome-hero{grid-template-columns:1fr;gap:24px;padding:14px 0 32px}.welcome-hero h1{font-size:38px}.hero-visual{transform:none}.card{padding:24px;border-radius:20px}.grid{gap:16px}.section-heading{align-items:flex-start;flex-direction:column}.narrow{margin:24px auto}footer{font-size:10px;gap:10px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}button:hover,.button:hover{transform:none}}
