:root{--nav:#101827;--nav2:#172235;--ink:#172033;--muted:#718096;--line:#e7ebf1;--bg:#f4f6f9;--card:#fff;--teal:#12a594;--teal2:#dff6f2;--blue:#4777e8;--orange:#f3a43b;--danger:#d95663;--shadow:0 10px 30px rgba(19,32,53,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#0d1420);color:#fff;padding:25px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;margin:0 7px 29px}.brandmark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--teal);font-weight:800}.brand b{display:block;font-size:17px}.brand small,.sidebar-foot small{display:block;color:#8290a4;font-size:11px;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{border:0;background:transparent;color:#aeb8c8;text-align:left;padding:11px 10px;border-radius:9px;cursor:pointer;display:flex;align-items:center;gap:11px;font-size:13px}.sidebar nav button i{font-style:normal;width:18px;text-align:center;font-size:16px}.sidebar nav button.active,.sidebar nav button:hover{background:var(--nav2);color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 var(--teal)}.sidebar nav em{margin-left:auto;font-style:normal;font-size:9px;color:#6f7d91}.nav-label{font-size:9px;letter-spacing:1.5px;color:#576579;margin:18px 10px 5px}.sidebar-foot{margin-top:auto;border-top:1px solid #263247;padding:18px 5px 0;display:flex;align-items:center;gap:10px;font-size:12px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#27364d;color:#c9d2df;font-weight:700}main{min-width:0}header{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:15px}header h1{font-size:22px;margin:0 0 3px}header p{margin:0;color:var(--muted);font-size:12px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.today{color:var(--muted);font-size:12px}.primary,.secondary{border:0;border-radius:8px;padding:10px 15px;cursor:pointer;font-weight:650;font-size:12px}.primary{background:var(--teal);color:#fff}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.icon-btn{display:none;border:0;background:none;font-size:20px}.content{padding:27px 34px 45px;max-width:1600px;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.welcome h2{margin:0 0 6px;font-size:19px}.welcome p{margin:0;color:var(--muted);font-size:13px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.kpi{padding:19px;display:flex;align-items:center;gap:14px}.kpi-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--teal2);color:var(--teal);font-size:19px}.kpi:nth-child(2) .kpi-icon{background:#eaf0ff;color:var(--blue)}.kpi:nth-child(3) .kpi-icon{background:#fff3e3;color:var(--orange)}.kpi:nth-child(4) .kpi-icon{background:#f2eaff;color:#8c61d5}.kpi small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.kpi strong{font-size:25px}.grid-2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:20px}.panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head h3{margin:0;font-size:14px}.text-btn{border:0;background:none;color:var(--teal);font-size:11px;font-weight:700;cursor:pointer}.chart{min-height:220px}.chart svg{width:100%;height:220px;overflow:visible}.axis{stroke:#e8ecf1;stroke-width:1}.line{fill:none;stroke:var(--teal);stroke-width:3}.area{fill:url(#area)}.dot{fill:#fff;stroke:var(--teal);stroke-width:3}.chart-label{font-size:10px;fill:#8b96a7}.donut-wrap{display:grid;place-items:center;height:220px}.donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal) 0 70%,#e6ebf1 70%)}.donut:after{content:attr(data-label);white-space:pre;text-align:center;width:100px;height:100px;border-radius:50%;background:white;display:grid;place-items:center;font-size:12px;line-height:1.6}.table-card{margin-top:20px;overflow:hidden}.table-tools{display:flex;gap:10px;align-items:center}.search{position:relative;flex:1;max-width:330px}.search input,.filter{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px;color:var(--ink);outline:none}.filter{width:auto}.search input:focus,.filter:focus,input:focus,textarea:focus,select:focus{border-color:#86cfc5;box-shadow:0 0 0 3px rgba(18,165,148,.1)}table{width:100%;border-collapse:collapse}th{text-align:left;color:#8a96a6;font-size:10px;letter-spacing:.4px;font-weight:650;padding:12px 20px;background:#fafbfc;border-bottom:1px solid var(--line)}td{padding:14px 20px;border-bottom:1px solid #eff2f5;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#fbfdfd}.person{display:flex;align-items:center;gap:10px}.person .avatar{background:var(--teal2);color:var(--teal)}.person b{display:block}.person small{color:var(--muted)}.badge{display:inline-flex;padding:4px 8px;border-radius:20px;font-size:10px;background:var(--teal2);color:#177a6d}.badge.inactive{background:#f0f1f3;color:#7b8491}.badge.pediatric{background:#fff1df;color:#a56411}.empty{padding:55px;text-align:center;color:var(--muted)}.profile-banner{padding:23px;display:flex;align-items:center;gap:16px;margin-bottom:18px}.profile-banner .avatar{width:54px;height:54px;font-size:16px;background:var(--teal2);color:var(--teal)}.profile-banner h2{margin:0 0 5px}.profile-banner p{margin:0;color:var(--muted);font-size:12px}.profile-actions{margin-left:auto;display:flex;gap:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{padding:17px}.metric small{color:var(--muted);font-size:10px}.metric strong{display:block;font-size:21px;margin:5px 0}.trend{font-size:10px;color:var(--teal)}.trend.down{color:var(--danger)}.profile-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:18px}.notes{white-space:pre-wrap;color:#536074;font-size:12px;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#667286;font-weight:650}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;padding:10px 11px;outline:none;background:#fff}.field textarea{min-height:80px;resize:vertical}.form-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.form-section h4{margin:0 0 14px;font-size:13px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.modal{position:fixed;inset:0;background:rgba(9,16,27,.55);z-index:30;display:grid;place-items:center;padding:20px}.modal.hidden{display:none}.modal-card{position:relative;background:#fff;border-radius:14px;width:min(760px,100%);max-height:92vh;overflow:auto;padding:27px;box-shadow:0 30px 80px rgba(0,0,0,.24)}.modal-card h2{margin:0 0 5px}.modal-card>div>p{margin:0 0 20px;color:var(--muted);font-size:12px}.modal-close{position:absolute;right:17px;top:14px;border:0;background:none;font-size:25px;color:#8590a0;cursor:pointer}.result-preview{background:#f7faf9;border:1px solid #dceeea;border-radius:9px;padding:13px;margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-preview small{color:var(--muted);display:block}.result-preview b{display:block;margin-top:3px}.toast{position:fixed;right:24px;bottom:24px;background:#172235;color:#fff;border-radius:9px;padding:12px 16px;font-size:12px;transform:translateY(80px);opacity:0;transition:.25s;z-index:50}.toast.show{transform:none;opacity:1}.future{padding:65px;text-align:center}.future .kpi-icon{margin:auto}.future h2{margin:15px 0 7px}.future p{color:var(--muted);max-width:460px;margin:auto;line-height:1.6}.alert{border-left:3px solid var(--orange);background:#fff8ee;padding:11px 13px;font-size:11px;color:#725127;margin-top:12px}
@media(max-width:1050px){.shell{grid-template-columns:78px 1fr}.sidebar{padding:25px 12px}.brand span:last-child,.sidebar nav button:not(.active) em,.sidebar nav button{font-size:0}.brand{margin-left:9px}.sidebar nav button i{font-size:18px;width:30px}.nav-label,.sidebar-foot>div:not(.avatar){display:none}.sidebar-foot{justify-content:center}.kpis,.metric-grid{grid-template-columns:repeat(2,1fr)}.content{padding:24px}.today{display:none}}
@media(max-width:720px){.shell{display:block}.sidebar{position:fixed;left:-255px;width:245px;transition:.25s}.sidebar.open{left:0}.sidebar .brand span:last-child,.sidebar nav button{font-size:13px}.sidebar nav button i{font-size:16px;width:18px}.icon-btn{display:block}header{padding:0 18px}.header-actions .primary{display:none}.content{padding:18px}.kpis,.metric-grid,.grid-2,.profile-grid{grid-template-columns:1fr}.table-card{overflow-x:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.profile-banner{align-items:flex-start;flex-wrap:wrap}.profile-actions{margin-left:0;width:100%}.today{display:none}}
.questionnaire-card{margin-top:20px;padding:22px}.questionnaire-card .panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.questionnaire-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.questionnaire-section{border:1px solid var(--line);border-radius:10px;overflow:hidden}.questionnaire-section h4{margin:0;padding:13px 15px;background:#f7faf9;color:#31524d;font-size:12px}.qa-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:12px;padding:10px 15px;border-top:1px solid #eef1f4;font-size:11px}.qa-row span{color:var(--muted)}.qa-row b{font-weight:600;white-space:pre-wrap}.qa-row .not-recorded{color:#a3aab4;font-weight:400;font-style:italic}.questionnaire-edit:first-child{margin-top:0;padding-top:0;border-top:0}.repeat-row{display:grid;grid-template-columns:1fr repeat(3,80px);gap:8px;align-items:center;margin-bottom:8px}.repeat-row label{font-size:11px;color:#667286}.repeat-row input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px}.repeat-head{font-size:9px;color:var(--muted);text-align:center}.analysis-toolbar{display:flex;align-items:end;gap:20px;margin-bottom:20px}.analysis-toolbar>.field{min-width:280px}.analysis-toolbar #comparison-controls{flex:1}.compare-selects,.report-selects{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.report-selects{grid-template-columns:minmax(260px,1fr) auto}.comparison-head{padding:20px 20px 0}.comparison-head span{font-size:11px;color:var(--muted)}.compare-status{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:10px;font-weight:700}.compare-status.direct{background:var(--teal2);color:#177a6d}.compare-status.caution{background:#fff1d9;color:#996018}.compare-status.incompatible{background:#ffe6e8;color:#a43843}.compare-status.unavailable{background:#eef0f3;color:#707a88}.reason{display:block;color:var(--muted);margin-top:5px}.longitudinal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.longitudinal-card .empty{min-height:220px;display:grid;place-items:center;padding:20px}.series-method{font-size:10px;color:var(--muted);margin:8px 0 0}.report-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.clinical-report{max-width:1000px;margin:auto;padding:42px 48px}.report-header{height:auto;padding:0 0 22px;border-bottom:2px solid var(--teal);display:flex;justify-content:space-between}.report-header>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:12px}.report-header h2{margin:1px 0 3px;font-size:20px}.report-header p{grid-column:2;margin:0}.report-brand{grid-row:1/3;width:42px;height:42px;border-radius:10px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}.report-meta{text-align:right;display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}.report-patient{display:flex;justify-content:space-between;gap:20px;padding:24px 0}.report-patient h3{margin:5px 0}.report-patient p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.clinical-report section>h3{font-size:14px;margin:25px 0 12px}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-metrics .metric{box-shadow:none;background:#f8fafb}.report-section{margin:14px 0}.report-section h4{font-size:12px;background:#f7faf9;padding:9px;margin:0}.report-answer{display:grid;grid-template-columns:1fr 1.5fr;border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px}.report-answer span{color:var(--muted)}.report-method{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.report-method span{font-size:10px;padding:5px 8px;border-radius:15px;background:#eef6f4;color:#32645d}.clinical-report footer{border-top:1px solid var(--line);margin-top:28px;padding-top:14px;color:var(--muted);font-size:9px;line-height:1.5}@media(max-width:720px){.questionnaire-grid{grid-template-columns:1fr}.qa-row{grid-template-columns:1fr}.repeat-row{grid-template-columns:1fr repeat(3,1fr)}.analysis-toolbar,.compare-selects,.report-selects{display:grid;grid-template-columns:1fr}.analysis-toolbar>.field{min-width:0}.longitudinal-grid,.report-metrics{grid-template-columns:1fr}.clinical-report{padding:25px}.report-header,.report-patient{display:block}.report-meta{text-align:left;margin-top:15px}}@media print{body{background:#fff}.sidebar,body>main header,.no-print,.toast,.modal{display:none!important}.shell{display:block}.content{padding:0;max-width:none}.clinical-report{border:0;box-shadow:none;max-width:none;padding:20px}.clinical-report section{break-inside:avoid}.questionnaire-section{break-inside:avoid}}
.auth-screen{position:fixed;inset:0;background:linear-gradient(135deg,#0d1728,#172a42);z-index:1000;display:grid;place-items:center;padding:24px}.auth-screen.hidden{display:none}.auth-card{width:min(440px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:0 30px 80px #0006}.auth-brand{color:#10203a;margin-bottom:28px}.auth-card h2{margin:0 0 8px}.auth-card p{color:#64748b}.auth-card form{display:grid;gap:16px}.auth-card .primary{width:100%;justify-content:center}.lab-panel{margin-top:18px}.lab-list{display:grid;gap:10px}.lab-row{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e8edf3}.lab-flag{font-size:12px;border-radius:999px;padding:4px 8px;background:#edf2f7}.lab-flag.above_reference,.lab-flag.below_reference{background:#fff0d9;color:#9a5b00}.lab-result-row{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:10px;margin-bottom:10px}.lab-result-row button{align-self:end}
.brand-theme-placeholder{display:none}
:root{--nav:#17351d;--nav2:#244d2a;--ink:#333333;--muted:#647267;--line:#e2e8df;--bg:#f7f6f2;--card:#ffffff;--teal:#2c5f2d;--teal2:#e8f1e8;--blue:#8b4513;--orange:#f4a259;--danger:#b64949;--shadow:0 10px 30px rgba(44,95,45,.08)}
body{font-family:"Open Sans","Segoe UI",Arial,sans-serif}.sidebar{background:linear-gradient(180deg,#17351d,#102816)}.sidebar nav button{color:#c7d3c7}.sidebar nav button.active,.sidebar nav button:hover{background:#244d2a}.sidebar nav button.active{box-shadow:inset 3px 0 #f4a259}.nav-label{color:#8eaa90}.sidebar-foot{border-top-color:#345c39}.brand{min-height:52px;margin-top:-4px;margin-bottom:24px}.sidebar-logo{position:relative;display:block;width:48px;height:48px;overflow:hidden;flex:0 0 48px}.sidebar-logo img{position:absolute;width:118px;height:118px;left:-35px;top:-32px;object-fit:contain}.brand b{font-size:15px}.brand small,.sidebar-foot small{color:#aebfaf}.primary{background:#2c5f2d}.primary:hover{background:#244f26}.secondary:hover{border-color:#f4a259;color:#8b4513}.search input:focus,.filter:focus,input:focus,textarea:focus,select:focus{border-color:#7fa681;box-shadow:0 0 0 3px rgba(44,95,45,.12)}header h1,.welcome h2,.panel-head h3,.clinical-report h2,.clinical-report section>h3{color:#2c5f2d}.kpi:nth-child(2) .kpi-icon{background:#f5e9df;color:#8b4513}.kpi:nth-child(3) .kpi-icon{background:#fff0e0;color:#d57827}.kpi:nth-child(4) .kpi-icon{background:#edf3e9;color:#4d7645}.questionnaire-section h4,.report-section h4{background:#f2f6ef;color:#2c5f2d}.auth-screen{background:linear-gradient(135deg,#102816,#2c5f2d)}.auth-card{border-top:4px solid #f4a259}.auth-logo{height:125px;overflow:hidden;display:grid;place-items:center;margin:-16px 0 10px}.auth-logo img{width:245px;height:auto}.auth-card h2{color:#2c5f2d}.clinical-report{border-top:5px solid #f4a259}.report-header{border-bottom-color:#2c5f2d}.report-brand{background:#2c5f2d}.alert{border-left-color:#f4a259;background:#fff6eb;color:#754111}.toast{background:#17351d}
.report-brand{overflow:visible;position:static;width:150px;height:118px;border-radius:0;background:transparent!important}.report-brand img{position:static;display:block;width:150px;height:118px;object-fit:contain}.report-header>div:first-child{grid-template-columns:150px 1fr;align-items:center}.report-header h2{align-self:end}.report-header p{align-self:start}

/* Relatório de composição corporal e crescimento pediátrico */
.body-report-header{display:flex;align-items:center;justify-content:flex-start;gap:22px;border-bottom:2px solid #2c5f2d;padding-bottom:18px}
.body-report-logo{display:block;width:190px;height:145px;object-fit:contain;object-position:left center;flex:0 0 190px}
.body-icon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px}
.body-icon-metric{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.body-index-icon{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid #2c5f2d;border-radius:50%;color:#2c5f2d;font-weight:800;background:#f2f6ef}
.body-icon-metric small{color:var(--muted)}
.body-icon-metric b{font-size:15px}
.index-gauge-list{display:grid;gap:14px}
.index-gauge{display:grid;grid-template-columns:34px 190px minmax(240px,1fr);align-items:center;gap:10px}
.gauge-track{position:relative;height:28px;background:linear-gradient(90deg,#a9d18e 0 34%,#ffe699 34% 55%,#f4b183 55% 100%);border-radius:4px;margin:18px 0 7px}
.gauge-track i{position:absolute;top:-6px;width:4px;height:40px;background:#111;transform:translateX(-2px)}
.gauge-track span{position:absolute;top:-21px;transform:translateX(-50%);font-size:10px;white-space:nowrap}
.gauge-track small{position:absolute;left:0;top:34px;color:var(--muted);font-size:9px;white-space:nowrap}
.index-gauge{margin-bottom:14px}
.gauge-empty,.index-note{color:var(--muted);font-size:10px}
.growth-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.growth-kpis>div{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px}
.growth-kpis .body-index-icon{grid-row:1/3}
.growth-kpis small{color:var(--muted)}
.growth-kpis b{font-size:17px;color:#2c5f2d}
.growth-kpi-context{grid-column:2/4;font-size:11px;color:var(--muted);line-height:1.4}
.pediatric-growth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.growth-chart{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;min-height:245px}
.growth-chart h4{text-align:center;margin:3px 0 5px;font-size:11px}
.growth-chart svg{display:block;width:100%;height:auto}
.growth-legend{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:9px;color:var(--muted);padding:2px 8px 5px}
.growth-legend i{display:inline-block;width:18px;height:3px;margin-right:5px;vertical-align:middle;background:#d96c62}
.growth-legend i.observed{background:#2c5f2d;border-radius:50%}
.growth-legend b{color:#2c5f2d;border:1px solid #a9d18e;background:#f2f6ef;border-radius:12px;padding:4px 8px}
.growth-chart.empty{display:grid;place-items:center;text-align:center;color:var(--muted);font-size:11px}
@media(max-width:800px){.body-icon-list,.pediatric-growth-grid,.growth-kpis{grid-template-columns:1fr}.index-gauge{grid-template-columns:34px 1fr}.index-gauge .gauge-track{grid-column:1/3}.body-report-header{align-items:flex-start}.body-report-logo{width:145px;height:112px;flex-basis:145px}}
@media print{.body-report-logo{width:170px;height:132px;flex-basis:170px}.growth-chart{break-inside:avoid}.pediatric-growth-grid{grid-template-columns:1fr 1fr}.index-gauge-list,.body-icon-list,.growth-kpis{break-inside:avoid}}
.body-report{max-width:1100px;margin:auto;padding:36px}.body-report-header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #2c5f2d;padding-bottom:16px}.body-report-logo{width:180px;height:70px;object-fit:contain}.body-basic,.body-composition-grid,.body-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.body-basic{grid-template-columns:repeat(5,1fr)}.body-basic div,.body-metric{background:#f5f7f2;border:1px solid var(--line);padding:12px;border-radius:8px}.body-basic small,.body-metric small{display:block;color:var(--muted);font-size:10px}.body-basic b,.body-metric b{display:block;margin-top:4px}.body-measure-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.body-measure-table h3{padding:12px;margin:0;background:#edf3e9;color:#2c5f2d}.body-measure-table table td,.body-measure-table table th{padding:8px 12px}.body-evolution{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.body-series{border:1px solid var(--line);border-radius:9px;padding:12px;break-inside:avoid}.body-series h4{margin:0 0 10px;color:#2c5f2d}.body-series svg{width:100%;height:135px}.body-method-note{margin-top:18px;border-left:4px solid #f4a259;background:#fff6eb;padding:12px;font-size:11px}.report-type-field{min-width:220px}@media(max-width:720px){.body-basic{grid-template-columns:repeat(2,1fr)}.body-composition-grid,.body-tables,.body-evolution{grid-template-columns:1fr}.body-report{padding:20px}}@media print{.body-report{border:0!important;box-shadow:none!important;padding:12px;max-width:none}.body-report-header{break-after:avoid}.body-tables,.body-composition-grid{break-inside:avoid}.body-evolution{grid-template-columns:repeat(2,1fr)}}
.body-report-header>div{flex:1}.body-report-header h2{margin:0;color:#2c5f2d;font-size:27px}.body-report-header p{margin:5px 0;font-size:14px}.body-report-header small{color:var(--muted)}.body-basic{grid-template-columns:repeat(3,1fr)}.body-series>small{display:block;margin-top:6px;text-align:center;font-weight:700;color:#2c5f2d}.body-perimeter-section{break-before:auto}.body-perimeter-evolution{grid-template-columns:repeat(2,minmax(0,1fr))}@media print{.body-perimeter-section{break-before:page}.body-perimeter-evolution{grid-template-columns:repeat(2,1fr)}}
.sidebar-logo{display:block;width:205px;height:92px;flex:0 0 92px;overflow:visible}.sidebar-logo img{position:static;display:block;width:205px;height:92px;object-fit:contain;object-position:center}.brand>span:last-child{display:none}@media(max-width:1050px){.sidebar-logo{width:54px;height:54px;flex-basis:54px;overflow:visible}.sidebar-logo img{width:54px;height:54px;object-fit:contain}.brand{margin-left:0}}@media(max-width:720px){.sidebar-logo{width:205px;height:92px;flex-basis:92px;overflow:visible}.sidebar-logo img{position:static;width:205px;height:92px;object-fit:contain}}
.auth-logo{height:205px;overflow:visible;margin:-20px 0 18px;display:grid;place-items:center}.auth-logo img{display:block;width:265px;max-width:100%;height:auto}.auth-card{padding-top:30px}@media(max-width:480px){.auth-logo{height:180px;margin:-18px 0 12px}.auth-logo img{width:235px}}
.follow-up-activity-row{display:grid;grid-template-columns:150px minmax(280px,1fr) 120px 130px 70px;gap:12px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.follow-up-activity-row .activity-wide{min-width:0}.follow-up-check{display:flex;align-items:end;padding-bottom:10px}.follow-up-check label{display:flex;gap:8px;align-items:center}.follow-up-check input{width:auto}@media(max-width:900px){.follow-up-activity-row{grid-template-columns:1fr 1fr}.follow-up-activity-row .activity-wide{grid-column:1/-1}}
.dashboard-agenda-grid{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(420px,1fr);gap:20px}.dashboard-distributions{display:grid;gap:14px}.dashboard-distributions h3{margin:0 0 16px;color:#2c5f2d}.agenda-list{display:grid;gap:9px}.agenda-list article{display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:11px}.agenda-list time{display:grid;text-align:center;padding-right:12px;border-right:1px solid var(--line)}.agenda-list time b{color:#2c5f2d;text-transform:uppercase}.agenda-list time span,.agenda-list article small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.distribution-row{display:grid;grid-template-columns:95px 1fr 40px;gap:10px;align-items:center;margin:10px 0;font-size:11px}.distribution-row>div{height:9px;background:#edf0ea;border-radius:9px;overflow:hidden}.distribution-row i{display:block;height:100%;background:linear-gradient(90deg,#2c5f2d,#f4a259);border-radius:9px}.distribution-row b{text-align:right;color:#2c5f2d}.energy-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:16px}.energy-kpis>div{border:1px solid var(--line);background:#f7f9f5;border-radius:9px;padding:12px}.energy-kpis small,.energy-kpis span{display:block;color:var(--muted);font-size:9px}.energy-kpis b{display:block;margin:5px 0;color:#2c5f2d}.energy-activity-table{overflow:auto}.energy-warning{border-left:3px solid #f4a259;background:#fff6eb;padding:9px 12px;font-size:10px}.patient-energy-card{margin-top:20px}.meal-plan-tools{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:18px 0}.food-search-results{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:9px;margin-bottom:16px}.food-search-results article{display:grid;grid-template-columns:1fr 180px auto;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line)}.food-search-results small{display:block;color:var(--muted);font-size:9px}.meal-plan-grid{overflow:auto;border:1px solid var(--line);border-radius:9px}.meal-plan-grid table{min-width:1150px}.meal-plan-grid th{text-align:center;padding:8px}.meal-plan-grid th:first-child{text-align:left;min-width:220px}.meal-plan-grid th span{display:block;margin-bottom:5px}.meal-plan-grid th input{width:78px;border:1px solid var(--line);border-radius:5px;padding:4px}.meal-plan-grid td{text-align:center;padding:8px}.meal-plan-grid td:first-child{text-align:left}.meal-plan-grid td input{width:70px;border:1px solid var(--line);border-radius:5px;padding:6px}.meal-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#f2f6ef;border:1px solid var(--line);padding:11px;margin:12px 0;border-radius:8px;font-size:11px}.meal-summary b{color:#2c5f2d}.meal-summary small{color:var(--muted);margin-left:auto}.saved-plan{display:flex;justify-content:space-between;gap:16px;background:#fff6eb;border-left:3px solid #f4a259;padding:10px 12px;margin:12px 0;font-size:11px}.modal:has(#meal-plan-form) .modal-card{width:min(1320px,96vw)}
.patient-assessment-history{margin-top:18px}.meal-plan-description{margin-top:18px}.meal-plan-description h3{margin:0 0 4px;color:#2c5f2d}.meal-plan-description>p{margin:0 0 12px;color:var(--muted);font-size:11px}.meal-description-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meal-description-grid textarea{background:#f7f9f5;white-space:pre-wrap}.meal-plan-notes{margin-top:18px}@media(max-width:720px){.meal-description-grid{grid-template-columns:1fr}.energy-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.dashboard-agenda-grid{grid-template-columns:1fr}.energy-kpis{grid-template-columns:repeat(2,1fr)}.food-search-results article{grid-template-columns:1fr}.saved-plan{display:grid}}
.food-search-hint{margin:0 0 14px;padding:12px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:11px}.food-search-hint.error{color:var(--danger);border-color:#efc5ca}.patient-module-bar{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:0;margin:-2px 0 18px;overflow:hidden}.patient-module-bar button{border:0;border-right:1px solid var(--line);background:#fff;color:#2c5f2d;padding:14px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700}.patient-module-bar button:last-child{border-right:0}.patient-module-bar button:hover{background:#f2f6ef;color:#8b4513}.patient-module-bar i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e8f1e8;font-style:normal;font-size:13px}.module-highlight{animation:module-highlight 1.4s ease}@keyframes module-highlight{0%,100%{box-shadow:var(--shadow)}35%{box-shadow:0 0 0 4px rgba(244,162,89,.35),var(--shadow)}}
@media(max-width:1050px){.patient-module-bar{grid-template-columns:repeat(3,1fr)}.patient-module-bar button:nth-child(3){border-right:0}.patient-module-bar button:nth-child(-n+3){border-bottom:1px solid var(--line)}}@media(max-width:620px){.patient-module-bar{grid-template-columns:repeat(2,1fr)}.patient-module-bar button{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}.patient-module-bar button:nth-child(even){border-right:0!important}.patient-module-bar button:nth-last-child(-n+2){border-bottom:0}.meal-plan-tools{grid-template-columns:1fr}.meal-plan-tools button{width:100%}}
.modal:has(#history13) .modal-card,.modal:has(#plan13) .modal-card,.modal:has(#needs13) .modal-card{width:min(1450px,97vw)}.food-history-context{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#f2f6ef;padding:14px;border-radius:9px}.meal-context-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0}.meal-context-grid section{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;border:1px solid var(--line);border-radius:9px;padding:12px}.meal-context-grid section h4{grid-column:1/-1;margin:0;background:#17351d;color:#fff;padding:8px 10px;border-radius:6px}.meal-context-grid section .full{grid-column:1/-1}.meal-context-grid textarea{min-height:55px}.food-grid-search{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:14px 0}.excel-food-grid{max-height:480px;overflow:auto;border:1px solid var(--line);border-radius:9px}.excel-food-grid table{min-width:1280px}.excel-food-grid thead{position:sticky;top:0;z-index:2}.excel-food-grid th{background:#dbe4f3;text-align:center}.excel-food-grid th:first-child{text-align:left;min-width:280px}.excel-food-grid th small{display:block;margin-top:3px}.excel-food-grid td{padding:7px;text-align:center;background:#f4f5f2}.excel-food-grid td:first-child{text-align:left;background:#d9ecc9}.excel-food-grid td input{width:75px;border:1px solid #c9d2c6;border-radius:5px;padding:6px}.excel-food-grid td small{display:block;color:var(--muted);font-size:8px}.food-search-results.compact article{grid-template-columns:1fr auto}.catalog-tabs{display:flex;gap:8px;margin:18px 0}.catalog-tabs .active{background:#2c5f2d;color:#fff}.recipe-ingredient{display:grid;grid-template-columns:1fr 110px 25px auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px}.recipe-ingredient input{border:1px solid var(--line);padding:7px;border-radius:6px}.needs-inputs,.needs-results{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.needs-inputs>div,.needs-results>div{border:1px solid var(--line);background:#f2f6ef;border-radius:9px;padding:12px}.needs-inputs small,.needs-results small,.needs-results span{display:block;color:var(--muted);font-size:9px}.needs-inputs b,.needs-results b{display:block;color:#2c5f2d;margin-top:4px}.needs-activity-row{display:grid;grid-template-columns:150px minmax(280px,1fr) 115px 110px 65px;gap:9px;margin:8px 0}.needs-activity-row select,.needs-activity-row input{border:1px solid var(--line);border-radius:7px;padding:8px}.needs-results+table{margin-top:12px}.patient-module-bar{grid-template-columns:repeat(7,minmax(115px,1fr))}
@media(max-width:950px){.meal-context-grid{grid-template-columns:1fr}.needs-inputs,.needs-results{grid-template-columns:repeat(2,1fr)}.needs-activity-row{grid-template-columns:1fr 1fr}.patient-module-bar{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.meal-context-grid section{grid-template-columns:1fr}.meal-context-grid section .field,.meal-context-grid section .full{grid-column:1}.food-history-context,.food-grid-search,.needs-inputs,.needs-results{grid-template-columns:1fr}.needs-activity-row{grid-template-columns:1fr}}
/* Phase 15: the food selector fills the complete green table cell. */
.excel-food-grid td:first-child{padding:0;min-width:280px}.excel-food-grid td:first-child .food-name-cell{display:block;width:100%;min-height:48px;box-sizing:border-box;border:0;border-radius:0;background:transparent;padding:10px 12px;font-weight:700;color:var(--text)}.excel-food-grid td:first-child .food-name-cell:focus{outline:2px solid var(--brand);outline-offset:-2px;background:#eef7e7}.excel-food-grid td:first-child small{padding:0 12px 7px}
.modal:has(#plan-grid14) .modal-card{width:min(1450px,97vw)}.modal:has(#plan-grid14) .excel-food-grid table{width:100%;min-width:1280px}.modal:has(#plan-grid14) .excel-food-grid th:first-child{width:280px}.modal:has(#plan-grid14) .excel-food-grid{max-height:520px}
.patient-meal-plans{margin-top:18px}.saved-plan-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.saved-plan-card{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);border-radius:10px;background:#f7f9f5;padding:14px;cursor:pointer;color:var(--text)}.saved-plan-card:hover{border-color:#2c5f2d;background:#f0f6ed}.saved-plan-card h4{margin:4px 0;color:#2c5f2d;font-size:14px}.saved-plan-card p,.saved-plan-card small{margin:0;color:var(--muted);font-size:10px}.saved-plan-card>span{color:#2c5f2d;font-weight:700;font-size:10px}.meal-plan-view{max-width:980px;margin:auto}.plan-view-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:12px}.meal-plan-document{--plan-green:#285f31;--plan-soft:#f4f7f1;--plan-line:#d8e2d5;--plan-accent:#a66013;background:#fff;padding:28px 30px;color:#1f2921}.plan-document-header{display:grid!important;grid-template-columns:150px 1fr;align-items:center!important;gap:24px!important;border-bottom:3px solid var(--plan-green)!important;padding-bottom:14px!important}.meal-plan-document>header img{width:140px;height:68px;object-fit:contain}.meal-plan-document header small{font-size:10px;letter-spacing:.12em;color:#566358}.meal-plan-document header h2{margin:4px 0 5px;color:var(--plan-green);font-size:25px;line-height:1.05}.meal-plan-document header p{margin:0;color:#68736a;font-size:11px}.plan-target{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 0;padding:10px 14px;background:var(--plan-soft);border-left:4px solid var(--plan-green);border-radius:0 8px 8px 0}.plan-target span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5f6c61}.plan-target b{color:#244f2b;font-size:14px}.plan-meal-sections{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.plan-meal-card{display:grid;grid-template-columns:86px minmax(0,1fr);border:1px solid var(--plan-line);border-radius:10px;background:#fff;overflow:hidden;break-inside:avoid;page-break-inside:avoid}.plan-meal-rail{background:var(--plan-soft);border-right:1px solid var(--plan-line);padding:14px 10px;display:flex;align-items:flex-start;justify-content:center}.plan-meal-rail span{display:block;width:100%;padding:7px 6px;border-radius:8px;background:var(--plan-green);color:#fff;text-align:center;font-size:14px;line-height:1;font-weight:700;letter-spacing:.02em}.plan-meal-content{padding:12px 16px 11px}.plan-meal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e7ece5;padding-bottom:7px;margin-bottom:7px}.plan-meal-head h3{margin:0;color:var(--plan-green);font-size:17px}.plan-meal-head time{font-size:10px;color:#758077}.plan-food-lines{display:grid;gap:2px}.plan-food-row{display:grid;grid-template-columns:16px minmax(0,1fr);gap:3px;align-items:start}.plan-food-row p{margin:3px 0;line-height:1.35}.plan-food-bullet{font-size:15px;line-height:1.45;color:#36453a}.plan-primary-food{font-weight:600}.plan-food-row-alt{margin-left:16px}.plan-alt-word{display:inline-block;color:var(--plan-accent);font-size:10px;font-weight:800;text-transform:uppercase;line-height:2}.plan-alternative-food{margin-left:0!important;color:#536355}.plan-food-note{display:block;margin:-1px 0 4px;color:#728076;font-size:9px}.plan-meal-note{display:flex;gap:8px;margin-top:8px;padding:7px 9px;border-radius:7px;background:#fbf4e9;color:#5f5141;font-size:10px}.plan-meal-note b{color:#915816}.plan-meal-nutrition{margin-top:8px;border-top:1px solid #edf0eb;padding-top:6px}.plan-meal-nutrition summary{cursor:pointer;color:#778178;font-size:9px}.plan-meal-nutrition[open] summary{margin-bottom:6px}.plan-nutrients{display:flex;gap:6px;flex-wrap:wrap}.plan-nutrients span{background:#edf3e9;border-radius:12px;padding:4px 7px;font-size:9px;font-weight:700}.plan-nutrients.compact{border-top:0;padding-top:0;margin-top:0}.plan-total,.plan-notes{margin-top:12px;border:1px solid var(--plan-line);border-radius:9px;padding:11px 13px;break-inside:avoid;page-break-inside:avoid}.plan-total{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fafcf9}.plan-total small{font-size:8px;letter-spacing:.1em;color:#687469}.plan-total h3,.plan-notes h3{margin:2px 0 0;color:var(--plan-green);font-size:14px}.plan-notes p{margin:7px 0 0;line-height:1.45}.meal-plan-document footer{display:flex;justify-content:space-between;gap:16px;margin-top:16px;border-top:1px solid var(--plan-line);padding-top:8px;color:#79837b;font-size:8px}@media(max-width:900px){.saved-plan-library{grid-template-columns:1fr}.plan-document-header{grid-template-columns:1fr!important;text-align:center}.plan-document-header img{margin:auto}.plan-meal-card{grid-template-columns:72px minmax(0,1fr)}}@media print{@page{size:A4 portrait;margin:11mm 10mm 12mm}body.printing-meal-plan .shell,body.printing-meal-plan #modal>.modal-card>.modal-close{display:none!important}body.printing-meal-plan #modal{position:static;display:block!important;background:#fff;padding:0}body.printing-meal-plan #modal .modal-card{width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none;padding:0}body.printing-meal-plan #modal-body>*:not(.meal-plan-view){display:none!important}body.printing-meal-plan .meal-plan-view{max-width:none}body.printing-meal-plan .plan-view-actions{display:none!important}body.printing-meal-plan .meal-plan-document{padding:0;font-size:10pt}body.printing-meal-plan .plan-document-header{grid-template-columns:35mm 1fr!important;gap:7mm!important;padding-bottom:3mm!important}body.printing-meal-plan .meal-plan-document>header img{width:32mm;height:15mm}body.printing-meal-plan .meal-plan-document header h2{font-size:18pt}body.printing-meal-plan .plan-target{margin-top:3mm;padding:2.2mm 3mm}body.printing-meal-plan .plan-meal-sections{gap:2.5mm;margin-top:3mm}body.printing-meal-plan .plan-meal-card{grid-template-columns:24mm 1fr;border-radius:2mm}body.printing-meal-plan .plan-meal-rail{padding:3mm 2mm}body.printing-meal-plan .plan-meal-rail span{padding:2mm 1mm;font-size:10pt}body.printing-meal-plan .plan-meal-content{padding:2.5mm 3mm 2.3mm}body.printing-meal-plan .plan-meal-head{padding-bottom:1.4mm;margin-bottom:1.4mm}body.printing-meal-plan .plan-meal-head h3{font-size:12pt}body.printing-meal-plan .plan-food-row p{margin:1mm 0;font-size:10pt}body.printing-meal-plan .plan-food-note{font-size:7.5pt}body.printing-meal-plan .plan-meal-nutrition{display:none}body.printing-meal-plan .plan-total{padding:2.5mm 3mm;margin-top:3mm}body.printing-meal-plan .plan-nutrients span{font-size:7.5pt;padding:1mm 1.7mm}body.printing-meal-plan .plan-notes{padding:2.5mm 3mm;margin-top:3mm}body.printing-meal-plan footer{margin-top:3mm;padding-top:2mm;font-size:7pt}}
.food-history-library-head{display:flex;justify-content:space-between;align-items:center;background:#edf3e9;padding:9px 12px}.food-history-library-head h4{padding:0!important;background:transparent!important}.food-history-record{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px 14px;display:flex;justify-content:space-between;text-align:left;cursor:pointer;color:var(--text)}.food-history-record:hover{background:#f7f9f5}.food-history-record small{display:block;color:var(--muted);margin-top:3px}.food-history-record>span{color:#2c5f2d;font-weight:700}.food-history-view{max-width:960px;margin:auto}.history-view-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.food-history-document{background:#fff;padding:26px}.food-history-document>header{display:flex;align-items:center;gap:22px;border-bottom:3px solid #2c5f2d;padding-bottom:14px}.food-history-document>header img{width:155px;height:72px;object-fit:contain}.food-history-document header h2{margin:3px 0;color:#2c5f2d}.food-history-document header p{margin:0;color:var(--muted)}.history-document-meals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.history-document-meals>section,.history-total,.history-general{border:1px solid var(--line);border-radius:9px;padding:13px;break-inside:avoid}.history-meal-title{display:flex;justify-content:space-between;gap:10px}.history-meal-title h3,.history-total h3,.history-general h3{margin:0 0 8px;color:#2c5f2d}.history-meal-title span{font-size:9px;color:var(--muted)}.history-food-text p{margin:5px 0}.history-observations{background:#fff6eb;border-left:3px solid #f4a259;padding:8px 10px;margin-top:10px}.history-observations p{margin:4px 0}.history-total,.history-general{margin-top:14px}.food-history-document footer{margin-top:20px;border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:9px}.history-record-date{max-width:260px}@media(max-width:900px){.history-document-meals{grid-template-columns:1fr}}@media print{body.printing-food-history .shell,body.printing-food-history #modal>.modal-card>.modal-close{display:none!important}body.printing-food-history #modal{position:static;display:block!important;background:#fff;padding:0}body.printing-food-history #modal .modal-card{width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none;padding:0}body.printing-food-history #modal-body>*:not(.food-history-view){display:none!important}body.printing-food-history .food-history-document{padding:10px}.history-document-meals{grid-template-columns:repeat(2,1fr)}}
.consultation-detail{display:grid;gap:14px}.consultation-detail>section{border:1px solid var(--line);border-radius:9px;padding:14px}.consultation-detail h3{margin:0 0 8px;color:#2c5f2d}.consultation-assessment .panel-head{margin-bottom:12px}.consultation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.consultation-metrics span{background:#f2f6ef;border-radius:8px;padding:10px}.consultation-metrics small,.consultation-metrics b{display:block}.consultation-metrics small{color:var(--muted);font-size:9px}.consultation-metrics b{margin-top:4px;color:#2c5f2d}@media(max-width:700px){.consultation-metrics{grid-template-columns:repeat(2,1fr)}}
.readonly-clinical-value{border:1px solid var(--line);border-radius:7px;background:#f2f6ef;padding:9px 11px}.readonly-clinical-value b,.readonly-clinical-value small{display:block}.readonly-clinical-value b{color:#2c5f2d}.readonly-clinical-value small{margin-top:3px;color:var(--muted)}
.patient-monitoring{margin-top:18px}.monitoring-filters{display:flex;align-items:end;gap:10px;margin:14px 0}.monitoring-filters .field{min-width:180px}.monitoring-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.monitoring-kpis>div{border:1px solid var(--line);background:#f2f6ef;border-radius:9px;padding:12px}.monitoring-kpis small,.monitoring-kpis b{display:block}.monitoring-kpis small{color:var(--muted);font-size:9px}.monitoring-kpis b{margin-top:4px;color:#2c5f2d}.monitoring-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.monitoring-grid>section{border:1px solid var(--line);border-radius:9px;padding:13px}.monitoring-grid h4,.monitoring-records h4{margin:0 0 10px;color:#2c5f2d}.monitoring-grid small{color:var(--muted)}.monitoring-chart{width:100%;height:190px;background:#fafbf8;border-radius:8px}.monitoring-chart line{stroke:#b9c4b4;stroke-width:1}.monitoring-chart polyline{fill:none;stroke:#2c5f2d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.monitoring-chart text{font-size:10px;fill:#667064}.monitoring-records{margin-top:16px;overflow:auto}@media(max-width:800px){.monitoring-filters{display:grid;grid-template-columns:1fr 1fr}.monitoring-kpis,.monitoring-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.monitoring-filters,.monitoring-kpis,.monitoring-grid{grid-template-columns:1fr}}
.monitoring-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.monitoring-module-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.monitoring-module-options label{border:1px solid var(--line);border-radius:9px;padding:12px}.monitoring-module-options input{width:auto;margin-right:7px}@media(max-width:650px){.monitoring-actions,.monitoring-module-options{display:grid;grid-template-columns:1fr}.monitoring-actions button{width:100%}}
.monitoring-latest{margin-top:16px}.monitoring-latest h4{color:#2c5f2d}.monitoring-latest>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.monitoring-latest article{display:grid;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fafbf8}.monitoring-latest small,.monitoring-latest span{color:var(--muted);font-size:9px}.monitoring-latest b{margin:5px 0;color:#2c5f2d}@media(max-width:850px){.monitoring-latest>div{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.monitoring-latest>div{grid-template-columns:1fr}}
.monitoring-kpis-dashboard{grid-template-columns:repeat(8,minmax(105px,1fr));overflow-x:auto}.monitoring-kpis-dashboard>div{background:#fffaf5;border-color:#eadfd5;border-top:3px solid #f39a50}.monitoring-kpis-dashboard b{font-size:18px;color:#303330}.monitoring-grid .sleep-panel{grid-column:1/-1}.sleep-chart polyline.sleep-duration{stroke:#f39a50}.sleep-chart polyline.sleep-quality{stroke:#50575b}.sleep-chart-legend{display:flex;gap:18px;margin:0 0 5px;font-size:11px;color:var(--muted)}.sleep-chart-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.sleep-chart-legend .duration:before{background:#f39a50}.sleep-chart-legend .quality:before{background:#50575b}.sleep-time-summary{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin:14px 0}.sleep-time-summary>div{padding:13px;border:1px solid var(--line);border-radius:9px;background:#f7f9f5}.sleep-time-summary small,.sleep-time-summary b{display:block}.sleep-time-summary small{color:var(--muted)}.sleep-time-summary b{font-size:20px;color:#2c5f2d;margin-top:3px}.wellness-period{margin-top:18px;border:1px solid #eadfd5;border-radius:12px;padding:16px}.wellness-period-head{border-left:5px solid #f39a50;padding-left:12px}.wellness-period-head h4{margin:0;color:#303330}.wellness-period-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.wellness-gauges{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-top:14px}.wellness-gauge{text-align:center;border:1px solid #eadfd5;border-radius:10px;padding:14px;background:#fffdfb}.wellness-gauge h5{min-height:32px;margin:0;color:#2c5f2d;font-size:14px}.wellness-gauge .gauge-value{font-size:26px;font-weight:800;margin:8px 0;color:#303330}.wellness-gauge meter{width:100%;height:14px;accent-color:#f39a50}.wellness-gauge small{float:left;color:var(--muted)}.wellness-gauge small:last-child{float:right}@media(max-width:1000px){.monitoring-kpis-dashboard{grid-template-columns:repeat(4,minmax(130px,1fr));overflow:visible}.wellness-gauges{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.monitoring-kpis-dashboard,.wellness-gauges,.sleep-time-summary{grid-template-columns:1fr 1fr}.monitoring-grid .sleep-panel{grid-column:auto}}@media(max-width:390px){.monitoring-kpis-dashboard,.wellness-gauges,.sleep-time-summary{grid-template-columns:1fr}}
.patient-module-bar{grid-template-columns:repeat(5,minmax(140px,1fr))!important}.patient-module-bar button{min-height:64px;padding:14px 12px;gap:10px}.patient-module-bar i{width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,#eef6ed,#dcebdc);box-shadow:inset 0 0 0 1px #d5e4d4}.patient-module-bar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:950px){.patient-module-bar{grid-template-columns:repeat(3,1fr)!important}}@media(max-width:620px){.patient-module-bar{grid-template-columns:repeat(2,1fr)!important}}
.table-card:has(#settings-food-search){display:none}
.saved-plan-card{display:flex;flex-direction:column;align-items:stretch;overflow:hidden}
.saved-plan-open,.food-history-open{border:0;background:transparent;color:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px;cursor:pointer}
.saved-plan-actions{display:flex;flex-wrap:wrap;gap:12px;padding:0 16px 14px;border-top:1px solid #e8eee5;padding-top:10px}
.archived-plans{margin-top:20px}.archived-plans summary{cursor:pointer;font-weight:700;color:#315b34;margin-bottom:12px}
.food-history-record{display:flex;align-items:center}.food-history-record .food-history-open{flex:1}
.questionnaire-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.questionnaire-admin-grid ol{margin:0;padding-left:22px}.questionnaire-admin-grid li{padding:8px 0;border-bottom:1px solid #edf1eb}.questionnaire-admin-grid li span{display:block}.questionnaire-admin-grid li small{color:#6c796b}
.questionnaire-builder-row{display:grid;grid-template-columns:1fr 150px auto;gap:10px;margin:10px 0;align-items:center}
@media(max-width:700px){.questionnaire-builder-row{grid-template-columns:1fr}.saved-plan-actions{gap:6px}}
.mobile-publish-toggle{display:flex;align-items:center;gap:7px;font-size:11px;color:#315b38;white-space:nowrap}.mobile-publish-toggle input{width:auto}.mobile-message-history{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.mobile-message-history article{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:9px}.mobile-message-history article small{color:var(--muted)}.mobile-message-history article p{white-space:pre-line;margin:5px 0 0}
/* 7B.4A.2 — Body composition report validation & visual polish */
.body-report-kicker{display:block;margin-bottom:4px;color:#6b776b;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:9px}.body-report-context{margin:14px 0 2px;padding:9px 12px;border-left:4px solid #2c5f2d;background:#f2f6ef;color:#445044;font-size:11px}.body-basic div span{display:block;margin-top:5px;color:#667064;font-size:9px;font-weight:600}.body-measure-table-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:#edf3e9}.body-measure-table-head h3{padding:0!important;background:transparent!important}.body-measure-table-head small{color:#667064;font-size:9px;text-align:right}.body-series-summary{font-size:10px;line-height:1.4}.body-report>section{margin-top:20px}.body-report>section>h3{margin:0 0 12px;color:#2c5f2d;font-size:15px}.body-icon-metric{break-inside:avoid}.body-report .index-note{line-height:1.5}.body-method-note{line-height:1.55}
@media(max-width:720px){.body-measure-table-head{display:block}.body-measure-table-head small{display:block;margin-top:4px;text-align:left}.body-report-context{margin-top:10px}}
@media print{.body-report{width:190mm;max-width:190mm;margin:0 auto;padding:8mm!important;font-size:10px}.body-report-header{padding-bottom:10px}.body-report-header h2{font-size:22px}.body-report-context{margin:8px 0 0;padding:7px 10px}.body-basic,.body-tables,.body-icon-list,.index-gauge-list,.growth-kpis{break-inside:avoid}.body-report>section{margin-top:14px}.body-series svg{height:112px}.body-series{padding:9px}.body-measure-table table td,.body-measure-table table th{padding:6px 9px}.body-method-note{font-size:9px}.body-perimeter-section{break-before:auto!important}}

/* 7B.4B — Body Composition Reporting UX */
.body-report-nav{max-width:1100px;margin:0 auto 12px;display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:8px;z-index:8;padding:8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.body-report-nav button{border:1px solid #d8e2d3;background:#fff;color:#2c5f2d;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700;cursor:pointer}.body-report-nav button:hover{background:#edf3e9}
.body-report-summary{scroll-margin-top:76px}.body-report>section[id]{scroll-margin-top:76px}.body-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.body-summary-metric{border:1px solid var(--line);border-radius:10px;background:#f7faf5;padding:12px;min-height:84px}.body-summary-metric small{display:block;color:#687367;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.body-summary-metric b{display:block;margin-top:4px;color:#1f4f26;font-size:18px}.body-summary-delta{display:block;margin-top:6px;font-size:9px;font-weight:700}.body-summary-delta.up{color:#8b5d18}.body-summary-delta.down{color:#2c6a4a}.body-summary-delta.flat{color:#667064}.body-report-demographics{margin-top:12px}.body-report-demographics div{background:#fff}.body-series circle{transition:r .15s ease}.body-series svg{overflow:visible}.body-series h4{display:flex;align-items:center;justify-content:space-between}.body-report>section>h3{scroll-margin-top:82px}
@media(max-width:900px){.body-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.body-report-nav{position:static}}
@media(max-width:520px){.body-summary-grid{grid-template-columns:1fr 1fr}.body-summary-metric:last-child{grid-column:1/-1}.body-report-nav{display:grid;grid-template-columns:1fr 1fr}.body-report-nav button{width:100%}}
@media print{.body-report-summary{break-inside:avoid}.body-summary-grid{grid-template-columns:repeat(5,1fr);gap:6px}.body-summary-metric{padding:8px;min-height:64px}.body-summary-metric b{font-size:15px}.body-summary-delta{font-size:8px}.body-report-demographics{margin-top:8px}.body-report-nav{display:none!important}}

/* 7B.4B.1 — Body composition report UX & publication */
.body-report-actions{max-width:1100px;margin:0 auto 12px;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.body-report-save-status{margin-right:auto;color:#5f6d60;font-size:11px;font-weight:700}
.body-summary-baseline{display:block;margin-top:6px;color:#7a857b;font-size:9px;font-weight:600}
.body-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px!important}
.body-summary-metric{display:flex;flex-direction:column;justify-content:space-between;min-height:96px!important;border:1px solid #dce6d8!important;border-radius:12px!important;background:linear-gradient(180deg,#fbfdf9 0%,#f3f8ef 100%)!important;padding:13px 14px!important}
.body-summary-metric small{font-size:9px!important;letter-spacing:.055em!important;color:#687568!important}
.body-summary-metric b{font-size:21px!important;line-height:1.15!important;color:#1f5628!important}
.body-summary-delta,.body-summary-baseline{line-height:1.25}
.body-report-context{border-radius:0 8px 8px 0}
.body-report-nav{box-shadow:0 2px 10px rgba(35,79,40,.05)}
@media(max-width:900px){.body-report-actions{align-items:stretch}.body-report-save-status{width:100%;margin-right:0}.body-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.body-summary-metric:last-child{grid-column:auto}}
@media(max-width:560px){.body-report-actions button{flex:1 1 100%}.body-summary-grid{grid-template-columns:1fr}.body-summary-metric:last-child{grid-column:auto}.body-summary-metric{min-height:78px!important}.body-summary-metric b{font-size:19px!important}}

@page{size:A4 portrait;margin:10mm}
@media print{
  body.printing-body-report{background:#fff!important}
  body.printing-body-report .sidebar,
  body.printing-body-report .topbar,
  body.printing-body-report .page-head,
  body.printing-body-report .analysis-toolbar,
  body.printing-body-report .report-actions,
  body.printing-body-report .body-report-nav,
  body.printing-body-report .no-print{display:none!important}
  body.printing-body-report .shell{display:block!important}
  body.printing-body-report .content{padding:0!important;max-width:none!important;width:auto!important}
  body.printing-body-report #report-output{display:block!important;width:auto!important;margin:0!important;padding:0!important}
  body.printing-body-report .body-report{box-sizing:border-box!important;width:190mm!important;max-width:190mm!important;margin:0 auto!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;color:#172018!important;font-size:9.2pt!important}
  body.printing-body-report .body-report-header{break-inside:avoid!important;page-break-inside:avoid!important;padding:0 0 4mm!important;margin:0 0 3mm!important;gap:8mm!important}
  body.printing-body-report .body-report-logo{width:34mm!important;height:18mm!important;flex:0 0 34mm!important}
  body.printing-body-report .body-report-header h2{font-size:18pt!important}
  body.printing-body-report .body-report-context{margin:2mm 0 3mm!important;padding:2.5mm 3mm!important}
  body.printing-body-report .body-report>section{margin-top:4mm!important;break-inside:auto!important;page-break-inside:auto!important}
  body.printing-body-report .body-report>section>h3{margin:0 0 2.5mm!important;break-after:avoid!important;page-break-after:avoid!important}
  body.printing-body-report .body-summary-grid{grid-template-columns:repeat(5,1fr)!important;gap:2mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.printing-body-report .body-summary-metric{min-height:20mm!important;padding:2.5mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.printing-body-report .body-summary-metric b{font-size:13pt!important}
  body.printing-body-report .body-basic{grid-template-columns:repeat(3,1fr)!important;gap:2mm!important;margin-top:2mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.printing-body-report .body-tables{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3mm!important;break-inside:auto!important;page-break-inside:auto!important}
  body.printing-body-report .body-measure-table{break-inside:avoid!important;page-break-inside:avoid!important}
  body.printing-body-report .body-icon-list,
  body.printing-body-report .index-gauge-list,
  body.printing-body-report .growth-kpis{break-inside:auto!important;page-break-inside:auto!important}
  body.printing-body-report .body-icon-metric,
  body.printing-body-report .index-gauge{break-inside:avoid!important;page-break-inside:avoid!important}
  body.printing-body-report .body-evolution,
  body.printing-body-report .body-perimeter-evolution{grid-template-columns:repeat(2,1fr)!important;gap:3mm!important}
  body.printing-body-report .body-series,
  body.printing-body-report .growth-chart{break-inside:avoid!important;page-break-inside:avoid!important;padding:2.5mm!important}
  body.printing-body-report .body-series svg{height:31mm!important}
  body.printing-body-report .body-perimeter-section{break-before:auto!important;page-break-before:auto!important}
  body.printing-body-report .body-method-note{break-inside:avoid!important;page-break-inside:avoid!important;margin-top:4mm!important}
}

/* 7B.4B.2 — Report header, reference ranges and version history */
.body-report-demographics-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}
.body-report-demographics-compact div{padding:10px 12px;background:#fbfcfa;border:1px solid #dfe7dc}
.body-report-demographics-compact b{font-size:15px;color:#1f5628}
.body-reference-section{margin-top:18px!important;padding:14px;border:1px solid #dce6d8;border-radius:12px;background:#fbfdf9}
.body-reference-section>h3{margin-bottom:4px!important}.body-reference-intro{margin:0 0 12px;color:#687568;font-size:10px}
.body-reference-section .index-gauge-list{gap:10px}.body-reference-section .index-gauge{margin-bottom:11px}
.report-version-history{max-width:1100px;margin:0 auto 12px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.report-version-history-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;background:#f6f9f4;border-bottom:1px solid var(--line)}
.report-version-history-head h3{margin:0;color:#2c5f2d;font-size:14px}.report-version-history-head p{margin:3px 0 0;color:#687568;font-size:10px}.report-version-history-head>span{font-size:10px;font-weight:700;color:#2c5f2d}
.report-version-list{display:grid}.report-version-row{display:grid;grid-template-columns:minmax(170px,1fr) 150px auto;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid #edf1eb}.report-version-row:first-child{border-top:0}.report-version-row>div:first-child{display:flex;align-items:center;gap:10px}.report-version-row>div:first-child b{color:#1f5628}.report-version-row>div:first-child span{font-size:10px;color:#687568}.report-version-state{font-size:10px;font-weight:700;color:#69736a}.report-version-state.published{color:#2c6a4a}.report-version-actions{display:flex;gap:6px}.report-version-actions button{padding:6px 9px;font-size:10px}
.report-version-modal{position:fixed;inset:0;z-index:2000;background:rgba(10,20,12,.55);display:flex;align-items:flex-start;justify-content:center;padding:30px;overflow:auto}.report-version-modal-panel{width:min(1160px,96vw);background:#fff;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.25);overflow:hidden}.report-version-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f6f9f4;border-bottom:1px solid var(--line)}.report-version-modal-head>div{display:flex;gap:10px;align-items:baseline}.report-version-modal-head span{font-size:10px;color:#687568}.report-version-modal-head button{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:#344237}.report-version-modal-body{padding:14px}.report-version-modal-body .body-report{margin:0 auto}.saved-report-preview{box-shadow:none}
@media(max-width:720px){.body-report-demographics-compact{grid-template-columns:1fr 1fr}.report-version-row{grid-template-columns:1fr}.report-version-actions{justify-content:flex-start}.report-version-modal{padding:8px}.report-version-modal-body{padding:6px}}
@media print{.body-report-demographics-compact{grid-template-columns:repeat(2,1fr)!important;gap:2mm!important;margin-top:2mm!important}.body-reference-section{padding:3mm!important;break-inside:avoid!important;page-break-inside:avoid!important}.body-reference-section .index-gauge{grid-template-columns:28px 42mm 1fr!important;gap:2mm!important}.body-reference-section .gauge-track{height:6mm!important;margin:5mm 0 3mm!important}.body-reference-section .gauge-track small{top:7mm!important;font-size:7pt!important}.report-version-history,.report-version-modal{display:none!important}}

/* 7B.5A.1 — Patient Messaging Foundation */
.message-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:16px;align-items:end}.message-toolbar .field{margin:0}.message-archive-toggle{display:flex;align-items:center;gap:8px;padding:11px 0;color:#536357}.message-archive-toggle input{width:auto}.message-page-summary{display:flex;gap:12px;margin:16px 0}.message-page-summary>div{background:#eef5ec;border:1px solid #dbe7d8;border-radius:14px;padding:12px 18px;display:grid;min-width:145px}.message-page-summary b{font-size:22px;color:#1f5e32}.message-page-summary span{font-size:11px;color:#6d7c70}.professional-message-list{display:grid;gap:12px}.professional-message-card{background:#fff;border:1px solid #dfe7dc;border-radius:16px;padding:18px;box-shadow:0 3px 12px #1d3a2410}.professional-message-card.is-unread{border-left:4px solid #2c6839}.professional-message-head{display:flex;justify-content:space-between;gap:16px}.professional-message-head h3{margin:5px 0 2px;color:#214f2e}.professional-message-head small,.message-patient-name{color:#748077;font-size:11px}.message-patient-name{margin:0}.professional-message-body{line-height:1.55;margin:14px 0}.message-pill{width:82px;height:82px;flex:0 0 82px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:0;font-size:10px;font-weight:800;line-height:1.15;white-space:normal;border:1px solid transparent}.message-pill.unread{background:#fde9e7;border-color:#efb9b4;color:#a12b24}.message-pill.read{background:#e7f4e9;border-color:#bedfc5;color:#216333}.message-references{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.message-reference{display:inline-flex;align-items:center;gap:5px;background:#f5f7f3;border:1px solid #e0e7dd;padding:8px 10px;border-radius:10px;color:#315b38;text-decoration:none;font-size:12px}.professional-message-actions{border-top:1px solid #edf1eb;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:14px}.professional-message-actions small{color:#748077}.professional-message-action-buttons{display:flex;align-items:center;gap:14px}.message-delete-btn{color:#a12b24!important}.message-delete-btn:hover{color:#7f201b!important}.message-compose-form{display:grid;gap:14px}.message-patient-tools{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-bottom:8px}.message-patient-list{border:1px solid #dce4d9;border-radius:12px;max-height:260px;overflow:auto;padding:6px}.message-patient-choice{display:flex;align-items:center;gap:10px;padding:9px;border-bottom:1px solid #edf1eb}.message-patient-choice:last-child{border-bottom:0}.message-patient-choice input{width:auto}.message-compose-note{background:#f2f6ef;border-left:3px solid #2c6839;padding:11px;border-radius:8px;color:#5c6a60;font-size:12px}@media(max-width:760px){.message-toolbar{grid-template-columns:1fr}.message-patient-tools{grid-template-columns:1fr}.message-page-summary{display:grid;grid-template-columns:1fr 1fr}.professional-message-head{align-items:flex-start}.professional-message-actions{align-items:flex-start;flex-direction:column}.professional-message-action-buttons{align-self:flex-end}}

/* 7B.4A visual/icon polish */
.ui-icon{width:1em;height:1em;display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.sidebar nav button i{display:grid;place-items:center}.sidebar nav button i .ui-icon{width:18px;height:18px}.primary.has-icon,.secondary.has-icon,.text-btn.has-icon{display:inline-flex;align-items:center;gap:6px}.primary.has-icon .ui-icon,.secondary.has-icon .ui-icon{width:16px;height:16px}.icon-action{width:36px;height:36px;padding:0;border-radius:9px;place-items:center;color:inherit;cursor:pointer}.icon-action .ui-icon{width:20px;height:20px}.modal-close{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;transition:background .15s,color .15s}.modal-close:hover{background:#f2f4f6;color:#526071}.modal-close .ui-icon{width:18px;height:18px}.text-btn.has-icon .ui-icon{width:14px;height:14px}.text-btn.icon-only{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;padding:0}.text-btn.icon-only:hover{background:#eef6f2;border-color:#d8e8df}.text-btn.icon-only.danger:hover{background:#fff1f2;border-color:#f4d7da}.text-btn.icon-only .ui-icon{width:16px;height:16px}

/* 7B.4A.3 — Patient Profile Layout & Consultation CTA Polish */
body[data-patient-id] .profile-banner{align-items:center;gap:18px;padding:24px 28px;margin-bottom:16px}
body[data-patient-id] .profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
body[data-patient-id] .profile-actions .primary,body[data-patient-id] .profile-actions .secondary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px}
body[data-patient-id] .patient-collapsible-section{margin-top:0!important;margin-bottom:16px}
body[data-patient-id] .patient-collapsible-section>.panel-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto) 92px;align-items:center;column-gap:18px;min-height:56px;margin-bottom:16px}
body[data-patient-id] .patient-collapsible-section.is-collapsed>.panel-head{margin-bottom:0}
body[data-patient-id] .patient-collapsible-section>.panel-head>div:first-child,body[data-patient-id] .patient-collapsible-section>.panel-head>h3,body[data-patient-id] .patient-collapsible-section>.panel-head>h4{grid-column:1;min-width:0}
body[data-patient-id] .patient-collapsible-section>.panel-head>.primary,body[data-patient-id] .patient-collapsible-section>.panel-head>.secondary,body[data-patient-id] .patient-collapsible-section>.panel-head>.monitoring-actions,body[data-patient-id] .patient-collapsible-section>.panel-head>.badge{grid-column:2;justify-self:end}
body[data-patient-id] .patient-collapsible-section>.panel-head>.patient-collapse-toggle{grid-column:3;justify-self:end;width:92px;text-align:right}
body[data-patient-id] .monitoring-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
body[data-patient-id] .patient-collapsible-section>.panel-head .primary,body[data-patient-id] .patient-collapsible-section>.panel-head .secondary{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:900px){body[data-patient-id] .patient-collapsible-section>.panel-head{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}body[data-patient-id] .patient-collapsible-section>.panel-head>.primary,body[data-patient-id] .patient-collapsible-section>.panel-head>.secondary,body[data-patient-id] .patient-collapsible-section>.panel-head>.monitoring-actions,body[data-patient-id] .patient-collapsible-section>.panel-head>.badge{grid-column:1/3;grid-row:2;justify-self:start}body[data-patient-id] .patient-collapsible-section>.panel-head>.patient-collapse-toggle{grid-column:2;grid-row:1;width:auto}body[data-patient-id] .profile-actions{width:100%;justify-content:flex-start}}

/* 7B.4A.4 — Clinical UI & data consistency final polish */
.modal:has(#needs-activities14) .modal-card{width:min(1480px,97vw);max-width:1480px;}
.modal:has(#needs-activities14) .needs-activity-row{grid-template-columns:150px minmax(360px,1fr) 120px 110px 84px;align-items:center;}
.modal:has(#needs-activities14) .needs-activity-row .text-btn{white-space:nowrap;}
.plan-target-custom.hidden{display:none!important;}
button.danger,.danger{color:#9b2c2c;border-color:#e3b5b5;}
@media(max-width:950px){.modal:has(#needs-activities14) .needs-activity-row{grid-template-columns:1fr 1fr}.modal:has(#needs-activities14) .needs-activity-row select:nth-child(2){grid-column:1/-1}}

/* 7B.4A.4.3 — Longitudinal Comparison UX Polish */
.comparison-report{overflow:hidden}.comparison-report-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fbfcfb}.comparison-view-toggle{display:flex;gap:8px}.comparison-view-toggle .secondary.active{background:#eaf4e9;border-color:#b9d2b6;color:#1d5b27}.comparison-report-header{height:auto;display:flex;justify-content:space-between;align-items:flex-end;padding:26px 28px 22px;border:0;border-bottom:2px solid #2e6b35;background:#fff}.comparison-report-header small,.comparison-period small{font-size:9px;letter-spacing:1.2px;color:var(--muted);font-weight:700}.comparison-report-header h2{margin:4px 0 6px;font-size:23px;color:#155322}.comparison-report-header p{margin:0;color:#536074;font-size:12px}.comparison-period{text-align:right}.comparison-period strong{display:block;margin-top:5px;font-size:18px;color:#155322}.comparison-summary{padding:22px 28px 8px}.comparison-summary h3,.comparison-detail h3{margin:0 0 13px;font-size:14px;color:#155322}.comparison-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.comparison-summary-card{border:1px solid #dfe8dc;background:#f9fbf8;border-radius:10px;padding:14px}.comparison-summary-card>small{display:block;color:#63716a;font-size:10px;margin-bottom:9px}.comparison-summary-values{display:flex;align-items:center;gap:8px;font-size:12px}.comparison-summary-values b{color:#89968c}.comparison-summary-values span{font-weight:650}.comparison-summary-delta{margin-top:9px;color:#1f3423}.comparison-summary-delta strong,.comparison-delta strong{display:block;font-size:13px}.comparison-summary-delta small,.comparison-delta small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.comparison-detail{padding:18px 28px 24px}.comparison-detail-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:10px}.comparison-detail-head h3{margin:0}.comparison-detail-head span{font-size:9px;color:var(--muted);text-align:right}.comparison-table-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden}.comparison-report table{margin:0}.comparison-report tbody tr{cursor:default}.comparison-section-row th{padding:10px 16px;background:#eef4ec;color:#285a30;font-size:10px;letter-spacing:.5px}.comparison-metric-row td{padding:12px 16px}.comparison-report[data-view="changed"] .comparison-metric-row.is-unchanged{display:none}.comparison-footer{padding:14px 28px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:9px;line-height:1.5}.comparison-no-change{color:var(--muted)}
@media(max-width:720px){.comparison-report-actions,.comparison-report-header,.comparison-detail-head{align-items:stretch;flex-direction:column}.comparison-view-toggle{flex-wrap:wrap}.comparison-period{text-align:left}.comparison-summary,.comparison-detail{padding-left:16px;padding-right:16px}.comparison-table-wrap{overflow-x:auto}.comparison-report table{min-width:760px}}
@media print{body.printing-comparison .sidebar,body.printing-comparison main>header,body.printing-comparison .analysis-toolbar,body.printing-comparison .comparison-report-actions,body.printing-comparison .toast,body.printing-comparison .modal{display:none!important}body.printing-comparison .shell{display:block}body.printing-comparison .content{padding:0;max-width:none}body.printing-comparison #comparison-output{display:block}body.printing-comparison .comparison-report{border:0;box-shadow:none;border-radius:0;overflow:visible}body.printing-comparison .comparison-report-header{padding:12mm 8mm 6mm}body.printing-comparison .comparison-summary,body.printing-comparison .comparison-detail{padding-left:8mm;padding-right:8mm}body.printing-comparison .comparison-report[data-view="changed"] .comparison-metric-row.is-unchanged{display:none}body.printing-comparison .comparison-summary-card,body.printing-comparison .comparison-metric-row{break-inside:avoid}body.printing-comparison .comparison-footer{padding-left:8mm;padding-right:8mm}@page{size:A4 portrait;margin:10mm}}

/* 7B.4B.1A — Body Composition Report Final Patient Polish */
.body-report-visit{display:inline-flex!important;align-items:center;gap:6px;margin-top:5px;padding:4px 8px;border-radius:999px;background:#edf3e9;color:#2c5f2d!important;font-weight:700;font-size:9px!important;letter-spacing:.02em}
.body-report-summary>h3,.body-report>section>h3{padding-bottom:7px;border-bottom:1px solid #e4ebe1}
.body-method-note{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.body-method-note b{color:#83531d}.body-method-note span{color:#5e665f}
.body-report-footer{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-top:24px;padding-top:13px;border-top:2px solid #2c5f2d;color:#647066;font-size:9px;line-height:1.45}.body-report-footer>div{display:grid;gap:2px}.body-report-footer b{color:#2c5f2d;font-size:10px}.body-report-footer p{max-width:440px;margin:0;text-align:right}
@media(max-width:720px){.body-report-footer{display:grid;gap:8px}.body-report-footer p{text-align:left;max-width:none}}
@media print{.body-report-visit{padding:1mm 2mm!important}.body-report>section>h3{break-after:avoid;page-break-after:avoid}.body-report-footer{break-inside:avoid;page-break-inside:avoid;margin-top:5mm;padding-top:3mm}.body-report-footer p{max-width:105mm}.body-method-note{break-inside:avoid;page-break-inside:avoid}}

.body-summary-note{margin:8px 0 0;color:#707970;font-size:9px;line-height:1.4}.body-summary-delta.up,.body-summary-delta.down,.body-summary-delta.flat{color:#667064}
@media print{.body-summary-note{font-size:7.5pt;margin-top:1.5mm}}

/* 7B.4B.1A.1 — patient-facing report controls, icons and deterministic A4 pages */
.body-report-content{max-width:1100px;margin:0 auto 12px;border:1px solid #dce6d8;border-radius:12px;background:#fbfdf9;padding:10px 12px}.body-report-content summary{cursor:pointer;color:#1f5628;font-weight:800}.body-report-content>p{margin:8px 0;color:#687568;font-size:10px}.body-report-content-actions{display:flex;justify-content:flex-end;gap:8px;margin:8px 0}.body-report-content-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 12px;padding:9px 0;border-top:1px solid #e4ebe1}.body-report-content-grid label,.body-report-section-choice{font-size:10px;color:#344237}.body-report-content input{width:auto;margin-right:5px}.body-report-graph-choices{background:#f6f9f4;border-radius:8px;padding:9px}.body-report-section-choice{display:block;margin-top:8px;font-weight:700}
.body-index-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.body-icon-metric .body-index-icon svg{width:19px;height:19px}.body-report-visit{margin-top:8px!important;margin-bottom:2px}.body-report-header{align-items:flex-start!important;padding-bottom:20px!important}.body-report-header>div{padding-bottom:2px}.body-summary-grid>[data-report-option]{display:contents}.body-report-page-graphs[hidden]{display:none!important}
@media(max-width:800px){.body-report-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.body-report-content-grid{grid-template-columns:1fr}.body-report-content-actions{display:grid;grid-template-columns:1fr 1fr}}
@media print{
  body.printing-body-report .body-report{width:190mm!important;max-width:190mm!important}
  body.printing-body-report .body-report-page{box-sizing:border-box;min-height:277mm;break-after:page!important;page-break-after:always!important;position:relative}
  body.printing-body-report .body-report-page[hidden]{display:none!important}
  body.printing-body-report .body-report-page-graphs{min-height:auto}
  body.printing-body-report .body-report-page:last-of-type{break-after:auto!important;page-break-after:auto!important}
  body.printing-body-report .body-report-header{padding-bottom:5mm!important;margin-bottom:4mm!important}
  body.printing-body-report .body-report-visit{margin-top:2mm!important}
  body.printing-body-report [hidden]{display:none!important}
  body.printing-body-report .body-method-note,body.printing-body-report .body-report-footer{break-inside:avoid!important;page-break-inside:avoid!important}
}
.body-summary-label{display:flex!important;align-items:center;gap:6px}.body-summary-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #a9c5a6;border-radius:50%;color:#2c5f2d;background:#f7fbf5}.body-summary-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* 7B.4B.1A.2 — Calculation Input Integrity & Reference Panel Polish */
.body-reference-section{width:100%;box-sizing:border-box;padding:18px 20px!important}
.body-reference-section .index-gauge-list{display:grid;gap:14px;width:100%}
.body-reference-section .index-gauge{display:grid;grid-template-columns:36px minmax(190px,230px) minmax(0,1fr);align-items:center;gap:14px;width:100%;margin:0!important}
.body-reference-section .gauge-track{width:100%;min-width:0;height:30px;margin:19px 0 12px}
.body-reference-section .gauge-track i{height:42px}
.body-reference-section .gauge-track small{top:37px;white-space:normal;line-height:1.25;max-width:100%}
@media(max-width:800px){.body-reference-section .index-gauge{grid-template-columns:36px 1fr}.body-reference-section .index-gauge .gauge-track{grid-column:1/3;width:100%}}
@media print{.body-reference-section{width:100%!important;padding:4mm!important}.body-reference-section .index-gauge{grid-template-columns:8mm 43mm minmax(0,1fr)!important;gap:3mm!important;width:100%!important}.body-reference-section .gauge-track{width:100%!important;height:6mm!important;margin:5mm 0 4mm!important}.body-reference-section .gauge-track small{top:7mm!important;max-width:100%!important;white-space:normal!important}}

/* 7B.4B.1A.3 — Report Precision & Deterministic PDF Layout */
.body-report-closing{margin-top:18px}
@media print{
  body.printing-body-report .body-report-page{min-height:0!important;break-after:auto!important;page-break-after:auto!important}
  body.printing-body-report .body-report-page-2,body.printing-body-report .body-report-page-graphs:not([hidden]){break-before:page!important;page-break-before:always!important}
  body.printing-body-report .body-report-page-graphs[hidden]{display:none!important}
  body.printing-body-report .body-report-closing{break-inside:avoid!important;page-break-inside:avoid!important;margin-top:4mm!important}
  body.printing-body-report .body-report-footer{margin-top:3mm!important}
}

/* 7B.4B.1A.5 — Patient-Centred Report Final Design */
.body-reference-section .index-gauge-list{gap:18px}
.body-reference-section .index-gauge{display:grid!important;grid-template-columns:minmax(155px,22%) minmax(0,1fr) minmax(92px,14%)!important;grid-template-areas:"label track value" "label caption caption";column-gap:18px;row-gap:5px;align-items:center;width:100%}
.index-gauge-label{grid-area:label;display:flex;align-items:center;gap:10px;min-width:0}.index-gauge-label b{line-height:1.2}
.body-reference-section .gauge-track{grid-area:track;width:100%!important;height:18px!important;margin:0!important;border-radius:9px;position:relative;overflow:visible}
.body-reference-section .gauge-track i{height:30px!important;top:-6px!important}
.index-gauge-value{grid-area:value;text-align:right;font-size:15px;color:#173d20;white-space:nowrap}
.index-gauge-caption{grid-area:caption!important;position:static!important;display:block;color:#687568;font-size:10px;line-height:1.3;max-width:none!important;white-space:normal!important}
.body-reference-section [data-report-reference="fold"][hidden]{display:none!important}
.body-report-page-heading{margin:0 0 12px;color:#203126}.body-icon-list-complementary{grid-template-columns:repeat(2,minmax(0,1fr))}
.body-report-observation{margin-top:18px;padding:14px 16px;border-left:4px solid #2c5f2d;background:#f6f9f4;border-radius:0 8px 8px 0}.body-report-observation h3{margin:0 0 6px}.body-report-observation p{margin:0;line-height:1.5}
.body-report-observation-field{display:block;margin-top:16px}.body-report-observation-field span{display:block;font-weight:700;margin-bottom:6px}.body-report-observation-field textarea{width:100%;box-sizing:border-box}
.body-report-page-graphs .body-evolution{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.body-report-page-graphs .body-series{padding:16px}.body-report-page-graphs .body-series svg{height:170px}
@media print{
 body.printing-body-report .body-reference-section .index-gauge{grid-template-columns:42mm minmax(0,1fr) 28mm!important;grid-template-areas:"label track value" "label caption caption"!important;column-gap:4mm!important;row-gap:1mm!important}
 body.printing-body-report .body-reference-section .gauge-track{height:4mm!important;margin:0!important}
 body.printing-body-report .body-reference-section .gauge-track i{height:7mm!important;top:-1.5mm!important}
 body.printing-body-report .index-gauge-caption{font-size:7pt!important;position:static!important}
 body.printing-body-report .index-gauge-value{font-size:9pt!important}
 body.printing-body-report .body-report-page-graphs .body-series svg{height:54mm!important}
}

/* 7B.4B.1A.6 — Patient Report Final Editorial Polish */
.body-report-meta-line{display:flex;align-items:center;gap:8px;margin:8px 0 2px;color:#536354;font-size:11px;font-weight:700}.body-report-meta-line i{font-style:normal;color:#9aa59a}.body-report-summary+.body-report-observation{margin-top:14px}.body-report-observation+.body-reference-section{margin-top:16px}
.body-report-section-choices{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}.body-icon-metric-copy{display:grid;gap:2px}.body-icon-metric-copy small{color:#788378;font-size:9px;font-weight:500}.body-report-page-2{font-size:1.02em}.body-report-page-2 .body-measure-table table td,.body-report-page-2 .body-measure-table table th{padding-top:9px;padding-bottom:9px}.body-report-page-2 .body-icon-list-complementary{margin-top:10px}.body-report-page-2 .body-icon-metric{padding-top:13px;padding-bottom:13px}
.body-tables:has([data-report-section="skinfolds"][hidden]) [data-report-section="circumferences"],.body-tables:has([data-report-section="circumferences"][hidden]) [data-report-section="skinfolds"]{grid-column:1/-1}.gauge-threshold{position:absolute;top:100%;transform:translateX(-50%);margin-top:5px;color:#758075;font-size:9px;line-height:1}.gauge-threshold>i{display:block!important;position:absolute!important;left:50%!important;top:-23px!important;width:1px!important;height:18px!important;background:rgba(48,69,50,.35)!important;transform:none!important}.gauge-threshold>b{font-weight:600}.gauge-current{z-index:2}.body-series-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}.body-series-head h4{margin:0!important}.body-series-head>div{display:grid;text-align:right;gap:2px}.body-series-head b{color:#1f5628;font-size:14px;white-space:nowrap}.body-series-head small{color:#687568;font-size:9px;font-weight:600;white-space:nowrap}.body-report-page-graphs .body-series svg{height:190px}.body-report-page-number{margin-top:12px;text-align:right;color:#8a958a;font-size:9px;font-weight:700;letter-spacing:.04em}
@media print{
 body.printing-body-report .body-report-meta-line{margin:1.5mm 0 1mm!important;font-size:8pt!important}
 body.printing-body-report .body-report-page-2 .body-measure-table table td,body.printing-body-report .body-report-page-2 .body-measure-table table th{padding-top:2mm!important;padding-bottom:2mm!important}
 body.printing-body-report .body-series-head b{font-size:9pt!important}body.printing-body-report .body-series-head small{font-size:6.8pt!important}
 body.printing-body-report .body-report-page-graphs .body-series svg{height:58mm!important}
 body.printing-body-report .body-report-page-number{font-size:7pt!important;margin-top:2mm!important}
 body:has(.body-report) .page-head{display:none!important}
}


/* 7B.4B.1A.7 — Body Report Final Visual QA */
.body-reference-section .index-gauge{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"label value" "track track" "caption caption"!important;column-gap:18px!important;row-gap:6px!important;align-items:center!important;padding:3px 0 9px}.body-reference-section .index-gauge-label{grid-area:label!important}.body-reference-section .index-gauge-value{grid-area:value!important;align-self:center}.body-reference-section .gauge-track{grid-area:track!important;margin:12px 0 4px!important}.body-reference-section .index-gauge-caption{grid-area:caption!important}.body-reference-section .gauge-threshold{margin-top:4px}.body-reference-section .gauge-threshold>i{top:-22px!important}.body-reference-section .index-gauge+.index-gauge{border-top:1px solid #e5ebe2;padding-top:13px}
@media print{
 body.printing-body-report .page-head{display:none!important}
 body.printing-body-report .body-reference-section .index-gauge{grid-template-columns:minmax(0,1fr) 30mm!important;grid-template-areas:"label value" "track track" "caption caption"!important;column-gap:4mm!important;row-gap:1.8mm!important;padding:1mm 0 2.5mm!important}
 body.printing-body-report .body-reference-section .gauge-track{height:4mm!important;margin:3.5mm 0 1mm!important}
 body.printing-body-report .body-reference-section .gauge-track i{height:7mm!important;top:-1.5mm!important}
 body.printing-body-report .body-reference-section .gauge-threshold{margin-top:1mm!important}
 body.printing-body-report .body-reference-section .gauge-threshold>i{top:-6mm!important;height:5mm!important}
}


/* 7B.4B.1B.1A — Pediatric report data integrity & visual polish */
.body-report,.saved-report-preview{font-family:"Segoe UI",Arial,sans-serif}
.body-report-header{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:24px!important;align-items:center!important;justify-content:initial!important;padding-bottom:16px!important}
.body-report-header>div{min-width:0;padding-bottom:0!important}
.body-report-logo{width:150px!important;height:62px!important;object-fit:contain!important;object-position:left center!important;flex:none!important}
.body-report-kicker{text-transform:none!important;letter-spacing:.045em!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:9.5px!important;line-height:1.25!important}
.body-report-header h2{margin:4px 0 5px!important;line-height:1.08!important}
.body-report-header p{line-height:1.35!important}
.body-summary-metric{align-items:center!important;justify-content:flex-start!important;text-align:center!important;gap:7px!important;min-height:96px!important}
.body-summary-icon{width:31px!important;height:31px!important;flex:0 0 31px!important;border:1px solid #a9c5a6!important;background:#f7fbf5!important}
.body-summary-icon svg{width:18px!important;height:18px!important;stroke-width:1.65!important}
.body-summary-label{justify-content:center!important;min-height:24px!important;line-height:1.2!important;text-align:center!important}
.body-summary-metric b{width:100%;margin-top:auto!important;margin-bottom:auto!important;text-align:center!important}
.body-summary-delta{margin-top:auto!important;text-align:center!important}
.body-method-note{grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important}
.body-method-items{display:flex!important;flex-wrap:wrap!important;gap:3px 0!important;min-width:0}
.body-method-item{display:inline-block!important;white-space:nowrap!important}
.body-method-item:not(:last-child)::after{content:" ·";display:inline-block;margin-right:8px}
.body-method-item:last-child::after{content:"."}
@media(max-width:720px){.body-report-header{grid-template-columns:112px minmax(0,1fr)!important;gap:16px!important}.body-report-logo{width:112px!important;height:54px!important}.body-method-items{display:grid!important;gap:3px!important}.body-method-item:not(:last-child)::after{content:"";margin:0}}
@media print{body.printing-body-report .body-report{font-family:"Segoe UI",Arial,sans-serif!important}body.printing-body-report .body-report-header{grid-template-columns:31mm minmax(0,1fr)!important;gap:6mm!important;align-items:center!important;padding:0 0 4mm!important;margin:0 0 3mm!important}body.printing-body-report .body-report-logo{width:31mm!important;height:16mm!important}body.printing-body-report .body-report-kicker{font-size:7.3pt!important;letter-spacing:.035em!important}body.printing-body-report .body-summary-metric{align-items:center!important;text-align:center!important;min-height:21mm!important;padding:2.2mm!important;gap:1.3mm!important}body.printing-body-report .body-summary-icon{width:7.5mm!important;height:7.5mm!important;flex-basis:7.5mm!important}body.printing-body-report .body-summary-icon svg{width:4.3mm!important;height:4.3mm!important}body.printing-body-report .body-summary-label{min-height:6mm!important;justify-content:center!important;text-align:center!important}body.printing-body-report .body-method-items{display:flex!important;flex-wrap:wrap!important;gap:.8mm 0!important}body.printing-body-report .body-method-item{white-space:nowrap!important}}
/* 7B.4B.1B.1D — report selection integrity and pediatric growth data clarity */
.body-report [hidden]{display:none!important}
.body-report-content>h4{margin:14px 0 7px;color:#2f4f31;font-size:11px;letter-spacing:.02em}
.growth-kpis .growth-kpi-unavailable b{font-size:12px;color:#6f776f;line-height:1.35}

/* 7B.4B.1B.1E — pediatric report clinical design refinements */
.growth-chart-note{margin:8px 0 0;color:#6c776d;font-size:9px;line-height:1.45}.growth-chart.empty{display:flex;flex-direction:column;justify-content:center;min-height:220px;padding:24px;text-align:center}.growth-chart.empty h4{margin:0 0 10px}.growth-chart.empty p{margin:0 auto 8px;max-width:420px;color:#647064}.body-report-page-graphs .body-evolution>.body-report-graph-wide{grid-column:1/-1}.body-report-page-graphs .body-evolution>.body-report-graph-wide .body-series svg{height:200px}@media(max-width:720px){.body-report-page-graphs .body-evolution>.body-report-graph-wide{grid-column:auto}}@media print{.body-report-page-graphs .body-evolution>.body-report-graph-wide{grid-column:1/-1}}
/* 7B.4B.1B.1G.1 — adaptive report summary and graph pagination */
.body-summary-count-1{grid-template-columns:1fr!important}.body-summary-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.body-summary-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.body-summary-count-4,.body-summary-count-8{grid-template-columns:repeat(4,minmax(0,1fr))!important}.body-summary-count-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}.body-summary-count-5{grid-template-columns:repeat(6,minmax(0,1fr))!important}.body-summary-count-7{grid-template-columns:repeat(12,minmax(0,1fr))!important}.body-report-graph-page-content>section+section{margin-top:24px}.body-report-graph-page-content:empty{display:none}.body-evolution-count-1{grid-template-columns:1fr!important}.body-evolution-count-1>.body-report-graph-wide{grid-column:auto!important}.met-library-status{padding:0 20px 12px;color:var(--muted);font-size:10px;font-weight:600}.met-library-note{padding:0 20px 8px}.met-library-filters{display:flex;gap:8px;flex-wrap:wrap}.met-library-filters input{min-width:280px}.met-library-table-wrap{overflow:auto}.met-library-table-wrap table{min-width:980px}
@media(max-width:900px){.body-summary-count-3,.body-summary-count-4,.body-summary-count-5,.body-summary-count-6,.body-summary-count-7,.body-summary-count-8{grid-template-columns:repeat(2,minmax(0,1fr))!important}.met-library-head{align-items:stretch}.met-library-filters{width:100%}.met-library-filters>*{flex:1 1 220px}.met-library-filters input{min-width:0}}
@media(max-width:560px){.body-summary-grid[class*="body-summary-count-"]{grid-template-columns:1fr!important}.body-summary-grid[class*="body-summary-count-"]>[data-report-option] .body-summary-metric{grid-column:auto!important}}
@media print{
 body.printing-body-report .body-summary-count-1{grid-template-columns:1fr!important}
 body.printing-body-report .body-summary-count-2{grid-template-columns:repeat(2,1fr)!important}
 body.printing-body-report .body-summary-count-3{grid-template-columns:repeat(3,1fr)!important}
 body.printing-body-report .body-summary-count-4,body.printing-body-report .body-summary-count-8{grid-template-columns:repeat(4,1fr)!important}
 body.printing-body-report .body-summary-count-6{grid-template-columns:repeat(3,1fr)!important}
 body.printing-body-report .body-summary-count-5{grid-template-columns:repeat(6,1fr)!important}
 body.printing-body-report .body-summary-count-7{grid-template-columns:repeat(12,1fr)!important}
 body.printing-body-report .body-report-graph-page-content>section{break-inside:avoid;page-break-inside:avoid}
 body.printing-body-report .body-report-graph-page-content>section+section{margin-top:4mm}
 body.printing-body-report .body-evolution-count-1{grid-template-columns:1fr!important}
 body.printing-body-report .body-evolution-count-2,.body.printing-body-report .body-evolution-count-3,.body.printing-body-report .body-evolution-count-4{grid-template-columns:repeat(2,1fr)!important}
 body.printing-body-report .body-evolution-count-5,.body.printing-body-report .body-evolution-count-6,.body.printing-body-report .body-evolution-count-7,.body.printing-body-report .body-evolution-count-8{grid-template-columns:repeat(3,1fr)!important;gap:3mm!important}
 body.printing-body-report .body-evolution-count-5 .body-series svg,body.printing-body-report .body-evolution-count-6 .body-series svg,body.printing-body-report .body-evolution-count-7 .body-series svg,body.printing-body-report .body-evolution-count-8 .body-series svg{height:43mm!important}
 body.printing-body-report .body-evolution-count-3>.body-report-graph-wide{grid-column:1/-1!important}
 body.printing-body-report .body-evolution-count-1>.body-report-graph-wide{grid-column:auto!important}
}


/* 7B.4B.1B.1G.1A — report running header/footer and icon polish */
.body-report-page-header{grid-template-columns:132px minmax(0,1fr)!important;gap:20px!important;align-items:center!important;border-bottom:2px solid #2c5f2d!important;padding-bottom:12px!important;margin-bottom:14px!important}
.body-report-page-header .body-report-logo{width:132px!important;height:54px!important}
.body-report-page-header h1{margin:0!important;color:#244f29!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:25px!important;font-weight:750!important;line-height:1.05!important;letter-spacing:-.015em!important}
.body-report-page-header .body-report-patient-name{margin:7px 0 1px!important;color:#203126!important;font-size:15px!important;font-weight:700!important;line-height:1.2!important}
.body-report-page-header .body-report-dates{margin:0!important;color:#657067!important;font-size:11px!important;line-height:1.35!important}
.body-report-page{position:relative}
.body-report-page>.body-report-footer{margin-top:24px}
.body-summary-icon{border-color:#9fbea1!important;background:#f8fbf6!important;color:#2d6534!important;box-shadow:0 1px 0 rgba(44,95,45,.05)}
.body-summary-icon svg{stroke-width:1.55!important}
@media(max-width:720px){.body-report-page-header{grid-template-columns:96px minmax(0,1fr)!important;gap:14px!important}.body-report-page-header .body-report-logo{width:96px!important;height:46px!important}.body-report-page-header h1{font-size:20px!important}.body-report-page-header .body-report-patient-name{font-size:14px!important}}
@media print{
 body.printing-body-report .body-report-page{box-sizing:border-box!important;min-height:277mm!important;display:flex!important;flex-direction:column!important;padding-bottom:17mm!important}
 body.printing-body-report .body-report-page-header{display:grid!important;grid-template-columns:28mm minmax(0,1fr)!important;gap:5mm!important;align-items:center!important;padding:0 0 3mm!important;margin:0 0 4mm!important;border-bottom:1.1pt solid #2c5f2d!important;break-inside:avoid!important;page-break-inside:avoid!important;flex:0 0 auto!important}
 body.printing-body-report .body-report-page-header .body-report-logo{width:28mm!important;height:13mm!important}
 body.printing-body-report .body-report-page-header h1{font-size:16pt!important;line-height:1.02!important;letter-spacing:-.01em!important}
 body.printing-body-report .body-report-page-header .body-report-patient-name{font-size:9.5pt!important;margin:1.8mm 0 .4mm!important}
 body.printing-body-report .body-report-page-header .body-report-dates{font-size:7.4pt!important;margin:0!important}
 body.printing-body-report .body-report-page>.body-report-footer{margin-top:auto!important;margin-bottom:2mm!important;padding-top:2.4mm!important;border-top:1.2pt solid #2c5f2d!important;flex:0 0 auto!important;font-size:6.8pt!important;line-height:1.3!important}
 body.printing-body-report .body-report-page>.body-report-footer b{font-size:7.4pt!important}
 body.printing-body-report .body-report-page>.body-report-footer p{max-width:92mm!important}
 body.printing-body-report .body-report-page-number{position:absolute!important;right:0!important;bottom:0!important;margin:0!important;font-size:6.5pt!important}
 body.printing-body-report .body-report-graph-page-content{flex:0 1 auto!important}
 body.printing-body-report .body-report-closing{margin-bottom:0!important}
}

/* 7B.4B.1B.1G.1B — final report print architecture & clinical content polish */
.body-report-document-title{text-align:center;margin:0 0 18px;padding:4px 0 10px}
.body-report-document-title h1{margin:0;color:#244f29;font-family:"Segoe UI",Arial,sans-serif;font-size:28px;font-weight:780;line-height:1.08;letter-spacing:-.02em}
.body-report-document-title p{margin:5px 0 0;color:#7a837b;font-size:12px;line-height:1.35}
.body-report-identity-header{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:center;border-top:2px solid #2c5f2d;border-bottom:2px solid #2c5f2d;padding:12px 0;margin-bottom:14px}
.body-report-identity-header .body-report-logo{width:132px;height:54px;object-fit:contain}
.body-report-identity-header h2{margin:0;color:#244f29;font-family:"Segoe UI",Arial,sans-serif;font-size:28px;font-weight:780;line-height:1.05;letter-spacing:-.015em}
.body-report-identity-header .body-report-dates{margin:5px 0 0;color:#657067;font-size:11px;line-height:1.35}
.body-report-running-header{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-top:2px solid #2c5f2d;border-bottom:2px solid #2c5f2d;padding:8px 2px;margin-bottom:16px;color:#244f29}
.body-report-running-header b{font-size:15px;line-height:1.2}
.body-report-running-header span{color:#657067;font-size:10px;line-height:1.3;text-align:right}
.body-method-note-after-measures{margin-top:14px!important}
.maturity-brief-note{margin:8px 0 0!important;font-size:9px!important;line-height:1.35!important;color:#6b756d!important}
.body-summary-icon{width:33px!important;height:33px!important;flex:0 0 33px!important;background:#f7fbf5!important;border-color:#93b798!important}
.body-summary-icon svg{width:20px!important;height:20px!important;stroke-width:1.75!important}
@media(max-width:720px){.body-report-identity-header{grid-template-columns:96px minmax(0,1fr);gap:14px}.body-report-identity-header .body-report-logo{width:96px;height:46px}.body-report-document-title h1{font-size:22px}.body-report-identity-header h2{font-size:22px}.body-report-running-header{display:grid;gap:2px}.body-report-running-header span{text-align:left}}

@media print{
  body.printing-body-report main>header{display:none!important}
  body.printing-body-report .body-report{width:190mm!important;max-width:190mm!important;margin:0 auto!important;padding:0!important}
  body.printing-body-report .body-report-page{box-sizing:border-box!important;min-height:262mm!important;display:flex!important;flex-direction:column!important;padding:0!important;break-after:auto!important;page-break-after:auto!important;overflow:visible!important}
  body.printing-body-report .body-report-page-2,
  body.printing-body-report .body-report-page-graphs:not([hidden]){break-before:page!important;page-break-before:always!important}
  body.printing-body-report .body-report-document-title{margin:0 0 3mm!important;padding:0 0 2mm!important;text-align:center!important;flex:0 0 auto!important}
  body.printing-body-report .body-report-document-title h1{font-size:18pt!important;line-height:1.05!important;letter-spacing:-.015em!important}
  body.printing-body-report .body-report-document-title p{margin-top:1.2mm!important;font-size:8pt!important;color:#7b847d!important}
  body.printing-body-report .body-report-identity-header{display:grid!important;grid-template-columns:28mm minmax(0,1fr)!important;gap:5mm!important;align-items:center!important;border-top:1pt solid #2c5f2d!important;border-bottom:1pt solid #2c5f2d!important;padding:2.8mm 0!important;margin:0 0 3.5mm!important;break-inside:avoid!important;page-break-inside:avoid!important;flex:0 0 auto!important}
  body.printing-body-report .body-report-identity-header .body-report-logo{width:27mm!important;height:12mm!important}
  body.printing-body-report .body-report-identity-header h2{font-size:17pt!important;line-height:1.02!important}
  body.printing-body-report .body-report-identity-header .body-report-dates{font-size:7.2pt!important;margin-top:1.2mm!important}
  body.printing-body-report .body-report-running-header{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:6mm!important;border-top:.8pt solid #2c5f2d!important;border-bottom:.8pt solid #2c5f2d!important;padding:2mm .5mm!important;margin:0 0 3.5mm!important;break-inside:avoid!important;page-break-inside:avoid!important;flex:0 0 auto!important}
  body.printing-body-report .body-report-running-header b{font-size:9pt!important}
  body.printing-body-report .body-report-running-header span{font-size:6.8pt!important;text-align:right!important}
  body.printing-body-report .body-report-header,
  body.printing-body-report .body-report-page-header{display:none!important}
  body.printing-body-report .body-report-page>.body-report-footer{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:6mm!important;margin-top:auto!important;margin-bottom:0!important;padding-top:2mm!important;border-top:.8pt solid #2c5f2d!important;flex:0 0 auto!important;font-size:6.6pt!important;line-height:1.25!important}
  body.printing-body-report .body-report-page>.body-report-footer b{font-size:7pt!important;color:#2c5f2d!important;white-space:nowrap!important}
  body.printing-body-report .body-report-page>.body-report-footer p{margin:0!important;max-width:105mm!important;text-align:right!important;color:#6b756d!important}
  body.printing-body-report .body-report-page-number{display:none!important}
  body.printing-body-report .body-method-note-after-measures{margin-top:2.5mm!important;padding:2.2mm 2.5mm!important;font-size:7pt!important;line-height:1.3!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.printing-body-report .pediatric-growth-section .body-reference-intro{font-size:7pt!important;margin-bottom:2mm!important}
  body.printing-body-report .growth-kpis{gap:2.5mm!important;margin-bottom:2.5mm!important}
  body.printing-body-report .growth-kpis>div{padding:2.4mm!important;gap:1.8mm!important}
  body.printing-body-report .growth-kpis small{font-size:7pt!important}
  body.printing-body-report .growth-kpis b{font-size:10.5pt!important}
  body.printing-body-report .growth-kpi-context{font-size:6.6pt!important;line-height:1.25!important}
  body.printing-body-report .pediatric-growth-grid{gap:3mm!important}
  body.printing-body-report .growth-chart{min-height:0!important;padding:2mm!important}
  body.printing-body-report .growth-chart h4{font-size:8pt!important;margin:0 0 1mm!important}
  body.printing-body-report .growth-chart svg{max-height:48mm!important}
  body.printing-body-report .growth-chart-note,
  body.printing-body-report .growth-legend{display:none!important}
  body.printing-body-report .maturity-brief-note{font-size:6.7pt!important;line-height:1.3!important;margin:1.5mm 0 0!important}
  body.printing-body-report .body-summary-icon{width:8mm!important;height:8mm!important;flex-basis:8mm!important}
  body.printing-body-report .body-summary-icon svg{width:5.2mm!important;height:5.2mm!important;stroke-width:1.7!important}
  body.printing-body-report #body-report-measures{break-inside:auto!important;page-break-inside:auto!important}
  body.printing-body-report #body-report-measures>.body-report-page-heading{break-after:avoid!important;page-break-after:avoid!important}
  body.printing-body-report .body-tables{margin-top:0!important}
}

/* 7B.4B.1B.1G.1C — final visual smoke fixes: print header spacing & icon legibility */
.body-report-running-header{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;padding:10px 0 12px;margin-bottom:16px}
.body-report-running-header .body-report-logo{width:112px;height:46px;object-fit:contain;object-position:left center}
.body-report-running-header>div{display:grid;align-content:center;gap:3px;min-width:0}
.body-report-running-header .body-report-patient-name{display:block;color:#244f29;font-size:15px;font-weight:750;line-height:1.15}
.body-report-running-header .body-report-dates{display:block;color:#657067;font-size:10px;line-height:1.3;text-align:left}
.body-summary-icon svg,.body-index-icon svg{stroke-width:1.95!important}
@media print{
 body.printing-body-report .body-report-page:not(:first-child){padding-top:4mm!important}
 body.printing-body-report .body-report-running-header{display:grid!important;grid-template-columns:24mm minmax(0,1fr)!important;gap:5mm!important;align-items:center!important;border-top:.8pt solid #2c5f2d!important;border-bottom:.8pt solid #2c5f2d!important;padding:2.4mm 0 3mm!important;margin:0 0 4mm!important;break-inside:avoid!important;page-break-inside:avoid!important;flex:0 0 auto!important}
 body.printing-body-report .body-report-running-header .body-report-logo{display:block!important;width:24mm!important;height:10.5mm!important;object-fit:contain!important;object-position:left center!important}
 body.printing-body-report .body-report-running-header>div{display:grid!important;align-content:center!important;gap:.7mm!important;min-width:0!important}
 body.printing-body-report .body-report-running-header .body-report-patient-name{display:block!important;font-size:9.4pt!important;line-height:1.1!important;color:#244f29!important}
 body.printing-body-report .body-report-running-header .body-report-dates{display:block!important;font-size:6.8pt!important;line-height:1.25!important;text-align:left!important;color:#657067!important}
 body.printing-body-report .body-summary-icon svg,body.printing-body-report .body-index-icon svg{stroke-width:2!important}
}

/* 7B.4B.2B.2E — meal plan functional & visual polish */
.plan-meal-time-missing{background:#e8eee6!important;color:#526055!important;font-size:10px!important;line-height:1.15!important;padding:7px 5px!important;text-transform:uppercase;letter-spacing:.045em}
.plan-meal-card-no-time .plan-meal-rail{background:#f7f9f6}
.plan-meal-card-no-time .plan-meal-content{border-left:2px solid #edf2eb}
.plan-food-row-alt{position:relative;margin-top:1px;padding:2px 5px 2px 0;border-radius:6px}
.plan-food-row-alt:before{content:'';position:absolute;left:-7px;top:4px;bottom:4px;width:2px;border-radius:2px;background:#ead6bd}
@media print{
  body.printing-meal-plan .plan-meal-time-missing{font-size:7.5pt!important;padding:2mm .7mm!important;letter-spacing:.03em}
  body.printing-meal-plan .plan-meal-card-no-time .plan-meal-content{border-left:1px solid #edf2eb}
  body.printing-meal-plan .plan-food-row-alt{padding-top:.4mm;padding-bottom:.4mm}
  body.printing-meal-plan .plan-food-row-alt:before{left:-1.7mm;top:.7mm;bottom:.7mm;width:.45mm}
}

/* 7B.4B.2B.2F — patient-facing meal plan visual polish */
.plan-food-choice-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 7px;margin:3px 0!important;line-height:1.45}
.plan-food-choice-line .plan-primary-food{display:inline;font-weight:600}
.plan-inline-alt{display:inline;color:#667268;font-weight:400}
.plan-inline-alt b{color:var(--plan-accent);font-size:.78em;font-weight:800;text-transform:lowercase;margin-right:2px}
.plan-food-note-alt b{color:#8c5b1d}
@media print{
  body.printing-meal-plan .plan-food-choice-line{gap:.5mm 1.8mm;margin:.8mm 0!important;line-height:1.4}
  body.printing-meal-plan .plan-inline-alt b{font-size:8pt}
}

/* 7B.4B.2B.5.1A — menstrual monitoring presentation */
.menstrual-monitoring{margin-top:18px;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.menstrual-monitoring-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-left:5px solid #f39a50;padding-left:12px}.menstrual-monitoring-head h4{margin:0;color:#303330}.menstrual-monitoring-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.menstrual-monitoring-head>span{font-size:11px;background:#f2f6ef;color:#2c5f2d;border-radius:999px;padding:5px 9px;white-space:nowrap}.menstrual-monitoring-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.menstrual-entry{border:1px solid #eadfd5;border-radius:10px;padding:14px;background:#fffdfb}.menstrual-entry header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #eee7df}.menstrual-entry header strong{color:#2c5f2d}.menstrual-entry header small{color:var(--muted)}.menstrual-entry dl{margin:8px 0 0}.menstrual-entry dl>div{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,1fr);gap:12px;padding:7px 0;border-bottom:1px solid #f2eee9}.menstrual-entry dl>div:last-child{border-bottom:0}.menstrual-entry dt{font-weight:700;color:#303330}.menstrual-entry dd{margin:0;text-align:right;color:#50575b}.monitoring-records .text-btn.danger{white-space:nowrap}@media(max-width:760px){.menstrual-monitoring-list{grid-template-columns:1fr}.menstrual-entry dl>div{grid-template-columns:1fr}.menstrual-entry dd{text-align:left}}

.monitoring-submission-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menstrual-entry header>span{display:flex;align-items:center;gap:10px}.menstrual-entry header .text-btn{font-size:11px}@media(max-width:760px){.monitoring-submission-edit-fields{grid-template-columns:1fr}}

/* 7B.4B.2B.5.5.4.2 — Integrated Nutrition Summary Print Hotfix */
.plan-print-nutrition-summary{display:none}
@media print{
  body.printing-meal-plan .plan-target,
  body.printing-meal-plan .plan-total{display:none!important}
  body.printing-meal-plan .plan-print-nutrition-summary{display:flex!important;justify-content:space-between;align-items:center;gap:3mm;margin-top:2.2mm;padding:1.7mm 2.6mm;background:var(--plan-soft);border-left:1mm solid var(--plan-green);border-radius:0 2mm 2mm 0;break-inside:avoid;page-break-inside:avoid}
  body.printing-meal-plan .plan-print-target{display:flex;align-items:center;gap:2.2mm;white-space:nowrap}
  body.printing-meal-plan .plan-print-target small{font-size:6.8pt;letter-spacing:.08em;color:#687469}
  body.printing-meal-plan .plan-print-target span{font-size:8pt;color:#5f6c61}
  body.printing-meal-plan .plan-print-target b{font-size:9pt;color:#244f2b}
  body.printing-meal-plan .plan-print-nutrition-summary .plan-nutrients{justify-content:flex-end;gap:1.1mm;flex-wrap:nowrap}
  body.printing-meal-plan .plan-print-nutrition-summary .plan-nutrients span{font-size:7.2pt;padding:.75mm 1.25mm;white-space:nowrap}
  body.printing-meal-plan.meal-plan-print-spacious .plan-print-nutrition-summary{margin-top:3.5mm!important;padding:2.6mm 3.4mm!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-print-target span{font-size:9pt!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-print-target b{font-size:10.5pt!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-print-nutrition-summary{margin-top:2.3mm!important;padding:1.7mm 2.6mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-print-nutrition-summary{margin-top:1.5mm!important;padding:1.25mm 2.3mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-print-target small{font-size:6.2pt!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-print-target span{font-size:7.3pt!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-print-target b{font-size:8.3pt!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-print-nutrition-summary .plan-nutrients span{font-size:6.8pt!important;padding:.6mm 1mm!important}
}

/* 7B.4B.2B.5.5–5.5.4.1 — Meal Plan Single-Page Print Optimization + Predictable Adaptive Pagination */
@media print{
  /* Short plans: deliberately use more of the A4 instead of inheriting dense-plan typography. */
  body.printing-meal-plan.meal-plan-print-spacious .plan-meal-sections{gap:5mm!important;margin-top:4.5mm!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-meal-card{grid-template-columns:26mm minmax(0,1fr)!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-meal-rail{padding:4.5mm 2.4mm!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-meal-rail span{padding:2.5mm 1.2mm!important;font-size:11pt!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-meal-content{padding:4mm 3.8mm 3.8mm!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-meal-head{padding-bottom:2mm!important;margin-bottom:2mm!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-meal-head h3{font-size:14pt!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-food-row p,
  body.printing-meal-plan.meal-plan-print-spacious .plan-food-choice-line{font-size:11.5pt!important;line-height:1.52!important;margin:1.3mm 0!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-food-bullet{font-size:11.5pt!important;line-height:1.52!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-meal-note{font-size:9pt!important;line-height:1.45!important;padding:1.9mm 2.1mm!important;margin-top:1.8mm!important}
  body.printing-meal-plan.meal-plan-print-spacious .plan-total{padding:2.8mm 3.2mm!important;margin-top:3.3mm!important}
  body.printing-meal-plan.meal-plan-print-spacious footer{margin-top:4mm!important;padding-top:2.4mm!important;font-size:7.4pt!important}

  /* 6–7 meals: preserve the balanced 5.5.3 print profile. */
  body.printing-meal-plan.meal-plan-print-standard .plan-document-header{grid-template-columns:33mm 1fr!important;gap:6mm!important;padding-bottom:2.6mm!important}
  body.printing-meal-plan.meal-plan-print-standard .meal-plan-document>header img{width:31mm!important;height:14mm!important}
  body.printing-meal-plan.meal-plan-print-standard .meal-plan-document header small{font-size:8pt!important}
  body.printing-meal-plan.meal-plan-print-standard .meal-plan-document header h2{font-size:17pt!important;margin:1.2mm 0!important}
  body.printing-meal-plan.meal-plan-print-standard .meal-plan-document header p{font-size:8.5pt!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-target{margin-top:2.5mm!important;padding:1.9mm 2.8mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-target span{font-size:8pt!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-target b{font-size:11pt!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-meal-sections{gap:2.5mm!important;margin-top:2.8mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-meal-card{grid-template-columns:22.5mm minmax(0,1fr)!important;border-radius:1.8mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-meal-rail{padding:2.8mm 1.7mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-meal-rail span{padding:1.7mm .8mm!important;font-size:9.5pt!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-meal-content{padding:2.55mm 2.7mm 2.35mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-meal-head{padding-bottom:1.15mm!important;margin-bottom:1.15mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-meal-head h3{font-size:11.8pt!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-food-row{grid-template-columns:3mm minmax(0,1fr)!important;gap:.6mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-food-bullet{font-size:10.2pt!important;line-height:1.4!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-food-row p,
  body.printing-meal-plan.meal-plan-print-standard .plan-food-choice-line{font-size:10.1pt!important;line-height:1.4!important;margin:.8mm 0!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-food-note{font-size:7.9pt!important;margin:0 0 .7mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-meal-note{margin-top:1.15mm!important;padding:1.3mm 1.6mm!important;gap:1.3mm!important;font-size:7.9pt!important;line-height:1.36!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-total{padding:2.3mm 2.8mm!important;margin-top:2.6mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-total small{font-size:6.8pt!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-total h3{font-size:10.5pt!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-nutrients{gap:1.2mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-nutrients span{font-size:7.2pt!important;padding:.8mm 1.35mm!important}
  body.printing-meal-plan.meal-plan-print-standard .plan-notes{padding:2mm 2.8mm!important;margin-top:2.2mm!important}
  body.printing-meal-plan.meal-plan-print-standard footer{margin-top:2.6mm!important;padding-top:1.7mm!important;font-size:7pt!important}

  /* 8+ meals: recover structural space first; typography remains above the former 8pt floor. */
  body.printing-meal-plan.meal-plan-print-dense .plan-meal-sections{gap:1mm!important;margin-top:1.5mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-meal-content{padding:1.35mm 2.2mm 1.2mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-meal-rail{padding:1.55mm 1.3mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-food-row p,
  body.printing-meal-plan.meal-plan-print-dense .plan-food-choice-line{font-size:9.2pt!important;line-height:1.28!important;margin:.35mm 0!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-meal-note{font-size:7.2pt!important;line-height:1.25!important;padding:.8mm 1.3mm!important;margin-top:.6mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-document-header{padding-bottom:2.2mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-target{margin-top:2mm!important;padding:1.6mm 2.6mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-meal-head{padding-bottom:.9mm!important;margin-bottom:.9mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-total{padding:1.8mm 2.6mm!important;margin-top:1.8mm!important}
  body.printing-meal-plan.meal-plan-print-dense .plan-notes{padding:1.7mm 2.6mm!important;margin-top:1.6mm!important}
  body.printing-meal-plan.meal-plan-print-dense footer{margin-top:1.8mm!important;padding-top:1.3mm!important}
}


/* 7B.4B.2B.5.5.4.3 — Content-Aware Print Fit & Pagination Guard
   Dense is intentionally the final compaction floor. If content still exceeds the
   printable A4 height, normal browser pagination is preserved: nothing is hidden. */
@media print{
  body.printing-meal-plan .meal-plan-document,
  body.printing-meal-plan .plan-meal-sections{overflow:visible!important;max-height:none!important}
  body.printing-meal-plan .plan-meal-card{break-inside:avoid;page-break-inside:avoid}
  body.printing-meal-plan footer{break-inside:avoid;page-break-inside:avoid}
}
