/* Patient portal refinement layer — preserves existing layout and behavior */
:root{--portal-focus:0 0 0 4px rgba(11,163,156,.17)}
body{font-size:15px;text-rendering:optimizeLegibility}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--primary-2);outline-offset:2px;box-shadow:var(--portal-focus)}
button,input,select,textarea{font-size:1rem}
.patient-header-inner,.portal-panel,.booking-shell,.auth-card{border-color:color-mix(in srgb,var(--line) 82%,var(--primary) 18%)}
.patient-nav a{font-size:.78rem}.patient-brand small,.patient-account small{font-size:.7rem}
.panel-head h2,.portal-panel h2{line-height:1.5}.panel-head p,.portal-panel p{line-height:1.9}
.portal-field label,.booking-form label,.profile-form label{font-size:.76rem;font-weight:800}
.portal-field input,.portal-field select,.portal-field textarea,.booking-form input,.booking-form select,.booking-form textarea{min-height:46px;border-radius:14px}
.portal-button,.booking-submit,.patient-booking-action{min-height:46px}
.responsive-table th{font-size:.72rem}.responsive-table td{font-size:.8rem}
.portal-alert{border:1px solid color-mix(in srgb,currentColor 14%,transparent);box-shadow:0 8px 24px rgba(19,62,61,.05)}
.patient-drawer{padding-bottom:max(18px,env(safe-area-inset-bottom))}
.mobile-magic-nav{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:900px){.patient-header{padding-inline:12px}.patient-header-inner{height:72px;border-radius:20px}.patient-brand-mark{width:50px;height:50px}.patient-brand-mark img{width:42px;height:42px}.portal-main{padding-inline:14px}}
@media(max-width:640px){body{font-size:14.5px}.welcome-card{border-radius:24px}.metric-grid{gap:10px}.metric-card{min-height:110px;padding:15px}.booking-form{padding:19px 16px 22px}.portal-panel{border-radius:19px}.responsive-table th,.responsive-table td{padding:13px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.patient-booking-action:hover,.metric-card:hover{transform:none!important}}
