:root{--navy:#122e32;--green:#126e5e;--mint:#e8f4ee;--ink:#203133;--muted:#6c7b7e;--line:#e1e7e5;--surface:#fff;--bg:#f4f6f5;--amber:#a36b19;--radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #6ab79c}a{color:var(--green)}[hidden]{display:none!important}.skip{position:fixed;left:10px;top:-100px;background:#fff;z-index:100;padding:14px}.skip:focus{top:10px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;font-weight:650;letter-spacing:-.8px;margin-bottom:8px;line-height:1.18}h2{font-size:19px;font-weight:650;letter-spacing:-.35px;margin-bottom:8px}h3{font-size:14px}p{line-height:1.65}.muted{color:var(--muted)}.eyebrow{color:var(--green);font-size:10px;font-weight:750;letter-spacing:1.8px;margin-bottom:11px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;background:#fff;border:1px solid #d7e0dc;border-radius:7px;color:#344b4a;padding:10px 14px;min-height:39px;font-weight:560;font-size:12px;white-space:nowrap}.button:hover{background:#edf4f0}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.primary:hover{background:#0a594b}.button.full{width:100%;justify-content:space-between}.text-button{border:0;background:transparent;color:var(--green);font-size:12px;padding:8px}.icon-button{border:0;background:transparent;border-radius:6px;color:inherit;padding:8px;font-size:18px}.icon-button:hover{background:#e9eeeb}.tag{display:inline-flex;background:var(--mint);color:#27715a;padding:6px 9px;border-radius:5px;font-size:9px;letter-spacing:1px;font-weight:750}.tag.subtle{background:#f2f1e9;color:#80734d}.brand{display:flex;gap:11px;align-items:center;color:white;font-size:23px;font-weight:600;letter-spacing:-.3px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #8cb3a6;border-radius:9px;font-size:32px;font-weight:300;color:#b9ddce;line-height:1}.brand-sub{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:#aac5bd}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-intro{padding:54px 64px;background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:720px}.login-intro h1{font-size:45px;font-weight:500;line-height:1.18;letter-spacing:-1.8px}.login-intro .eyebrow{color:#a0c8b6}.intro-copy{color:#adbfba;max-width:380px;font-size:16px;margin-top:22px}.intro-footer{color:#9fb6ae;font-size:12px;display:flex;align-items:center;gap:9px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#64b493}.login-panel{display:grid;place-items:center;padding:40px}.login-box{max-width:370px;width:100%}.login-box h2{font-size:28px;margin-top:26px}.login-box form{margin-top:30px}label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#526866;font-weight:600}input,select{width:100%;min-height:40px;border:1px solid #dce3df;border-radius:7px;background:#fff;color:var(--ink);padding:9px 10px;font-size:12px}input:focus,select:focus{outline:2px solid #98c7b5;border-color:#98c7b5}.login-box form label{margin:19px 0 8px;font-size:12px}.hint{font-size:11px;color:var(--muted);margin-top:9px}.login-note{font-size:11px;color:#778b85;padding-top:26px;margin-top:29px;border-top:1px solid var(--line)}.error{font-size:12px;color:#a33b32;margin-top:12px}.portal{display:flex;min-height:100vh}.sidebar{width:226px;background:var(--navy);color:#afc5bd;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:31px 17px;z-index:20}.sidebar .brand{margin:0 11px 44px}.workspace-label{font-size:8px;letter-spacing:1.6px;margin:0 15px 15px;color:#769a8d}.nav-item{width:100%;display:flex;align-items:center;text-align:left;gap:11px;background:transparent;border:0;border-radius:7px;color:#abc2b9;padding:12px 14px;font-size:12px;margin:4px 0;line-height:1.35}.nav-item svg{flex:none;width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5}.nav-item:hover{background:#21413f;color:#fff}.nav-item.active{background:#2b5048;color:#e2f1e7;box-shadow:inset 2px 0 #98c7aa}.nav-divider{height:1px;background:#31504b;margin:22px 14px}.sidebar-bottom{margin-top:auto;padding:22px 10px 0}.readonly{display:flex;gap:8px;align-items:flex-start;color:#b7cdc3}.readonly strong{display:block;font-size:10px;font-weight:500}.readonly span:not(.lock-icon){font-size:9px;color:#73968a;display:block;margin-top:5px}.sidebar-bottom p{font-size:9px;color:#73968a;border-top:1px solid #31504b;margin-top:21px;padding-top:18px;margin-bottom:0}.main-shell{margin-left:226px;width:calc(100% - 226px);min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:12px}.breadcrumb{display:flex;align-items:center;gap:14px;font-size:10px;color:#83918c}.breadcrumb strong{font-weight:500;color:#415f54}.separator{color:#cad4cf}.topbar-right{display:flex;align-items:center;gap:22px}.account{display:flex;gap:9px;align-items:center;font-size:10px;max-width:220px}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e8eee9;color:#386d55;font-size:11px;font-weight:700;flex:none}.mobile-only{display:none}main{max-width:1700px;padding:34px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.page-heading .muted{font-size:12px;margin:0}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.filters{display:flex;gap:13px;padding:17px 19px;margin-bottom:22px;align-items:end;flex-wrap:wrap}.filters label{flex:1;min-width:105px}.filters label:first-child{flex:1.3;min-width:140px}.filters .search-label{flex:1.7;min-width:170px}.filter-button{height:40px}.notice{padding:12px 16px;border:1px solid #ead5ac;background:#fff7e8;color:#926327;border-radius:8px;margin-bottom:20px;font-size:12px;line-height:1.5}.count-strip{display:flex;justify-content:space-between;align-items:center;margin:0 1px 17px;gap:12px;font-size:10px;color:#6b7f77}.count-strip strong{font-size:14px;color:#294d3c;margin-right:6px}.freshness-dot{display:inline-block;width:6px;height:6px;background:#52a178;border-radius:50%;margin-right:5px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.metric-card{padding:20px 21px 16px;text-align:left;position:relative;cursor:pointer;color:var(--ink);font-family:inherit;transition:border-color .15s}.metric-card:hover{border-color:#8fbcaa}.metric-card.primary-metric{background:#eef5ef;border-color:#d3e4d7}.metric-top{display:flex;justify-content:space-between;align-items:start;gap:10px;min-height:33px}.metric-label{font-size:9px;line-height:1.5;letter-spacing:.6px;font-weight:700;color:#6b8075;max-width:235px}.metric-icon{font-size:15px;color:#789985}.metric-amount{font-size:32px;font-weight:570;letter-spacing:-1.4px;margin:13px 0 15px;color:#234e3c;font-variant-numeric:tabular-nums}.metric-meta{font-size:9px;color:#6b8075;padding-top:12px;border-top:1px solid #e5ece7;display:flex;justify-content:space-between;gap:8px}.patient-strip{padding:13px 20px;display:flex;align-items:center;gap:25px;margin-bottom:22px;font-size:10px;color:#72847a}.patient-strip .patient-value{color:#486b55;display:flex;gap:10px;align-items:center}.patient-strip strong{font-size:14px;font-weight:600;white-space:nowrap;color:#365b46}.patient-strip small{margin-left:auto;font-size:9px;max-width:280px;line-height:1.6}.charts{display:grid;grid-template-columns:1.06fr 1fr;gap:17px;margin-bottom:22px}.chart-panel{padding:23px;min-width:0}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:21px}.panel-heading h2{font-size:14px;letter-spacing:-.2px;margin-bottom:5px}.panel-heading p{font-size:10px;color:#87968c;margin:0}.panel-kicker{font-size:9px;color:#8b9b91;white-space:nowrap}.bar-row{margin-top:17px;display:block;background:transparent;border:0;width:100%;padding:0;text-align:left;color:inherit}.bar-row:hover .bar-track{background:#e5efe7}.bar-top{display:flex;justify-content:space-between;font-size:10px;margin-bottom:7px;gap:15px}.bar-top strong{font-variant-numeric:tabular-nums;font-weight:600;color:#365e45}.bar-track{background:#f0f4f0;border-radius:3px;height:7px;overflow:hidden}.bar-track svg{display:block;width:100%;height:7px}.bar-track rect{fill:#5f9578}.line-chart{width:100%;height:180px;display:block}.chart-legend{font-size:9px;color:#8a9b8d;display:flex;justify-content:space-between;margin-top:12px;gap:5px}.chart-legend button{border:0;background:none;color:#778b7d;font-size:9px;padding:4px}.line-chart .grid{stroke:#e9eee9;stroke-dasharray:3 5;stroke-width:1}.line-chart .area{fill:#edf5ee}.line-chart .line{fill:none;stroke:#45815d;stroke-width:2.5}.line-chart circle{fill:#fff;stroke:#45815d;stroke-width:2}.table-panel{overflow:hidden}.table-header{padding:22px 23px 15px;display:flex;justify-content:space-between;align-items:center;gap:15px}.table-header h2{font-size:14px;margin-bottom:5px}.table-header p{font-size:10px;color:#8b998f;margin:0}.table-actions{display:flex;gap:8px}.table-wrap{overflow:auto;max-height:650px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:.3px;line-height:1.5;color:#6c8174;background:#f7f9f6;padding:12px 16px;border-top:1px solid #edf1ec;border-bottom:1px solid #e9eee8;font-weight:650;max-width:200px;white-space:normal}th button{border:0;background:none;color:inherit;text-align:left;font:inherit;padding:0;display:flex;align-items:center;gap:5px}td{font-size:11px;padding:13px 16px;border-bottom:1px solid #eff2ed;color:#637466;max-width:250px;overflow:hidden;text-overflow:ellipsis}td:first-child{color:#2b513a;font-weight:550}td.money-cell{text-align:right;font-variant-numeric:tabular-nums;color:#375d42;font-weight:550}tbody tr:hover{background:#f8fbf7}.row-button{border:0;background:transparent;color:#315f42;font:inherit;padding:0;text-decoration:none;cursor:pointer}.row-button:hover{text-decoration:underline}.status{font-size:9px;padding:4px 7px;border-radius:4px;background:#e9f2e8;color:#4a7d53;white-space:nowrap}.status.pending{background:#faf0dc;color:#a38341}.empty-value{color:#b1bcb1;font-weight:400}.pager{padding:14px 21px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#83917f;gap:10px}.pager-controls{display:flex;align-items:center;gap:10px}.pager .button{min-height:29px;padding:4px 10px;font-size:10px}.pager select{width:auto;min-height:30px;padding:5px 8px;font-size:10px}.page-footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#8c9b90;padding:22px 2px;line-height:1.7}.page-footer>span:first-child{max-width:620px}.empty-state{text-align:center;padding:70px 20px;color:#81977f}.empty-state h2{color:#43653c;font-size:19px}.group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.group-card{padding:22px}.group-card button{display:flex;justify-content:space-between;width:100%;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #eef2e9;color:#4b6645;text-align:left;font-size:12px}.group-card button strong{font-size:14px}.module-note{padding:15px 20px;font-size:11px;color:#8d7c51;background:#faf7ed;border:1px solid #eae3d2;border-radius:9px;margin-bottom:20px;line-height:1.7}dialog{border:1px solid var(--line);border-radius:15px;box-shadow:0 25px 70px #183d2820;max-width:750px;width:calc(100% - 32px);padding:28px;color:var(--ink);max-height:85vh}dialog::backdrop{background:#102e2855;backdrop-filter:blur(2px)}.dialog-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.detail-item{padding:13px 0;border-top:1px solid #e9eee6;overflow-wrap:anywhere}.detail-item dt{font-size:9px;color:#85947e;letter-spacing:.3px;margin-bottom:7px}.detail-item dd{font-size:13px;margin:0;line-height:1.6}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin:22px 0;max-height:45vh;overflow:auto}.checkbox-grid label,.grant-clinics label{display:flex;flex-direction:row;align-items:start;gap:9px;font-size:10px;line-height:1.6;color:#526d4d}.checkbox-grid input,.grant-clinics input{width:14px;height:14px;min-height:14px;margin-top:1px;accent-color:var(--green);flex:none}.admin-grid{display:grid;grid-template-columns:270px 1fr;gap:20px}.admin-users{padding:20px}.user-choice{width:100%;padding:16px 10px;margin-bottom:8px;border:1px solid #e5ecdf;background:#fff;text-align:left;border-radius:7px;color:#4d6945;font-size:11px;line-height:1.6}.user-choice small{display:block;color:#9aa694;font-size:9px}.user-choice.active{background:#eef5e8;border-color:#a7c497}.admin-fields{padding:24px}.admin-fields .checkbox-grid{max-height:none;margin-bottom:28px}.admin-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grant-clinics{display:flex;gap:20px;padding:16px 0;border-top:1px solid #e6eddf;border-bottom:1px solid #e6eddf;margin:22px 0;flex-wrap:wrap}.audit{padding:23px;margin-top:20px}.audit-line{display:flex;gap:15px;padding:10px 0;font-size:10px;border-top:1px solid #edf1e7;color:#7e9172}.audit-line strong{color:#577049;font-weight:500}.toast{position:fixed;bottom:25px;right:25px;max-width:350px;z-index:100;background:#173e2a;color:white;padding:14px 20px;border-radius:9px;box-shadow:0 7px 25px #183d2820;font-size:12px}.preview-meta{padding:13px;background:#f2f6ed;border-radius:7px;font-size:11px;line-height:1.8}.loading{text-align:center;padding:80px;color:#8d9e7c}.small-caps{font-size:9px;letter-spacing:1px;color:#99a48d}.account-menu-note{font-size:11px;color:#7b9367}
@media(min-width:1600px){main{padding:42px}.metrics{gap:22px}.metric-amount{font-size:38px}.chart-panel{padding:28px}.sidebar{width:248px}.main-shell{margin-left:248px;width:calc(100% - 248px)}}
@media(max-width:1200px){.topbar{padding:0 24px}.sidebar{width:206px}.main-shell{margin-left:206px;width:calc(100% - 206px)}main{padding:25px}.page-heading{align-items:start}.heading-actions{max-width:230px;justify-content:flex-end}.metrics{gap:10px}.metric-card{padding:16px}.metric-amount{font-size:28px}.patient-strip{gap:15px;flex-wrap:wrap}.patient-strip small{max-width:none;margin-left:0}.account{max-width:150px}.tag.subtle{font-size:8px}.charts{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.sidebar{width:184px;padding:25px 10px}.sidebar .brand{font-size:20px;margin-left:10px}.brand-sub{font-size:7px}.main-shell{margin-left:184px;width:calc(100% - 184px)}.nav-item{font-size:11px;padding:12px 10px}.topbar-right{gap:10px}.topbar .tag{display:none}main{padding:23px}.metrics{grid-template-columns:1fr}.metric-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 20px}.metric-top{min-height:0}.metric-label{max-width:none}.metric-amount{margin:3px 0 10px;text-align:right}.metric-meta{grid-column:1 / -1}.charts{grid-template-columns:1fr}.page-heading{display:block}.heading-actions{justify-content:flex-start;max-width:none;margin-top:20px}.admin-grid{grid-template-columns:1fr}.admin-users{display:flex;gap:10px;overflow:auto}.user-choice{min-width:180px;margin:0}.count-strip{flex-wrap:wrap}.page-footer{flex-direction:column;gap:5px}}
@media(max-width:640px){.login-screen{grid-template-columns:1fr}.login-intro{min-height:310px;padding:29px}.login-intro h1{font-size:31px;letter-spacing:-1px;margin-top:45px}.login-intro .eyebrow,.intro-footer,.intro-copy{display:none}.login-panel{padding:30px 25px}.login-box h2{font-size:23px}.sidebar{transform:translateX(-100%);width:225px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:15px 0 60px #123d3520}.main-shell{margin-left:0;width:100%}.mobile-only{display:block}.topbar{height:63px;padding:0 12px}.breadcrumb{gap:9px}.breadcrumb>span:first-of-type{display:none}.separator{display:none}.topbar-right{gap:3px}.account #account-name{display:none}.avatar{width:26px;height:26px}.breadcrumb strong{font-size:10px}main{padding:24px 16px}.page-heading h1{font-size:25px}.page-heading .muted{font-size:11px}.heading-actions{gap:6px}.heading-actions .button{font-size:10px;padding:8px 10px;flex:1}.filters{padding:15px;gap:12px;margin-bottom:18px}.filters label{flex:1 1 calc(50% - 12px);min-width:0}.filters label:first-child,.filters .search-label{flex:1 1 calc(50% - 12px);min-width:0}.filters label:nth-child(5){flex-basis:100%}.filters .filter-button{flex:1}input,select{font-size:12px;min-height:41px}.metric-amount{font-size:28px}.metric-label{font-size:8px}.patient-strip{padding:15px;font-size:9px;gap:12px}.patient-strip .patient-value{width:100%;justify-content:space-between}.patient-strip strong{font-size:13px}.chart-panel{padding:19px}.chart-legend{font-size:8px}.table-header{padding:18px 16px;gap:8px}.table-header .button{font-size:9px;padding:6px 10px}.table-header h2{font-size:13px}.table-header p{font-size:9px}th{font-size:8px;padding:11px 13px}td{padding:13px;font-size:10px}.pager{padding:13px;flex-wrap:wrap}.pager-controls{margin-left:auto}.detail-grid,.checkbox-grid{grid-template-columns:1fr}.group-grid{grid-template-columns:1fr}.detail-item dt{font-size:9px}dialog{padding:22px}.toast{bottom:16px;right:16px;left:16px}.audit-line{flex-wrap:wrap;gap:6px}.admin-fields{padding:19px}.admin-actions .button{flex:1}.count-strip{font-size:9px}.count-strip strong{font-size:12px}}
.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}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.topbar,.filters,.heading-actions,.page-footer{display:none}.main-shell{margin:0;width:100%}main{padding:0}.panel{break-inside:avoid}.table-wrap{max-height:none;overflow:visible}th{display:table-cell}thead{display:table-header-group}body{background:white}}

/* Individual account administration. */
.account-create{padding:22px;margin-bottom:20px}.account-create>summary{font-size:16px;font-weight:650;color:var(--green);cursor:pointer}.account-create[open]>summary{margin-bottom:16px}.account-form{display:grid;gap:15px;min-width:0}.account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-form fieldset,.admin-fields fieldset{border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0;margin:0 0 15px}.account-form legend,.admin-fields legend{font-weight:650;color:var(--ink);padding:0 5px}.account-warning{border-left:3px solid var(--amber);padding:10px 12px;background:#fffbef;font-size:12px}.selection-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.password-reset{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.admin-users>div{min-width:0;width:100%}.user-choice{overflow-wrap:anywhere}.admin-fields{min-width:0}.admin-fields form label{margin-bottom:10px}.admin-fields fieldset:disabled{opacity:.75}.admin-fields fieldset:disabled .selection-actions{display:none}.admin-fields .notice{margin-bottom:18px}.admin-fields .grant-clinics,.account-create .grant-clinics{flex-wrap:wrap}.account-form input[type=checkbox]{width:auto}.admin-actions{flex-wrap:wrap}#password-dialog{width:min(480px,calc(100vw - 32px))}#change-password{white-space:nowrap}
@media(max-width:640px){.account-create{padding:18px}.account-form-grid{grid-template-columns:1fr}.account-form fieldset,.admin-fields fieldset{padding:12px}.admin-users{overflow:visible;display:block}.admin-users>div{display:grid;grid-template-columns:1fr;gap:7px}.admin-users .user-choice{width:100%;min-width:0}.account-create .grant-clinics,.admin-fields .grant-clinics{display:grid;grid-template-columns:1fr}.account-form .button{white-space:normal}.topbar-right #change-password{font-size:9px;padding:4px}.admin-grid{min-width:0}}
