:root{--navy:#0e283b;--navy-deep:#092131;--navy-black:#071e2b;--accent:#69d6c7;--accent-deep:#19877c;--ink:#183242;--text:#233f4b;--slate:#5b7280;--paper:#fbfcfc;--wash:#f1f6f5;--line:#dce7e7;--white:#fff;--max:1160px;--shadow:0 18px 60px rgba(9,33,49,.075)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent-deep);outline-offset:3px}.container{width:min(calc(100% - 48px),var(--max));margin:0 auto}.brand{display:inline-flex;gap:10px;align-items:center;flex-shrink:0}.brand-mark{display:grid;place-items:center;height:43px;width:43px;background:var(--navy);color:var(--accent);border-radius:9px}.brand-mark svg{height:29px;width:29px}.brand-text{display:flex;flex-direction:column;font-size:16px;letter-spacing:.095em;line-height:1.01;color:var(--navy)}.brand-text strong{font-weight:850}.brand-text span{font-size:12px;letter-spacing:.25em;margin-top:3px;font-weight:550}.brand-on-dark .brand-mark{background:rgba(255,255,255,.08)}.brand-on-dark .brand-text{color:#fff}.preview-ribbon{display:flex;justify-content:center;align-items:center;gap:8px;background:#e8f5f0;color:#1c5c50;min-height:31px;padding:6px 16px;font-size:10px;letter-spacing:.12em;font-weight:800;text-align:center}.preview-dot,.mini-dot,.tag-dot,.green-dot{height:7px;width:7px;background:#42a48c;display:inline-block;border-radius:100%;flex-shrink:0}.preview-separator{color:#9ebcb4}.site-header{background:#fff;border-bottom:1px solid #e6eeee}.header-inner{display:flex;align-items:center;justify-content:space-between;height:85px;gap:22px}.nav-links{display:flex;gap:35px;font-size:13px;color:#385765;font-weight:630}.nav-links a:hover,.site-footer a:hover{color:#009c8a}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:0;border-radius:5px;padding:17px 23px;font-weight:770;font-size:13px;transition:transform .15s ease,background .15s ease;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button-sm{padding:11px 16px;font-size:12px;border-radius:5px}.button-outline-dark{border:1px solid #cedbdc;background:#fff;color:var(--navy)}.button-outline-dark:hover{background:#edf6f3}.button-accent{background:var(--accent);color:var(--navy-deep)}.button-accent:hover{background:#89e6da}
.hero{position:relative;background:var(--navy);overflow:hidden;color:#fff}.hero:after{content:"";position:absolute;left:-120px;bottom:-240px;width:500px;height:500px;border-radius:100%;background:radial-gradient(circle,#204a54 0,transparent 65%);opacity:.42;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:570px;gap:20px}.hero-content{position:relative;z-index:1;align-self:center;padding:75px 0 86px}.eyebrow{font-size:10px;font-weight:860;letter-spacing:.24em;color:#198c7f;display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow.light{color:var(--accent)}.eyebrow-line{width:25px;height:1px;background:currentColor;display:inline-block}.hero h1{font-size:clamp(58px,6.1vw,93px);line-height:1.02;letter-spacing:-.075em;font-weight:800;margin:0 0 30px}.hero h1 em,.schedule-section h2 em,.login-brand-content h1 em{font-style:normal;color:var(--accent)}.hero-lede{font-size:16px;max-width:485px;line-height:1.85;color:#bdd2d7;margin:0 0 32px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-soon{font-size:12px;color:#94b9bd}.hero-foot{display:flex;gap:11px;align-items:center;margin-top:73px;color:#9cbcc0;font-size:11px;letter-spacing:.08em}.hero-bottom-line{height:5px;background:linear-gradient(90deg,var(--accent) 0 15%,#375965 15% 100%)}.hero-art{position:relative;min-height:530px;overflow:hidden}.art-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(145,200,204,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(145,200,204,.08) 1px,transparent 1px);background-size:45px 45px;mask-image:linear-gradient(90deg,transparent,#000 30%)}.route-line{position:absolute;border:1px dashed rgba(105,214,199,.32);border-radius:50%;transform:rotate(-19deg)}.route-line-a{width:550px;height:275px;left:0;top:75px}.route-line-b{width:540px;height:275px;left:58px;top:165px}.art-tag{position:absolute;font-size:11px;font-weight:750;letter-spacing:.13em;display:flex;align-items:center;gap:14px}.art-tag-top{left:47px;top:105px;color:#dcf6f1}.tag-arrow{color:var(--accent);font-size:17px}.art-card{position:absolute;width:360px;height:196px;border:1px solid #5b8a8c;background:linear-gradient(170deg,#30596a,#173b4b);border-radius:8px;box-shadow:12px 18px 25px rgba(0,0,0,.19);overflow:hidden;transform:skewY(-11deg) rotate(-1deg)}.art-card:after{content:"";position:absolute;inset:11px;border:1px solid rgba(194,230,227,.17)}.art-card-one{right:22px;top:160px;z-index:3}.art-card-two{right:98px;top:256px;background:linear-gradient(160deg,#3a7977,#1b5d61);z-index:2}.vertical-bars{position:absolute;inset:3px 18px;background:repeating-linear-gradient(90deg,rgba(168,219,214,.23) 0px,rgba(168,219,214,.23) 3px,transparent 3px,transparent 20px)}.card-id{position:absolute;z-index:1;bottom:15px;left:20px;color:#cce4df;font-size:12px;font-weight:800;letter-spacing:.1em}.art-bottom-label{position:absolute;right:24px;bottom:50px;left:44px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.19em;color:#83aeb6}.art-bottom-label span{color:var(--accent)}
.section{padding:92px 0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:39px}.section-top h2,.schedule-section h2{font-size:clamp(39px,4vw,61px);line-height:1.04;letter-spacing:-.06em;font-weight:780;margin:0}.muted-heading{color:#8ca5ab}.section-intro{max-width:300px;color:#5d747c;line-height:1.75;font-size:14px;margin:0}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.step-card{padding:30px;background:#fff;border:1px solid var(--line);min-height:285px}.step-no{font-size:10px;color:#409787;letter-spacing:.2em;font-weight:800}.step-icon{display:grid;place-items:center;width:48px;height:48px;margin:34px 0 26px;border:1px solid #bedad6;color:#237568;border-radius:10px;font-size:24px}.step-card h3{font-size:18px;letter-spacing:-.02em;margin-bottom:12px}.step-card p{font-size:13px;line-height:1.7;color:#657e84;margin:0}.services-section{background:var(--wash)}.coming-label{font-size:10px;font-weight:800;letter-spacing:.13em;color:#6a8989;border:1px solid #d6e4e2;border-radius:30px;padding:10px 15px}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.service-card{background:#fff;border:1px solid #deebe7;display:flex;align-items:flex-start;gap:20px;min-height:153px;padding:29px;position:relative}.service-symbol{color:#188477;font-size:26px;flex:0 0 29px}.service-card h3{font-size:18px;margin:1px 0 8px}.service-card p{font-size:13px;color:#73868b;line-height:1.65;max-width:340px;margin:0}.service-state{position:absolute;bottom:16px;right:20px;font-size:9px;letter-spacing:.11em;font-weight:800;text-transform:uppercase;color:#7d9598}.schedule-section{background:#143548;color:#fff}.schedule-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.schedule-section h2{margin-bottom:25px}.schedule-section p{color:#a8c6c8;font-size:14px;line-height:1.8;max-width:390px}.schedule-panel{background:#f8fbfa;color:var(--navy);border-radius:3px}.schedule-panel-top,.schedule-panel-bottom{display:flex;align-items:center;justify-content:space-between;padding:23px 27px;font-size:10px;font-weight:830;letter-spacing:.14em}.schedule-panel-top{border-bottom:1px solid #e2eceb}.status-tag{color:#9c7655;display:flex;gap:7px;align-items:center}.status-ring{border:1px solid currentColor;width:9px;height:9px;border-radius:50%}.schedule-placeholder{padding:35px 32px 41px}.placeholder-track{display:flex;gap:11px;margin:0 0 30px}.placeholder-track span{height:29px;background:#e5efed;flex:1;border-radius:3px}.placeholder-copy strong{font-size:19px}.placeholder-copy p{color:#7b9095;font-size:12px;margin:10px 0 0}.schedule-panel-bottom{background:#eef5f3;color:#597a7e}.schedule-panel-bottom span{color:#2b877c}.site-footer{background:#071e2b;color:#fff;padding:40px 0}.footer-inner{display:flex;gap:50px;align-items:center;justify-content:space-between}.footer-brand{font-weight:870;letter-spacing:.07em;white-space:nowrap}.footer-brand span{color:var(--accent)}.footer-brand small{display:block;font-size:10px;color:#8fadb6;font-weight:450;margin-top:7px}.site-footer p{font-size:11px;color:#8ea8b3;line-height:1.7;max-width:515px;margin:0}.site-footer a{font-size:12px;color:var(--accent);white-space:nowrap}
/* Staff portal */
.staff-body{background:#f3f7f7}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:15px;background:var(--navy);color:#d7eee9;font-size:14px}.loading-spinner{width:23px;height:23px;border:3px solid #467c83;border-top-color:var(--accent);border-radius:100%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(340px,46%) 1fr}.login-brand-column{background:var(--navy);padding:45px clamp(30px,5vw,78px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#fff}.login-brand-content{position:relative;z-index:1;margin-top:80px}.login-brand-content h1{font-size:clamp(40px,4.5vw,67px);letter-spacing:-.07em;line-height:1.02;margin:0 0 26px}.login-brand-content p{color:#aecbd0;line-height:1.8;font-size:15px;max-width:430px}.login-brand-note{font-size:11px;color:#91aeb7;position:relative;z-index:1}.login-scene{height:230px;position:relative;margin-top:40px}.scene-floor{position:absolute;bottom:24px;width:115%;height:1px;background:#56878b;left:-5%}.scene-line{position:absolute;border:1px dashed #47828a;border-radius:50%;width:350px;height:135px;left:50px;top:0;transform:rotate(-25deg)}.scene-container{display:block;position:absolute;width:300px;height:115px;border:1px solid #7eb4ac;background:repeating-linear-gradient(90deg,#1f5863,#1f5863 9px,#31727a 10px,#31727a 13px);transform:skewY(-9deg);border-radius:4px}.scene-a{left:60px;bottom:46px;z-index:2}.scene-b{left:0;bottom:0;background:repeating-linear-gradient(90deg,#21515e,#21515e 9px,#2a6570 10px,#2a6570 13px)}.login-form-column{padding:40px clamp(24px,6vw,90px);min-height:100vh;display:flex;flex-direction:column;background:#f8fbfa}.back-link{font-size:12px;color:#4d7179;font-weight:700;align-self:flex-start}.back-link:hover{color:#0f8c81}.login-panel{width:min(100%,420px);margin:auto}.portal-icon{width:50px;height:50px;border-radius:11px;background:#e1f3ec;color:#1b786c;display:grid;place-items:center;font-size:23px;margin-bottom:27px}.login-panel .eyebrow{margin-bottom:11px}.login-panel h2{font-size:45px;letter-spacing:-.06em;line-height:1.1;margin-bottom:10px}.login-subtitle{font-size:14px;line-height:1.7;color:#678087;margin-bottom:40px}.login-panel label{display:block;font-size:12px;font-weight:780;color:#2e4b55;margin:19px 0 8px}.login-panel input{width:100%;border:1px solid #d5e1e1;border-radius:6px;background:#fff;min-height:50px;padding:12px 14px;font-size:14px;color:var(--navy)}.login-panel input::placeholder{color:#a2b2b6}.password-wrapper{position:relative}.password-wrapper input{padding-right:66px}.password-wrapper button{border:0;color:#397d75;background:transparent;position:absolute;right:9px;top:8px;padding:10px;font-size:11px;font-weight:760}.button-submit{width:100%;margin-top:27px;background:var(--navy);color:#fff;justify-content:space-between;min-height:53px}.button-submit:hover{background:#1c4a5a}.button-submit:disabled,.button-refresh:disabled{opacity:.65;cursor:wait;transform:none}.signin-message,.inline-message{padding:12px 14px;background:#fcece9;color:#9b3531;border:1px solid #f3c7c0;border-radius:6px;font-size:12px;line-height:1.55;margin-top:15px}.login-support{border-top:1px solid #e0e9e7;margin-top:32px;padding-top:20px;font-size:11px;color:#7f959a;line-height:1.75}.security-note{font-size:11px;line-height:1.6;max-width:450px;color:#81969b}.security-note span{color:#278c82;margin-right:7px}
.dashboard-layout{display:grid;grid-template-columns:265px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:33px 22px;min-height:100vh}.sidebar .brand{margin:0 0 68px 8px}.sidebar-label{font-size:9px;font-weight:790;letter-spacing:.19em;color:#7899a7;margin:0 0 19px 14px}.side-gap{margin-top:39px}.sidebar-current,.sidebar-coming{padding:14px 15px;display:flex;align-items:center;gap:13px;font-size:13px;font-weight:650;border-radius:7px}.sidebar-current{background:#235364;color:#d3faf0}.sidebar-coming{color:#8faeb9;opacity:.75}.sidebar-coming span{font-weight:500}.sidebar-footer{margin-top:auto;border-top:1px solid #2e5161;padding:23px 7px 0;color:#90d3c2;font-size:9px;letter-spacing:.12em;font-weight:740}.sidebar-footer small{display:block;letter-spacing:normal;color:#839daa;font-size:10px;font-weight:400;padding:10px 0 0 16px}.sidebar-footer .green-dot{margin-right:6px}.dashboard-main{min-width:0}.dash-header{height:79px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(25px,4.4vw,77px);border-bottom:1px solid #e1e8e8;background:#fff}.crumbs{font-size:10px;font-weight:860;letter-spacing:.18em;color:#69868e}.crumbs span{color:#bbcbd1;margin:0 11px}.account-actions{display:flex;align-items:center;gap:26px;font-size:12px}.header-user{font-weight:750;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{border:0;background:none;color:#278578;font-size:12px;font-weight:780;padding:10px 0}.dash-content{padding:clamp(30px,4.8vw,70px) clamp(25px,4.4vw,77px)}.dash-greeting{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:37px}.dash-greeting .eyebrow{margin-bottom:15px}.dash-greeting h1{font-size:clamp(33px,3.7vw,56px);letter-spacing:-.06em;line-height:1.1;margin-bottom:15px}.period{color:#30a893}.dash-greeting p{color:#6a8287;font-size:14px;line-height:1.65;margin:0}.connected-pill{font-size:10px;color:#2b846a;background:#e5f5ed;border:1px solid #d5ebdf;border-radius:30px;padding:10px 14px;white-space:nowrap;font-weight:790;display:flex;align-items:center;gap:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.data-card{background:#fff;border:1px solid #dde7e6;border-radius:8px;padding:22px;min-width:0}.data-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#5a7780;font-size:11px;font-weight:710}.data-icon{background:#e7f6f1;color:#27887a;font-size:17px;border-radius:6px;height:29px;width:29px;display:grid;place-items:center}.data-card strong{display:block;font-size:39px;font-weight:800;letter-spacing:-.055em;margin-top:27px;color:#123244}.data-card small{font-size:10px;color:#8ca0a4;margin-top:12px;display:block}.dash-grid-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:17px}.dashboard-panel{background:#fff;border:1px solid #dde7e6;border-radius:8px;padding:28px;min-height:337px;overflow:hidden;position:relative}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.dashboard-panel .eyebrow{margin-bottom:14px}.dashboard-panel h3{font-size:24px;line-height:1.16;letter-spacing:-.04em;margin:0 0 26px}.verified-icon{color:#198a72;background:#e3f5ee;width:31px;height:31px;border-radius:50%;display:grid;place-items:center}.identity-list{margin:0 0 26px}.identity-list>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ecf2f1;padding:11px 0}.identity-list dt{color:#7b9198;font-size:11px}.identity-list dd{font-size:11px;font-weight:780;margin:0;overflow-wrap:anywhere;text-align:right;max-width:67%}.role-pill{color:#16876f;background:#e7f8f0;padding:5px 8px;border-radius:3px;font-size:10px;letter-spacing:.1em}.button-refresh{padding:11px 14px;font-size:11px;background:#173b4c;color:#fff}.panel-next{background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:flex-start}.panel-next h3{font-size:28px;position:relative;z-index:1}.panel-next p{color:#aac5ca;line-height:1.75;font-size:12px;max-width:330px;position:relative;z-index:1}.step-tag{font-size:10px;font-weight:760;letter-spacing:.08em;color:#73e1cd;margin-top:auto;position:relative;z-index:1}.step-tag span{padding:0 8px}.panel-art{position:absolute;bottom:-110px;right:-70px;display:flex;gap:8px;transform:rotate(-22deg);opacity:.12}.panel-art span{width:80px;height:350px;background:repeating-linear-gradient(90deg,#8ce0cd,#8ce0cd 4px,transparent 4px,transparent 15px);border:1px solid #8ce0cd}.inline-message{margin:0 0 18px;background:#eaf8ef;color:#25755b;border-color:#cfead9}.inline-message.error-state{background:#fcece9;color:#9b3531;border-color:#f3c7c0}.dashboard-disclaimer{font-size:11px;color:#7d969a;line-height:1.7;margin:27px 0 0}.denied-layout{min-height:100vh;background:var(--navy);display:grid;place-items:center;padding:24px}.denied-card{background:#fff;text-align:center;max-width:425px;border-radius:9px;padding:40px 35px}.denied-icon{width:49px;height:49px;background:#fbe8e4;color:#ba4e43;display:grid;place-items:center;border-radius:50%;margin:0 auto 20px;font-size:23px;font-weight:900}.denied-card h1{font-size:28px;letter-spacing:-.03em}.denied-card p{color:#667e85;font-size:14px;line-height:1.7}.denied-card>a{display:block;font-size:12px;margin-top:19px;color:#247e70}
@media(max-width:1000px){.hero-grid{grid-template-columns:1.1fr .9fr}.hero-art{min-height:460px}.art-card{width:290px;height:159px}.art-card-one{right:-30px;top:190px}.art-card-two{right:60px;top:275px}.schedule-layout{gap:40px}.dashboard-layout{grid-template-columns:220px minmax(0,1fr)}.sidebar .brand-text{font-size:14px}.sidebar .brand-mark{width:37px;height:37px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-brand-column{padding:32px}.login-form-column{padding:35px}}
@media(max-width:720px){.container{width:min(calc(100% - 36px),var(--max))}.preview-ribbon{font-size:9px;line-height:1.4}.header-inner{height:73px}.nav-links{display:none}.brand-mark{height:38px;width:38px}.brand-text{font-size:13px}.brand-text span{font-size:10px}.hero-grid{grid-template-columns:1fr}.hero-content{padding:72px 0 20px}.hero-art{min-height:310px}.art-tag-top{left:8px;top:10px}.art-card{width:280px;height:143px}.art-card-one{right:6px;top:78px}.art-card-two{right:85px;top:146px}.art-bottom-label{right:12px;left:12px;bottom:14px}.hero-foot{margin-top:36px}.hero h1{font-size:clamp(55px,12vw,77px)}.section{padding:68px 0}.section-top{display:block}.section-intro{margin-top:20px;max-width:460px}.steps-grid{grid-template-columns:1fr}.step-card{min-height:0}.step-icon{margin:24px 0}.services-grid{grid-template-columns:1fr}.coming-label{display:inline-block;margin-top:23px}.service-card{min-height:140px}.schedule-layout{grid-template-columns:1fr}.footer-inner{display:block}.footer-inner p{margin:24px 0}.login-layout{grid-template-columns:1fr}.login-brand-column{min-height:250px;padding:26px}.login-brand-content{margin-top:26px}.login-brand-content h1{font-size:44px;margin-bottom:12px}.login-brand-content p{font-size:12px}.login-scene,.login-brand-note{display:none}.login-form-column{min-height:auto;padding:27px 26px 50px}.login-panel{margin:42px auto 50px}.security-note{max-width:420px;margin:0 auto}.dashboard-layout{display:block}.sidebar{min-height:0;padding:18px 22px;display:block}.sidebar .brand{margin:0}.sidebar-label,.sidebar-current,.sidebar-coming,.sidebar-footer{display:none}.dash-header{height:66px;padding:0 18px}.header-user{max-width:105px}.account-actions{gap:12px}.dash-content{padding:35px 18px}.dash-greeting{display:block}.connected-pill{display:inline-flex;margin-top:20px}.dash-grid-bottom{grid-template-columns:1fr}}
@media(max-width:430px){.header-inner .button-sm{padding:10px;font-size:11px}.hero-lede{font-size:14px}.hero-art{min-height:275px}.art-card{width:255px}.art-card-two{right:60px}.hero-actions{gap:15px}.steps-grid{gap:10px}.service-card{padding:22px;gap:12px}.service-card h3{font-size:16px}.service-state{bottom:9px;right:13px}.schedule-panel-top,.schedule-panel-bottom{padding:18px;font-size:9px}.metric-grid{gap:9px}.data-card{padding:17px}.data-card strong{font-size:34px}.dashboard-panel{padding:21px}.dash-greeting h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.auth-loading .loading-spinner{animation:none}}
