:root{font-family:Inter,system-ui,sans-serif;color:#17221a;background:#f3f6f1}*{box-sizing:border-box}body{margin:0}header{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff;border-bottom:1px solid #dce4d9}header .mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#285d35;color:#fff;font-weight:800;overflow:hidden}header .mark img{width:31px;height:31px;object-fit:contain}header b,header small{display:block}header small{color:#718073;font-size:11px}#offline{margin-left:auto;background:#fff3dc;color:#8b5a10;padding:5px 9px;border-radius:14px;font-size:10px}#offline.online{background:#e5f2e8;color:#285d35}main{max-width:720px;margin:auto;padding:18px}.welcome{background:linear-gradient(135deg,#285d35,#3d7a4b);color:#fff;border-radius:18px;padding:22px;margin-bottom:15px}.welcome h1{font-size:22px;margin:0 0 5px}.welcome p{margin:0;opacity:.85}.card{background:#fff;border:1px solid #dce4d9;border-radius:15px;padding:17px;margin:12px 0;box-shadow:0 4px 16px #2336280b}.card h2{font-size:17px;margin:0 0 5px;color:#285d35}.card>p{color:#718073;font-size:12px;margin:0 0 14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}label{font-size:11px;color:#536357;font-weight:700}input,select,button{font:inherit;border-radius:10px;padding:12px;border:1px solid #cfd9cc;background:#fff}button{cursor:pointer;font-weight:750}.primary{background:#285d35;color:#fff;border-color:#285d35}.secondary{color:#285d35}.actions{display:flex;gap:9px;justify-content:flex-end;margin-top:15px}.wellness{display:grid;gap:13px}.wellness label{display:flex;justify-content:space-between}.wellness input{padding:0}.urine{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.urine label{aspect-ratio:1;border-radius:50%;border:3px solid transparent;cursor:pointer}.urine input{display:none}.urine label:has(input:checked){border-color:#17221a;transform:scale(1.08)}.records{display:grid;gap:8px}.record{display:flex;justify-content:space-between;border-bottom:1px solid #e5ebe3;padding:9px 0}.record small{color:#718073}.empty{text-align:center;color:#718073;padding:25px}.setup{text-align:center;padding-top:40px}.setup input{width:100%;margin:10px 0}#message{position:fixed;left:20px;right:20px;bottom:20px;max-width:500px;margin:auto;background:#17221a;color:#fff;padding:12px;border-radius:10px;display:none}@media(max-width:550px){.grid{grid-template-columns:1fr}.field.full{grid-column:auto}.actions{display:grid}.urine{grid-template-columns:repeat(4,1fr)}}
.mobile-hero{background:linear-gradient(145deg,#163d25,#2f7042);color:#fff;border-radius:0 0 28px 28px;padding:28px 22px 34px;margin:-18px -18px 14px;box-shadow:0 12px 28px #173d2525}.mobile-hero small{font-size:10px;letter-spacing:.16em;color:#cbe2cf;font-weight:800}.mobile-hero h1{margin:7px 0 5px;font-size:27px}.mobile-hero p{margin:0;color:#e4efe6}.mobile-nav{position:sticky;top:67px;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;background:#fff;border:1px solid #dde6da;border-radius:16px;padding:5px;margin:0 0 18px;box-shadow:0 7px 20px #23362810}.mobile-nav button{border:0;padding:9px 4px;color:#6d7b70;background:transparent;display:grid;place-items:center;gap:2px}.mobile-nav button i{font-style:normal;font-size:18px}.mobile-nav button span{font-size:10px}.mobile-nav button.active{background:#eaf3e9;color:#245c35}.mobile-content-list{display:grid;gap:12px}.content-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.content-card-head small{color:#788579;font-size:10px}.content-card-head h2{margin-top:4px}.content-card-head>span{background:#eaf3e9;color:#245c35;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.mobile-plan details{border-top:1px solid #e6ece3;padding:11px 0}.mobile-plan summary{cursor:pointer;font-weight:800;color:#315b38}.mobile-plan summary small{float:right;color:#7a867b}.mobile-plan ul{list-style:none;margin:10px 0 0;padding:0}.mobile-plan li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;color:#526056;font-size:13px}.plan-guidance{background:#f3f6ee;border-left:3px solid #d3ac51;padding:12px;margin-top:12px;border-radius:8px}.plan-guidance p{white-space:pre-line;margin:5px 0 0;font-size:12px}.report-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.report-metrics span{background:#f4f7f2;border-radius:11px;padding:12px}.report-metrics small,.report-metrics b{display:block}.report-metrics small{font-size:10px;color:#748075;margin-bottom:4px}.empty-state{text-align:center;padding:35px 20px}.empty-state p{margin-top:8px!important}.mobile-messages article{border-top:1px solid #e6ece3;padding:12px 0}.mobile-messages article p{margin:5px 0 0;white-space:pre-line}.mobile-messages article small{color:#758177}.mobile-questionnaire{display:grid;gap:12px}.mobile-questionnaire>p{margin-bottom:2px}.mobile-questionnaire .field input,.mobile-questionnaire .field select{width:100%}.mobile-questionnaire button{margin-top:4px}
.mobile-nav{grid-template-columns:repeat(5,1fr)}.today-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.today-badges b,.today-badges span{background:#e9f2e8;color:#285d35;border-radius:999px;padding:6px 10px;font-size:11px}.today-badges .cho{background:#f7e5b5;color:#76540a}.today-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.today-events span{background:#f4f7f2;border-radius:10px;padding:10px}.today-events small,.today-events b{display:block}.today-events small{color:#748075;font-size:10px;margin-bottom:4px}.today-notes{border-top:1px solid #e0e8de;margin-top:13px;padding-top:12px;color:#526056;font-size:13px;white-space:pre-line}.next-meal{border-left:4px solid #d3ac51}.next-meal>small{color:#866617;font-weight:800}.next-meal>h2{margin-top:5px}.today-meals{display:grid;gap:10px}.today-meals .card{margin:0}.today-meals header{position:static;padding:0 0 10px;border-bottom:1px solid #e4ebe2;background:transparent}.today-meals header h2{margin:0}.today-meals time{margin-left:auto;color:#667468;font-size:12px;font-weight:700}.today-meals ul{list-style:none;margin:8px 0 0;padding:0}.today-meals li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:13px}.today-meals li span{color:#526056}.today-totals div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.today-totals span{background:#f4f7f2;border-radius:9px;padding:9px;font-size:12px;font-weight:700}@media(max-width:380px){.mobile-nav button span{font-size:9px}.today-events{grid-template-columns:1fr}}

/* 7B.4B.1 — published reports */
.published-report{display:grid;gap:14px}
.mobile-report-shared{align-self:flex-start;border-radius:999px;background:#e8f2e5;color:#285d35;padding:5px 8px;font-size:10px;font-weight:800}
.published-report .report-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.published-report .report-metrics>span,.mobile-report-details div>span{display:flex;flex-direction:column;gap:3px;border:1px solid #e2e7df;border-radius:10px;background:#f8faf7;padding:10px}
.published-report .report-metrics small,.mobile-report-details small{color:#6d786d;font-size:10px}
.published-report .report-metrics b,.mobile-report-details b{color:#214f29;font-size:15px}
.mobile-report-details{border-top:1px solid #e3e8df;padding-top:10px}
.mobile-report-details summary{cursor:pointer;color:#285d35;font-weight:800}
.mobile-report-details div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
@media(max-width:420px){.published-report .report-metrics,.mobile-report-details div{grid-template-columns:1fr}}


/* 7B.4B.2B.1 — patient app report experience */
.mobile-report-profile{display:inline-flex;margin-top:7px;border-radius:999px;background:#fff3dc;color:#815a16;padding:5px 8px;font-size:10px;font-weight:800}
.mobile-published-report-content{display:grid;gap:10px}
.mobile-report-section{border:1px solid #e2e8df;border-radius:12px;background:#fbfcfa;overflow:hidden}
.mobile-report-section-open{padding:13px}
.mobile-report-section>summary{cursor:pointer;list-style:none;padding:13px 14px;color:#285d35;font-weight:800;display:flex;justify-content:space-between;gap:10px;align-items:center}
.mobile-report-section>summary::-webkit-details-marker{display:none}.mobile-report-section>summary:after{content:'+';font-size:18px;line-height:1;color:#6d786d}.mobile-report-section[open]>summary:after{content:'−'}
.mobile-report-section[open]>summary{border-bottom:1px solid #e5ebe3;background:#f5f8f3}.mobile-report-section-open>h3{margin:0 0 11px;font-size:14px;color:#285d35}.mobile-report-section-body{padding:0;color:#445248;font-size:12px;line-height:1.5}.mobile-report-section>summary+.mobile-report-section-body{padding:13px 14px}
.mobile-report-section-body [hidden]{display:none!important}.mobile-report-section-body h3,.mobile-report-section-body h4{color:#285d35;margin:12px 0 7px}.mobile-report-section-body p{margin:7px 0}.mobile-report-section-body small{color:#6d786d}.mobile-report-section-body b,.mobile-report-section-body strong{color:#234f2d}
.mobile-report-section-body .body-summary-grid,.mobile-report-section-body .growth-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-report-section-body .body-summary-metric,.mobile-report-section-body .growth-kpis>div,.mobile-report-section-body .body-icon-metric{grid-column:auto!important;border:1px solid #e2e7df;border-radius:10px;background:#fff;padding:10px;min-width:0}.mobile-report-section-body .body-summary-icon,.mobile-report-section-body .body-index-icon{display:none}.mobile-report-section-body .body-summary-label,.mobile-report-section-body .growth-kpis small{display:block;font-size:10px;color:#6d786d}.mobile-report-section-body .body-summary-metric>b,.mobile-report-section-body .growth-kpis>div>b{display:block;margin-top:3px;font-size:15px}.mobile-report-section-body .body-summary-delta,.mobile-report-section-body .growth-kpi-context{display:block;margin-top:4px;font-size:9px;color:#6d786d}
.mobile-report-section-body .body-reference-grid,.mobile-report-section-body .pediatric-growth-grid,.mobile-report-section-body .body-evolution{display:grid;grid-template-columns:1fr;gap:10px}.mobile-report-section-body .index-gauge-list{display:grid;gap:10px}.mobile-report-section-body .index-gauge{border:1px solid #e2e7df;border-radius:10px;background:#fff;padding:10px}.mobile-report-section-body .index-gauge-label{display:flex;align-items:center;gap:6px;margin-bottom:8px}.mobile-report-section-body .index-gauge-label .body-index-icon{display:none}.mobile-report-section-body .gauge-track{position:relative;height:9px;border-radius:999px;margin:16px 4px 8px}.mobile-report-section-body .gauge-current{position:absolute;top:-4px;width:3px;height:17px;background:#17221a;border-radius:2px}.mobile-report-section-body .gauge-threshold{position:absolute;top:-14px;transform:translateX(-50%);font-size:8px;color:#5f6c61}.mobile-report-section-body .gauge-threshold i{display:block;width:1px;height:22px;background:#69756a;margin:auto}.mobile-report-section-body .gauge-threshold b{font-size:8px}.mobile-report-section-body .index-gauge-value{display:block;margin-top:4px}.mobile-report-section-body .index-gauge-caption{display:block;margin-top:2px}.mobile-report-section-body .body-reference-item,.mobile-report-section-body .body-series,.mobile-report-section-body .growth-chart{border:1px solid #e2e7df;border-radius:10px;background:#fff;padding:10px;min-width:0;overflow:hidden}.mobile-report-section-body svg{display:block;max-width:100%;height:auto;margin:auto}.mobile-report-section-body .body-series svg,.mobile-report-section-body .growth-chart svg{width:100%}.mobile-report-section-body .body-series-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.mobile-report-section-body .body-series-head>div{text-align:right}.mobile-report-section-body .body-series-head small{display:block}
.mobile-report-section-body .body-tables{display:grid;gap:12px}.mobile-report-section-body .body-measure-table{overflow-x:auto}.mobile-report-section-body .body-measure-table-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.mobile-report-section-body table{width:100%;min-width:340px;border-collapse:collapse;font-size:11px}.mobile-report-section-body th,.mobile-report-section-body td{text-align:left;border-bottom:1px solid #e5ebe3;padding:8px 6px}.mobile-report-section-body th{color:#6d786d;font-size:9px}.mobile-report-section-body .body-method-note{margin-top:12px;padding:10px;border-radius:9px;background:#f3f6ee}.mobile-report-section-body .body-method-items{display:grid;gap:3px;margin-top:5px}.mobile-report-section-body .body-method-item{display:block}.mobile-report-section-body .body-reference-intro,.mobile-report-section-body .index-note,.mobile-report-section-body .body-summary-note{color:#6d786d;font-size:10px}
@media(max-width:420px){.mobile-report-section-body .body-summary-grid,.mobile-report-section-body .growth-kpis{grid-template-columns:1fr}}

/* 7B.5A.1 — authenticated patient messages */
.message-nav-badge{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#b14d35;color:#fff;font-size:9px;line-height:1}.mobile-message-inbox{padding:0;overflow:hidden}.mobile-message-inbox-head{display:flex;align-items:center;justify-content:space-between;padding:16px 17px;border-bottom:1px solid #e5ebe3}.mobile-message-inbox-head h2{margin:0}.mobile-message-inbox-head span{font-size:10px;color:#657267;background:#eef4ec;border-radius:999px;padding:6px 9px}.mobile-message-item{border-bottom:1px solid #e7ece5}.mobile-message-item:last-child{border-bottom:0}.mobile-message-item summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 17px;cursor:pointer}.mobile-message-item summary::-webkit-details-marker{display:none}.mobile-message-item summary span{display:grid;gap:3px}.mobile-message-item summary small{font-size:10px;color:#788479}.mobile-message-item summary b{font-size:14px;color:#2a4f31}.mobile-message-item summary i{font-style:normal;background:#dcefdc;color:#205b31;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.mobile-message-item.is-unread summary{background:#f6faf4}.mobile-message-detail{padding:0 17px 16px}.mobile-message-detail p{white-space:normal;line-height:1.55;margin:0 0 12px}.mobile-message-detail>small{display:block;color:#7a867b;font-size:10px;margin-top:10px}.mobile-message-material,.mobile-message-link{display:block;width:100%;margin:8px 0;text-align:left;text-decoration:none}.mobile-message-link{color:#285d35}.mobile-message-item.is-read summary b{font-weight:650}

/* 7B.4B.2B.1A — patient home and report polish */
.authenticated-mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.authenticated-mobile-nav button{min-width:0;padding:8px 2px}.authenticated-mobile-nav button i{font-size:14px}.authenticated-mobile-nav button span{font-size:8px;white-space:nowrap}
.mobile-today-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;margin:0;padding:14px 15px}.mobile-today-item>span:nth-child(2){display:grid;gap:3px;min-width:0}.mobile-today-item small{font-size:9px;letter-spacing:.08em;color:#788579}.mobile-today-item b{color:#285d35;font-size:14px}.mobile-today-item em{font-style:normal;font-size:11px;color:#68766a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-today-item>i{font-style:normal;font-size:22px;color:#78917d}.mobile-today-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf5ea;color:#285d35;font-size:17px}.mobile-today-clear{display:flex;align-items:center;gap:12px}.mobile-today-clear>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e7f3e5;color:#285d35;font-weight:900}.mobile-today-clear b{color:#285d35}.mobile-today-clear p{margin:3px 0 0;color:#718073;font-size:11px}
.mobile-report-summary>h3,.mobile-report-evolution>h3,.mobile-report-observation>h3{margin:14px 0 9px;color:#285d35;font-size:14px}.published-report .report-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.published-report .report-metrics>span{display:flex;flex-direction:column;gap:3px;border:1px solid #e2e7df;border-radius:10px;background:#f8faf7;padding:10px}.published-report .report-metrics small{color:#6d786d;font-size:10px}.published-report .report-metrics b{color:#214f29;font-size:15px}.mobile-growth-summary{display:grid;gap:8px;margin-top:8px}.mobile-growth-summary>span{display:grid;gap:4px;border:1px solid #e2e7df;border-radius:10px;background:#f8faf7;padding:11px}.mobile-growth-summary small{color:#6d786d;font-size:10px}.mobile-growth-summary b{color:#214f29;font-size:14px}.mobile-report-observation{margin-top:12px;padding:11px 12px;border-radius:10px;background:#f5f8f3}.mobile-report-observation p{margin:0;color:#445248;font-size:12px;line-height:1.5;white-space:pre-line}.mobile-evolution-grid{display:grid;grid-template-columns:1fr;gap:9px}.mobile-evolution-card{border:1px solid #e2e7df;border-radius:11px;background:#fbfcfa;padding:10px;overflow:hidden}.mobile-evolution-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mobile-evolution-head>div{display:grid;gap:2px}.mobile-evolution-head b{color:#285d35;font-size:12px}.mobile-evolution-head small{color:#7a867b;font-size:9px}.mobile-evolution-head strong{font-size:13px;color:#214f29}.mobile-evolution-card svg{display:block;width:100%;height:auto;margin-top:7px}.mobile-chart-axis{stroke:#d7dfd5;stroke-width:1}.mobile-chart-line{stroke:#2d6a3e;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.mobile-chart-point{fill:#2d6a3e}.mobile-chart-dates{display:flex;justify-content:space-between;color:#7a867b;font-size:9px;margin-top:2px}
@media(min-width:560px){.mobile-evolution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 7B.4B.2B.5.6.5 — patient bidirectional messaging */
.mobile-message-compose{padding:16px}.mobile-message-compose h2{margin:0 0 12px}.mobile-message-compose form{display:grid;gap:9px}.mobile-message-compose input,.mobile-message-compose textarea{width:100%;box-sizing:border-box;border:1px solid #d9e2d7;border-radius:10px;padding:11px;font:inherit}.mobile-message-compose textarea{resize:vertical}.mobile-message-item.from-patient{margin-left:12%;background:#f1f6ef}.mobile-message-item.from-professional{margin-right:12%}.mobile-message-item.from-patient summary b{color:#46604c}.mobile-message-item.from-patient .mobile-message-detail>small{font-weight:700}@media(max-width:380px){.mobile-message-item.from-patient{margin-left:7%}.mobile-message-item.from-professional{margin-right:7%}}
