/* Desktop layout stays intact; the mobile view has one clear task at a time. */
.pc-mobile-step,.pc-mobile-progress{display:none}
#patient-calendar .pc-primary-next{display:none}
#patient-mobile-simple-nav{display:none}
@media screen and (max-width:760px){
 body.patient-mobile-simple>main{box-sizing:border-box;padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}
 body.patient-mobile-simple #app{scroll-padding-bottom:20px;min-width:0}
 body.patient-mobile-simple #patient-mobile-simple-nav{position:fixed;inset:auto 0 0;z-index:1120;display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:5px;box-sizing:border-box;padding:7px max(8px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#fff;border-top:1px solid #c8d9cf;box-shadow:0 -3px 14px #143b2912}
 #patient-mobile-simple-nav>button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:54px;height:auto;margin:0;padding:6px;border:0;border-radius:9px;background:#f2f6f3;color:#294c3c;font:600 13px/1.3 system-ui,sans-serif;white-space:normal}
 #patient-mobile-simple-nav>button[aria-current=page]{background:#dfefe6;color:#145c42;box-shadow:inset 0 -3px #1e7052}
 #patient-mobile-simple-nav>button[data-pm-nav=booking]{background:#1d6c50;color:#fff}
 #patient-mobile-simple-nav>button:focus-visible{outline:3px solid #438469;outline-offset:1px}
 #patient-mobile-simple-nav [data-pm-count]{display:inline-grid;place-items:center;min-width:19px;min-height:19px;padding:1px 4px;border-radius:12px;background:#934d0d;color:#fff;font-size:12px}
 #patient-mobile-simple-nav [hidden]{display:none!important}
 body.patient-mobile-simple[data-pm-view=overview] #patient-mobile-actions,
 body.patient-mobile-simple[data-pm-view=appointments] #patient-mobile-actions{display:none!important}
 body.patient-mobile-simple #patient-dashboard .patient-dashboard-greeting{display:block;margin:0 0 14px}
 body.patient-mobile-simple #patient-dashboard .patient-dashboard-greeting h1{font-size:22px;line-height:1.3}
 body.patient-mobile-simple #patient-dashboard .patient-dashboard-header-actions{max-width:none;width:auto;margin-top:8px}
 body.patient-mobile-simple #patient-dashboard .patient-appointments-shortcut{display:none}
 body.patient-mobile-simple #patient-dashboard .patient-main-request{padding:16px;border:1px solid #c3d9cd;border-radius:12px;background:#f2f8f4;margin:0 0 18px}
 body.patient-mobile-simple #patient-dashboard .patient-main-request h2{font-size:19px;margin:0 0 8px}
 body.patient-mobile-simple #patient-dashboard .patient-main-request p{font-size:14px;line-height:1.5;margin:8px 0 12px}
 body.patient-mobile-simple #patient-dashboard [data-dashboard-appointment-primary]{width:100%;min-height:54px;margin:0;font-size:17px;border-radius:9px}
 body.patient-mobile-simple #patient-dashboard .patient-dashboard-appointment-routes{grid-template-columns:minmax(0,1fr)}
 body.patient-mobile-simple [data-pm-summary]{display:grid;gap:10px;padding-bottom:12px}
 body.patient-mobile-simple [data-pm-summary]>h2{font-size:18px;margin:8px 0 0;color:#254c3a}
 body.patient-mobile-simple .pm-home-card{padding:14px;border:1px solid #cbdcd1;border-radius:11px;background:#fff;min-width:0}
 body.patient-mobile-simple .pm-home-card h3{font-size:16px;line-height:1.4;margin:9px 0 5px;overflow-wrap:anywhere}
 body.patient-mobile-simple .pm-home-card p{font-size:14px;line-height:1.6;margin:0 0 12px;overflow-wrap:anywhere}
 body.patient-mobile-simple .pm-home-card button,body.patient-mobile-simple .pm-message-button{min-height:46px;width:100%;margin:0;font-size:14px;white-space:normal}
 body.patient-mobile-simple .pm-status{display:inline-block;padding:4px 8px;background:#edf3ef;color:#305843;border-radius:6px;font-size:13px;font-weight:650;line-height:1.4}
 body.patient-mobile-simple .pm-needs{background:#fff0d7;color:#814911;border:1px solid #e2bf84}
 body.patient-mobile-simple #patient-calendar.pc-sidebar-layout .pc-split-workspace{gap:8px}
 body.patient-mobile-simple #patient-calendar.pc-sidebar-layout .pc-list-headerbar{padding:8px}
 body.patient-mobile-simple #patient-calendar .pc-selection-buttons{flex-wrap:wrap;overflow:visible;gap:6px}
 body.patient-mobile-simple #patient-calendar .pc-selection-buttons>button,
 body.patient-mobile-simple #patient-calendar .pc-selection-buttons .pc-disabled-action>button{min-height:44px;font-size:14px;flex:1 1 auto}
 body.patient-mobile-simple #patient-calendar .pc-selection-buttons>.pc-disabled-action{display:none}
 body.patient-mobile-simple #patient-calendar .pc-selection-actions:not(.has-selection){padding:8px;background:#f3f7f4}
 body.patient-mobile-simple #patient-calendar .pc-selection-actions:not(.has-selection) .pc-selection-buttons{display:none}
 body.patient-mobile-simple #patient-calendar .pc-selection-actions .pc-selection-copy strong{font-size:14px}
 body.patient-mobile-simple #patient-calendar .pc-primary-next{display:block;flex-basis:100%;background:#1d6c50;color:#fff;border-color:#1d6c50}
 body.patient-mobile-simple #patient-calendar.pc-mobile-pane-open .pc-split-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"actions" "details";overflow:hidden}
 body.patient-mobile-simple #patient-calendar.pc-mobile-pane-open :is(.pc-appointments-menu,.pc-list-headerbar,.pc-appointments-main){display:none!important}
 body.patient-mobile-simple #patient-calendar.pc-mobile-pane-open .pc-sidepanel{grid-area:details;min-height:0;width:100%;margin:0;border-radius:10px}
 body.patient-mobile-simple #patient-calendar.pc-mobile-pane-open [data-pc-pane-body]{padding:12px;overflow-y:auto;overscroll-behavior:contain}
 body.patient-mobile-simple #patient-calendar .pc-sidepanel-heading{align-items:center;min-height:48px;padding:7px 10px}
 body.patient-mobile-simple #patient-calendar .pc-sidepanel-heading h2{font-size:16px}
 body.patient-mobile-simple #patient-calendar .pc-sidepanel-heading button{font-size:14px;min-height:44px}
 body.patient-mobile-simple #patient-calendar .pc-mobile-progress{display:flex;list-style:none;gap:6px;padding:0;margin:12px 0;font-size:13px;color:#566d60}
 body.patient-mobile-simple #patient-calendar .pc-mobile-progress li{flex:1;padding:7px 5px;border-radius:6px;background:#edf2ef;text-align:center}
 body.patient-mobile-simple #patient-calendar .pc-mobile-progress [aria-current=step]{background:#dcefe4;color:#185b40;font-weight:700}
 body.patient-mobile-simple #patient-calendar .pc-booking-grid{display:block;min-width:0}
 body.patient-mobile-simple #patient-calendar .pc-booking-grid>.pc-review{display:none}
 body.patient-mobile-simple #patient-calendar.pc-mobile-review-ready .pc-booking-grid>.pc-picker{display:none}
 body.patient-mobile-simple #patient-calendar.pc-mobile-review-ready .pc-booking-grid>.pc-review{display:block}
 body.patient-mobile-simple #patient-calendar .pc-mobile-step{display:block;width:100%;min-height:48px;margin:14px 0 0;font-size:16px}
 body.patient-mobile-simple #patient-calendar .pc-review>.pc-mobile-step{margin:0 0 12px}
 body.patient-mobile-simple #patient-calendar :is(.pc-picker,.pc-review){padding:12px;margin:0}
 body.patient-mobile-simple #patient-calendar :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;max-width:100%;box-sizing:border-box}
 body.patient-mobile-simple #patient-calendar .pc-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 body.patient-mobile-simple #patient-calendar .pc-times button{min-width:0;min-height:44px;margin:0;font-size:16px}
 body.patient-mobile-simple #patient-calendar [data-pc-action=book]{width:100%;min-height:50px;font-size:16px;white-space:normal}
}
@media print{#patient-mobile-simple-nav,[data-pm-summary],.pc-mobile-step,.pc-mobile-progress{display:none!important}}
@media screen and (max-width:760px){
 body.patient-mobile-simple #patient-calendar .pc-status[data-pc-confirmation=practice]{--status-bg:#eff3f1;--status-text:#435f50;--status-border:#c6d6cc;--status-accent:#839b8c}
 body.patient-mobile-simple #patient-calendar .pc-status[data-pc-confirmation=patient],body.patient-mobile-simple #patient-calendar .pc-status[data-pc-confirmation=data]{--status-bg:#fff3df;--status-text:#794510;--status-border:#e0bd80;--status-accent:#bd7929}
}

@media screen and (max-width:760px){
 body.patient-mobile-simple #patient-mobile-simple-nav>button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(29,108,80,.15)}
 body.patient-mobile-simple.portal-fullscreen-active>main{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}
}
@media screen and (max-width:760px) and (display-mode:standalone){
 body.patient-mobile-simple>footer{padding-bottom:calc(85px + env(safe-area-inset-bottom,0px))}
}
