.patient-mobile-header,.patient-bottom-nav{display:none}.patient-app{background:#f7f9f8}.patient-app .app-sidebar{height:100dvh;box-shadow:none;position:sticky;top:0;overflow-y:auto}.patient-app .app-main{min-width:0}.patient-app :is(h1,h2,h3,p,strong,a,label){overflow-wrap:anywhere}.patient-app :is(.dashboard-card,.admin-form,.folder-card,.content-card,.appointment-card,.onboarding-card){box-shadow:none;border-radius:8px;min-width:0}.patient-app :is(button,input,select,textarea,a):focus-visible,.patient-menu-dialog :is(button,a,summary):focus-visible{outline-offset:3px;outline:2px solid #a10d8d}.patient-app :is(input,select,textarea),.patient-booking-picker select{min-width:0;max-width:100%}.patient-app :is(input,select,textarea){font-weight:400}.patient-app label{font-weight:650}.patient-app .dashboard-card{min-height:0}.patient-app .compact-list{overflow-wrap:anywhere;gap:8px;font-size:14px;display:grid}.patient-app .progress-charts{grid-template-columns:minmax(0,1fr)}.patient-app .progress-charts .patient-compact-details{margin:0}.patient-food-alternatives>summary{cursor:pointer;color:#a10d8d;min-height:44px;padding:12px 0;font-size:14px}.patient-app .activity-bar-track,.patient-app .activity-bar-track span{border-radius:4px}.patient-app .activity-bar-track span{background:#459384}.checkout-plan-summary{border-bottom:1px solid var(--line);gap:8px;padding-bottom:16px;display:grid}.patient-app :is(.primary-action,.secondary-action,.secondary-admin-action){min-height:44px;box-shadow:none;border-radius:6px}.patient-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.patient-home-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:12px;min-width:0;padding:22px;display:grid}.patient-home-card h2{margin:0;font-size:22px}.patient-home-card p{color:var(--ink-soft);margin:0;font-size:14px}.patient-home-label{color:#34695a;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.patient-home-card .primary-action{justify-self:start}.patient-home-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.patient-home-links a{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:64px;padding:12px;font-size:14px;font-weight:700;display:flex}.patient-home-links svg{color:#a10d8d;flex-shrink:0}.patient-home-resources{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:20px;display:grid}.patient-home-resources h2{margin:0 0 10px;font-size:18px}.patient-home-resources p{color:var(--ink-soft);font-size:14px}.patient-home-resources a{color:#a10d8d;align-items:center;min-height:44px;font-weight:650;display:inline-flex}.patient-compact-details{border-top:1px solid var(--line);min-width:0;margin:20px 0}.patient-compact-details>summary{cursor:pointer;padding:16px 0;font-size:16px;font-weight:700}.patient-form-steps{gap:20px;width:100%;min-width:0;display:grid}.patient-step-heading h2{margin:6px 0 12px;font-size:22px}.patient-step-heading progress{accent-color:#b01897;width:100%;height:6px;display:block}.patient-form-step{gap:16px;min-width:0;display:grid}.patient-form-step[hidden],.patient-diet-day[hidden]{display:none}.patient-step-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;padding-top:16px;display:flex}.patient-step-actions :is(button,a){border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.patient-step-actions .full{width:auto}.patient-step-actions svg{flex-shrink:0}.patient-booking-picker{gap:16px;display:grid}.patient-booking-picker>label{gap:8px;font-weight:650;display:grid}.patient-booking-picker select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:6px;padding:10px;font-size:16px}.patient-booking-picker fieldset{border:0;min-width:0;margin:0;padding:0}.patient-booking-picker legend{margin-bottom:10px;font-size:14px}.patient-booking-times{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;display:grid}.patient-booking-times label{position:relative}.patient-booking-times input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.patient-booking-times span{border:1px solid var(--line);background:#fff;border-radius:6px;place-items:center;min-height:46px;display:grid}.patient-booking-times input:checked+span{color:#960e82;background:#fbe8f7;border-color:#a10d8d;font-weight:700}.patient-booking-times input:focus-visible+span{outline-offset:2px;outline:2px solid #a10d8d}.patient-booking-selection{min-height:24px;margin:0;font-size:14px}.patient-booking-picker button:disabled{opacity:.55;cursor:not-allowed}.patient-diet-picker{gap:8px;margin:16px 0;font-size:14px;font-weight:700;display:grid}.patient-diet-picker select{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:6px;padding:10px;font-size:16px}.patient-diet-day{gap:12px;display:grid}.patient-app .assigned-diet-detail>summary{min-height:48px}.patient-app .assigned-diet-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:none;font-family:inherit;font-size:14px}.patient-menu-dialog{border:1px solid var(--line);width:min(460px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--ink);overscroll-behavior:contain;background:#fff;border-radius:8px;padding:0}.patient-menu-dialog::backdrop{background:#201d284d}.patient-menu-content{padding:20px}.patient-menu-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.patient-menu-heading h2{margin:0;font-size:22px}.patient-icon-button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.patient-menu-content nav{gap:2px;display:grid}.patient-menu-content nav a{border-radius:6px;align-items:center;gap:12px;min-height:48px;padding:8px;font-size:15px;display:flex}.patient-menu-content nav a[aria-current]{color:#960e82;background:#fbe8f7}.patient-install{border-block:1px solid var(--line);margin:12px 0;padding:12px 0}.patient-install summary,.patient-installed{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:15px;display:flex}.patient-install p{color:var(--ink-soft);font-size:14px;line-height:1.5}.patient-install button{justify-content:center;align-items:center;gap:10px;width:100%;min-height:44px;display:flex}.patient-logout{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;min-height:44px;padding:12px 8px;font-size:14px;display:flex}@media (max-width:980px){.patient-app{display:block}.patient-app>.app-sidebar{display:none}.patient-mobile-header{padding:calc(8px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex}.patient-mobile-brand{align-items:center;gap:8px;font-size:14px;font-weight:800;display:inline-flex}.patient-mobile-brand img{object-fit:contain}.patient-bottom-nav{z-index:40;padding:4px env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.patient-bottom-nav :is(a,button){color:#62666b;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:60px;padding:6px 2px;font-size:11px;font-weight:650;display:flex}.patient-bottom-nav :is([aria-current],.is-active){color:#a10d8d;background:#fdf3fa}.patient-app .app-main{padding:20px max(16px, env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.patient-app .app-topbar{flex-direction:column;gap:10px;margin-bottom:20px}.patient-app .app-topbar h1{font-size:26px;line-height:1.15}.patient-app :is(h2,h3){font-size:20px}.patient-app .status-pill{white-space:normal;height:auto;min-height:30px;padding:6px 10px;font-size:12px;line-height:1.4}.patient-app .page-intro{margin:10px 0 0;font-size:14px;line-height:1.5}.patient-app :is(input,select,textarea){min-height:44px;font-size:16px}.patient-app input:is([type=checkbox],[type=radio]){min-height:22px}.patient-app :is(.primary-action,.secondary-action,.ghost-action){font-size:14px}.patient-app :is(.profile-layout,.appointment-layout,.nutrition-layout,.progress-layout,.onboarding-grid){grid-template-columns:minmax(0,1fr);gap:20px}.patient-app :is(.nutrition-entry-form,.progress-form){position:static}.patient-app :is(.admin-form,.dashboard-card,.folder-card,.booking-card,.onboarding-card,.appointment-card){padding:16px}.patient-app :is(.profile-form,.nutrition-entry-form){background:0 0;border:0;padding:0}.patient-app :is(.folder-grid,.content-grid){grid-template-columns:repeat(2,minmax(0,1fr))}.patient-app .folder-grid:has(.assigned-diet-detail){grid-template-columns:minmax(0,1fr)}.patient-app .onboarding-reminder{gap:12px;margin-bottom:16px;display:grid}.patient-app .onboarding-reminder p{margin:0}.patient-app .onboarding-reminder h3{margin:4px 0 8px}.patient-app .booking-card-header{flex-direction:column;align-items:flex-start;gap:8px}.patient-app .booking-card-header h3{margin:0}.patient-app .booking-card-header p{font-size:14px}.patient-app .appointment-layout{flex-direction:column-reverse;display:flex}.patient-app .appointment-section{width:100%;min-width:0}.patient-app .appointment-card{gap:12px}.patient-app .appointment-card h2{font-size:18px}.patient-app .progress-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-app .progress-summary-grid .dashboard-card{padding:12px}.patient-app .progress-charts{grid-template-columns:minmax(0,1fr)}.patient-app .progress-chart-card{min-height:0}.patient-app .progress-form{order:-1}.patient-app .patient-progress-entry{order:-1;margin:0}.patient-app .patient-progress-entry .form-grid.two,.patient-app .profile-form .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-app .profile-form label:has(#full_name,#email_display){grid-column:1/-1}.patient-app .folder-card{background:0 0;border:0;padding:0}.patient-app .assigned-diet-detail{background:0 0;border:0;border-radius:0;padding:0}.patient-app .assigned-diet-detail>summary{border-bottom:1px solid var(--line);padding:12px 0}.patient-app .diet-exchange-list{border:0;margin:0;padding:0}.patient-app .assigned-diet-detail .patient-compact-details{border-top:0;margin:0}.patient-app .diet-exchange-item{background:#fff;border-radius:6px}.patient-app .content-preview{display:none}.patient-app .content-card{padding:16px}.patient-app .content-card h2{font-size:18px}.patient-app .notification-card{grid-template-columns:minmax(0,1fr);padding:16px}.patient-app .notification-card button{min-height:44px}.patient-app .diet-exchange-item{padding:12px}.patient-app .diet-exchange-current,.patient-app .diet-exchange-form,.patient-app .plan-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.patient-home-grid{grid-template-columns:minmax(0,1fr);gap:12px}.patient-home-card{gap:10px;padding:16px}.patient-home-card h2{font-size:20px}.patient-home-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.patient-home-resources{grid-template-columns:minmax(0,1fr);gap:16px}.patient-app :is(.folder-grid,.content-grid),.patient-app .form-grid.two{grid-template-columns:minmax(0,1fr)}.patient-app .nutrition-entry-form .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-app .progress-summary-grid{grid-template-columns:minmax(0,1fr);gap:8px}.patient-app .progress-summary-grid .dashboard-card{grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.patient-app .progress-summary-grid p{grid-column:1/-1;margin:0;font-size:13px}.patient-app .progress-summary-grid h3{margin:0;font-size:18px}.patient-app .activity-bars{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.patient-app .activity-bar-item strong,.patient-app .activity-bar-item small{font-size:10px}.patient-app .progress-table>div:not(.table-head){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:14px}.patient-app .progress-table>.table-head{display:none}.patient-app .progress-table [data-label]:before{content:attr(data-label);color:var(--ink-soft);margin-bottom:4px;font-size:12px;display:block}.patient-app .progress-table>div>span:first-child{grid-column:1/-1}.patient-step-actions{flex-wrap:wrap;gap:8px}.patient-step-actions button{flex:1;padding:10px 12px;font-size:14px}.public-checkout-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){min-width:0;font-size:16px}.public-checkout-form :is(.form-grid.two,.payment-plan-options){grid-template-columns:minmax(0,1fr)}.public-checkout-form{min-width:0}.public-checkout-form h3{font-size:24px}}.patient-progress-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.patient-progress-actions .primary-action{min-height:44px;box-shadow:none;text-align:center;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;display:inline-flex}.patient-progress-actions .primary-action svg{flex-shrink:0}.patient-progress-entry{scroll-margin-block:20px 90px}.family-patient-selector{border-bottom:1px solid #e6e2e8;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.family-patient-selector label{gap:4px;width:min(100%,360px);display:grid}.family-patient-selector select{width:100%;min-width:0}
