:root{color:#173a48;font-synthesis:none;background:#f2f6f8;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;overflow-x:hidden}.page-shell{max-width:1040px;margin:auto;padding:24px}.page-shell>main{min-width:0}.skip-link{z-index:100;color:#fff;background:#173a48;border-radius:10px;padding:10px 14px;font-weight:700;position:fixed;top:12px;left:16px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:48px;display:flex}.brand{letter-spacing:-1px;color:inherit;font-size:28px;font-weight:750;text-decoration:none}.brand span{letter-spacing:0;color:#435e68;font-size:14px;font-weight:450;display:block}.dashboard{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);align-items:start;gap:24px;display:grid}.dashboard>*{min-width:0}.panel{background:#fff;border:1px solid #c9d8df;border-radius:24px;max-width:520px;margin:auto;padding:32px;box-shadow:0 12px 40px #173a4808}.dashboard .panel{width:100%;max-width:none;margin:0}h1,h2{letter-spacing:-.7px;margin:8px 0 18px;line-height:1.2}h1{font-size:32px}h2{font-size:27px}p{margin:12px 0 24px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#24647a;margin:0;font-size:14px;font-weight:700}form{gap:10px;display:grid}label{margin-top:10px;font-size:16px;font-weight:600}input,select,button{font:inherit;border-radius:12px;min-height:48px}input,select{width:100%;min-width:0;color:inherit;background:#fff;border:1px solid #819ca8;padding:10px 12px}button{color:#fff;cursor:pointer;background:#173a48;border:1px solid #0000;padding:12px 20px;font-weight:650}form>button[type=submit],form>button:not([type]){margin-top:18px}button:disabled{opacity:.65;cursor:not-allowed}.secondary{color:#173a48;background:#fff;border-color:#819ca8}.danger{color:#8d2e1f;background:#fff5f2;border-color:#d9a299}.text-button{color:#24647a;background:0 0;width:100%;margin-top:4px}.hint{color:#435e68;margin:0;font-size:14px}.feedback{background:#e9f1f5;border-radius:12px;margin-bottom:0;padding:16px}.global-feedback{max-width:520px;margin:20px auto}.empty{background:#f2f6f8;border-radius:12px;margin-top:24px;padding:18px}.contact-list{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.contact-list li{border-top:1px solid #d9e3e8;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.contact-list span{color:#435e68;margin-top:4px;font-size:14px;display:block}.actions{gap:8px;display:flex}.actions button{min-height:44px;padding:8px 12px;font-size:14px}footer{color:#435e68;max-width:520px;margin:28px auto;font-size:14px}:focus-visible{outline-offset:3px;outline:3px solid #267f9c}.appointment-panel{grid-column:1/-1;max-width:680px!important;margin-inline:auto!important}.appointment-form{max-width:520px}.active-appointment{gap:18px;display:grid}.status{background:#eaf4f7;border:1px solid #b8d5df;border-radius:14px;padding:18px}.status strong,.status span{display:block}.status span{margin-top:5px}.status-overdue{background:#fff5e5;border-color:#e7bf78}.status-attended{background:#eef4ec;border-color:#b5cbae}.appointment-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.appointment-summary div{background:#f2f6f8;border-radius:12px;padding:14px}.appointment-summary dt{color:#435e68;font-size:13px}.appointment-summary dd{margin:4px 0 0;font-weight:700}.appointment-details{border-top:1px solid #d9e3e8;padding-top:14px}.appointment-details>summary{cursor:pointer;font-weight:700}.appointment-details .location-card{margin-top:14px}.appointment-feedback{border-radius:12px;margin:0;padding:14px 16px}.appointment-feedback-success{color:#294b31;background:#eef4ec;border:1px solid #b5cbae}.appointment-feedback-error{color:#6e281d;background:#fff5f2;border:1px solid #d9a299}.appointment-list{margin:24px 0 0;padding:0;list-style:none}.appointment-list li{border-top:1px solid #d9e3e8;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.appointment-list span{color:#435e68;font-size:14px;display:block}.appointment-list button{min-height:40px}.notification-panel{grid-column:1/-1}.notification-panel>p:not(.eyebrow){margin-bottom:14px}.notification-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.notification-list li{background:#f7fbfc;border:1px solid #b8d5df;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.notification-list li.priority-high,.notification-list li.priority-urgent{background:#fff5f2;border-color:#d9a299}.notification-list li.is-read{opacity:.72}.notification-list strong,.notification-list time{display:block}.notification-list time{color:#435e68;margin-top:4px;font-size:13px}.notification-list button{flex:none;min-height:40px}.location-card{background:#f8fbfc;border:1px solid #c9d8df;border-radius:16px;padding:18px}.location-card h2{margin:0 0 8px;font-size:21px}.location-card p{margin:8px 0 14px;font-size:14px}.location-card .empty{margin:10px 0;padding:12px}.permission-state{color:#435e68}.location-link-form{margin-top:12px}.location-link-form .actions{margin-top:4px}.location-card a{color:#185d75;overflow-wrap:anywhere;font-weight:650}.share-card{background:#f2f8fa;border:1px solid #b8d5df;border-radius:16px;padding:18px}.share-card h2,.shared-location h2{margin:0 0 8px;font-size:21px}.share-card>p{margin:8px 0 14px;font-size:14px}.share-create-controls{grid-template-columns:minmax(110px,.55fr) 1fr;align-items:end;gap:8px;display:grid}.share-create-controls label{grid-column:1/-1;margin:0;font-size:14px}.share-link-box{gap:8px;margin-top:14px;display:grid}.share-link-box label{margin:0;font-size:14px}.share-link-box input{font-size:13px}.share-expiry{color:#435e68}.revoke-share{margin-top:14px}.shared-surface{max-width:720px}.shared-surface header,.shared-surface footer,.share-panel{max-width:620px;margin-left:auto;margin-right:auto}.share-panel{width:100%}.shared-details{gap:18px;display:grid}.shared-details dl{gap:10px;margin:0;display:grid}.shared-details dl div{border-bottom:1px solid #e0e8eb;grid-template-columns:minmax(130px,.65fr) 1fr;gap:12px;padding-bottom:10px;display:grid}.shared-details dt{font-weight:650}.shared-details dd{margin:0}.shared-location{background:#f8fbfc;border:1px solid #c9d8df;border-radius:14px;padding:18px}.shared-location p{margin:8px 0;font-size:14px}.shared-location .coordinates{letter-spacing:.02em;font-size:18px;font-weight:700}.shared-location a{color:#185d75;overflow-wrap:anywhere;font-weight:650}.share-notice{color:#435e68;margin:24px 0 0;font-size:14px}.share-unavailable h2{font-size:24px}.share-unavailable p{margin-bottom:0}.organization-share-card{background:#f8fbfc;border:1px solid #c9d8df;border-radius:16px;padding:18px}.organization-share-card h2{margin:0 0 8px;font-size:21px}.organization-share-card p{margin:7px 0 12px;font-size:14px}.checkbox-label{align-items:flex-start;gap:10px;font-weight:500;display:flex}.checkbox-label input{width:20px;min-height:20px;margin-top:2px}.organization-panel{grid-column:1/-1}.organization-onboarding{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0;display:grid}.organization-list{gap:18px;display:grid}.organization-card{background:#fbfdfe;border:1px solid #c9d8df;border-radius:16px;padding:18px}.organization-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.organization-heading h3{margin:0;font-size:22px}.organization-heading p{color:#435e68;margin:3px 0 0;font-size:14px}.organization-card h4{margin:22px 0 8px;font-size:17px}.organization-card details{margin-top:18px}.organization-card summary{cursor:pointer;font-weight:650}.invitation-box{background:#eef5f7;border-radius:12px;gap:8px;margin-top:16px;padding:14px;display:grid}.invitation-box code{overflow-wrap:anywhere;font-size:13px;display:block}.invitation-box p{color:#435e68;margin:0;font-size:13px}.invitation-box button{justify-self:start}.organization-appointments,.member-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.organization-appointments li,.member-list li{border-top:1px solid #d9e3e8;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.organization-appointments strong,.organization-appointments span,.member-list strong,.member-list span{display:block}.organization-appointments span,.member-list span{color:#435e68;font-size:13px}.member-list button{min-height:40px;padding:8px 12px}.landing{max-width:1180px;padding:26px 32px 0}.landing-header{min-height:64px;margin:0}.landing-header nav{align-items:center;gap:22px;display:flex}.landing-header nav a{color:#294f5e;font-weight:600;text-decoration:none}.landing-header nav button{min-height:42px;padding:8px 16px}.landing-hero{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:64px;padding:92px 0 80px;display:grid}.landing-hero h1{letter-spacing:-2.2px;max-width:820px;margin:14px 0 24px;font-size:clamp(42px,5.4vw,68px)}.hero-copy{color:#365c6b;max-width:720px;font-size:20px;line-height:1.6}.landing-actions{flex-wrap:wrap;gap:12px;display:flex}.landing-reassurance{color:#526e79;max-width:650px;font-size:14px}.landing-summary{color:#fff;background:#173a48;border-radius:28px;padding:30px;box-shadow:0 24px 60px #173a4824}.landing-summary .eyebrow{color:#a7d9e6}.landing-status{align-items:center;gap:10px;margin:28px 0;display:flex}.landing-status span{background:#7dd7ba;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 5px #7dd7ba22}.landing-summary dl{gap:0;margin:0;display:grid}.landing-summary dl div{border-top:1px solid #ffffff26;gap:4px;padding:16px 0;display:grid}.landing-summary dt{color:#b9d0d8;text-transform:uppercase;letter-spacing:.06em;font-size:13px}.landing-summary dd{margin:0;font-weight:650}.landing-section{border-top:1px solid #c9d8df;padding:76px 0}.landing-section>h2,.landing-section>div>h2{letter-spacing:-1.4px;max-width:720px;font-size:clamp(32px,4vw,48px)}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px;display:grid}.feature-grid article,.audience-cards article{background:#fff;border:1px solid #c9d8df;border-radius:20px;padding:26px}.feature-grid h3,.audience-cards h3{margin:18px 0 8px;font-size:22px}.feature-grid p,.audience-cards p{color:#435e68;margin:0}.feature-number{color:#185d75;background:#e3f0f4;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:750;display:inline-grid}.landing-audiences,.privacy-section{grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:56px;display:grid}.audience-cards{gap:14px;display:grid}.privacy-section{background:#e7f1f4;border:0;border-radius:28px;margin:28px 0 76px;padding:48px}.privacy-section ul{gap:10px;padding-left:22px;display:grid}.privacy-section>div>p:last-child{color:#365c6b;margin-bottom:0}.landing-cta{background:#fff;border:1px solid #c9d8df;border-radius:28px;justify-content:space-between;align-items:center;gap:28px;padding:40px;display:flex}.landing-cta h2{margin-bottom:0;font-size:clamp(29px,3vw,40px)}.landing-cta button{flex:none}.landing-footer{justify-content:space-between;align-items:flex-end;gap:24px;max-width:none;margin:0;padding:38px 0;display:flex}.landing-footer strong,.landing-footer span{display:block}.landing-footer strong{font-size:20px}.landing-footer p{text-align:right;max-width:480px;margin:0}.auth-surface{min-height:100vh}.auth-panel{margin-top:80px}@media (width<=760px){.page-shell{padding:20px 16px}header{margin-bottom:32px}.dashboard{grid-template-columns:1fr}.panel{padding:24px 20px}h1{font-size:28px}h2{font-size:25px}.secondary{padding:10px 12px;font-size:14px}.brand{font-size:25px}.contact-list li{flex-direction:column;align-items:flex-start}.actions{width:100%}.actions button{flex:1}.organization-onboarding{grid-template-columns:1fr}.landing{padding:20px 18px 0}.landing-header{align-items:flex-start}.landing-header nav>a{display:none}.landing-header nav{gap:8px}.landing-hero{grid-template-columns:1fr;gap:30px;padding:58px 0}.landing-hero h1{letter-spacing:-1.5px;font-size:clamp(38px,12vw,52px)}.hero-copy{font-size:18px}.landing-summary{padding:24px}.feature-grid,.landing-audiences,.privacy-section{grid-template-columns:1fr}.landing-section{padding:56px 0}.landing-audiences,.privacy-section{gap:24px}.privacy-section{margin-bottom:56px;padding:30px 22px}.landing-cta,.landing-footer{flex-direction:column;align-items:stretch}.landing-cta{padding:28px 22px}.landing-cta button{width:100%}.landing-footer p{text-align:left}.auth-panel{margin-top:24px}}@media (width<=520px){.appointment-actions{grid-template-columns:1fr}.appointment-list li,.notification-list li,.organization-appointments li,.member-list li,.organization-heading{flex-direction:column;align-items:stretch}.appointment-list button,.notification-list button,.organization-heading button,.member-list button,.location-card>button{width:100%}.location-link-form .actions,.share-link-box .actions{flex-direction:column}.location-link-form .actions button,.share-link-box .actions button{width:100%}.share-create-controls{grid-template-columns:1fr}.share-create-controls label{grid-column:auto}.share-create-controls button,.revoke-share{width:100%}.shared-details dl div{grid-template-columns:1fr;gap:2px}.shared-surface{padding:16px}.share-panel{padding:24px 18px}}.landing-header nav button{min-height:44px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.workspace-nav{background:#e8f0f3;border:1px solid #c9d8df;border-radius:16px;gap:8px;margin:-28px 0 24px;padding:6px;display:flex}.workspace-nav a{color:#294f5e;border-radius:11px;flex:1;place-items:center;min-height:44px;padding:8px 14px;font-weight:700;text-decoration:none;display:grid}.workspace-nav a[aria-current=page]{color:#173a48;background:#fff;box-shadow:0 2px 8px #173a4812}.workspace-home,.workspace-organization{grid-template-columns:1fr}.workspace-profile{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-profile .profile-panel,.workspace-profile .trust-panel{grid-column:auto}.wellbeing-action{width:100%;min-height:56px;font-size:18px}@media (width<=760px){.workspace-nav{z-index:20;margin:-18px 0 16px;position:sticky;top:8px;box-shadow:0 6px 22px #173a4818}.workspace-profile{grid-template-columns:1fr}}@media (width<=520px){.workspace-nav a{padding-inline:8px;font-size:14px}.appointment-summary{grid-template-columns:1fr}.wellbeing-action{width:100%}}
