@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";
:root{--ink:#17222d;--muted:#66717c;--navy:#123752;--teal:#0d8179;--mint:#e5f4ef;--cream:#f5f3ed;--line:#dfe4e2;--amber:#bd7611;--red:#b8403b;--white:#fff}*{box-sizing:border-box}body{color:var(--ink);background:#f7f8f5;margin:0;font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 max(28px,50vw - 620px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.mark{background:var(--navy);color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font:800 14px Manrope;display:grid}.brand b{font:700 15px Manrope;display:block}.brand span{color:var(--muted);font-size:11px}.clinic{font-size:13px;font-weight:600}.avatar{background:var(--mint);color:var(--teal);border-radius:50%;margin-left:14px;padding:9px}.disclaimer{text-align:center;color:#526963;background:#eef4f2;padding:7px;font-size:11px}.shell,.visitShell{max-width:1240px;margin:auto;padding:44px 28px 70px}.hero,.patientHero{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.eyebrow{color:var(--teal);letter-spacing:.14em;font:700 11px Manrope}.hero h1,.patientHero h1{letter-spacing:-.04em;margin:5px 0 3px;font:800 38px Manrope}.hero p,.patientHero p{color:var(--muted);margin:0}.primary{background:var(--teal);color:#fff;border:0;border-radius:10px;padding:13px 18px;font-weight:700;box-shadow:0 4px 12px #0d817930}.searchWrap{background:#fff;border:1px solid #cfd8d5;border-radius:14px;align-items:center;height:66px;margin-bottom:22px;padding:0 20px;display:flex;box-shadow:0 10px 30px #173a2c0b}.searchWrap>span{color:var(--teal);margin-right:13px;font-size:29px}.searchWrap input{background:0 0;border:0;outline:0;flex:1;font-size:17px}.searchWrap kbd{border:1px solid var(--line);color:#7b8584;background:#f2f3f0;border-radius:6px;padding:5px 8px}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}.stats button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:17px;position:relative}.stats button.active{border-color:var(--teal);box-shadow:inset 0 -3px var(--teal)}.stats b{font:800 27px Manrope;display:block}.stats span{font-size:13px;font-weight:600}.stats em{color:var(--teal);background:var(--mint);border-radius:99px;padding:4px 7px;font-size:10px;font-style:normal;position:absolute;top:16px;right:14px}.stats .amber{color:var(--amber);background:#fbefda}.panel{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.panelHead{border-bottom:1px solid var(--line);justify-content:space-between;padding:21px 24px;display:flex}.panelHead h2{margin:0;font:700 18px Manrope}.panelHead p{color:var(--muted);margin:4px 0 0;font-size:12px}.ghost,.back{color:var(--muted);background:0 0;border:0;font-weight:600}.patient{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:8px 1.3fr .8fr .8fr 1.2fr .9fr 1fr;align-items:center;gap:16px;width:100%;padding:18px 22px;display:grid}.patient:hover{background:#f5faf8}.status{background:var(--teal);border-radius:4px;width:4px;height:36px}.status.late{background:var(--amber)}.status.warning{background:var(--red)}.patientId b{font:700 17px Manrope;display:block}.patientId span,.metric span{color:var(--muted);font-size:11px}.metric small,.sideCard small,.currentDrug small{color:#7d868c;letter-spacing:.1em;font-size:9px;font-weight:700;display:block}.metric b{margin-top:4px;font-size:13px;display:block}.metric b i{color:var(--muted);font-style:normal;font-weight:400}.lateText{color:var(--amber)!important}.go{color:var(--teal);text-align:right;font-size:12px}.spark{align-items:flex-end;gap:3px;height:25px;display:flex}.spark i{background:#80c9bc;border-radius:2px;width:10px;height:90%;display:block}.spark i:nth-child(2){height:75%}.spark i:nth-child(3){height:62%}.spark i:nth-child(4){height:50%}.spark i:nth-child(5){background:var(--teal);height:36%}.spark.warn i:nth-child(5){background:var(--red);height:72%}.empty{text-align:center;color:var(--muted);padding:50px}.back{margin-bottom:18px;padding:0}.patientHero{background:var(--navy);color:#fff;border-radius:18px;align-items:center;padding:25px 30px}.patientHero h1{font-size:30px}.patientHero h1 small{color:#bcd0db;font-weight:400}.patientHero p{color:#bcd0db;font-size:12px}.currentDrug{text-align:right}.currentDrug b{margin:5px 0;display:block}.currentDrug span{color:#bcd0db;font-size:12px}.visitGrid{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:20px;display:grid}.visitMain{flex-direction:column;gap:15px;display:flex}.card,.sideCard{border:1px solid var(--line);background:#fff;border-radius:15px;padding:23px}.step{align-items:center;gap:13px;margin-bottom:20px;display:flex}.step i{background:var(--navy);color:#fff;border-radius:9px;place-items:center;width:29px;height:29px;font-size:12px;font-style:normal;font-weight:700;display:grid}.step h2{margin:0;font:700 17px Manrope}.step p{color:var(--muted);margin:3px 0 0;font-size:11px}.bigInput{background:#f0f5f2;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;font-weight:700;display:flex}.bigInput span{font:800 24px Manrope}.bigInput input{text-align:right;background:0 0;border:0;outline:0;width:120px;font:800 28px Manrope}.calc{background:var(--line);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:1px;margin:14px 0;display:grid;overflow:hidden}.calc>div{background:#fff;padding:13px}.calc small{color:var(--muted);font-size:9px;display:block}.calc b{margin-top:4px;font-size:13px;display:block}.good{color:var(--teal)}.bad{color:var(--red)}details{color:var(--teal);font-size:12px}summary{cursor:pointer}.extra,.formGrid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px;display:grid}.extra input,input,select,textarea{border:1px solid var(--line);outline-color:var(--teal);background:#fff;border-radius:9px;width:100%;padding:11px}.choiceRow,.decision{flex-wrap:wrap;gap:9px;display:flex}.choiceRow button,.decision button,.chips button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 13px}.choiceRow .selected,.decision .selected{border-color:var(--teal);background:var(--mint);color:var(--teal);font-weight:700}.allClear{background:var(--mint);color:var(--teal);border:1px solid #97cbbf;border-radius:9px;margin-bottom:12px;padding:10px 14px;font-weight:700}.chips{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.chips .on{background:#f8e8d8;border-color:#d9a46b}.flagList>div{border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;padding:10px 0;font-size:12px;display:flex}.flagList button{border:1px solid var(--line);background:#fff;padding:6px 8px;font-size:10px}.flagList button:first-child{border-radius:6px 0 0 6px}.flagList button:last-child{border-radius:0 6px 6px 0}.flagList .selNo{background:var(--mint);color:var(--teal)}.flagList .selYes{color:var(--red);background:#f9dddd}.flagList .selNa{background:#eee}.danger{color:#8f2723;background:#fbe4e2;border-radius:9px;margin-top:15px;padding:14px;font-size:12px;font-weight:600}.dangerCard{border-color:#e3a29e}.formGrid label,.card>label{color:var(--muted);font-size:11px;font-weight:600}.formGrid select,.card textarea{margin-top:6px}.card textarea{resize:vertical;min-height:74px}aside{position:sticky;top:110px}.sideCard{margin-bottom:12px}.sideCard .spark{margin:14px 0}.sideCard h3{color:var(--teal);margin:0;font:800 24px Manrope}.sideCard p{color:var(--muted);font-size:11px}.sideCard ul{margin:14px 0 0;padding:0;list-style:none}.sideCard li{color:#9ca3a3;border-top:1px solid #eee;padding:8px 0;font-size:12px}.sideCard li:before{content:"○";margin-right:8px}.sideCard li.ok{color:var(--teal)}.sideCard li.ok:before{content:"✓"}.save{background:var(--teal);color:#fff;border:0;border-radius:10px;width:100%;padding:14px;font-weight:700}.save:disabled{cursor:not-allowed;background:#aab6b3}.approval{text-align:center;color:var(--muted);font-size:10px}.toast{background:var(--navy);color:#fff;border-radius:10px;padding:13px 18px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0003}.toast button{color:#8ee0cf;background:0 0;border:0;margin-left:20px}.modal{z-index:50;background:#10202ab8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal form{background:#fff;border-radius:17px;width:min(620px,100%);max-height:90vh;padding:26px;overflow:auto}.modalHead{justify-content:space-between;align-items:center;display:flex}.modalHead h2{margin:4px 0;font:800 26px Manrope}.modalHead button{background:#eee;border:0;border-radius:50%;width:34px;height:34px;font-size:22px}.privacy{color:#536b63;background:#eef5f2;border-radius:8px;padding:12px;font-size:11px}.modal .formGrid{margin:20px 0}.modal label{color:var(--muted);font-size:11px;font-weight:700}.modal input,.modal select{margin-top:5px}.wide{width:100%}@media (max-width:850px){.shell,.visitShell{padding:26px 15px}.clinic{font-size:0}.stats{grid-template-columns:1fr 1fr}.patient{grid-template-columns:6px 1fr 1fr}.patient .spark,.patient .metric:nth-of-type(3),.patient .go{display:none}.visitGrid{grid-template-columns:1fr}aside{position:static}.patientHero{align-items:flex-start}.currentDrug{display:none}.flagList>div{align-items:flex-start;gap:8px}.flagList>div>span{max-width:48%}}@media (max-width:520px){.hero{align-items:flex-start}.hero h1{font-size:30px}.hero>div>p:last-child{display:none}.stats{grid-template-columns:1fr 1fr}.stats b{font-size:22px}.patient{grid-template-columns:5px 1fr 1fr;padding:15px 12px}.patient .metric:nth-of-type(2){display:none}.calc,.formGrid{grid-template-columns:1fr}.flagList>div{display:block}.flagList>div>div{margin-top:7px}.modal .formGrid{grid-template-columns:1fr 1fr}.topbar{padding:0 15px}}.settingsBtn{color:var(--muted);background:0 0;border:0;margin-left:15px;font-size:12px;font-weight:600}.quick{color:var(--teal);text-align:right;background:0 0;border:0;font-size:12px;font-weight:700}.currentDrug button{color:#8fe0d3;background:0 0;border:0;padding:0;font-size:11px}.summaryActions{gap:8px;display:flex}.summaryActions button{color:#fff;background:#ffffff12;border:1px solid #ffffff40;border-radius:9px;padding:10px 13px;font-weight:700}.summaryActions .primary{background:var(--teal);border:0}.summaryStats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.summaryStats>div{border:1px solid var(--line);background:#fff;border-radius:13px;padding:18px}.summaryStats small{color:var(--muted);letter-spacing:.1em;font-size:9px;font-weight:700;display:block}.summaryStats b{margin-top:7px;font:800 20px Manrope;display:block}.summaryStats span{color:var(--muted);font-size:11px}.chartCard{margin-bottom:18px;padding:0;overflow:hidden}.weightChart{border-left:1px solid var(--line);border-bottom:1px solid var(--line);height:250px;margin:0 40px 35px;position:relative}.chartGrid{border-top:1px dashed #dce5e1;position:absolute;left:0;right:0}.chartGrid.g1{top:25%}.chartGrid.g2{top:50%}.chartGrid.g3{top:75%}.chartPoint{z-index:2;text-align:center;position:absolute;transform:translate(-50%,-50%)}.chartPoint i{background:var(--teal);width:14px;height:14px;box-shadow:0 0 0 2px var(--teal);border:4px solid #fff;border-radius:50%;display:block}.chartPoint b{white-space:nowrap;color:var(--teal);font-size:11px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.chartPoint span{white-space:nowrap;color:var(--muted);font-size:9px;position:absolute;top:17px;left:50%;transform:translate(-50%)}.weightChart:after{content:"";transform-origin:0;border-top:3px solid #74c6b8;position:absolute;inset:18% 7% 35%;transform:skewY(-8deg)}.historyPanel table{border-collapse:collapse;width:100%}.historyPanel th,.historyPanel td{text-align:left;border-bottom:1px solid #edf0ee;padding:14px 20px;font-size:12px}.historyPanel th{letter-spacing:.08em;color:var(--muted);font-size:9px}.doseBox{background:#f1f6f4;border:1px solid #d8e8e3;border-radius:12px;margin:15px 0;padding:15px}.doseBox label,.modal form>label{color:var(--muted);font-size:11px;font-weight:700}.doseBox select,.modal form>label select{margin-top:5px}.doseInputs{grid-template-columns:1fr 30px 1fr;align-items:end;gap:8px;margin-top:12px;display:grid}.doseInputs>span{text-align:center;color:var(--teal);padding-bottom:12px;font-size:20px}.doseInputs input{margin-top:5px;font-weight:700}.dosePreview{border-left:3px solid var(--teal);background:#fff;margin-top:12px;padding:11px;font-size:12px}.dosePreview b{margin-top:3px;display:block}.dosePreview small{color:var(--muted);margin-top:7px;display:block}.modalDose{margin:16px 0}.settingsModal{background:#fff;border-radius:17px;width:min(680px,100%);max-height:90vh;padding:26px;overflow:auto}.catalog{margin:16px 0}.catalog>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.catalog b{font-size:12px;display:block}.catalog span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.catalog button{border:1px solid var(--line);color:var(--muted);background:#eee;border-radius:99px;padding:6px 10px;font-size:10px}.catalog .activeToggle{background:var(--mint);color:var(--teal);border-color:#a7d7cc}.span2{grid-column:1/-1}@media (max-width:850px){.summaryStats{grid-template-columns:1fr 1fr}.summaryActions{flex-wrap:wrap}.historyPanel{overflow:auto}.historyPanel table{min-width:620px}.quick{display:none}}@media (max-width:520px){.summaryStats{grid-template-columns:1fr 1fr}.summaryActions button:not(.primary){display:none}.doseInputs{grid-template-columns:1fr 20px 1fr}}@media print{.topbar,.disclaimer,.back,.summaryActions{display:none!important}body{background:#fff}.visitShell{max-width:none;padding:0}.patientHero{break-inside:avoid;border-radius:0}.summaryStats{break-inside:avoid}.chartCard,.historyPanel{break-inside:avoid;box-shadow:none}.historyPanel table{font-size:10px}@page{size:A4;margin:12mm}}.weightChart:after{display:none!important}.chartSegment{transform-origin:0;z-index:1;background:#74c6b8;border-radius:3px;height:3px;position:absolute}.compactChart{height:205px;margin-bottom:25px}.visitNav{justify-content:space-between;align-items:center;display:flex}.summaryBack{color:var(--teal)}.embedded{margin-bottom:0}.metricTrend{border:1px solid var(--line);color:var(--ink);border-radius:12px;grid-template-columns:1fr 180px auto auto;align-items:center;gap:12px;margin-top:14px;padding:14px;display:grid}.metricTrend b{font-size:12px;display:block}.metricTrend span,.metricTrend small{color:var(--muted);font-size:9px;display:block}.metricTrend strong{color:var(--teal);font-size:12px}.miniLine{align-items:center;height:34px;display:flex}.miniLine i{background:#72c3b6;flex:1;height:3px;display:block;transform:rotate(-5deg)}.miniLine i:nth-child(2){transform:rotate(2deg)}.miniLine i:nth-child(3){transform:rotate(-7deg)}.miniLine i:nth-child(4){transform:rotate(-2deg)}@media (max-width:700px){.metricTrend{grid-template-columns:1fr}.summaryBack{display:block}.extra{grid-template-columns:1fr}.summaryActions{justify-content:flex-end;max-width:310px}}.weightChart .chartSegment{background:#74c6b8;border-radius:0;width:auto;height:auto;inset:0;transform:none}.pastDose,.pastDose .doseInputs{margin-top:0}.modal label small{color:var(--muted);margin-top:5px;font-size:9px;font-weight:400;display:block}.editRow{background:var(--mint);color:var(--teal);border:1px solid #a8d4cb;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:700}.measureSummary{color:var(--muted);font-size:10px!important}.optionalMeasures{border:1px solid var(--line);background:#f7f8f5;border-radius:10px;margin:12px 0;padding:12px}.optionalMeasures>b{font-size:11px}.optionalMeasures .formGrid{margin:9px 0 0}.optionalMeasures input{font-size:11px}.saveError{color:#8a5514;background:#fff0df;border:1px solid #e8b87a;border-radius:9px;max-width:1240px;margin:12px auto 0;padding:10px 14px;font-size:12px}.loginPage{background:#f4f7f6;place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:#fff;border:1px solid #dce5e2;border-radius:24px;width:min(520px,100%);padding:38px;box-shadow:0 24px 70px #0f2d3e1f}.loginBrand{margin-bottom:38px}.loginCard h1{margin:8px 0 12px;font-size:36px}.loginCard>p:not(.eyebrow){color:#63717e;margin-bottom:24px;line-height:1.6}.loginCard form{gap:18px;display:grid}.loginCard label{gap:8px;font-weight:700;display:grid}.loginCard input{width:100%;font:inherit;border:1px solid #d5dfdc;border-radius:12px;padding:15px}.loginCard>small{color:#78858e;margin-top:24px;line-height:1.5;display:block}.settingsModal{width:min(980px,100%)}.userAdmin{border-bottom:1px solid var(--line);margin-bottom:22px;padding:12px 0 24px}.userAdmin h3,.settingsModal>h3{margin:10px 0 3px;font:700 17px Manrope}.userAdmin p{color:var(--muted);margin:0 0 14px;font-size:11px}.userRows{gap:8px;display:grid}.userRows form,.newUser{grid-template-columns:1.1fr 1.3fr .7fr 1.2fr auto;align-items:center;gap:8px;display:grid}.userRows input,.userRows select,.newUser input,.newUser select{padding:9px;font-size:11px}.userRows button{background:var(--mint);color:var(--teal);border:1px solid #a8d4cb;border-radius:7px;padding:9px;font-size:10px;font-weight:700}.newUser{background:#f3f7f5;border-radius:10px;margin-top:16px;padding:12px}.newUser>b{grid-column:1/-1;font-size:12px}@media (max-width:800px){.userRows form,.newUser{grid-template-columns:1fr 1fr}.newUser>b{grid-column:1/-1}}.compositionPanel{margin-top:18px}.deleteAction{color:#ffd4d0!important;border-color:#e9a9a5!important}.confirmBox{background:#fff;border-radius:17px;width:min(480px,100%);padding:26px}.confirmBox p{color:var(--muted);line-height:1.6}.confirmActions{justify-content:flex-end;gap:9px;display:flex}.confirmActions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 16px}.confirmActions .dangerButton{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}@media print{@page{size:A4 portrait;margin:7mm}.summaryPage{zoom:.78;font-size:8px;max-width:none!important;padding:0!important}.summaryPage .patientHero p{font-size:8px!important}.summaryPage .chartPoint b{font-size:7px!important}.summaryPage .chartPoint span{font-size:6px!important}@page{size:A4 portrait;margin:6mm}html,body{background:#fff!important}.summaryPage{zoom:1;max-width:none!important;padding:0!important;font-size:10pt!important}.summaryPage .patientHero{border-radius:6px!important;margin:0 0 4px!important;padding:7px 10px!important}.summaryPage .patientHero h1{margin:1px 0!important;font-size:16pt!important}.summaryPage .patientHero p,.summaryPage .eyebrow{font-size:10pt!important}.summaryPage .summaryStats{gap:4px!important;margin-bottom:4px!important}.summaryPage .summaryStats>div{border-radius:6px!important;padding:5px!important}.summaryPage .summaryStats b{margin-top:1px!important;font-size:12pt!important}.summaryPage .summaryStats small,.summaryPage .summaryStats span{font-size:10pt!important}.summaryPage .compositionAlert{margin:-1px 0 4px!important;padding:4px 7px!important;font-size:10pt!important}.summaryPage .chartCard{margin-bottom:4px!important}.summaryPage .panelHead{padding:4px 7px!important}.summaryPage .panelHead h2{font-size:12pt!important}.summaryPage .panelHead p{margin-top:0!important;font-size:10pt!important}.summaryPage .weightChart{height:92px!important;margin:0 18px 14px!important}.summaryPage .chartPoint b,.summaryPage .chartPoint span{font-size:10pt!important}.summaryPage .historyPanel{break-inside:avoid!important;margin-top:4px!important}.summaryPage .historyPanel th,.summaryPage .historyPanel td{padding:2px 5px!important;font-size:10pt!important;line-height:1!important}.summaryPage .historyPanel th{font-size:10pt!important}.summaryPage .historyPanel:not(.compositionPanel) th:nth-child(4),.summaryPage .historyPanel:not(.compositionPanel) td:nth-child(4),.summaryPage .historyPanel:not(.compositionPanel) th:nth-child(5),.summaryPage .historyPanel:not(.compositionPanel) td:nth-child(5){display:none!important}.summaryPage .compositionPanel{margin-top:4px!important}.summaryPage .editRow{display:none!important}}.stats{grid-template-columns:repeat(3,1fr)}.status.compositionMissing{background:var(--red)}.compositionAlert{color:#85500c;background:#fff0d9;border:1px solid #e0a84f;border-left:5px solid #d78314;border-radius:9px;margin:-16px 0 18px;padding:11px 14px;font-size:12px;font-weight:700}.visitShell>.compositionPanel{margin-top:18px}
