.appointment-slot-picker[data-v-47b9237b]{min-width:0;margin-top:20px;color:#164555}.picker-heading[data-v-47b9237b],.group-heading[data-v-47b9237b],.date-pagination[data-v-47b9237b]{display:flex;align-items:center;justify-content:space-between;gap:8px}h3[data-v-47b9237b]{margin:0;font-size:17px}.picker-note[data-v-47b9237b]{color:#536972;font-size:14px;line-height:1.6;margin:8px 0 12px}.picker-link[data-v-47b9237b]{background:transparent;color:#076c77;box-shadow:none;border-radius:8px;padding:8px;min-height:44px}.date-strip[data-v-47b9237b]{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 12px;scroll-snap-type:x proximity}.date-choice[data-v-47b9237b],.time-choice[data-v-47b9237b]{border:1px solid #cad9dd;background:#fff;color:#254d59;box-shadow:none;border-radius:12px;display:grid;gap:5px;text-align:center}.date-choice[data-v-47b9237b]{flex:0 0 88px;scroll-snap-align:start;padding:10px 6px}.date-choice span[data-v-47b9237b],.date-choice small[data-v-47b9237b]{font-size:12px}.date-choice strong[data-v-47b9237b]{font-size:18px}.chosen[data-v-47b9237b]{border-color:#087f8c;background:#e9f7f5;box-shadow:inset 0 0 0 1px #087f8c;color:#065d66}.day-heading[data-v-47b9237b]{margin:16px 0 12px}.slot-group[data-v-47b9237b]{border:1px solid #dae4e7;border-radius:14px;padding:14px;margin-bottom:12px}.group-heading[data-v-47b9237b]{margin-bottom:12px;overflow-wrap:anywhere}.group-heading span[data-v-47b9237b]{font-size:14px;flex-shrink:0;color:#536972}.time-grid[data-v-47b9237b]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.time-choice[data-v-47b9237b]{min-height:72px;padding:10px 4px;overflow-wrap:anywhere}.time-choice strong[data-v-47b9237b]{font-size:15px}.time-choice span[data-v-47b9237b]{font-size:13px}.time-choice[data-v-47b9237b]:disabled{opacity:1;background:#f2f4f5;color:#66747a;border-color:#e0e5e7}.picker-empty[data-v-47b9237b]{padding:20px 14px;border-radius:12px;background:#f3f6f7;line-height:1.6}.picker-empty p[data-v-47b9237b]{margin:8px 0 0;font-size:14px}.selection-summary[data-v-47b9237b]{display:grid;gap:6px;padding:14px;border-left:3px solid #087f8c;background:#eff8f6;border-radius:6px;line-height:1.5;margin:16px 0;overflow-wrap:anywhere}.selection-summary small[data-v-47b9237b]{color:#536972}button[data-v-47b9237b]:focus-visible{outline:3px solid #087f8c;outline-offset:2px}:root{color:#103f4d;background:#eef9fb;font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-size:16px;line-height:1.55}*{box-sizing:border-box;min-width:0}body{margin:0;overflow-x:hidden;background:#f4f8f8}button,input,select{font:inherit}button{min-height:48px;border:0;border-radius:999px;background:#087f8c;color:#fff;padding:12px 16px;box-shadow:0 7px 16px #087f8c2e;cursor:pointer;touch-action:manipulation;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,opacity .18s ease}button:active{transform:translateY(1px);box-shadow:0 4px 10px #087f8c29}button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(8,145,178,.28);outline-offset:3px}.patient-h5-shell{width:100%;max-width:460px;min-height:100dvh;margin:0 auto;padding:18px 16px calc(22px + env(safe-area-inset-bottom));display:grid;gap:16px}.patient-hero,.patient-card,.stepper,.patient-status{border:1px solid rgba(8,145,178,.16);border-radius:24px;background:#fffffff0;padding:18px;box-shadow:0 18px 42px #0f4c5c17}.patient-hero{display:grid;gap:8px;background:#0b7285;color:#fff}.patient-hero h1,.patient-card h2{margin:4px 0 8px}.patient-hero h1{max-width:12em;font-size:clamp(26px,8vw,36px);line-height:1.14;letter-spacing:-.03em}.patient-card h2{color:#0f4151;font-size:22px}.patient-hero p,.patient-card p{margin-top:0}.arrival-code-button{width:100%}.arrival-code-dialog{align-items:center;text-align:center}.arrival-code-image{display:block;width:min(240px,78vw);height:auto;margin:4px auto 12px;border-radius:12px;background:#fff}.hero-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.appointment-entry{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:36px;border:1px solid rgba(255,255,255,.52);background:#ffffff1a;box-shadow:none;padding:6px 10px;font-size:13px}.appointment-entry:active{box-shadow:none}.logout-entry{min-height:36px;border:1px solid rgba(255,255,255,.34);background:transparent;box-shadow:none;padding:6px 9px;color:#ffffffdb;font-size:13px}.logout-entry:active{box-shadow:none}.appointment-entry strong{display:inline-grid;place-items:center;min-width:20px;min-height:20px;border-radius:999px;background:#fff;color:#087f8c;font-size:12px}.hero-subtitle{max-width:21em;margin-bottom:2px;color:#ffffffe0}.service-notice{margin:8px 0 0;border-left:3px solid rgba(255,255,255,.68);background:#ffffff1a;padding:7px 10px;color:#ffffffe6;font-size:13px}.eyebrow,.stepper-title{margin:0;color:inherit;opacity:.72;font-size:12px;letter-spacing:.08em}.stepper{display:grid;gap:10px}.stepper ol{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0;margin:0;list-style:none}.stepper li{display:grid;justify-items:center;align-content:center;gap:4px;min-height:58px;border-radius:18px;background:#e9f0f0;color:#48636a;padding:8px 6px;text-align:center;font-size:12px}.stepper li.active{background:#087f8c;color:#fff;box-shadow:0 6px 14px #087f8c2e}.stepper li.done{background:#dff3ec;color:#086557}.step-index{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#d4e1e2;font-weight:700}.stepper li.active .step-index{background:#ffffff3d}.stepper li.done .step-index{background:#bfe3d6}.patient-status{margin:0;border-left:4px solid #0891b2;color:#0f766e;font-size:14px}.segment-control,.patient-actions,.slot-list,.appointment-list,.recipient-form,.patient-card,.patient-card label,.summary-card,.appointment-detail,.confirm-box{display:grid;gap:10px}.segment-control,.two-columns{grid-template-columns:1fr 1fr}.segment-control button,.secondary-button,.ghost-button,.link-button{background:#e8f1f6;color:#164e63;box-shadow:none}.segment-control .active,.secondary-button{background:#0891b2;color:#fff;box-shadow:0 10px 20px #0891b224}.link-button{justify-self:start;padding-inline:0;background:transparent;color:#0891b2}.patient-card input,.patient-card select{width:100%;border:1px solid rgba(8,145,178,.25);border-radius:14px;background:#fbfeff;min-height:48px;padding:12px;color:#103f4d}.patient-card label{color:#164e63;font-weight:600}.login-hint{color:#48636a;font-size:14px;line-height:1.6}.registration-notice{grid-template-columns:auto 1fr;align-items:start;border:1px solid rgba(8,145,178,.16);border-radius:14px;background:#f0fdfa;padding:12px;color:#34565e!important;font-size:13px;font-weight:500!important;line-height:1.5}.registration-notice input{width:18px;min-height:18px;margin:1px 0 0;accent-color:#087f8c}.summary-card,.slot-list article,.appointment-detail,.confirm-box{border:1px solid rgba(8,145,178,.12);border-radius:18px;background:#f0fdfa;padding:14px}.slot-list article.selected{border-color:#0891b28c;box-shadow:0 0 0 3px #0891b221}.appointment-list{gap:12px}.appointment-detail{background:#fff;gap:12px}.result-appointment{border-color:#0891b240}.appointment-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.appointment-card-heading strong{color:#0f4151;font-size:17px;line-height:1.35}.appointment-status{flex:0 0 auto;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.status-booked,.status-checkedin,.status-registered{background:#dff7ef;color:#047857}.status-cancelled,.status-expired,.status-noshow{background:#eef2f7;color:#526975}.appointment-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:0}.appointment-facts div{display:grid;gap:2px}.appointment-facts dt{color:#64748b;font-size:12px}.appointment-facts dd{margin:0;color:#164e63;font-size:14px;font-weight:600;overflow-wrap:anywhere}.appointment-number{font-size:12px!important;font-weight:500!important}.confirm-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.confirm-facts div{display:grid;gap:3px;border-radius:14px;background:#fff;padding:12px}.confirm-facts .confirm-primary-fact{background:#e7f7f3}.confirm-facts dt{color:#526975;font-size:12px}.confirm-facts dd{margin:0;color:#0f4151;font-size:15px;font-weight:700;overflow-wrap:anywhere}.confirm-facts small{color:#526975;font-size:12px}.danger-button{background:#fff;border:1px solid #d96c6c;color:#b42318;box-shadow:none}.danger-button:active{box-shadow:none}.empty-copy{margin:0;border:1px dashed rgba(8,145,178,.28);border-radius:16px;background:#fbfeff;padding:18px;color:#496775;text-align:center}.cancellation-modal{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;align-items:end;background:#0f41516b;padding:16px}.cancellation-dialog{width:min(100%,460px);margin:0 auto;border-radius:24px;background:#fff;padding:20px;box-shadow:0 20px 46px #0f415147}.cancellation-dialog h2{margin:4px 0 8px;color:#0f4151;font-size:22px}.cancellation-dialog p{margin-top:0}.slot-list article{display:grid;grid-template-columns:1fr auto;align-items:start}.slot-list article button{grid-column:1 / -1}.slot-meta{display:grid;gap:4px}.slot-meta span,.appointment-detail span,.summary-card span,.confirm-box span{color:#496775;font-size:14px}.available-pill{justify-self:end;border-radius:999px;background:#dff7ef;color:#047857;padding:6px 10px;font-weight:700}.success-text{color:#047857}.helper-text{color:#64748b;font-size:14px}.bottom-safe-actions{padding-top:4px}@media(min-width:720px){.patient-h5-shell{max-width:720px}.patient-card,.stepper,.patient-status{padding:22px}}@media(max-width:374px){.patient-h5-shell{padding-inline:12px}.stepper li{font-size:11px}.confirm-facts{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
