:root{--brand:#2563eb;--brand-deep:#1d4ed8;--brand-muted:#1e40af;--brand-soft:#dbeafe;--surface:#fff;--elevated:#fff;--text:#0f172a;--text-muted:#64748b;--border:#0f172a14;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 8px 30px #0f172a14;--radius:14px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--app-dock-h:58px;--app-chrome-gradient:linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 42%, #2563eb 100%);--app-chrome-shadow-down:0 4px 24px #1e40af38;--app-chrome-shadow-up:0 -4px 24px #1e40af38;--app-chrome-divider:#ffffff38;--font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;font-family:var(--font)}body{color:var(--text);background:#fff;margin:0}#root{min-height:100dvh}.page{flex-direction:column;align-items:stretch;gap:0;min-height:100dvh;padding:0;display:flex}.page--fillViewport{height:100dvh;max-height:100dvh;overflow:hidden}.appShellWrap{min-height:100dvh}.appDockSafe{z-index:50;pointer-events:none;position:fixed;bottom:0;left:0;right:0}.appDockSafe>*{pointer-events:auto}.appDockSurface{background:var(--app-chrome-gradient);color:#fff;border-top:1px solid var(--app-chrome-divider);box-shadow:var(--app-chrome-shadow-up);padding-bottom:var(--safe-bottom)}.appTabBar{min-height:calc(var(--app-dock-h) + 6px);grid-template-columns:repeat(3,1fr);align-items:stretch;gap:0;padding:0;display:grid}.appTabItem{color:#ffffffb3;letter-spacing:.04em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;border-radius:0;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;gap:3px;min-height:100%;margin:0;padding:10px 6px;font-size:10px;font-weight:800;text-decoration:none;transition:color .18s,background .18s,box-shadow .18s;display:flex}.appTabItem:not(:first-child){border-left:1px solid var(--app-chrome-divider)}.appTabItem .appTabIcon{color:#ffffffc7;opacity:1;transition:color .18s,transform .18s;font-size:24px!important}.appTabItem--active{color:#fff;background:#0003;box-shadow:inset 0 3px #fffffff2}.appTabItem--active .appTabIcon{color:#fff}.appTabItem:active:not(.appTabItem--active){background:#00000014}.appDockRail{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:0;min-height:56px;padding:8px;display:grid}.appDockRailSlot{align-items:center;min-width:0;min-height:44px;padding:0 6px;display:flex}.appDockRailSlot--left{justify-content:flex-start}.appDockRailSlot--center{text-align:center;border-left:1px solid var(--app-chrome-divider);border-right:1px solid var(--app-chrome-divider);justify-content:center}.appDockRailSlot--right{justify-content:flex-end}.dockRailBtn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.dockRailBtn--ghost{color:#fff;background:#ffffff24;border:1px solid #ffffff59}.dockRailBtn--ghost:active{filter:brightness(.92)}.dockRailBtn--primary{color:#1d4ed8;background:#fff;border:1px solid #ffffff80;box-shadow:0 2px 12px #0000001f}.dockRailBtn--primary:active{filter:brightness(.97)}.dockRailSpacer{min-width:44px;min-height:44px;display:inline-block}.dockRailMeta{color:#fff;letter-spacing:.02em;font-size:13px;font-weight:800}.dockRailHint{color:#ffffffc7;letter-spacing:.02em;font-size:12px;font-weight:700}.page--dockInset .card{min-height:calc(100dvh - 80px - var(--app-dock-h));padding-bottom:calc(var(--app-dock-h) + 28px + var(--safe-bottom))!important}.page--dockInset.page--fillViewport .card.card--tokenListFill{padding-bottom:calc(var(--app-dock-h) + 20px + var(--safe-bottom))!important}.appHeader{z-index:5;background:var(--app-chrome-gradient);color:#fff;width:100%;max-width:none;box-shadow:var(--app-chrome-shadow-down);border-radius:0;flex-shrink:0;position:sticky;top:0}.statusStrip{display:none}.appHeaderBrand{padding:8px 16px 10px;padding-top:max(8px, calc(6px + var(--safe-top)));justify-content:space-between;align-items:center;display:flex}.appHeaderLeft{align-items:center;gap:12px;display:flex}.appHeaderRight{align-items:center;display:flex}.appHeaderTitle{color:#fff;margin:0;font-size:18px;font-weight:700}.appHeaderSub{color:#ffffffe0;margin:2px 0 0;font-size:12px}.card{width:100%;max-width:none;padding:8px 16px calc(14px + var(--safe-bottom));box-shadow:none;background:#fff;border-radius:0;min-height:calc(100dvh - 80px)}.card.card--tokenListFill{min-height:0;max-height:none;padding-top:6px;padding-bottom:calc(10px + var(--safe-bottom));flex-direction:column;flex:auto;display:flex;overflow:hidden}.loginPageWrap{flex-direction:column;justify-content:flex-start;gap:8px;min-height:calc(100vh - 110px);display:flex}.loginProfileHero{text-align:center;justify-items:center;gap:6px;padding-top:2px;display:grid}.loginProfileLogo{object-fit:cover;border:1px solid #d0d5dd;border-radius:24px;width:112px;height:112px;box-shadow:0 10px 24px #0f172a14}.loginProfileLogoPlaceholder{color:#2563eb;background:#dbeafe;place-items:center;font-size:42px;font-weight:800;display:grid}.loginEyebrow{color:#475467;text-transform:uppercase;letter-spacing:.08em;margin:2px 0 0;font-size:12px;font-weight:700}.loginProfileName{color:#0f172a;margin:0;font-size:28px;font-weight:800;line-height:1.2}.loginTagline{color:#667085;margin:0;font-size:14px}.loginFormCard{background:#fff;border:1px solid #e4e7ec;border-radius:16px;margin-top:2px;padding:16px;box-shadow:0 8px 24px #0f172a0f}.loginHeading{color:#0f172a;text-align:center;margin:0 0 4px;font-size:22px;font-weight:800}.loginPage{width:100%;max-width:440px;margin-inline:auto}.loginUnified{background:#fff;border:1px solid #0f172a14;border-radius:20px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 20px 40px -12px #0f172a1f}.loginUnifiedHero{text-align:center;background:linear-gradient(#f8fafc 0%,#fff 72%);padding:28px 24px 22px;position:relative}.loginUnifiedHero:before{content:"";pointer-events:none;background:radial-gradient(90% 70% at 50% -30%,#2563eb1c,#0000 55%);position:absolute;inset:0}.loginUnifiedHero>*{z-index:1;position:relative}.loginAvatar{margin-inline:auto;margin-bottom:14px}.loginTrustChip{letter-spacing:.01em;background:#ffffffd9!important;border-color:#2563eb59!important;margin-bottom:12px!important;font-weight:600!important}.loginOrgTitle{letter-spacing:-.03em!important;color:#0f172a!important;margin:0!important;font-weight:800!important;line-height:1.25!important}.loginUnifiedDivider{background:linear-gradient(90deg,#0000,#0f172a14 20% 80%,#0000);height:1px}.loginUnifiedBody{padding:22px 22px 24px}.page--loginGate{min-height:100dvh;padding:24px 16px calc(24px + var(--safe-bottom));background:linear-gradient(#f1f5f9 0%,#fff 55% 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.loginGateCard{text-align:center;background:#fff;border:1px solid #0f172a14;border-radius:22px;flex-direction:column;align-items:center;width:100%;max-width:400px;padding:32px 26px 28px;display:flex;box-shadow:0 1px 2px #0f172a0a,0 24px 48px -16px #0f172a24}.page--loginInvalid .loginInvalidCard{padding-top:28px}.loginInvalidIconWrap{background:radial-gradient(circle at 30% 25%,#94a3b859,#e2e8f099 55%,#f8fafc 100%);border:1px solid #94a3b859;border-radius:24px;place-items:center;width:96px;height:96px;margin-bottom:8px;display:grid}.loginInvalidBullets{text-align:left;color:#475569;width:100%;max-width:340px;margin:20px 0 0;padding:0 8px 0 22px;font-size:13px;font-weight:600;line-height:1.55}.loginInvalidBullets li{margin-bottom:8px}.loginInvalidBullets li:last-child{margin-bottom:0}.loginFormTitle{text-align:center!important;letter-spacing:-.02em!important;color:#0f172a!important;margin:0 0 18px!important;font-size:1.125rem!important;font-weight:800!important}.loginForm{flex-direction:column;gap:16px;display:flex}.loginPhoneGrid{grid-template-columns:92px minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.loginPrimaryBtn,.loginForm .MuiButton-root{min-height:50px;border-radius:14px!important;font-size:.9375rem!important;font-weight:700!important}.loginHint{text-align:center;margin-top:-4px!important}.loginAttemptsWrap{justify-content:center;margin-top:2px;display:flex}.loginOtpMeta{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;padding:4px 0 2px;display:flex}.loginOtpPhone{font-variant-numeric:tabular-nums;letter-spacing:.02em}.loginEditPhone{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background .15s,color .15s;display:inline-flex}.loginEditPhone:hover{color:#0f172a;background:#e2e8f0}.loginOtpRow{flex-wrap:nowrap;justify-content:center;gap:10px;padding:4px 0 2px;display:flex}.loginBtnRow{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=380px){.loginBtnRow{grid-template-columns:1fr}.loginOtpRow{gap:8px}}.loginErrorBanner{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-top:16px;padding:12px 14px}.brand{align-items:center;gap:12px;display:flex}.logo{object-fit:cover;border-radius:12px;width:48px;height:48px}.logoPlaceholder{background:#fff3;border-radius:12px;place-items:center;width:48px;height:48px;font-weight:700;display:grid}.muted{color:#667085}.error{color:#b42318}.form{gap:12px;margin-top:16px;display:grid}.form>label{color:#0f172a;margin-bottom:2px;font-weight:700}.sectionLabel{align-items:center;gap:8px;display:inline-flex}.sectionLabel .monoIcon{color:#334155;width:16px;height:16px}.row{grid-template-columns:78px minmax(0,1fr);gap:10px;display:grid}.countryCodeInput{color:#1d4ed8;cursor:not-allowed;text-align:center;background:#eef2ff;padding-inline:8px;font-weight:700}input,select,button{border:1px solid #d0d5dd;border-radius:12px;padding:13px 12px;font-size:14px}button{background:var(--brand);color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;font-weight:600}button:not(:disabled):active{filter:brightness(.95)}button.secondary{background:#475467}.bottomGestureBar{width:134px;height:5px;margin-top:4px;margin-bottom:calc(4px + var(--safe-bottom));opacity:.85;background:#0f172a1f;border-radius:99px;flex-shrink:0;align-self:center}.appFooterWrap{z-index:40;background:#fff;border-top:1px solid #0f172a14;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #0f172a12}.appFooterBar{min-height:56px;padding:10px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:#fff;justify-content:space-between;align-items:center;gap:10px;display:flex}.appFooterBar--triple{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.appFooterBar--triple .appFooterBarEnd{justify-self:end;margin-left:0}.appFooterCenter{text-align:center;justify-content:center;align-items:center;min-width:0;display:flex}.appFooterSlotLegendInline{flex-direction:column;align-items:center;gap:1px;min-width:0;display:flex}.appFooterSlotLegendLabel{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700;line-height:1.2}.appFooterSlotLegendVal{color:#0f172a;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:16px;font-weight:800;line-height:1.2}.appFooterSlotLegendInline--dockChrome .appFooterSlotLegendLabel{color:#ffffffe0}.appFooterSlotLegendInline--dockChrome .appFooterSlotLegendVal{color:#fff}.appFooterNextPlaceholder{min-width:92px;min-height:44px;display:inline-block}.slotContinueFooterBtn{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:10px 18px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #2563eb38}.slotContinueFooterBtn:active{filter:brightness(.96)}.backFooterBtn{color:#0f172a;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:12px;flex:none;padding:10px 18px;font-size:14px;font-weight:700}.backFooterBtn:active:not(:disabled){filter:brightness(.96)}.appFooterBarEnd{text-align:right;flex:0 auto;min-width:0;margin-left:auto}.appFooterMeta{color:#1d4ed8;letter-spacing:.02em;font-size:13px;font-weight:700}.page--footerBack .card{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}.page--footerBack .card.card--tokenListFill{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}.actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.wizardTopBar{z-index:6;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffeb;justify-content:space-between;align-items:center;margin:-8px -16px 0;padding:8px 16px 10px;display:flex;position:sticky;top:64px}.backTopBtn{color:#0f172a;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}.wizardProgress{color:#1d4ed8;font-size:13px;font-weight:700}.optionGrid{grid-template-columns:1fr;gap:10px;display:grid}.optionGrid3,.optionGrid4{grid-template-columns:1fr}.optionCard{color:#1e293b;text-align:left;background:#f8faff;border:1px solid #d5def0;border-radius:14px;padding:14px;transition:all .2s}.optionCard small{color:#475467;margin-top:4px;display:block}.optionCard:hover{background:#eff6ff;border-color:#93c5fd}.optionCardActive{background:#dbeafe;border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.timeRangeSlider{scrollbar-width:thin;gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.dateSliderGrid{scrollbar-width:thin;gap:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.datePickerBox{color:#344054;background:#fff;border:1px solid #e4e7ec;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:52px;padding:8px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.datePickerBox:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 6px 14px #0f172a14}.datePickerBoxActive{background:#f8fbff;border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb,0 8px 16px #2563eb24}.datePickerDay{color:#101828;font-size:26px;font-weight:800;line-height:1}.datePickerRow{grid-template-columns:44px 1fr;align-items:center;gap:8px;width:100%;display:grid}.datePickerDayNumber{color:#0f172a;text-align:center;font-size:24px;font-weight:800;line-height:1}.datePickerMetaCol{justify-items:end;gap:2px;display:grid}.datePickerName{color:#667085;text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:700}.datePickerMonth{color:#667085;letter-spacing:.04em;text-transform:uppercase;text-align:right;font-size:10px;font-weight:700}.datePickerBoxActive .datePickerDayNumber{color:#1d4ed8}.timeChip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;flex:none;padding:10px 14px;font-size:13px;font-weight:600}.timeChipActive{color:#fff;background:#2563eb;border-color:#2563eb}.tokenGrid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px;display:grid}.slotStepLayout{min-height:calc(100vh - 190px)}.tokenGridScroll{background:#fff;border:1px solid #e4e7ec;border-radius:8px;min-height:150px;max-height:calc(100vh - 520px);padding:4px 2px 6px;overflow-y:auto}.slotStepFooter{background:#fff;border-top:2px solid #e4e7ec;margin-top:2px;padding-top:8px;position:sticky;bottom:0}.slotStepFooterRow{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.slotStepFooterRow>button:last-child{border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding-inline:18px;display:inline-flex}.slotLegendWrap{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;display:flex;overflow-x:hidden}.slotLegendItem{border:1px solid #0000;border-radius:6px;justify-items:center;gap:2px;min-width:152px;padding:6px 8px;display:grid}.slotLegendItem:first-child{background:#ecfdf3;border-color:#86efac}.slotLegendLabel{color:#475467;text-align:center;text-transform:uppercase;font-size:10px;font-weight:700}.slotLegendCount{color:#0f172a;text-align:center;font-size:16px;font-weight:800;line-height:1}.tokenBox{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;align-content:center;justify-items:center;gap:1px;height:48px;padding:4px 2px;font-size:13px;font-weight:700;display:grid}.tokenBoxActive{color:#fff;background:#2563eb;border-color:#2563eb}.tokenBox small{text-transform:capitalize;font-size:10px;font-weight:600}.tokenBox-available{color:#0f172a;background:#fff;border:1px dashed #86efac}.tokenBox-available.tokenBoxActive{color:#fff;background:#2563eb;border:1px solid #2563eb}.tokenBox-booked{color:#991b1b;cursor:not-allowed;background:#fee2e2;border-color:#fca5a5}.tokenBox-expired{color:#334155;cursor:not-allowed;background:#e5e7eb;border-color:#cbd5e1}.confirmOverlay{z-index:60;background:#0f172a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirmCard{border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-md);border:1px solid var(--border);background:#fff;padding:20px}.confirmCard h3{color:#0f172a;margin:0 0 12px;font-size:18px}.confirmRows{gap:8px;margin-bottom:12px;display:grid}.confirmRow{color:#334155;grid-template-columns:18px auto 1fr;align-items:center;gap:8px;margin:0;font-size:14px;display:grid}.confirmRow strong{color:#0f172a}.confirmIcon{color:#475467;justify-content:center;align-items:center;display:inline-flex}.confirmOverlay--booking{-webkit-backdrop-filter:blur(4px);padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#0f172a8c}.confirmCard--booking{border:1px solid #0f172a14;border-radius:16px;max-width:400px;padding:0;overflow:hidden;box-shadow:0 24px 48px #0f172a1f,inset 0 0 0 1px #ffffff0f}.confirmCardHead{background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #0f172a0f;padding:22px 22px 18px}.confirmCard--booking .confirmCardHead h3{letter-spacing:-.02em;color:#0f172a;margin:0 0 8px;font-size:1.25rem;font-weight:800;line-height:1.25}.confirmCardSub{color:#64748b;margin:0;font-size:13px;font-weight:500;line-height:1.45}.bookingConfirmBody{flex-direction:column;gap:18px;padding:18px 22px 8px;display:flex}.bookingConfirmTokenStrip{background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%);border:1px solid #2563eb2e;border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;display:flex}.bookingConfirmTokenLabel{text-transform:uppercase;letter-spacing:.06em;color:#3b82f6;font-size:11px;font-weight:700}.bookingConfirmTokenValue{font-variant-numeric:tabular-nums;color:#1e3a8a;letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1}.bookingConfirmSection{flex-direction:column;gap:10px;display:flex}.bookingConfirmSectionLabel{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-size:11px;font-weight:700}.bookingConfirmList{background:#fff;border:1px solid #0f172a14;border-radius:12px;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.bookingConfirmList li{border-bottom:1px solid #0f172a0f;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.bookingConfirmList li:last-child{border-bottom:none}.bookingConfirmItemIcon{color:#475569;background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.bookingConfirmItemIcon svg{width:18px;height:18px}.bookingConfirmItemText{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bookingConfirmItemLabel{color:#64748b;letter-spacing:.01em;font-size:11px;font-weight:600}.bookingConfirmItemValue{color:#0f172a;word-break:break-word;font-size:15px;font-weight:700;line-height:1.35}.bookingConfirmSection--patient{padding-bottom:4px}.bookingConfirmPatient{background:#f8fafc;border:1px solid #0f172a0f;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.bookingConfirmPatientIcon{color:#334155;background:#e2e8f0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.bookingConfirmPatientIcon svg{width:20px;height:20px}.bookingConfirmPatientName{color:#0f172a;word-break:break-word;font-size:16px;font-weight:700;line-height:1.3}.bookingConfirmPatientText{flex-direction:column;gap:4px;min-width:0;display:flex}.bookingConfirmPatientUhid{font-variant-numeric:tabular-nums;color:#4338ca;letter-spacing:.02em;font-size:12px;font-weight:700}.confirmActions--booking{background:#fafbfc;border-top:1px solid #0f172a0f;flex-direction:row;align-items:stretch;gap:10px;margin:0;padding:16px 22px 22px;display:flex}.confirmActions--booking .secondary{border-radius:12px;flex:1;min-height:48px;font-size:14px;font-weight:700}.bookingConfirmPrimary{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border:none;border-radius:12px;flex:1.15;min-height:48px;font-size:14px;font-weight:800;box-shadow:0 2px 10px #2563eb59}.bookingConfirmPrimary:active:not(:disabled){filter:brightness(.97)}.bookingConfirmPrimary:disabled{opacity:.65;cursor:not-allowed}.toastHost{z-index:100;pointer-events:none;gap:8px;display:grid;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{color:#fff;text-align:center;background:#0f172aeb;border-radius:999px;min-width:220px;max-width:min(88vw,420px);padding:10px 14px;font-size:13px;font-weight:600;box-shadow:0 8px 24px #0f172a47}.toast-success{background:#166534f2}.toast-error{background:#b91c1cf2}.toast-info{background:#2563ebf2}.globalLoaderOverlay{z-index:120;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0f172a33;place-items:center;display:grid;position:fixed;inset:0}.globalLoaderCard{background:#fff;border-radius:12px;justify-items:center;gap:8px;min-width:140px;padding:14px 16px;display:grid;box-shadow:0 14px 30px #0f172a38}.globalLoaderCard p{color:#334155;margin:0;font-size:13px;font-weight:600}.globalLoaderSpinner{border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite loader-spin}@keyframes loader-spin{to{transform:rotate(360deg)}}@keyframes dashboardPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.patientList{gap:8px;display:grid}.patientRow{color:#111827;text-align:left;background:#fafafa;border:1px solid #d4d4d8;border-radius:12px;gap:2px;padding:10px 12px;display:grid}.patientRow small{color:#64748b}.patientRowActive{background:#dbeafe;border-color:#2563eb}.patientRowUhid{font-variant-numeric:tabular-nums;color:#4338ca;letter-spacing:.02em;font-size:11px;font-weight:700;display:block}.patientsLoading{color:#64748b;justify-content:center;align-items:center;gap:12px;padding:40px 16px;font-size:14px;font-weight:600;display:flex}.patientsShell{flex-direction:column;gap:14px;display:flex}.patientsIntroCard{background:linear-gradient(135deg,#f8fafc 0%,#fff 100%);border:1px solid #0f172a14;border-radius:16px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex;box-shadow:0 1px 3px #0f172a0a}.patientsIntroIcon{background:linear-gradient(145deg,#dbeafe 0%,#eff6ff 100%);border:1px solid #2563eb1f;border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.patientsIntroTitle{letter-spacing:-.02em;color:#0f172a;margin:0 0 6px;font-size:1.15rem;font-weight:800}.patientsIntroSub{color:#64748b;margin:0;font-size:13px;font-weight:500;line-height:1.45}.patientsAddCta{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 18px;font-size:15px;font-weight:800;display:flex;box-shadow:0 4px 14px #2563eb52}.patientsAddCta:active{filter:brightness(.97)}.patientsAddCtaIcon{background:#fff3;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.patientsEmpty{text-align:center;background:#fafbfc;border:1px dashed #2563eb38;border-radius:16px;padding:28px 16px}.patientsEmptyTitle{color:#0f172a;margin:0 0 8px;font-size:1rem;font-weight:800}.patientsEmptySub{color:#64748b;margin:0;max-width:320px;margin-inline:auto;font-size:14px;font-weight:500;line-height:1.5}.patientMgmtList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.patientMgmtCard{background:#fff;border:1px solid #0f172a14;border-radius:14px;align-items:center;gap:12px;padding:14px 14px 14px 16px;display:flex;box-shadow:0 1px 2px #0f172a0a}.patientMgmtAvatar{color:#1e40af;background:linear-gradient(145deg,#dbeafe 0%,#eff6ff 100%);border:1px solid #2563eb26;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:grid}.patientMgmtMain{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.patientMgmtNameRow{flex-wrap:wrap;align-items:baseline;gap:8px 10px;display:flex}.patientMgmtName{color:#0f172a;letter-spacing:-.02em;font-size:16px;font-weight:800}.patientMgmtUhid{font-variant-numeric:tabular-nums;letter-spacing:.03em;text-transform:uppercase;color:#4338ca;background:#eef2ff;border:1px solid #4338ca33;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.patientMgmtSub{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.patientMgmtDot{color:#cbd5e1;font-weight:800}.patientMgmtEditBtn{color:#2563eb;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#f8fafc;border:1px solid #0f172a1a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.patientMgmtEditBtn:hover{background:#eff6ff;border-color:#2563eb40}.patientMgmtEditBtn:active{filter:brightness(.97)}.patientFormCard{background:#fff;border:1px solid #0f172a14;border-radius:16px;margin-top:4px;padding:20px 18px 22px;box-shadow:0 8px 24px #0f172a0f}.patientFormTitle{color:#0f172a;letter-spacing:-.02em;margin:0 0 8px;font-size:1.15rem;font-weight:800}.patientFormHint{color:#64748b;margin:0 0 16px;font-size:13px;font-weight:500;line-height:1.45}.patientFormInput,.patientFormSelect{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #0f172a1f;border-radius:12px;width:100%;margin-bottom:12px;padding:12px 14px;font-size:15px;font-weight:600}.patientFormSelect{cursor:pointer}.patientFormActions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.patientFormActions .secondary,.patientFormActions button[type=button]:not(.secondary){border-radius:12px;flex:1;min-height:48px;font-size:14px;font-weight:700}.patientFormActions button[type=button]:not(.secondary){color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border:none;box-shadow:0 2px 10px #2563eb47}.list{gap:10px;margin-top:16px;display:grid}.listItem{background:#f8faff;border:1px solid #dbe3f0;border-radius:12px;gap:4px;padding:12px;display:grid}.homeTopBar{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.homeTitle{color:#0f172a;margin:0;font-size:22px;font-weight:800}.menuWrap{position:relative}.menuButton{color:#fff;background:0 0;border:0;border-radius:12px;place-items:center;width:38px;height:38px;padding:0;font-size:18px;display:grid}.menuPopup{z-index:20;background:#fff;border:1px solid #d0d5dd;border-radius:12px;min-width:150px;padding:6px;position:absolute;top:44px;right:0;box-shadow:0 12px 24px #0f172a2e}.menuPopupItem{text-align:left;color:#b42318;background:0 0;border-radius:10px;align-items:center;gap:8px;width:100%;padding:10px;display:flex}.homeQuickActions{gap:10px;margin-bottom:10px;display:grid}.homeActionCard{color:#0f172a;background:linear-gradient(#eff6ff 0%,#dbeafe 100%);border:1px solid #bfdbfe;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.homeActionCard.passive{background:#f8faff;border-color:#dbe3f0}.homeActionIcon{color:#334155;background:#33415514;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.homeActionText{text-align:left;gap:2px;display:grid}.homeActionText strong{font-size:15px}.homeActionText small{color:#475467}.tokenListShell{flex-direction:column;flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.tokenListHead{flex-direction:column;flex-shrink:0;gap:12px;display:flex}.tokenListHead .wizardTopBar{margin:-8px -16px 0;position:relative;top:auto}.tokenListScrollArea{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding-top:6px;padding-bottom:12px;overflow:hidden auto}.tokenListItems{flex-direction:column;gap:12px;display:flex}.tokenListHeaderCard{background:linear-gradient(#f8fafc 0%,#fff 55%);border:1px solid #0f172a14;border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px #0f172a0a}.tokenListHeaderTitle{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:800;line-height:1.25}.tokenListHeaderSub{color:#64748b;margin:6px 0 0;font-size:13px;font-weight:500;line-height:1.45}.tokenTabsSegment{background:#eef2f7;border:1px solid #0f172a0f;border-radius:14px;align-items:stretch;gap:4px;padding:4px;display:flex}.tokenTabs{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.tokenTabBtn{color:#475569;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;padding:8px 6px;font-size:13px;font-weight:700;transition:background .18s,color .18s,box-shadow .18s;display:flex;position:relative}.tokenTabBtnLabel{line-height:1.15}.tokenTabCount{font-variant-numeric:tabular-nums;color:#475569;background:#0f172a14;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.tokenTabBtnActive{color:#1d4ed8;background:#fff;box-shadow:0 1px 3px #0f172a14,0 0 0 1px #2563eb1f}.tokenTabBtnActive .tokenTabCount{color:#1d4ed8;background:#dbeafe}.tokenTabBtn:active:not(.tokenTabBtnActive){background:#ffffff73}.pastRangeBar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=440px){.pastRangeBar{grid-template-columns:repeat(4,minmax(0,1fr))}}.pastRangeBtn{color:#475569;cursor:pointer;text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#f8fafc;border:1px solid #0f172a1a;border-radius:10px;padding:10px 8px;font-size:12px;font-weight:700;line-height:1.2;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}.pastRangeBtn:hover{background:#f1f5f9;border-color:#2563eb40}.pastRangeBtn:active:not(.pastRangeBtnActive){filter:brightness(.98)}.pastRangeBtnActive{color:#1d4ed8;background:#eff6ff;border-color:#2563eb73;box-shadow:0 0 0 1px #2563eb1f}.tokenCard{background:#fff;border:1px solid #0f172a14;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 8px 20px #0f172a0f}.tokenCard:before{content:"";background:#94a3b8;width:4px;position:absolute;top:0;bottom:0;left:0}.tokenCard--waiting:before{background:linear-gradient(#3b82f6 0%,#2563eb 100%)}.tokenCard--serving:before{background:linear-gradient(#f59e0b 0%,#d97706 100%)}.tokenCard--completed:before{background:linear-gradient(#22c55e 0%,#15803d 100%)}.tokenCard--cancelled:before{background:linear-gradient(#f87171 0%,#b91c1c 100%)}.tokenCardInner{flex-direction:column;gap:0;padding:12px 12px 12px 14px;display:flex}.tokenCardTopRow{align-items:stretch;gap:6px;min-height:48px;display:flex}.tokenCardSummaryHit{cursor:pointer;text-align:left;min-width:0;color:inherit;font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:12px;flex:1;justify-content:space-between;align-items:center;gap:6px;margin:-6px 0;padding:6px 8px 6px 2px;display:flex}.tokenCardSummaryHit:hover{background:#0f172a08}.tokenCardSummaryHit:active{background:#0f172a0f}.tokenCardSummaryMain{flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;display:flex}.tokenCardSummaryNumber{font-variant-numeric:tabular-nums;color:#0f172a;letter-spacing:-.03em;font-size:1.35rem;font-weight:800;line-height:1.1}.tokenCardSummaryNumber:before{content:"#";color:#94a3b8;margin-right:2px;font-size:.65em;font-weight:800}.tokenCardSummaryPatient{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:14px;font-weight:700;line-height:1.25;overflow:hidden}.tokenCardSummaryDate{color:#64748b;font-size:12px;font-weight:600}.tokenCardChevron{color:#94a3b8;flex-shrink:0;transition:transform .22s,color .2s;font-size:26px!important}.tokenCardChevron--open{color:#2563eb;transform:rotate(180deg)}.tokenCardQuickActions{flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-end;gap:6px;padding-top:2px;display:flex}.tokenCardExpanded{border-top:1px solid #0f172a0f;flex-direction:column;gap:12px;margin-top:4px;padding-top:12px;animation:.22s tokenCardExpandIn;display:flex}@keyframes tokenCardExpandIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tokenCardSchedule--expanded{margin-top:0}.tokenListLoading{justify-content:center;align-items:center;gap:8px;padding:36px 16px;display:flex}.tokenListLoadingDot{background:#2563eb;border-radius:999px;width:8px;height:8px;animation:1s ease-in-out infinite tokenListLoadDot}.tokenListLoadingDot:nth-child(2){animation-delay:.15s}.tokenListLoadingDot:nth-child(3){animation-delay:.3s}@keyframes tokenListLoadDot{0%,80%,to{opacity:.35;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.tokenListSentinel{visibility:hidden;pointer-events:none;height:1px;margin:0;padding:0}.tokenListInlineLoading{color:#64748b;justify-content:center;align-items:center;gap:10px;padding:14px 16px 8px;font-size:13px;font-weight:600;display:flex}.tokenListInlineLoadingSpinner{border:2px solid #e2e8f0;border-top-color:#2563eb;border-radius:999px;width:18px;height:18px;animation:.7s linear infinite loader-spin}.tokenListEndNote{text-align:center;color:#94a3b8;letter-spacing:.02em;margin:0;padding:4px 0 12px;font-size:12px;font-weight:600}.tokenCancelBtn{color:#b91c1c;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff1f2;border:1px solid #f8717173;border-radius:10px;justify-content:center;align-items:center;gap:5px;height:34px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.tokenCancelBtn svg{width:15px;height:15px}.tokenCancelBtn:active{filter:brightness(.97)}.tokenPill{text-transform:capitalize;letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:800}.tokenPill--waiting{color:#1d4ed8;background:#eff6ff;border:1px solid #2563eb33}.tokenPill--serving{color:#b45309;background:#fffbeb;border:1px solid #f59e0b59}.tokenPill--completed{color:#047857;background:#ecfdf5;border:1px solid #10b98147}.tokenPill--cancelled{color:#b91c1c;background:#fef2f2;border:1px solid #f8717159}.tokenCardSchedule{background:#f8fafc;border:1px solid #0f172a0f;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.tokenCardScheduleIcon{color:#4338ca;background:#e0e7ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.tokenCardScheduleIcon svg{width:18px;height:18px}.tokenCardScheduleText{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.tokenCardScheduleDate{color:#0f172a;letter-spacing:-.01em;font-size:15px;font-weight:800}.tokenCardScheduleTime{color:#475569;align-items:center;gap:5px;font-size:14px;font-weight:700;display:inline-flex}.tokenCardScheduleTime svg{opacity:.85;width:16px;height:16px}.tokenCardDetails{background:#fff;border:1px solid #0f172a0f;border-radius:12px;flex-direction:column;gap:0;margin:0;display:flex;overflow:hidden}.tokenCardDetail{border-bottom:1px solid #0f172a0d;flex-direction:column;gap:4px;padding:11px 12px;display:flex}.tokenCardDetail:last-child{border-bottom:none}.tokenCardDetail dt{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:700;display:flex}.tokenCardDetail dd{color:#1e293b;word-break:break-word;margin:0;padding-left:36px;font-size:14px;font-weight:600;line-height:1.45}.tokenCardDetailIcon{color:#475569;background:#f1f5f9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.tokenCardDetailIcon svg{width:16px;height:16px}.tokenCardDetail--full dd{margin-top:2px;padding-left:0}.tokenListEmpty{text-align:center;background:linear-gradient(#f8fafc 0%,#fff 100%);border:1px dashed #2563eb38;border-radius:16px;flex-direction:column;align-items:center;padding:28px 20px 20px;display:flex}.tokenListEmptyVisual{color:#2563eb;background:linear-gradient(145deg,#dbeafe 0%,#eff6ff 100%);border:1px solid #2563eb26;border-radius:999px;place-items:center;width:72px;height:72px;margin-bottom:14px;display:grid}.tokenListEmptyGlyph{font-size:40px!important}.tokenListEmptyTitle{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:800}.tokenListEmptyBody{color:#64748b;max-width:320px;margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.5}.tokenListEmptyCta{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:48px;margin-top:18px;padding:0 22px;font-size:15px;font-weight:800;display:inline-flex;box-shadow:0 4px 14px #2563eb59}.tokenListEmptyCta:active{filter:brightness(.97)}.monoIcon{width:18px;height:18px}@media (width<=640px){.card{border-radius:0;min-height:calc(100vh - 76px);padding:6px 12px 12px}.page{padding:0}.appHeader{border-radius:0;max-width:none}.loginPageWrap{gap:6px;min-height:calc(100vh - 96px)}.loginProfileLogo{border-radius:20px;width:96px;height:96px}.loginProfileName{font-size:24px}.loginFormCard{border-radius:14px;padding:14px}.loginHeading{font-size:20px}.wizardTopBar{margin:-6px -12px 0;padding:8px 12px 10px;top:64px}.tokenListHead .wizardTopBar{margin:-6px -12px 0}.optionGrid,.optionGrid3,.optionGrid4{grid-template-columns:1fr}.slotStepLayout{min-height:calc(100vh - 170px)}.tokenGridScroll{max-height:calc(100vh - 470px)}.slotStepFooterRow{grid-template-columns:1fr auto;align-items:center;gap:8px}.slotLegendWrap{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.globalLoaderSpinner{border-top-color:#2563eb;animation:none}.optionCard,.datePickerBox,.tokenBox{transition:none}.tokenCardExpanded{animation:none}.tokenListLoadingDot{opacity:.7;animation:none}.tokenCardChevron{transition:none}}.pwaInstallBar{left:10px;right:10px;bottom:calc(72px + var(--safe-bottom));z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #0f172a1f;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;box-shadow:0 8px 32px #0f172a1f}.pwaInstallBar--ios{flex-direction:column;align-items:stretch}.pwaInstallBarText{color:#0f172a;flex:1;min-width:0;margin:0;font-size:13px;font-weight:600;line-height:1.35}.pwaInstallBarActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pwaInstallBarBtn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;min-height:40px;padding:0 14px;font-size:13px;font-weight:700}.pwaInstallBarBtn--primary{color:#fff;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);box-shadow:0 2px 10px #2563eb4d}.pwaInstallBarBtn--ghost{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0}
