:root{--navy:#143a5c;--deep:#0e2b45;--teal:#188e85;--gold:#f0a52c;--cream:#f8f2e2;--mint:#eaf5ee;--paper:#fffdf8;--ink:#13233a;--muted:#5b6b7b;--line:#dfe7e3;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{background:var(--paper);font-family:var(--sans);color:var(--ink)}body{margin:0;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;color:var(--navy)}h1{font-size:clamp(2.4rem,4vw,3.65rem);letter-spacing:-.035em}h2{font-size:30px;letter-spacing:-.02em}h3{font-size:23px}p{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.skip-link{position:absolute;top:0;left:-9999px;z-index:20;background:white;padding:12px}.skip-link:focus{left:10px}.topbar{background:var(--deep);color:white}.topbar-inner{max-width:1400px;min-height:100px;margin:auto;padding:16px 32px;display:flex;align-items:center;gap:26px}.program-lockup{display:flex;align-items:center;gap:8px;margin-right:auto;white-space:nowrap}.program-lockup img{width:60px;height:60px;border-radius:50%;background:white}.brand-wordmark{display:flex;flex-direction:column;font:700 27px/.94 var(--serif);letter-spacing:-.04em}.program-divider{height:38px;width:1px;background:#7892a4;margin:0 8px}.program-name{font:24px var(--serif)}.topnav{display:flex;gap:3px}.topnav a{font-size:13px;font-weight:650;padding:11px 12px;border-radius:9px;color:#d6e5ed;white-space:nowrap}.topnav a:hover,.topnav a.active{background:#ffffff16;color:white}.topnav a.active{box-shadow:inset 0 -2px var(--gold)}.logout{border:1px solid #647e91;color:#e7eff3;background:transparent;border-radius:30px;padding:8px 13px;font-size:12px;white-space:nowrap}.wrap{max-width:1240px;padding:0 32px;margin:auto}.content{padding-top:46px;padding-bottom:64px;min-height:calc(100vh - 180px)}.eyebrow{display:block;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.17em;color:var(--teal);margin-bottom:10px}.page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.page-head p{margin-top:12px;max-width:650px;font-size:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;border:0;border-radius:30px;background:var(--navy);color:white;padding:11px 20px;font-size:13px;font-weight:750}.btn:hover{filter:brightness(.95)}.btn.gold{background:var(--gold);color:var(--deep)}.btn.light{background:var(--mint);color:var(--navy)}.btn.outline{border:1px solid #c6d4cf;background:white;color:var(--navy)}.btn.danger{background:#a23636}.btn:disabled{opacity:.5;cursor:wait}.grid{display:grid;gap:20px}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 5px 25px #143a5c06}.metric .value{display:block;font:44px/1.1 var(--serif);color:var(--navy)}.metric .label{display:block;color:var(--muted);font-size:12px;margin-top:12px;font-weight:650}.subsection{margin-top:36px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.subsection>p{margin:10px 0 20px}.notice{padding:16px 20px;background:var(--mint);border:1px solid #d3e5d8;border-radius:13px;color:var(--navy);font-size:13px;margin-bottom:26px}.notice.error{background:#fff1ef;border-color:#ebc5c1;color:#913030}.notice.amber{background:#fff6e2;border-color:#efdfbb}.empty{border:1px dashed #c1cfca;border-radius:18px;background:#fcfdfa;padding:44px 24px;text-align:center}.empty h2,.empty h3{margin-bottom:10px}.empty p{max-width:520px;margin:0 auto}.empty .btn{margin-top:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.toolbar p{font-size:13px}.search{width:340px;max-width:100%}.search input{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input,select,textarea{border:1px solid #c4d0cd;background:white;border-radius:10px;padding:11px 12px;color:var(--ink);max-width:100%}input:focus,select:focus,textarea:focus{outline:3px solid #a7ded3;outline-offset:1px}.clinic-tile{display:flex;flex-direction:column;gap:22px;text-align:left;width:100%;color:var(--ink);transition:border-color .15s,box-shadow .15s}.clinic-tile:hover{border-color:var(--teal);box-shadow:0 10px 28px #143a5c12}.clinic-head{display:flex;gap:13px;align-items:center;min-width:0}.clinic-icon{width:46px;height:46px;flex:none;border-radius:13px;background:var(--mint);color:var(--teal);display:grid;place-items:center;font-size:17px;font-weight:750}.clinic-name{display:block;font:22px/1.2 var(--serif);color:var(--navy);overflow-wrap:anywhere}.subtle{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.stats{border-top:1px solid var(--line);padding-top:18px;display:flex;gap:30px}.stats b{display:block;font:26px var(--serif);color:var(--navy)}.stats span{font-size:11px;color:var(--muted)}.tile-link{font-size:12px;font-weight:750;color:var(--teal);margin-top:auto}.badge{display:inline-block;font-size:11px;font-weight:700;border-radius:20px;padding:4px 9px;background:var(--mint);color:#23694b}.badge.cancelled,.badge.inactive{background:#f6e9e4;color:#974d3a}.badge.pending{background:#fff3d9;color:#866019}.table-wrap{border:1px solid var(--line);border-radius:16px;background:white;overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px}th,td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;font-size:13px}th{background:#f4f8f5;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}tr:last-child td{border:0}td strong{display:block;color:var(--navy)}.table-action{border:0;background:transparent;color:var(--teal);text-decoration:underline;font-weight:650;padding:4px}.footer{display:flex;justify-content:space-between;gap:15px;padding-top:22px;padding-bottom:24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.drawer-open{overflow:hidden}.drawer-layer{position:fixed;inset:0;z-index:30}.drawer-backdrop{position:absolute;inset:0;border:0;background:#0e2b4578}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(590px,100%);display:flex;flex-direction:column;background:var(--paper);box-shadow:-16px 0 50px #0e2b4533}.drawer-header{padding:26px 28px;display:flex;justify-content:space-between;align-items:start;gap:15px;background:white;border-bottom:1px solid var(--line)}.drawer-header h2{font-size:30px}.close{border:1px solid var(--line);background:white;border-radius:9px;color:var(--navy);height:36px;width:36px;font-size:23px}.drawer-body{padding:26px 28px;overflow:auto}.drawer-summary{padding:22px;background:var(--mint);border-radius:15px;margin-bottom:26px}.drawer-summary .stats{border-color:#c8ddd1;margin-top:18px}.detail-list{margin:22px 0;display:grid;gap:18px}.detail-list>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;font-size:13px}.detail-list dt{font-weight:700;color:var(--navy)}.detail-list dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:12px;color:var(--navy)}.field input,.field select,.field textarea{width:100%}.field textarea{resize:vertical;min-height:88px}.hint{font-size:12px;color:var(--muted)}.form-intro{margin-bottom:22px;font-size:14px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.checkbox-row{display:flex;gap:10px;align-items:start;padding:16px;background:var(--mint);border-radius:12px;font-size:13px;grid-column:1/-1}.checkbox-row input{margin-top:4px;flex:none}.checkbox-row label{font-size:13px;color:var(--navy)}.report-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:24px}.report-controls .field{min-width:180px}.report-controls input,.report-controls select{width:100%}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--navy);color:white;border-radius:12px;padding:13px 22px;font-size:13px;box-shadow:0 8px 30px #0002;z-index:40;opacity:0;pointer-events:none;transition:opacity .15s}.toast.show{opacity:1}.login-page{min-height:100vh;background:linear-gradient(125deg,var(--deep) 0%,var(--navy) 63%,#177a7a 63%,var(--teal) 100%);padding:70px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-card{width:100%;max-width:560px;background:var(--paper);border-radius:24px;padding:46px;box-shadow:0 25px 80px #08253a44}.login-brand{display:flex;align-items:center;gap:10px;color:var(--navy);margin-bottom:44px}.login-brand img{border-radius:50%}.login-card h1{font-size:43px;margin-bottom:20px}.login-card p{font-size:15px}.login-card .hint{font-size:12px;margin-top:17px}.login-action{margin-top:30px;width:100%}.login-note{color:#d6e9e8;margin-top:28px;font:20px var(--serif)}.loading-line{display:block;margin:10px auto 0;width:100px;height:3px;border-radius:3px;background:var(--teal)}@media(max-width:1150px){.topbar-inner{flex-wrap:wrap;gap:10px 24px}.topnav{order:3;width:100%;overflow:auto}.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-2{grid-template-columns:1fr}.page-head{align-items:start;flex-direction:column}.wrap{padding-left:20px;padding-right:20px}.content{padding-top:32px}.topbar-inner{padding:15px 20px}.program-lockup img{width:48px;height:48px}.brand-wordmark{font-size:22px}.program-name{font-size:20px}.program-divider{margin:0 3px}.topnav a{padding:10px;font-size:12px}.toolbar{align-items:stretch;flex-direction:column}.search{width:100%}}@media(max-width:480px){.cols-3,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.drawer-header,.drawer-body{padding:22px 20px}.detail-list>div{grid-template-columns:1fr;gap:3px}.login-card{padding:30px 25px}.login-card h1{font-size:36px}.login-brand img{width:64px;height:64px}.login-note{font-size:17px}.footer{flex-direction:column}.program-lockup{gap:5px}.program-name{font-size:18px}.brand-wordmark{font-size:20px}.form-actions .btn{flex:1}.report-controls .field{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.roster-table{min-width:440px}.card>p{margin-top:12px}.drawer-body .table-wrap{margin-top:18px}
.clinic-login{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;min-height:calc(100vh - 180px);padding-top:70px;padding-bottom:70px}.clinic-welcome h1{font-size:clamp(44px,5vw,64px)}.clinic-welcome>p{max-width:410px;margin-top:24px;font-size:17px}.clinic-welcome-note{margin-top:40px;border-left:3px solid var(--gold);padding-left:20px;font:23px/1.4 var(--serif);color:var(--teal);max-width:360px}.clinic-auth{padding:36px}.clinic-auth>p{margin:18px 0 24px}.clinic-auth .hint{margin-top:20px;font-size:12px}.clinic-change-email{display:block;margin-top:20px;text-align:left}.clinic-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow:auto}.clinic-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:700;padding:12px 0;white-space:nowrap}.clinic-tabs button.active{color:var(--navy);border-color:var(--teal)}.clinic-invite{display:grid;grid-template-columns:1fr 1.4fr auto;gap:16px;align-items:end;margin-bottom:26px}.clinic-invite .full{grid-column:1/-1}.clinic-switch{min-width:240px;max-width:100%}.member-list{display:grid;gap:16px}.member-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:white}.member-card .form-actions{justify-content:start;margin-top:12px}.member-card .form-actions button{font-size:12px}.member-card h3{font:700 14px var(--sans);overflow-wrap:anywhere}@media(max-width:760px){.clinic-login{grid-template-columns:1fr;gap:36px;padding-top:40px;padding-bottom:40px}.clinic-welcome h1 br{display:none}.clinic-welcome-note{display:none}.clinic-auth{padding:26px}.clinic-invite{grid-template-columns:1fr}.clinic-switch{width:100%}}
