
:root{--bg:#f5f6f2;--panel:#fff;--text:#243b32;--muted:#7b8780;--line:#e3e8e1;--green:#176c55;--soft:#eaf1e5;--accent:#cde2a7;--shadow:0 5px 25px #15382c04;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}body.dark{--bg:#131d19;--panel:#1d2a24;--text:#e2ece5;--muted:#a0afa6;--line:#34443a;--green:#8aceb0;--soft:#293b2f;--accent:#cde2a7;color-scheme:dark}aside{position:fixed;inset:0 auto 0 0;width:238px;border-right:1px solid var(--line);padding:38px 24px;background:var(--panel);display:flex;flex-direction:column}.brand{font-size:34px;letter-spacing:-1px;color:var(--green);text-decoration:none}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.9px;color:var(--muted);margin:30px 0 17px}nav{display:grid;gap:9px}button,select,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:11px 17px;border-radius:8px;font-size:13px;font-weight:600}button:hover{filter:brightness(.95)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--green);outline-offset:2px}nav button{text-align:left;border:0;color:var(--muted);padding:14px 17px}nav button.active{background:var(--soft);color:var(--green)}.aside-bottom{margin-top:auto;font-size:11px;color:var(--muted)}.aside-bottom button{display:block;width:100%;margin-top:20px}.dot{display:inline-block;background:var(--green);width:6px;height:6px;border-radius:50%;margin-right:5px}main{margin-left:238px;padding:0 44px;max-width:1700px}header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}header div{display:flex;gap:10px}select,input{padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);min-width:0}header select{font-size:12px}.heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0}.heading .eyebrow{margin-top:0}h1{font-size:36px;letter-spacing:-1.3px;margin:0 0 10px;font-weight:600}p{color:var(--muted);line-height:1.6;margin:8px 0}h2{font-size:31px;letter-spacing:-1px;margin:19px 0 12px;font-weight:600}h3{font-size:17px;font-weight:600;margin:0 0 9px}.primary{background:var(--green);color:var(--panel);border-color:var(--green)}body.dark .primary{color:#13281e}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stats article,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:25px;box-shadow:var(--shadow)}.stats span{font-size:12px;color:var(--muted)}small{font-size:11px;color:var(--muted)}.text{padding:0;border:0;color:var(--green);font-size:11px}.overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:22px;margin:24px 0}.panel-head{display:flex;justify-content:space-between;align-items:start}.panel-head p{font-size:12px}.badge{background:var(--soft);border-radius:20px;padding:7px 10px;color:var(--green);font-size:10px;white-space:nowrap}.chart{min-height:265px;display:flex;align-items:center;justify-content:center;margin-top:14px}.chart svg{width:100%;height:auto;max-height:430px;overflow:visible}.chart text{fill:var(--muted);font-size:12px}.chart .grid{stroke:var(--line)}.chart .series{stroke:var(--green)}.chart .fill{fill:var(--green)}form label{display:grid;gap:8px;font-size:12px;font-weight:600;margin:16px 0}form button.primary{width:100%;margin:8px 0 12px}form small{display:block;text-align:center}.muted{color:var(--muted);font-weight:400}.callout{display:flex;gap:20px;align-items:center;background:var(--soft);padding:24px 28px;border-radius:12px}.callout>span{font-size:30px;color:var(--green)}.callout h3{font-size:15px}.callout p{font-size:12px}.callout button{margin-left:auto;background:transparent;border:0;color:var(--green);white-space:nowrap}footer{color:var(--muted);font-size:11px;text-align:center;padding:35px}.page[hidden]{display:none}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.filters label{display:grid;gap:8px;font-size:12px}.inline{display:flex;align-items:center;gap:8px;margin:15px 0;font-size:13px}.inline input{width:auto}.actions{display:flex;gap:10px;align-items:center}.actions button.primary{width:auto;margin:0}.report-output{margin:22px 0}.saved{display:flex;gap:12px;flex-wrap:wrap}.saved article{border:1px solid var(--line);border-radius:9px;padding:15px;background:var(--panel)}.saved button{margin:5px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{color:var(--muted);font-weight:500}td,th{padding:15px 12px;border-bottom:1px solid var(--line)}td button{padding:6px 10px;margin:3px}td:nth-child(3){max-width:400px;overflow-wrap:anywhere}.drop{display:block;text-align:center;padding:45px;border:1px dashed var(--green);border-radius:12px;background:var(--soft);font-size:28px}.drop input{font-size:13px;margin-top:15px;max-width:100%}.drop p{font-size:13px}#confirm-import{margin-top:20px}#toast{position:fixed;bottom:24px;right:24px;max-width:420px;padding:16px 22px;border:1px solid var(--line);border-radius:10px;background:var(--text);color:var(--bg);box-shadow:0 5px 30px #0002;z-index:4}.empty{text-align:center;color:var(--muted);padding:35px;line-height:1.8}.error{color:#c85845} @media(max-width:1100px){aside{width:200px;padding:30px 15px}main{margin-left:200px;padding:0 25px}.stats{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.overview-grid form{display:grid;grid-template-columns:1fr 1fr;gap:10px}}@media(max-width:700px){aside{position:static;width:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:27px}aside .eyebrow,.aside-bottom .dot{display:none}nav{display:flex;overflow:auto;margin-top:15px;gap:3px}nav button{padding:10px;white-space:nowrap;font-size:11px}.aside-bottom{position:absolute;right:18px;top:8px;font-size:0}.aside-bottom button{width:auto;font-size:11px}main{margin:0;padding:0 18px}header{height:75px}header>span{display:none}.heading{gap:15px}h1{font-size:29px}.heading p{font-size:12px}.heading button{padding:10px}.stats{gap:10px}.stats article{padding:18px}h2{font-size:27px}.panel{padding:20px}.callout{flex-wrap:wrap}.callout button{margin-left:0}.overview-grid form{display:block}.filters{grid-template-columns:1fr 1fr}}@media print{aside,header,footer,.heading button,#report-form,#saved-reports,.saved,body>div{display:none!important}main{margin:0;padding:0}.page{display:none!important}#reports{display:block!important}#reports>h3{display:none}body{--bg:white;--panel:white;--text:#222;--muted:#555;--line:#ddd;--green:#176c55}article{break-inside:avoid}}
.treatment-banner{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:14px 18px;color:var(--green);font-size:12px;margin-bottom:20px}.bmi-help{display:block;margin-top:6px}.treatment-fields{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0;padding:3px 0 15px}.field-hint{font-size:11px;margin:4px 0}.shot-toggle{display:flex!important;align-items:center;gap:9px}.shot-toggle input{width:auto}.shot-row{background:var(--soft)}.shot-badge{display:inline-block;padding:5px 9px;border-radius:20px;border:1px solid var(--green);color:var(--green);font-size:11px;white-space:nowrap}.dose-badge{display:inline-block;border-left:4px solid var(--dose-color);padding-left:8px}.dose-badge small{display:block;margin-top:4px}.actions{flex-wrap:wrap}.report-output .chart{display:block}.chart svg{max-height:none}.overview-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.chart{align-self:start}.overview-grid>.panel:first-child{align-self:start}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top left,var(--soft),var(--bg) 70%);padding:25px}.login-shell{margin:0;padding:38px 42px;width:min(460px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 15px 80px #15382c09}.login-shell h1{font-size:33px}.login-shell>small{display:block;line-height:1.7}.login-shell #login-theme{display:block;margin-top:24px}.login-shell .eyebrow{font-size:9px}.login-shell input{width:100%}button:disabled{opacity:.5;cursor:default}footer a{color:var(--muted)}@media(max-width:1100px){.overview-grid{grid-template-columns:1fr}.overview-grid form{display:block}.treatment-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.field-hint{grid-column:1/-1}}@media(max-width:700px){header div{gap:6px;flex-wrap:wrap}header button,header select{padding:9px;font-size:11px}.treatment-banner{font-size:11px}.login-shell{padding:30px 25px}.overview-grid{grid-template-columns:minmax(0,1fr)}}
.phase-badge{display:inline-block;padding:5px 9px;border-radius:20px;color:var(--muted);font-size:11px;white-space:nowrap;background:var(--bg)}.phase-badge.maintenance{color:var(--green);background:var(--soft)}#phase-banner{margin-left:auto;font-size:12px}.treatment-banner strong{font-weight:600}@media print{.treatment-banner{display:none}}
.security-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;align-items:start}.security-grid p{font-size:13px}.security-grid input{width:100%}.security-grid .inline input{width:auto}.setup-steps{padding-left:22px;color:var(--muted);font-size:13px;line-height:1.8}.setup-steps li{margin:9px 0}.secret-key{font-family:monospace;font-size:14px;letter-spacing:1px}.recovery-result{border:1px solid var(--green);background:var(--soft);padding:20px;border-radius:10px;margin-top:22px}.recovery-result pre{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.security-grid .primary{width:auto}.success{color:var(--green)}#account-message{font-size:13px;color:var(--green)}[hidden]{display:none!important}@media(max-width:1000px){.security-grid{grid-template-columns:1fr}}@media print{#account{display:none!important}}
aside{padding-top:28px;padding-bottom:20px}aside nav{overflow-y:auto;min-height:0;gap:3px;margin-top:8px}aside nav button{padding:11px 12px;font-size:12px}.nav-separator{font-size:9px;letter-spacing:1.5px;color:var(--muted);padding:18px 12px 9px}.aside-bottom{padding-top:16px}.aside-bottom button{margin-top:12px}.health-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.health-stats button{text-align:left;padding:23px;border-radius:12px}.health-stats span{display:block;color:var(--muted);font-size:12px;font-weight:400}.health-stats strong{display:block;font-size:29px;letter-spacing:-.8px;margin:15px 0}.health-stats small{font-weight:400;display:block}.health-home-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:22px;align-items:start}.health-home-side{display:grid;gap:22px}.health-home-grid .chart{display:block;min-height:0}.button{display:inline-block;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:11px 17px;font-size:13px;font-weight:600;color:var(--text);background:var(--panel)}a.primary{background:var(--green);color:var(--panel);border-color:var(--green)}.dark a.primary{color:#13281e}.report-shortcuts .eyebrow{margin-top:0}.report-shortcuts p{font-size:13px}.report-shortcuts .button,.report-shortcuts button{display:block;margin-top:14px;width:100%;text-align:center}.upcoming-item{padding:16px 0;border-bottom:1px solid var(--line)}.upcoming-item:last-child{border-bottom:0}.upcoming-item>span{font-size:11px;color:var(--green)}h4{font-size:14px;margin:7px 0}.upcoming-item p{font-size:12px}.upcoming-item a{color:var(--green);font-size:12px}.record-tools{display:flex;align-items:end;gap:16px;margin-bottom:24px;flex-wrap:wrap}.record-tools>label{display:grid;font-size:12px;gap:8px}.record-tools .search-label{flex:1;min-width:180px}.record-tools label.inline{display:flex;white-space:nowrap}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.record-card .panel-head{gap:15px}.record-card h3{overflow-wrap:anywhere}.record-card p{font-size:13px}.record-card .actions{margin-top:20px}.record-card .text{margin-left:auto}.record-details{color:var(--green)}.record-notes{font-size:13px;margin:16px 0;color:var(--muted)}.record-notes p{white-space:pre-wrap;overflow-wrap:anywhere}.record-notes summary{cursor:pointer;color:var(--text)}.document-link{font-size:12px;color:var(--green);display:block;margin-top:12px;overflow-wrap:anywhere}.empty-record{font-size:13px;color:var(--muted);line-height:1.7;grid-column:1/-1}.health-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.health-report-grid p{font-size:13px}.health-report-grid .button{margin:15px 0}.health-report-grid small{display:block;line-height:1.6}.report-icon{display:block;font-size:28px;color:var(--green);margin-bottom:20px}.report-visit-select{display:grid;font-size:12px;gap:8px;margin:18px 0}.profile-panel form>button{width:auto}.profile-panel p{font-size:13px}textarea{font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);resize:vertical;max-width:100%}details summary{cursor:pointer}.profile-panel details{margin:20px 0;color:var(--muted)}#health-editor{width:min(760px,94vw);max-height:90vh;padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text)}#health-editor::backdrop{background:#081d1477;backdrop-filter:blur(3px)}#health-editor h2{font-size:24px;margin:0}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:20px}.editor-grid label{min-width:0}.editor-grid .wide{grid-column:1/-1}#record-form .actions button{width:auto}#record-form{margin:0}.migration-panel{margin-bottom:32px}.migration-panel label{display:grid;gap:8px;font-size:12px}.migration-panel p{font-size:13px}.migration-panel button.primary{margin:20px 0 0}.migration-panel details{font-size:12px;line-height:1.7;margin:15px 0}.import-weight-heading{margin:20px 0}.api-panel{margin-top:24px}.api-panel p{font-size:13px}.api-panel .primary{width:auto}.api-panel .inline input{width:auto}.api-panel label{display:grid;gap:8px;font-size:12px}.api-panel .actions label.inline{display:flex}.api-key-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.api-key-row p{margin:5px 0;font-size:12px;overflow-wrap:anywhere}#key-token{font-family:monospace;width:100%;font-size:12px}#key-result button{margin-top:12px}body.dark dialog{color-scheme:dark}@media(max-width:1150px){.health-home-grid{grid-template-columns:1fr}.health-home-side{grid-template-columns:1fr 1fr}.health-stats{grid-template-columns:1fr 1fr}.record-grid{grid-template-columns:1fr}.health-stats strong{font-size:26px}}@media(max-width:700px){aside{padding:18px}.nav-separator{display:none}aside nav{display:flex;overflow-x:auto;overflow-y:hidden;gap:3px}aside nav button{padding:10px;white-space:nowrap}main{overflow:hidden}.health-home-side,.health-report-grid{grid-template-columns:1fr}.health-stats{gap:10px}.health-stats button{padding:18px}.health-stats strong{font-size:23px}.editor-grid{grid-template-columns:1fr}.editor-grid .wide{grid-column:auto}#health-editor{padding:22px}.health-home-grid .panel{padding:18px}.record-tools{gap:10px}.record-tools>label:first-child{width:100%;flex:auto}.migration-panel .panel-head{flex-wrap:wrap}.api-key-row{align-items:start}}@media print{#healthhome,#records,#healthreports,#health-editor{display:none!important}}

#mobile-nav{display:none}@media(max-width:700px){aside nav{display:none}#mobile-nav{display:block;width:100%;margin-top:18px;font-size:13px}.aside-bottom{top:8px}header{height:70px}}
.visit-optional{padding:12px 0;font-size:12px;color:var(--muted)}.visit-optional summary{line-height:1.6}.visit-optional .editor-grid{margin-top:5px}

#monitoring-panel{margin:22px 0}#record-print{margin-bottom:20px}.actions{flex-wrap:wrap}
.record-tools>label[hidden]{display:none}

.patient-photo-panel{display:flex;gap:24px;align-items:center;margin-bottom:24px}.profile-photo,.photo-placeholder{width:130px;height:130px;object-fit:cover;border-radius:16px;flex-shrink:0}.photo-placeholder{display:grid;place-items:center;background:var(--soft);color:var(--green);font-size:55px}.photo-placeholder[hidden],.profile-photo[hidden],#patient-photo-remove[hidden]{display:none}.patient-photo-panel p{font-size:13px}.patient-photo-panel input[type=file]{display:block;max-width:260px;font-size:12px;margin-top:10px}.patient-photo-panel .button{display:inline-block}#patient-photo-remove{margin:12px}.report-defaults{border:1px solid var(--line);border-radius:8px;padding:12px 18px;margin:20px 0}.report-defaults label.inline{display:flex;align-items:center}.report-defaults input{width:auto}.backup-list-panel{margin-top:24px}#backup-folder{overflow-wrap:anywhere;font-family:monospace}.backup-file{display:flex;gap:16px;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.backup-file p{font-size:12px;overflow-wrap:anywhere}#backup-status{white-space:pre-line}.report-patient-card{display:flex;align-items:start;gap:16px;margin:18px 0}.report-patient-card img{width:72px;height:72px;object-fit:cover;border-radius:8px}.report-patient-card p{white-space:pre-wrap;font-size:12px}.report-patient-card[hidden]{display:none}@media(max-width:700px){.patient-photo-panel{align-items:flex-start;gap:16px}.profile-photo,.photo-placeholder{width:80px;height:80px}.patient-photo-panel input[type=file]{max-width:190px}.backup-file{flex-wrap:wrap}}@media print{#patient,#backups{display:none!important}}

.medication-types{border:1px solid var(--line);border-radius:9px;padding:12px;margin:16px 0}.medication-types legend{font-size:12px;font-weight:600;padding:0 5px}.medication-types>div{display:flex;gap:8px;flex-wrap:wrap}.medication-types label{display:flex;align-items:center;gap:7px;margin:0;padding:10px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.medication-types label:has(input:checked){background:var(--soft);border-color:var(--green)}.medication-types input{width:auto;accent-color:var(--green)}
