.patient-app-body{--patient-bg: #f5f2eb;--patient-bg-2: #e5ece8;--patient-surface: #fffdf8;--patient-line: rgba(18, 63, 70, 0.14);--patient-text: #172326;--patient-muted: #68777a;--patient-accent: #123f46;--patient-accent-2: #6f8067;--patient-danger: #bf4a3a;min-height:100vh;color:var(--patient-text);background:radial-gradient(circle at top left, rgba(18,63,70,0.2), transparent 42%),radial-gradient(circle at 80% 8%, rgba(111,128,103,0.16), transparent 34%),linear-gradient(160deg, var(--patient-bg), var(--patient-bg-2));font-family:"Space Grotesk", "Helvetica Neue", sans-serif}.patient-app-body [hidden]{display:none !important}.patient-app-topbar{position:fixed;inset:0 0 auto;z-index:32;height:3rem;display:grid;grid-template-columns:2.5rem minmax(0, 1fr) 2.5rem;align-items:center;gap:0.5rem;padding:0.375rem 0.75rem;border-bottom:1px solid var(--patient-line);background:rgba(255,253,248,0.94);box-shadow:0 0.875rem 1.875rem rgba(23,33,43,0.1);backdrop-filter:blur(0.75rem)}.patient-app-topbar-title{overflow:hidden;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.patient-app-topbar-spacer{width:2.25rem;height:2.25rem}.patient-nav-toggle{width:2.25rem;height:2.25rem;display:grid;place-content:center;gap:0.1875rem;border:0;border-radius:0.75rem;background:transparent;cursor:pointer}.patient-nav-toggle span{width:1.125rem;height:0.125rem;border-radius:999px;background:var(--patient-accent);transition:transform 0.2s ease, opacity 0.2s ease}.patient-app-body[data-nav="open"] .patient-nav-toggle span:nth-child(1){transform:translateY(0.3125rem) rotate(45deg)}.patient-app-body[data-nav="open"] .patient-nav-toggle span:nth-child(2){opacity:0}.patient-app-body[data-nav="open"] .patient-nav-toggle span:nth-child(3){transform:translateY(-0.3125rem) rotate(-45deg)}.patient-sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:86vw;max-width:18rem;display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem;border-right:1px solid var(--patient-line);background:rgba(255,253,248,0.98);box-shadow:1.5rem 0 3.5rem rgba(18,63,70,0.16);transform:translateX(-110%);transition:transform 0.22s ease}.patient-app-body[data-nav="open"] .patient-sidebar{transform:translateX(0)}.patient-brand{display:flex;align-items:center;min-height:2.5rem}.patient-logo-text{padding:0.5rem 0.875rem;border-radius:999px;color:#fffaf3;background:linear-gradient(135deg, var(--patient-accent), var(--patient-accent-2));box-shadow:0 0.75rem 1.375rem rgba(23,33,43,0.18);font-weight:700;letter-spacing:0.04em}.patient-nav{min-height:0;display:flex;flex:1;flex-direction:column;gap:0.4rem;overflow-y:auto}.patient-nav-item{min-height:2.75rem;display:flex;align-items:center;gap:0.65rem;width:100%;padding:0.65rem 0.75rem;border:1px solid var(--patient-line);border-radius:0.75rem;color:var(--patient-text);background:rgba(255,252,246,0.96);box-shadow:0 0.375rem 1rem rgba(15,23,42,0.08);font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.patient-nav-item:hover,.patient-nav-item:focus-visible{border-color:rgba(18,63,70,0.3);background:rgba(18,63,70,0.08);transform:translateX(0.125rem)}.patient-nav-icon{width:1.625rem;height:1.625rem;display:grid;place-items:center;border:1px solid rgba(18,63,70,0.22);border-radius:50%;background:rgba(18,63,70,0.1)}.patient-nav-switcher{display:grid;gap:0.4rem;margin-top:0.5rem;padding-top:0.75rem;border-top:1px solid var(--patient-line)}.patient-nav-switcher p{margin:0 0 0.15rem;color:var(--patient-muted);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.patient-nav-switcher form{margin:0}.patient-switch-option{width:100%;display:block;padding:0.6rem 0.7rem;border:1px solid var(--patient-line);border-radius:0.7rem;color:var(--patient-text);background:rgba(255,252,246,0.96);font:inherit;font-size:0.82rem;font-weight:600;text-align:left;cursor:pointer}.patient-switch-option:hover,.patient-switch-option:focus-visible{border-color:rgba(18,63,70,0.3);background:rgba(18,63,70,0.08)}.patient-switch-current{color:white;background:var(--patient-accent);cursor:default}.patient-logout-button{margin-top:auto;color:#9f2424;background:rgba(191,74,58,0.08)}.patient-nav-scrim{position:fixed;z-index:40;inset:0;border:0;background:rgba(15,23,42,0.46);opacity:0;pointer-events:none;transition:opacity 0.2s ease}.patient-install-dialog{position:fixed;z-index:70;inset:0;display:grid;place-items:center;padding:1.25rem;background:rgba(15,23,42,0.58)}.patient-install-dialog section{position:relative;width:100%;max-width:28rem;padding:1.5rem;border:1px solid var(--patient-line);border-radius:1.25rem;background:var(--patient-surface);box-shadow:0 1.5rem 4rem rgba(15,23,42,0.26)}.patient-install-dialog h2{margin:0.25rem 2rem 0.5rem 0}.patient-install-dialog p:last-child{margin-bottom:0;color:var(--patient-muted)}.patient-install-close{position:absolute;top:0.75rem;right:0.75rem;width:2.25rem;height:2.25rem;border:1px solid var(--patient-line);border-radius:50%;color:var(--patient-text);background:white;font-size:1.5rem;line-height:1;cursor:pointer}.patient-update-notice{position:fixed;z-index:90;inset:0;display:grid;place-content:center;gap:0.35rem;padding:2rem;color:white;background:rgba(18,63,70,0.96);text-align:center}.patient-update-notice strong{font-size:1.2rem}.patient-pull-refresh{--patient-pull-distance: 0px;position:fixed;z-index:45;top:var(--pwa-topbar-height, 3rem);left:50%;display:inline-flex;align-items:center;gap:0.5rem;max-width:calc(100vw - 2rem);padding:0.55rem 0.8rem;border:1px solid rgba(var(--pwa-accent-rgb, 18, 63, 70), 0.16);border-radius:999px;opacity:0;color:var(--patient-accent);background:rgba(255,253,248,0.98);box-shadow:0 0.8rem 2rem rgba(18,63,70,0.16);font-size:0.8rem;font-weight:700;pointer-events:none;transform:translate(-50%, calc(-4.5rem + var(--patient-pull-distance)));transition:opacity 0.16s ease, transform 0.16s ease;white-space:nowrap}.patient-pull-refresh[data-state="pulling"],.patient-pull-refresh[data-state="ready"]{opacity:1}.patient-pull-refresh[data-state="ready"]{color:white;background:var(--patient-accent)}.patient-pull-refresh[data-state="refreshing"],.patient-pull-refresh[data-state="complete"],.patient-pull-refresh[data-state="error"]{--patient-pull-distance: 5.25rem;opacity:1}.patient-pull-refresh-icon{display:inline-block;font-size:1rem;line-height:1;transition:transform 0.18s ease}.patient-pull-refresh[data-state="ready"] .patient-pull-refresh-icon{transform:rotate(180deg)}.patient-pull-refresh[data-state="refreshing"] .patient-pull-refresh-icon{animation:patient-refresh-spin 0.8s linear infinite}.patient-pull-refresh[data-state="error"]{color:#842029;background:#f8d7da}@keyframes patient-refresh-spin{to{transform:rotate(360deg)}}.patient-app-body[data-nav="open"] .patient-nav-scrim{opacity:1;pointer-events:auto}.patient-app-content{min-height:100vh;padding:5rem 1.25rem 2.5rem}.patient-app-body[data-auth="logged-out"] .patient-app-content{display:grid;place-items:center;padding:1.5rem}.patient-auth-card,.patient-form-card,.patient-page-shell{width:100%;max-width:68rem;margin-inline:auto}.patient-auth-card{max-width:30rem;padding:2.5rem;border:1px solid var(--patient-line);border-radius:1.5rem;background:radial-gradient(circle at top right, rgba(18,63,70,0.12), transparent 36%),rgba(255,253,248,0.96);box-shadow:0 2rem 4.5rem rgba(23,33,43,0.14);text-align:center}.patient-auth-card h1,.patient-form-card h1,.patient-page-header h1{margin:0;color:var(--patient-text);font-size:clamp(1.8rem, 7vw, 2.75rem);letter-spacing:-0.04em}.patient-eyebrow{margin:0 0 0.65rem;color:var(--patient-accent);font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase}.patient-lede,.patient-form-heading p,.patient-page-header p,.patient-person-copy p,.patient-state-card p,.patient-payment-card p{color:var(--patient-muted);line-height:1.55}.patient-primary-button,.patient-primary-link,.patient-secondary-link{display:inline-flex;justify-content:center;align-items:center;min-height:2.8rem;padding:0.75rem 1rem;border:0;border-radius:0.75rem;font-weight:700;text-decoration:none;cursor:pointer}.patient-primary-button,.patient-primary-link{color:white;background:var(--patient-accent)}.patient-auth-card form,.patient-auth-card .patient-primary-button{width:100%}.patient-secondary-link{color:var(--patient-accent);background:rgba(18,63,70,0.09)}.patient-auth-note{margin:1rem 0 0;color:var(--patient-muted);font-size:0.82rem}.patient-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.patient-page-header p{margin:0.5rem 0 0}.patient-card-grid{display:grid;grid-template-columns:1fr;gap:1rem}.patient-person-card,.patient-state-card,.patient-payment-card{padding:1.25rem;border:1px solid var(--patient-line);border-radius:1.1rem;background:rgba(255,253,248,0.94);box-shadow:0 1rem 2.5rem rgba(18,63,70,0.09)}.patient-person-card{display:grid;grid-template-columns:auto 1fr;gap:1rem}.patient-person-card .patient-secondary-link{grid-column:1 / -1}.patient-person-avatar{width:3rem;height:3rem;display:grid;place-items:center;border-radius:1rem;color:white;background:linear-gradient(135deg, var(--patient-accent), var(--patient-accent-2));font-size:1.2rem;font-weight:700}.patient-person-copy h2,.patient-state-card h2{margin:0;font-size:1.1rem}.patient-location-card{display:grid;gap:0.9rem}.patient-location-card>p,.patient-location-unavailable{margin:0}.patient-location-form{display:grid;gap:0.8rem}.patient-location-form .patient-primary-button{width:100%}.patient-person-copy p{margin:0.3rem 0 0.75rem;font-size:0.88rem}.patient-status{display:inline-flex;padding:0.3rem 0.6rem;border-radius:999px;color:#694d00;background:#fff3cd;font-size:0.75rem;font-weight:700}.patient-status-verified,.patient-status-confirmed,.patient-status-paid,.patient-status-processed{color:#0f5132;background:#d1e7dd}.patient-form-card{max-width:44rem;padding:clamp(1.25rem, 5vw, 2.25rem);border:1px solid var(--patient-line);border-radius:1.5rem;background:rgba(255,253,248,0.96);box-shadow:0 1.5rem 3.5rem rgba(18,63,70,0.12)}.patient-form-heading{margin-bottom:1.5rem}.patient-registration-form{display:grid;gap:1rem}.patient-field{display:grid;gap:0.45rem;color:var(--patient-text);font-size:0.9rem;font-weight:600}.patient-field input:not([type="checkbox"]),.patient-field select{width:100%;min-height:3rem;padding:0.75rem 0.85rem;border:1px solid rgba(18,63,70,0.2);border-radius:0.75rem;color:var(--patient-text);background:white;font:inherit}.patient-field input::placeholder{color:rgba(23,33,43,0.62);opacity:1}.patient-date-picker-field,.patient-date-picker-field input{cursor:pointer}.patient-date-picker-field{position:relative}.patient-date-placeholder{position:absolute;z-index:1;top:50%;left:0.85rem;color:rgba(23,33,43,0.62);font-weight:600;pointer-events:none;transform:translateY(-50%);transition:opacity 120ms ease}.patient-date-picker-field:focus-within .patient-date-placeholder,.patient-date-picker-field:has(input:valid) .patient-date-placeholder{opacity:0}.patient-date-picker-field input:invalid:not(:focus)::-webkit-datetime-edit{color:transparent}.patient-media-fields{display:grid;gap:0.9rem;margin-top:0.35rem;padding:1.15rem;border:1px solid rgba(18,63,70,0.16);border-radius:1rem;background:rgba(18,63,70,0.045)}.patient-media-fields h2,.patient-media-fields p{margin:0}.patient-media-fields h2{color:var(--patient-text);font-size:1.15rem}.patient-media-fields h2 small{color:var(--patient-muted);font-size:0.72rem;font-weight:600}.patient-media-options{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.75rem}.patient-media-control{position:relative;min-height:4.25rem;display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:0.65rem;padding:0.7rem;overflow:hidden;border:1px dashed rgba(18,63,70,0.32);border-radius:0.85rem;color:var(--patient-text);background:rgba(255,253,248,0.9);font:inherit;cursor:pointer;transition:border-color 150ms ease, background 150ms ease, box-shadow 150ms ease, transform 150ms ease}.patient-media-control:hover{border-color:rgba(18,63,70,0.58);background:#fff;transform:translateY(-1px)}.patient-media-control:focus-visible,.patient-media-control:focus-within{outline:0;border-color:var(--patient-accent);background:#fff;box-shadow:0 0 0 3px rgba(18,63,70,0.14)}.patient-media-control.has-file{border-style:solid;border-color:rgba(50,120,83,0.45);background:rgba(221,241,229,0.55)}.patient-media-control input[type="file"]{position:absolute;z-index:2;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:inherit;opacity:0;cursor:pointer}.patient-media-icon{width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:0.75rem;color:var(--patient-accent);background:rgba(18,63,70,0.09)}.patient-media-icon svg{width:1.2rem;height:1.2rem}.patient-media-control strong{font-size:0.9rem}.patient-media-status{overflow:hidden;color:#276343;font-size:0.82rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.patient-media-help{color:var(--patient-muted);font-size:0.78rem;line-height:1.5}@media (max-width: 34rem){.patient-media-control{min-height:3.9rem}}.patient-camera-dialog{width:94vw;max-width:36rem;max-height:92vh;padding:0;overflow:hidden;border:0;border-radius:1.25rem;background:#0f171d;box-shadow:0 2rem 5rem rgba(0,0,0,0.4)}.patient-camera-dialog::backdrop{background:rgba(7,14,19,0.78);backdrop-filter:blur(4px)}.patient-camera-panel{display:grid;gap:1rem;padding:1rem;color:white}.patient-camera-panel header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.patient-camera-panel h2,.patient-camera-status{margin:0}.patient-camera-panel h2{font-size:1.1rem}.patient-camera-close{width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:999px;color:white;background:rgba(255,255,255,0.12);font-size:1.5rem;cursor:pointer}.patient-camera-dialog video{width:100%;max-height:65vh;aspect-ratio:3 / 4;object-fit:cover;border-radius:0.9rem;background:#000}.patient-camera-dialog video[data-facing="user"]{transform:scaleX(-1)}.patient-camera-status{color:rgba(255,255,255,0.72);text-align:center}.patient-camera-actions{display:grid;grid-template-columns:1fr auto;gap:0.75rem}.patient-camera-actions .patient-primary-button:disabled{opacity:0.55;cursor:wait}.patient-field-boolean{grid-template-columns:1fr auto;align-items:center;padding:0.75rem;border:1px solid var(--patient-line);border-radius:0.75rem}.patient-field-boolean input[type="checkbox"]{width:1.25rem;height:1.25rem}.patient-error-summary{margin-bottom:1rem;padding:1rem;border:1px solid rgba(191,74,58,0.3);border-radius:0.75rem;color:#842029;background:#f8d7da}.patient-error-summary h2{margin:0 0 0.5rem;font-size:1rem}.patient-error-summary ul{margin:0;padding-left:1.25rem}.patient-registration-summary{max-width:48rem}.patient-registration-media-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:1rem;margin-bottom:1rem}.patient-registration-media-card{min-width:0;display:grid;align-content:start;gap:1rem;padding:1.25rem;border:1px solid var(--patient-line);border-radius:1rem;background:rgba(255,253,248,0.94);box-shadow:0 0.875rem 2rem rgba(18,63,70,0.08)}.patient-registration-media-heading{display:grid;gap:0.25rem}.patient-registration-media-heading h2{margin:0;color:var(--patient-text);font-size:1.1rem}.patient-registration-media-preview{min-width:0;min-height:14rem;display:grid;place-items:center;gap:0.75rem;overflow:hidden;border:1px solid var(--patient-line);border-radius:0.875rem;background:rgba(18,63,70,0.05)}.patient-registration-media-preview>p{margin:0;padding:1rem;color:var(--patient-muted);text-align:center}.patient-registration-photo-preview img,.patient-registration-document-preview img{width:100%;height:18rem;display:block;object-fit:contain;background:white}.patient-registration-document-preview iframe{width:100%;height:24rem;display:block;border:0;background:white}.patient-registration-media-link{color:var(--patient-accent);font-weight:700;text-decoration-thickness:1px;text-underline-offset:0.2em}.patient-registration-photo-preview>.patient-registration-media-link{margin-bottom:0.875rem}.patient-registration-media-actions{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.75rem;padding:0 0.875rem 0.875rem}.patient-registration-media-error{color:var(--patient-danger) !important}.patient-kyp-summary{margin:0}.patient-kyp-summary h2{margin:0;color:var(--patient-text);font-size:1.1rem}.patient-kyp-summary dl{display:grid;gap:0.7rem;margin:1rem 0 0}.patient-kyp-summary dl>div{display:grid;grid-template-columns:minmax(6rem, 0.35fr) minmax(0, 1fr);gap:0.8rem}.patient-kyp-summary dt{color:var(--patient-muted);font-size:0.78rem;font-weight:700;text-transform:uppercase}.patient-kyp-summary dd{min-width:0;margin:0;overflow-wrap:anywhere}.patient-payment-card,.patient-state-card{margin-bottom:1rem}.patient-payment-amount{margin:0.4rem 0 1rem;color:var(--patient-accent);font-size:clamp(2rem, 8vw, 3rem);font-weight:700;letter-spacing:-0.04em}.patient-payment-actions{display:grid;gap:0.75rem;margin-top:1rem}.patient-payment-actions+.patient-secondary-link,.patient-appointment-payment>.patient-secondary-link{margin-top:0.75rem}.patient-appointment-payment .patient-field{color:inherit}.patient-state-success{border-color:rgba(15,81,50,0.24);background:rgba(209,231,221,0.8)}.patient-flash{position:fixed;z-index:80;top:3.75rem;left:50%;width:90vw;max-width:36rem;margin:0;padding:0.75rem 1rem;border-radius:0.75rem;box-shadow:0 0.75rem 2rem rgba(18,63,70,0.16);transform:translateX(-50%)}.patient-flash-notice{color:#0f5132;background:#d1e7dd}.patient-flash-alert{color:#842029;background:#f8d7da}.patient-appointment-card,.patient-availability-results,.patient-price-summary{border:1px solid var(--patient-line);border-radius:1rem;background:white}.patient-appointment-time,.patient-appointment-copy,.patient-appointment-payment{display:grid;gap:0.25rem}.patient-vaccination-order{display:grid;grid-column:1 / -1;gap:0.75rem;padding:0.9rem;border:1px solid var(--patient-line);border-radius:0.8rem;background:var(--patient-soft)}.patient-vaccination-order>div:first-child{display:grid;gap:0.2rem}.patient-vaccination-order p{margin:0}.patient-vaccination-order span,.patient-vaccination-progress{color:var(--patient-muted);font-size:0.84rem}.patient-prescription{grid-column:1 / -1;overflow:hidden;border:1px solid rgba(18,63,70,0.2);border-radius:0.85rem;background:rgba(245,242,235,0.72)}.patient-prescription summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.9rem;color:var(--patient-accent);cursor:pointer;list-style:none}.patient-prescription summary::-webkit-details-marker{display:none}.patient-prescription summary>span:first-child{display:grid;gap:0.2rem}.patient-prescription-summary-action{flex:0 0 auto;font-size:0.84rem;font-weight:700}.patient-prescription[open] summary{border-bottom:1px solid var(--patient-line)}.patient-prescription-content{display:grid;gap:1rem;padding:1rem;background:rgba(255,253,248,0.96)}.patient-prescription-section{display:grid;gap:0.45rem}.patient-prescription-section h3,.patient-prescription-section p,.patient-prescription-section ul{margin:0}.patient-prescription-section h3{color:var(--patient-accent);font-size:0.9rem;letter-spacing:0.035em;text-transform:uppercase}.patient-prescription-section p,.patient-prescription-section li,.patient-prescription-medications span{color:var(--patient-muted);line-height:1.5}.patient-advice-translation{margin-top:0.65rem;padding:0.65rem;border-left:3px solid var(--patient-accent);border-radius:0.4rem;background:rgba(var(--pwa-accent-rgb), 0.07)}.patient-advice-translation p{margin:0.2rem 0 0;color:var(--patient-text);white-space:pre-wrap}.patient-prescription-vitals{display:flex;flex-wrap:wrap;gap:0.35rem 1rem}.patient-prescription-medications{display:grid;gap:0.65rem}.patient-prescription-medications article{display:grid;gap:0.2rem;padding:0.75rem;border:1px solid var(--patient-line);border-radius:0.7rem;background:white}.patient-prescription-medications p{margin-top:0.2rem}.patient-prescription-section ul{padding-left:1.2rem}.patient-pharmacy-order-list{display:grid;gap:1rem}.patient-pharmacy-order{display:grid;gap:1rem;padding:1rem;border:1px solid var(--patient-line);border-radius:1rem;background:white}.patient-pharmacy-order>header,.patient-pharmacy-order>footer,.patient-pharmacy-lines>div{display:flex;gap:1rem;align-items:center;justify-content:space-between}.patient-pharmacy-order>header>div,.patient-pharmacy-lines>div>span:first-child{display:grid;gap:0.2rem}.patient-pharmacy-order h2,.patient-pharmacy-order p{margin:0}.patient-pharmacy-order header span,.patient-pharmacy-lines small{color:var(--patient-muted)}.patient-pharmacy-lines{display:grid;gap:0.75rem;padding-block:0.75rem;border-block:1px solid var(--patient-line)}.patient-pharmacy-lines>div{align-items:start}.patient-pharmacy-lines>div>span:nth-child(2){margin-left:auto;color:var(--patient-muted)}.patient-pharmacy-order>footer strong{color:var(--patient-accent);font-size:1.25rem}.patient-pharmacy-progress{padding:0.8rem;border-radius:0.75rem;color:#0f5132;background:rgba(209,231,221,0.8)}@media (max-width: 32rem){.patient-pharmacy-lines>div{display:grid;grid-template-columns:1fr auto}.patient-pharmacy-lines>div>span:nth-child(2){margin-left:0}}.patient-appointment-time span,.patient-appointment-payment span,.patient-price-summary span{color:var(--patient-muted);font-size:0.84rem}.patient-appointment-list{display:grid;gap:0.85rem}.patient-appointment-card{display:grid;gap:1rem;padding:1rem}.patient-appointment-copy h2{margin:0;font-size:1.05rem}.patient-appointment-copy p{margin:0;color:var(--patient-muted)}.patient-appointment-time>.patient-eyebrow{color:#536367}.patient-appointment-payment{padding:0.8rem;border-radius:0.75rem;color:#6b4f00;background:#fff4ce}.patient-appointment-payment>span{color:#5d490f}.patient-opd-invoice{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:1rem;padding:0.85rem;border:1px solid rgba(var(--pwa-accent-rgb), 0.18);border-radius:0.85rem;background:rgba(var(--pwa-accent-rgb), 0.06)}.patient-opd-invoice>div:first-child{display:grid;gap:0.18rem}.patient-opd-invoice strong{color:var(--patient-text)}.patient-opd-invoice small{color:#536367}.patient-opd-invoice-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:0.55rem}.patient-opd-invoice-actions button{width:auto}@media (max-width: 35rem){.patient-opd-invoice{align-items:stretch;flex-direction:column}.patient-opd-invoice-actions{justify-content:stretch}.patient-opd-invoice-actions button{flex:1 1 9rem}}.patient-opd-payment-history{margin-top:0.25rem;color:#405458;font-size:0.8rem}.patient-opd-payment-history summary{width:fit-content;color:var(--patient-accent);font-weight:700;cursor:pointer}.patient-opd-payment-history ul{display:grid;gap:0.35rem;margin:0.5rem 0 0;padding:0;list-style:none}.patient-opd-payment-history li{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:0.1rem 0.6rem;padding:0.45rem 0.55rem;border-radius:0.55rem;background:rgba(var(--pwa-accent-rgb), 0.07)}.patient-opd-payment-history li small{grid-column:1 / -1}.patient-appointment-form-card{max-width:44rem}.patient-appointment-confirmation,.patient-appointment-review{max-width:48rem}.patient-call-booking-notice{display:grid;gap:0.35rem;margin-top:1rem;padding:1rem;border:1px solid rgba(107,79,0,0.2);border-radius:0.85rem;color:#6b4f00;background:#fff4ce}.patient-call-booking-notice p{margin:0;line-height:1.5}.patient-confirmation-hero,.patient-confirmation-details,.patient-confirmation-no-payment{border:1px solid var(--patient-line);border-radius:1rem;background:white}.patient-confirmation-hero{display:grid;justify-items:start;gap:0.55rem;padding:clamp(1.25rem, 5vw, 2rem)}.patient-confirmation-hero.patient-confirmation-success{border-color:rgba(15,81,50,0.24);background:rgba(209,231,221,0.65)}.patient-confirmation-mark{display:grid;width:3rem;height:3rem;place-items:center;border-radius:999px;color:white;background:var(--patient-accent);font-size:1.5rem;font-weight:700}.patient-confirmation-hero .patient-eyebrow,.patient-confirmation-hero h1,.patient-confirmation-hero p{margin:0}.patient-confirmation-hero h1{color:var(--patient-text);font-size:clamp(1.8rem, 7vw, 2.5rem);letter-spacing:-0.04em}.patient-confirmation-hero>p:last-child{color:var(--patient-muted);line-height:1.55}.patient-confirmation-details{display:grid;gap:0;margin:1rem 0;padding:0;overflow:hidden}.patient-confirmation-details>div{display:grid;gap:0.3rem;padding:0.9rem 1rem;border-bottom:1px solid var(--patient-line)}.patient-confirmation-details>div:last-child{border-bottom:0}.patient-confirmation-details dt{color:var(--patient-muted);font-size:0.78rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase}.patient-confirmation-details dd{margin:0;color:var(--patient-text);font-weight:600}.patient-confirmation-payment,.patient-confirmation-no-payment{margin-bottom:1rem;padding:1rem}.patient-confirmation-no-payment{display:grid;gap:0.25rem;border-color:rgba(15,81,50,0.24);color:#0f5132;background:rgba(209,231,221,0.65)}.patient-confirmation-no-payment span{font-size:0.84rem}.patient-confirmation-actions{display:grid;gap:0.75rem}.patient-availability-results{margin-top:1.25rem;padding:1rem}.patient-price-summary{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:1rem;background:var(--patient-soft)}.patient-price-summary>div{display:grid;gap:0.2rem}.patient-price-summary strong{color:var(--patient-accent);font-size:1.5rem}.patient-price-summary p{max-width:24rem;margin:0}.patient-fee-options{flex:1 1 100%;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.55rem;margin:0}.patient-fee-options>div{display:flex;justify-content:space-between;gap:0.75rem;padding:0.55rem 0.65rem;border-radius:0.65rem;background:rgba(255,255,255,0.68)}.patient-fee-options dt{color:var(--patient-muted);font-size:0.8rem}.patient-fee-options dd{margin:0;color:var(--patient-accent);font-weight:800;white-space:nowrap}@media (max-width: 36rem){.patient-fee-options{grid-template-columns:1fr}}.patient-slot-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(7rem, 1fr));gap:0.65rem}.patient-next-availability{display:grid;grid-column:1 / -1;gap:0.65rem;padding:1rem;border-radius:0.75rem;color:var(--patient-muted);background:var(--patient-soft)}.patient-next-availability p{margin:0}.patient-next-availability strong{color:var(--patient-accent)}.patient-next-availability .patient-secondary-link{justify-self:start}.patient-slot-button{min-height:2.75rem;border:1px solid var(--patient-accent);border-radius:0.75rem;color:var(--patient-accent);background:white;font:inherit;font-weight:700;cursor:pointer}.patient-slot-button:hover:not(:disabled),.patient-slot-button:focus-visible:not(:disabled){color:white;background:var(--patient-accent)}.patient-slot-button:disabled{cursor:not-allowed;opacity:0.58}.patient-profile-page{width:100%;max-width:64rem;display:grid;gap:1.25rem;margin:0 auto}.patient-profile-header{display:flex;align-items:center;gap:1rem}.patient-profile-avatar{width:4rem;height:4rem;flex:0 0 4rem;display:grid;place-items:center;border-radius:1.25rem;color:white;background:linear-gradient(135deg, var(--patient-accent), var(--patient-accent-2));box-shadow:0 0.9rem 1.8rem rgba(18,63,70,0.18)}.patient-profile-avatar svg{width:2rem;height:2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.patient-profile-header h1{margin:0;color:var(--patient-text);font-size:clamp(1.8rem, 5vw, 2.6rem);letter-spacing:-0.035em}.patient-profile-header p{margin:0.3rem 0 0;color:var(--patient-muted)}.patient-profile-grid{display:grid;gap:1rem}.patient-profile-card{min-width:0;padding:clamp(1.15rem, 3vw, 1.6rem);border:1px solid var(--patient-line);border-radius:1.2rem;background:rgba(255,252,246,0.94);box-shadow:0 1rem 2.4rem rgba(18,63,70,0.08)}.patient-profile-card h2{margin:0 0 1rem;color:var(--patient-text);font-size:1.15rem}.patient-profile-card .patient-location-form,.patient-profile-card .patient-location-unavailable{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--patient-line)}.patient-profile-rows{display:grid}.patient-profile-row{display:grid;grid-template-columns:minmax(7.5rem, 0.45fr) minmax(0, 1fr);gap:0.8rem;padding:0.75rem 0;border-bottom:1px dashed var(--patient-line)}.patient-profile-row:first-child{padding-top:0}.patient-profile-row:last-child{padding-bottom:0;border-bottom:0}.patient-profile-label{color:var(--patient-muted);font-size:0.76rem;font-weight:750;letter-spacing:0.07em;text-transform:uppercase}.patient-profile-value{min-width:0;color:var(--patient-text);overflow-wrap:anywhere}.patient-debug-panel{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:1rem;align-items:center;margin-top:clamp(1rem, 5vh, 3rem);padding:clamp(1.15rem, 3vw, 1.6rem);border:1px solid var(--patient-line);border-radius:1.2rem;background:rgba(255,252,246,0.76)}.patient-debug-panel h2,.patient-debug-panel p{margin:0}.patient-debug-panel h2{color:var(--patient-text);font-size:1.15rem}.patient-debug-panel>div:first-child>p:last-child{margin-top:0.35rem;color:var(--patient-muted)}.patient-debug-toggle{min-height:2.75rem;display:inline-flex;align-items:center;gap:0.65rem;padding:0.65rem 0.9rem;border:1px solid var(--patient-line);border-radius:0.8rem;color:var(--patient-accent);background:white;font:inherit;font-weight:750;cursor:pointer}.patient-debug-toggle:hover,.patient-debug-toggle:focus-visible{border-color:var(--patient-accent);background:var(--patient-soft)}.patient-debug-toggle>span:last-child{transition:transform 0.2s ease}.patient-debug-toggle[aria-expanded="true"]>span:last-child{transform:rotate(180deg)}.patient-debug-information{grid-column:1 / -1;padding-top:1rem;border-top:1px solid var(--patient-line)}.patient-diagnostic-orders,.patient-diagnostic-items{display:grid;gap:1rem}.patient-diagnostic-order{overflow:hidden;border:1px solid var(--patient-line);border-radius:1.25rem;background:var(--patient-surface, #fff);box-shadow:0 0.75rem 2rem rgba(18,63,70,0.07)}.patient-diagnostic-order-header,.patient-diagnostic-item>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.patient-diagnostic-order-header{padding:1.25rem;border-bottom:1px solid var(--patient-line)}.patient-diagnostic-order-header h2,.patient-diagnostic-item h3,.patient-diagnostic-report h4{margin:0;color:var(--patient-text)}.patient-diagnostic-order-header>div>span{display:block;margin-top:0.3rem;color:var(--patient-muted)}.patient-diagnostic-total{display:flex;justify-content:space-between;gap:1rem;padding:0.8rem 1.25rem;color:var(--patient-muted);background:var(--patient-soft)}.patient-diagnostic-total strong{color:var(--patient-text)}.patient-diagnostic-items{padding:1.25rem}.patient-diagnostic-item{min-width:0;padding:1rem;border:1px solid var(--patient-line);border-radius:1rem;background:rgba(255,252,246,0.56)}.patient-diagnostic-item>p{margin:0.75rem 0 0;color:var(--patient-muted);white-space:pre-wrap}.patient-diagnostic-progress{display:grid;gap:0.25rem;margin-top:1rem;padding:0.9rem;border-radius:0.8rem;color:var(--patient-muted);background:var(--patient-soft)}.patient-diagnostic-progress strong{color:var(--patient-text)}.patient-diagnostic-report{margin-top:1rem;border-top:1px solid var(--patient-line)}.patient-diagnostic-report>summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0 0.5rem;cursor:pointer;list-style:none}.patient-diagnostic-report>summary::-webkit-details-marker{display:none}.patient-diagnostic-report>summary>span{display:grid;gap:0.2rem}.patient-diagnostic-report>summary>span:last-child{color:var(--patient-muted);font-size:0.84rem;text-align:right}.patient-diagnostic-report-body{display:grid;gap:1rem;padding-top:0.75rem}.patient-diagnostic-report-body section p{margin:0.35rem 0 0;color:var(--patient-muted);white-space:pre-wrap}.patient-diagnostic-impression,.patient-diagnostic-amendment{padding:0.9rem;border-left:0.25rem solid var(--patient-accent);border-radius:0.4rem 0.8rem 0.8rem 0.4rem;background:var(--patient-soft)}.patient-diagnostic-amendment{display:grid;gap:0.25rem}.patient-diagnostic-report-meta{display:flex;flex-wrap:wrap;gap:0.5rem}.patient-diagnostic-report-meta span{padding:0.35rem 0.6rem;border-radius:999px;color:var(--patient-muted);background:var(--patient-soft);font-size:0.8rem;font-weight:700}.patient-diagnostic-attachments{display:grid;gap:0.6rem}.patient-diagnostic-attachment{display:flex;gap:0.75rem;align-items:center;width:100%;padding:0.8rem;border:1px solid var(--patient-line);border-radius:0.8rem;color:var(--patient-accent);background:white;font:inherit;text-align:left;cursor:pointer}.patient-diagnostic-attachment:hover,.patient-diagnostic-attachment:focus-visible{border-color:var(--patient-accent);background:var(--patient-soft)}.patient-diagnostic-attachment:disabled{cursor:wait;opacity:0.6}.patient-diagnostic-attachment>span:last-child{display:grid;min-width:0;gap:0.2rem}.patient-diagnostic-attachment strong,.patient-diagnostic-attachment small{overflow-wrap:anywhere}.patient-diagnostic-attachment small{color:var(--patient-muted)}@media (min-width: 60rem){.patient-sidebar{width:17rem;transform:translateX(0)}.patient-nav-scrim,.patient-nav-toggle{display:none}.patient-app-topbar{left:17rem}.patient-app-content{margin-left:17rem}.patient-profile-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (min-width: 40rem){.patient-registration-media-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.patient-card-grid{grid-template-columns:repeat(auto-fit, minmax(19rem, 1fr))}.patient-appointment-card{grid-template-columns:minmax(11rem, 0.8fr) minmax(14rem, 1fr)}.patient-confirmation-details{grid-template-columns:repeat(2, minmax(0, 1fr))}.patient-confirmation-details>div:last-child:nth-child(odd){grid-column:1 / -1}.patient-confirmation-details>div{border-right:1px solid var(--patient-line)}.patient-confirmation-details>div:nth-child(even),.patient-confirmation-details>div:last-child{border-right:0}.patient-confirmation-actions{grid-template-columns:repeat(2, minmax(0, 1fr))}.patient-appointment-payment{grid-column:1 / -1}}@media (max-width: 35rem){.patient-profile-row{grid-template-columns:1fr;gap:0.25rem}.patient-debug-panel{grid-template-columns:1fr;align-items:stretch}.patient-debug-toggle{justify-content:space-between}}@media (prefers-reduced-motion: reduce){.patient-sidebar,.patient-nav-scrim,.patient-nav-toggle span,.patient-nav-item,.patient-pull-refresh{transition:none}}
