:root{--nh:#00B08A;--nh-light:#64CDB7;--nh-dark:#006B55;--nh-soft:#E7F7F3;--ink:#163C35;--muted:#5F756F;--line:#D5E6E1}
body{background:radial-gradient(circle at 8% 0,#d9f0f1 0,transparent 30%),linear-gradient(145deg,#f1f7f7,#fbfcfc)}
.auth-wide{width:min(520px,calc(100% - 28px));margin:6vh auto}.auth-brand{display:flex;align-items:center;gap:14px}.auth-brand h1{margin:0}.auth-brand p,.auth-intro{color:var(--muted)}.auth-intro{margin:24px 0 8px}.full{width:100%}.text-button{display:block;margin:16px auto 0;border:0;background:transparent;color:var(--nh);font-weight:800;cursor:pointer}.text-link{display:block;margin-top:18px;color:var(--nh);font-weight:800}.security-note{display:flex;gap:10px;margin-top:24px;padding:14px;border-radius:13px;background:#f0f7f8;color:#536d77;font-size:13px}.security-note p{margin:0}.compact-dialog{max-width:500px}
.profile-entry{position:fixed;z-index:10;top:24px;right:28px;display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid rgba(8,107,128,.22);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(23,52,66,.12);color:var(--nh-dark);font-size:13px;font-weight:850;text-decoration:none;backdrop-filter:blur(10px);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.profile-entry strong{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--nh);color:#fff}.profile-entry:hover{transform:translateY(-2px);border-color:var(--nh);box-shadow:0 14px 32px rgba(23,52,66,.17)}.profile-entry:focus-visible{outline:3px solid rgba(8,107,128,.28);outline-offset:3px}
.patient-shell{width:min(1240px,calc(100% - 32px))}.patient-topbar{margin-bottom:20px}.patient-hero{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:32px;border-radius:24px;background:linear-gradient(120deg,#006B55,#00866A);color:#fff;box-shadow:0 18px 44px rgba(10,72,88,.18)}.patient-hero h2{font-size:clamp(28px,5vw,44px);margin:3px 0}.patient-hero p{margin:0;color:#d5e9ed}.eyebrow-light{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:900;color:#a9dce3}.doctor-chip{min-width:230px;padding:14px 16px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);border-radius:16px}.doctor-chip span,.doctor-chip small{display:block;color:#d3e7ea;font-size:12px}.doctor-chip strong{display:block;margin:3px 0}
.patient-hero,.patient-primary-module,.patient-layout>section{scroll-margin-top:92px}.patient-primary-module{margin:18px 0;padding:28px;border-color:#b8ded1;background:linear-gradient(145deg,#fff 0%,#f1fbf7 100%);box-shadow:0 16px 38px rgba(18,109,94,.1)}.patient-primary-module .section-icon{color:#fff;background:linear-gradient(145deg,var(--nh),var(--nh-dark));box-shadow:0 7px 18px rgba(18,109,94,.2)}.module-kicker{display:block;margin-bottom:4px;color:var(--nh);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.health-metric{position:relative;overflow:hidden;padding:18px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 22px rgba(23,52,66,.05)}.health-metric:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-24px;top:-26px;background:var(--nh-soft)}.metric-label{display:block;color:var(--muted);font-size:12px;font-weight:800}.metric-value{display:block;margin:5px 0;font-size:25px;font-weight:900;color:var(--nh-dark)}.metric-detail{font-size:12px;color:var(--muted)}
.patient-layout{display:grid;gap:18px}.patient-layout>.card{padding:26px}.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.section-heading h2{margin:0}.section-heading p{margin:2px 0;color:var(--muted)}.section-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--nh-soft);color:var(--nh);font-size:12px;font-weight:900}.personal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.personal-item{padding:14px;background:#f7fafb;border:1px solid #e5edef;border-radius:13px}.personal-item span{display:block;color:var(--muted);font-size:12px}.personal-item strong{display:block;margin-top:4px;overflow-wrap:anywhere}
.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.visual-card{min-height:260px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f9fcfc)}.visual-card h3{margin:0}.visual-subtitle{color:var(--muted);font-size:12px}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0;font-size:12px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.line-chart{width:100%;height:170px;overflow:visible}.chart-grid{stroke:#dce8ea;stroke-width:1}.chart-label{fill:#71858d;font-size:10px}.chart-date-label{font-size:11px;font-weight:700}.chart-empty{display:grid;place-items:center;height:170px;color:var(--muted);text-align:center}.gauge-wrap{display:grid;place-items:center;padding-top:12px}.risk-gauge{--risk:0;position:relative;display:grid;place-items:center;width:155px;height:78px;overflow:hidden}.risk-gauge:before{content:"";position:absolute;inset:0;border-radius:155px 155px 0 0;background:conic-gradient(from 270deg at 50% 100%,#4aa889 0deg,#e7b953 65deg,#c95858 130deg,#e8eff0 130deg 180deg)}.risk-gauge:after{content:"";position:absolute;left:24px;right:24px;bottom:-1px;height:54px;border-radius:120px 120px 0 0;background:#fff}.gauge-needle{position:absolute;z-index:2;left:50%;bottom:0;width:3px;height:60px;background:var(--nh-dark);transform-origin:50% 100%;transform:rotate(calc(-90deg + min(var(--risk),30)*6deg));border-radius:3px}.gauge-value{position:relative;z-index:3;margin-top:40px;font-size:22px;font-weight:900;color:var(--nh-dark)}
.clinical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clinical-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfdfd}.clinical-card.wide{grid-column:1/-1}.clinical-card-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.clinical-card-head span{color:var(--muted);font-size:12px}.result-list{display:grid;gap:8px}.result-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #e7eef0}.result-row:last-child{border-bottom:0}.result-row span{color:#526d77}.result-row strong{text-align:right}.result-row.alert strong{color:#a44628}.plan-block{padding:12px 0;border-bottom:1px solid #e7eef0}.plan-block:last-child{border:0}.plan-block h4{margin:0 0 5px;color:var(--nh-dark)}.plan-block p{margin:0;white-space:pre-wrap}.appointment-section table{min-width:760px}.pill{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--nh-soft);color:var(--nh);font-size:11px;font-weight:900}
@media(max-width:920px){.metric-grid,.personal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-grid{grid-template-columns:1fr}}
@media(max-width:620px){.profile-entry{top:12px;right:14px;padding:9px 12px}.auth-wide{margin-top:72px}.patient-shell{width:min(100% - 18px,1240px)}.patient-hero{align-items:flex-start;flex-direction:column;padding:23px}.doctor-chip{width:100%;min-width:0}.metric-grid,.personal-grid,.clinical-grid{grid-template-columns:1fr}.patient-layout>.card{padding:18px}.clinical-card.wide{grid-column:auto}.patient-topbar .actions{display:grid}.patient-topbar .actions .button{width:100%}}
.nutrition-patient-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding:13px 15px;border-radius:11px;background:#eef8f4;color:#315e51}
.nutrition-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px}
.nutrition-targets>div{display:grid;gap:5px;padding:16px;border:1px solid #d6e7e0;border-radius:12px;background:#fbfdfc}
.nutrition-targets span{font-size:12px;color:#647b73}.nutrition-targets strong{font-size:20px;color:#174c3e}
.nutrition-patient-section h3{margin:0 0 12px;color:#183f35}
.nutrition-diary-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:30px 0 16px;padding-top:24px;border-top:1px solid var(--line)}.nutrition-diary-head p{margin:4px 0 0;color:var(--muted)}.nutrition-diary-head label{display:grid;gap:6px;min-width:170px;color:var(--muted);font-size:12px;font-weight:800}
.nutrition-day-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.nutrition-day-progress>div{display:grid;gap:4px;padding:14px;border:1px solid #d6e7e0;border-radius:13px;background:#f8fcfa}.nutrition-day-progress span,.nutrition-day-progress small{color:var(--muted);font-size:11px}.nutrition-day-progress strong{font-size:18px;color:var(--nh-dark)}.nutrition-day-progress i{height:6px;overflow:hidden;border-radius:99px;background:#dcebe6}.nutrition-day-progress b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--nh),var(--nh-light))}
.nutrition-entry-form{display:grid;grid-template-columns:150px minmax(240px,1.7fr) 130px minmax(180px,1fr);gap:12px;align-items:end;padding:18px;border:1px solid #cfe5dc;border-radius:16px;background:#f4fbf8}.nutrition-entry-form label{display:grid;gap:6px;color:#315e51;font-size:12px;font-weight:800}.nutrition-entry-form .button{align-self:end}.nutrition-food-field{position:relative}.nutrition-food-suggestions{position:absolute;z-index:12;top:100%;left:0;right:0;max-height:320px;overflow:auto;border:1px solid #bedbd0;border-radius:12px;background:#fff;box-shadow:0 16px 36px rgba(23,60,53,.16)}.nutrition-food-suggestions button{display:grid;width:100%;gap:3px;padding:11px 13px;border:0;border-bottom:1px solid #e4efeb;background:#fff;color:var(--ink);text-align:left}.nutrition-food-suggestions button:hover{background:#edf8f4}.nutrition-food-suggestions small{color:var(--muted)}.nutrition-selected-food{grid-column:1/-2;display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;min-height:42px;padding:10px 12px;border-radius:10px;background:#fff;color:var(--muted);font-size:12px}.nutrition-selected-food strong{color:var(--nh-dark)}.nutrition-entry-form .message{grid-column:1/-1;margin:0}
.nutrition-diary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);gap:18px;margin-top:22px}.nutrition-diary-grid>section{min-width:0;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.nutrition-entry-list{display:grid;gap:9px}.nutrition-entry-list article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px;border:1px solid #e0ebe7;border-radius:12px;background:#fbfdfc}.nutrition-entry-list article>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;align-items:center}.nutrition-entry-list article small{grid-column:2;color:var(--muted)}.nutrition-entry-list article>div:last-child{display:flex;align-items:center;gap:8px}.nutrition-reviewed,.nutrition-pending{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.nutrition-reviewed{background:#e4f5ed;color:#26704e}.nutrition-pending{background:#fff3d8;color:#8a5a0a}.nutrition-source-note{margin-top:16px}
@media(max-width:960px){.nutrition-entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-selected-food{grid-column:1/-1}.nutrition-diary-grid{grid-template-columns:1fr}}
@media(max-width:720px){.nutrition-targets,.nutrition-day-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-diary-head{align-items:stretch;flex-direction:column}.nutrition-diary-head label{min-width:0}.nutrition-entry-form{grid-template-columns:1fr}.nutrition-entry-list article{align-items:flex-start;flex-direction:column}.nutrition-entry-list article>div:last-child{width:100%;justify-content:space-between}}
.patient-app-nav{display:none}.install-steps{display:grid;gap:13px;margin:22px 0;padding-left:24px;color:var(--ink);line-height:1.45}.app-install-note{margin:0}.app-install-note.security-note{display:block}
@media(max-width:760px),(display-mode:standalone){body{padding-bottom:82px}.patient-footer{padding-bottom:22px}.patient-app-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px max(6px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top:1px solid #cfe1db;background:rgba(255,255,255,.97);box-shadow:0 -12px 30px rgba(20,66,55,.12);backdrop-filter:blur(16px)}.patient-app-nav a{min-width:0;display:grid;place-items:center;gap:3px;padding:5px 2px;border-radius:10px;color:#657a74;font-size:9px;font-weight:850;text-decoration:none}.patient-app-nav a span{font-size:20px;line-height:1}.patient-app-nav a.active{color:var(--nh-dark);background:var(--nh-soft)}.patient-primary-module{padding:19px;margin-top:13px}.patient-topbar{position:static;padding:10px 4px;background:transparent;border:0}.patient-header-logo{max-height:47px}.patient-topbar .actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.patient-topbar #request-appointment{display:none}.patient-topbar .button{min-height:36px;padding:7px 10px;font-size:11px}}
