:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#eef3f8;--text:#172033;--muted:#6b7280;--primary:#155eef;--primary-dark:#0b46be;--success:#138a5b;--danger:#c2413b;--warning:#b7791f;--border:#dce3ec;--shadow:0 18px 45px #1c2d4b14;--radius:18px;--focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 28%, transparent);--ease-out-ui:cubic-bezier(.23, 1, .32, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){html:not([data-theme]){--bg:#0c111b;--surface:#121a27;--surface-2:#1a2433;--text:#eef4ff;--muted:#99a7bb;--primary:#4f8cff;--primary-dark:#3574ed;--success:#37b981;--danger:#ef6b64;--warning:#e4ad4e;--border:#273347;--shadow:0 18px 45px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html[data-theme=dark]{--bg:#0c111b;--surface:#121a27;--surface-2:#1a2433;--text:#eef4ff;--muted:#99a7bb;--primary:#4f8cff;--primary-dark:#3574ed;--success:#37b981;--danger:#ef6b64;--warning:#e4ad4e;--border:#273347;--shadow:0 18px 45px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Avenir Next,Avenir,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{color:#fff;background:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;box-shadow:var(--focus-ring)}.topbar{z-index:30;background:color-mix(in srgb, var(--surface) 92%, transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;font-weight:800;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#1f74ff,#0ea5a8);border-radius:13px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 10px 24px #155eef40}.brand small{color:var(--muted);font-size:11px;font-weight:600;display:block}.top-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.layout{grid-template-columns:250px 1fr;min-height:calc(100vh - 67px);display:grid}.sidebar{border-right:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, var(--bg));padding:24px 16px}.nav-group{margin-bottom:24px}.nav-title{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;padding:0 12px 8px;font-size:11px;font-weight:800}.nav-button{text-align:left;width:100%;color:var(--text);transition:color .16s ease, background-color .16s ease, transform .14s var(--ease-out-ui);background:0 0;border:0;border-radius:12px;margin:3px 0;padding:11px 12px}.nav-button.active{background:color-mix(in srgb, var(--primary) 13%, var(--surface));color:var(--primary);font-weight:700}.main{min-width:0;padding:28px}.view{display:none}.view.active{animation:.18s fade;display:block}@keyframes fade{0%{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:none}}.hero{color:#fff;box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#ffffff38,#0000 40%),linear-gradient(135deg,#155eef,#0b8d91);border-radius:26px;grid-template-columns:1.4fr .8fr;gap:22px;padding:30px;display:grid}.hero h1{margin:0 0 14px;font-size:clamp(30px,4vw,54px);line-height:1.03}.hero p{color:#ffffffd6;max-width:720px;font-size:17px}.hero-panel{background:#ffffff24;border:1px solid #ffffff38;border-radius:20px;padding:20px}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:20px;box-shadow:0 8px 26px #1c2d4b0b}.card h2,.card h3{margin-top:0}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-head h1,.section-head h2{margin:0}.muted{color:var(--muted)}.metric{margin-top:7px;font-size:30px;font-weight:850}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .full{grid-column:1/-1}label{color:var(--muted);gap:6px;font-size:13px;font-weight:650;display:grid}input,textarea,select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:11px;outline:none;padding:11px 12px}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring)}textarea{resize:vertical;min-height:92px}.btn{min-height:42px;transition:transform .14s var(--ease-out-ui), background-color .16s ease, border-color .16s ease, opacity .16s ease;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-weight:750;display:inline-flex}.btn-primary{color:#fff;background:var(--primary)}.btn-secondary{color:var(--text);background:var(--surface-2)}.btn-danger{color:#fff;background:var(--danger)}.btn-success{color:#fff;background:var(--success)}.btn-ghost{border:1px solid var(--border);background:0 0}.btn-sm{min-height:36px;padding:7px 10px;font-size:12px}.btn:active:not(:disabled),.nav-button:active{transform:scale(.97)}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-wrap{border:1px solid var(--border);border-radius:14px;overflow:auto}table{border-collapse:collapse;background:var(--surface);width:100%;min-width:700px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 14px;font-size:13px}th{background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}tr:last-child td{border-bottom:0}.code{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.badge{color:var(--primary);background:#eaf1ff;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.badge.success{color:var(--success);background:#e8f7f1}.badge.danger{color:var(--danger);background:#fdeceb}.badge.warning{color:var(--warning);background:#fff5dd}.toast-container{z-index:1100;pointer-events:none;flex-direction:column;align-items:stretch;gap:10px;width:min(380px,100vw - 36px);max-height:calc(100vh - 104px);display:flex;position:fixed;top:86px;right:18px;overflow-y:auto}.toast{color:#fff;box-shadow:var(--shadow);white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:auto;animation:toast-enter .18s var(--ease-out-ui);background:#172033;border-radius:13px;flex:none;padding:14px 16px}@keyframes toast-enter{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.toast.error{background:#8f2f2b}.toast.success{background:#126846}.hidden{display:none!important}.empty{text-align:center;color:var(--muted);padding:28px}.status-line{background:var(--surface-2);color:var(--muted);border-radius:10px;padding:10px 12px;font-size:13px}.login-shell{background:linear-gradient(140deg,var(--bg),var(--surface-2));place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(520px,100%)}pre.output{color:#d1fae5;white-space:pre-wrap;background:#111827;border-radius:12px;max-height:360px;padding:14px;overflow:auto}.api-key-secret{border-color:color-mix(in srgb, var(--success) 38%, var(--border));gap:14px;margin-bottom:18px;display:grid}.api-key-secret h2,.api-key-secret p{margin:0}.api-key-secret-row{align-items:center;gap:10px;display:flex}.api-key-secret-row code{color:#d1fae5;white-space:nowrap;background:#111827;border-radius:11px;flex:1;min-width:0;padding:12px 14px;overflow:auto}@media (max-width:1050px){.layout{grid-template-columns:1fr}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--border);gap:8px;padding:10px;display:flex;position:sticky;top:67px;overflow:auto}.nav-group{margin:0;display:flex}.nav-title{display:none}.nav-button{white-space:nowrap;width:auto}.hero,.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (max-width:700px){.topbar{flex-wrap:wrap;gap:10px 14px;padding:12px 16px}.top-actions{flex:1 0 100%;justify-content:flex-end;width:100%}.sidebar{position:relative;top:auto}.main{padding:16px}.hero,.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.hero{padding:22px}.btn,.btn-sm,.nav-button{min-height:44px}.api-key-secret-row{flex-direction:column;align-items:stretch}}[data-access].hidden,[data-admin-only].hidden{display:none!important}.link-button{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.clickable-card{cursor:pointer;transition:transform .15s,box-shadow .15s}@media (hover:hover) and (pointer:fine){.nav-button:hover{background:color-mix(in srgb, var(--primary) 13%, var(--surface));color:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}.link-button:hover{color:var(--primary);text-decoration:underline}.clickable-card:hover{transform:translateY(-2px);box-shadow:0 14px 35px #0f172a1f}}.modal{z-index:1000;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal.hidden{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a94;position:absolute;inset:0}.modal-dialog{width:min(760px,100%);max-height:calc(100vh - 48px);animation:modal-enter .18s var(--ease-out-ui);background:#fff;border-radius:18px;position:relative;overflow:auto;box-shadow:0 24px 80px #0f172a4d}@keyframes modal-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}}body.modal-open{overflow:hidden}.modal-head,.modal-actions{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.modal-head h2{margin:0}.modal-body{padding:20px}.modal-actions{border-top:1px solid #e5e7eb;border-bottom:0;justify-content:flex-end}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-item{background:#f8fafc;border-radius:12px;padding:12px}.detail-item.full{grid-column:1/-1}.detail-label{color:#64748b;margin-bottom:4px;font-size:12px;display:block}@media (max-width:700px){.detail-grid{grid-template-columns:1fr}}.appointment-group{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:14px;overflow:hidden}.appointment-group>summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-weight:700;list-style:none;display:flex}.appointment-group>summary::-webkit-details-marker{display:none}.appointment-group>summary:after{content:"▾";margin-left:auto;transition:transform .18s}.appointment-group:not([open])>summary:after{transform:rotate(-90deg)}.appointment-group-content{padding:0 14px 14px}.appointment-group-content .table-wrap{margin:0}.role-manager{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.role-manager select{min-width:170px}.working-hours-list{flex-direction:column;gap:10px;margin-top:6px;display:flex}.working-hours-day-row{grid-template-columns:minmax(125px,160px) 1fr;align-items:start;gap:12px;display:grid}.working-hours-day-name{text-transform:none;padding-top:6px;font-weight:700}.working-hours-intervals{flex-direction:column;gap:7px;display:flex}.working-hours-interval-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.working-hours-interval{white-space:nowrap;background:#fff;border:1px solid #dbe4f0;border-radius:999px;align-items:center;min-height:32px;padding:6px 11px;font-weight:600;display:inline-flex}.schedule-management-list{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:16px}@media (max-width:700px){.working-hours-day-row{grid-template-columns:1fr;gap:5px}.working-hours-day-name{padding-top:0}}.phone-input-group{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, var(--bg));border-radius:12px;grid-template-columns:154px minmax(0,1fr);align-items:center;gap:0;width:100%;min-width:0;transition:border-color .16s,box-shadow .16s,background-color .16s;display:grid;overflow:hidden}.phone-input-group:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.phone-input-group .phone-country-select{border:0;border-right:1px solid var(--border);width:100%;min-width:0;min-height:46px;box-shadow:none;color:var(--text);text-overflow:ellipsis;background-color:#0000;border-radius:0;outline:0;padding:11px 32px 11px 13px;font-size:13px;font-weight:700;overflow:hidden}.phone-input-group input[name=phone]{width:100%;min-width:0;min-height:46px;box-shadow:none;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:0 0;border:0;border-radius:0;outline:0}.phone-input-group .phone-country-select:focus-visible,.phone-input-group input[name=phone]:focus-visible{box-shadow:none;border-color:#0000;outline:0}.phone-input-group:has(input:disabled){cursor:not-allowed;opacity:.68}@media (max-width:560px){.phone-input-group{grid-template-columns:142px minmax(0,1fr)}.phone-input-group .phone-country-select{padding-inline:12px 30px}}.doctor-user-link-panel{gap:16px;display:grid}.doctor-user-results{gap:10px;max-height:420px;display:grid;overflow-y:auto}.doctor-user-result{border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.doctor-user-result:hover{border-color:var(--primary);background:var(--surface-2)}.doctor-user-result-main{gap:4px;min-width:0;display:grid}.doctor-user-result-main span,.doctor-user-result-phone{color:var(--muted);overflow-wrap:anywhere}@media (max-width:640px){.doctor-user-result{flex-direction:column;align-items:flex-start}}.service-status-group{grid-column:1/-1}.service-status-group>.appointment-group-content.grid{padding-top:4px}.doctor-avatar{object-fit:cover;background:var(--surface-2);border:1px solid var(--border);border-radius:50%;flex:none;width:84px;height:84px}.doctor-avatar-small{width:38px;height:38px}.doctor-avatar-large{width:128px;height:128px}.doctor-avatar-preview{width:96px;height:96px}.doctor-card-layout,.doctor-profile-head,.doctor-table-person,.avatar-picker-row{align-items:center;gap:16px;display:flex}.doctor-card-content{flex:1;min-width:0}.doctor-profile-head{margin-bottom:18px}.doctor-profile-head h3{margin:0 0 4px}.doctor-table-person{gap:10px}.avatar-picker{color:#4b5568;gap:8px;font-size:13px;font-weight:650;display:grid}.avatar-upload-control{width:auto;color:var(--primary);cursor:pointer;background:#f5f8ff;border:1px dashed #78a7ff;border-radius:11px;justify-content:center;align-items:center;padding:10px 14px;display:inline-flex}.avatar-upload-control input{display:none}@media (max-width:640px){.doctor-card-layout,.doctor-profile-head{align-items:flex-start}.doctor-avatar-large{width:96px;height:96px}}.doctor-card-schedule{color:var(--muted);align-items:flex-start;gap:8px;margin-top:10px;line-height:1.5;display:flex}.doctor-card-schedule-icon{color:#7f8ca3;flex:none;margin-top:1px;font-size:18px}.doctor-card-schedule-day strong{color:var(--text);text-transform:lowercase}.doctor-card-schedule-separator{white-space:normal}.doctor-card-arrow{color:#526078;align-self:center;margin-left:auto;padding-left:12px;font-size:42px;font-weight:300;line-height:1}.public-doctor-card .doctor-card-layout{width:100%}@media (max-width:640px){.doctor-card-arrow{display:none}.doctor-card-schedule{font-size:14px}}.btn:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.65)}#publicDoctors{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));align-items:stretch}.public-doctor-card{width:100%;min-width:0}.doctor-card-schedule-content{gap:3px;min-width:0;display:grid}.doctor-card-schedule-content>strong{margin-bottom:2px;display:block}.doctor-card-schedule-day{white-space:nowrap;display:block}.doctor-card-schedule-separator{display:none}.field-label-title{align-items:baseline;gap:3px;width:fit-content;min-width:0;display:inline-flex}.required-mark{color:#d43f3a;white-space:nowrap;font-weight:800;line-height:1;display:inline}@media (max-width:640px){#publicDoctors{grid-template-columns:1fr}.public-doctor-card .doctor-card-layout{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.public-doctor-card .doctor-card-arrow{display:none}.doctor-card-schedule-day{font-size:13px}}#profileForm .field-changed{background:#f8fbff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}#profileForm .phone-input-group:has(input.field-changed){border-radius:12px;box-shadow:0 0 0 3px #2563eb24}#saveProfile:disabled{opacity:.5;cursor:not-allowed}#publicDoctors{grid-template-columns:minmax(0,1fr);width:100%}#publicDoctors .public-doctor-card{grid-column:1/-1;width:100%}.doctor-card-schedule-content{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.doctor-card-schedule-day{width:100%;display:block}.dashboard-kicker{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:750}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.dashboard-metric-card{flex-direction:column;justify-content:center;min-height:158px;display:flex}.dashboard-metric-card .metric{letter-spacing:-.04em;font-size:40px}.dashboard-delta{color:#0b8d91;margin-top:8px;font-size:13px;font-weight:750}.dashboard-chart-card{padding:24px 26px 18px}.dashboard-chart-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-chart-head h2{margin:0 0 4px}.dashboard-chart{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:18px;height:300px;padding:30px 4px 8px;display:grid}.dashboard-bar-column{flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;min-width:0;height:100%;display:flex}.dashboard-bar-value{color:var(--muted);font-size:12px;font-weight:800}.dashboard-bar-track{justify-content:center;align-items:flex-end;width:min(100%,82px);height:220px;display:flex}.dashboard-bar{background:linear-gradient(#4b86ff 0%,#36a3a2 100%);border-radius:12px 12px 4px 4px;width:100%;min-height:6px}.dashboard-bar-label{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.dashboard-chart-legend{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.dashboard-chart-legend span{align-items:center;gap:7px;display:flex}.dashboard-legend-dot{background:var(--primary);border-radius:50%;width:9px;height:9px;display:inline-block}@media (max-width:900px){.dashboard-metrics{grid-template-columns:1fr}.dashboard-chart{gap:8px;height:250px}.dashboard-bar-track{height:170px}}@media (max-width:560px){.dashboard-chart-card{padding:18px 14px}.dashboard-chart{gap:4px}.dashboard-bar-label,.dashboard-bar-value{font-size:10px}}.live-status{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.live-status:before{content:"";background:currentColor;border-radius:999px;width:8px;height:8px}.live-status-online{color:#0b8f55;background:#12b5691a;border-color:#12b56940}.live-status-online:before{animation:1.4s ease-out infinite bublapi-live-pulse}.live-status-connecting{color:#9a6700;background:#f5a6231a}.live-status-offline{color:#7b8495;background:#7b84951a}@keyframes bublapi-live-pulse{0%{box-shadow:0 0 #12b56973}70%{box-shadow:0 0 0 7px #12b56900}to{box-shadow:0 0 #12b56900}}.brand-mark{box-shadow:none;background:0 0;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.theme-toggle{border:1px solid var(--border);min-width:154px;height:44px;color:var(--text);background:var(--surface);cursor:pointer;box-shadow:0 3px 12px color-mix(in srgb,var(--text) 6%,transparent);transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .14s var(--ease-out-ui);border-radius:12px;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:5px 7px 5px 12px;display:inline-flex}.theme-toggle-copy{text-align:left;gap:1px;line-height:1;display:grid}.theme-toggle-label{color:var(--muted);letter-spacing:.04em;font-size:10px;font-weight:750}.theme-toggle-value{min-width:50px;color:var(--text);font-size:12px;font-weight:800}.theme-toggle:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));box-shadow:0 5px 18px color-mix(in srgb,var(--primary) 11%,transparent)}.theme-toggle:active{transform:scale(.98)}.theme-toggle:focus-visible{outline-offset:2px}.theme-toggle-track{border:1px solid color-mix(in srgb,var(--border) 80%,var(--muted));background:var(--surface-2);width:58px;height:30px;box-shadow:inset 0 1px 3px color-mix(in srgb,var(--text) 10%,transparent);border-radius:999px;flex:none;padding:0;transition:background-color .18s,border-color .18s;display:block;position:relative;overflow:hidden}.theme-icon{z-index:2;width:14px;height:14px;color:var(--muted);pointer-events:none;transition:color .18s,opacity .18s;position:absolute;top:50%;transform:translateY(-50%)}.theme-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.theme-icon-sun{color:#9a6700;left:7px}.theme-icon-moon{opacity:.58;right:7px}.theme-toggle-thumb{z-index:1;width:24px;height:24px;box-shadow:0 2px 7px color-mix(in srgb,var(--text) 24%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--border) 60%,transparent);background:#fff;border-radius:50%;transition:transform .48s cubic-bezier(.65,0,.35,1),background-color .38s;position:absolute;top:2px;left:2px}html[data-theme=dark] .theme-toggle-track{background:color-mix(in srgb,var(--primary) 36%,var(--surface-2));border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}html[data-theme=dark] .theme-toggle-thumb{background:#f5f8ff;transform:translate(28px)}html[data-theme=dark] .theme-icon-sun{color:var(--muted);opacity:.58}html[data-theme=dark] .theme-icon-moon{color:#dbe7ff;opacity:1}@media (prefers-color-scheme:dark){html:not([data-theme]) .theme-toggle-track{background:color-mix(in srgb,var(--primary) 36%,var(--surface-2));border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}html:not([data-theme]) .theme-toggle-thumb{background:#f5f8ff;transform:translate(28px)}html:not([data-theme]) .theme-icon-sun{color:var(--muted);opacity:.58}html:not([data-theme]) .theme-icon-moon{color:#dbe7ff;opacity:1}}.theme-toggle-floating{z-index:50;position:fixed;top:18px;right:18px}html[data-theme=dark] .badge{background:#4f8cff24}html[data-theme=dark] .badge.success{background:#37b98124}html[data-theme=dark] .badge.danger{background:#ef6b6424}html[data-theme=dark] .badge.warning{background:#e4ad4e24}html[data-theme=dark] .hero{background:radial-gradient(circle at 86% 8%,#4f8cff26,#0000 34%),radial-gradient(circle at 8% 92%,#0e8d911c,#0000 38%),linear-gradient(135deg,#101a2c 0%,#112039 52%,#102c34 100%);border:1px solid #293a54;box-shadow:0 20px 48px #00000047}html[data-theme=dark] .hero-panel{background:#121f32b8;border-color:#35506f;box-shadow:inset 0 1px #ffffff09}html[data-theme=dark] .hero .btn-secondary{color:#eef4ff;background:#18243a;border:1px solid #2d405d}@media (hover:hover) and (pointer:fine){html[data-theme=dark] .clickable-card:hover{box-shadow:0 16px 38px #0000004d}html[data-theme=dark] .hero .btn-secondary:hover{background:#1e2f49;border-color:#426083}}html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:background-color .65s,color .65s,border-color .65s,box-shadow .65s!important}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){z-index:9999}::view-transition-old(root){z-index:1}html[data-theme-transition=dark]::view-transition-new(root){clip-path:circle(150% at var(--theme-x,95%) var(--theme-y,5%));animation:.7s cubic-bezier(.65,0,.35,1) theme-reveal}html[data-theme-transition=light]::view-transition-new(root){clip-path:circle(150% at var(--theme-x,95%) var(--theme-y,5%));animation:.7s cubic-bezier(.65,0,.35,1) theme-reveal}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--theme-x,95%) var(--theme-y,5%))}}@view-transition{navigation:auto}html[data-portal-transition]::view-transition-old(root){animation:.22s cubic-bezier(.4,0,1,1) both portal-leave}html[data-portal-transition]::view-transition-new(root){animation:.42s cubic-bezier(.16,1,.3,1) both portal-enter}html[data-portal-transition=staff-patient]::view-transition-old(root){--portal-shift:18px}html[data-portal-transition=staff-patient]::view-transition-new(root){--portal-shift:-18px}html[data-portal-transition=patient-staff]::view-transition-old(root){--portal-shift:-18px}html[data-portal-transition=patient-staff]::view-transition-new(root){--portal-shift:18px}html:not([data-theme-transition]):not([data-portal-transition])::view-transition-old(root){animation:.18s cubic-bezier(.4,0,1,1) both portal-document-leave}html:not([data-theme-transition]):not([data-portal-transition])::view-transition-new(root){animation:.42s cubic-bezier(.16,1,.3,1) both portal-document-enter}@keyframes portal-leave{to{opacity:0;filter:blur(2px);transform:translateX(var(--portal-shift,-18px)) scale(.992)}}@keyframes portal-enter{0%{opacity:0;filter:blur(3px);transform:translateX(var(--portal-shift,18px)) scale(.992)}}@keyframes portal-document-leave{to{opacity:0;filter:blur(2px);transform:scale(.992)}}@keyframes portal-document-enter{0%{opacity:0;filter:blur(3px);transform:scale(.992)}}.not-found-shell{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.not-found-card{text-align:center;max-width:680px;padding:42px}.not-found-code{color:var(--primary);letter-spacing:-.08em;margin-bottom:24px;font-size:clamp(72px,18vw,160px);font-weight:900;line-height:.8}html[data-theme=dark] .not-found-shell{background:radial-gradient(circle at 80% 10%,#4f8cff1a,transparent 30%),var(--bg)}html[data-theme=dark] .not-found-card{background:var(--surface);border-color:var(--border);box-shadow:0 24px 70px #0000004d}@media (max-width:700px){.theme-toggle{width:58px;min-width:58px;box-shadow:none;background:0 0;border:0;padding:6px}.theme-toggle-copy{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}html[data-theme=dark] .modal-dialog,html[data-theme=dark] .appointment-group,html[data-theme=dark] .working-hours-interval{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .modal-head,html[data-theme=dark] .modal-actions,html[data-theme=dark] .schedule-management-list,html[data-theme=dark] .appointment-group{border-color:var(--border)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view.active,.modal-dialog,.toast,.live-status-online:before{animation:none!important}html[data-theme-transition]::view-transition-new(root){animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}.btn,.nav-button,.theme-toggle-thumb,.clickable-card,.dashboard-bar{transition-duration:0s}.btn:active:not(:disabled),.nav-button:active,.clickable-card:hover{transform:none}}html[data-theme=dark] .detail-item{background:var(--surface-2)}html[data-theme=dark] .detail-label,html[data-theme=dark] .doctor-card-schedule-icon,html[data-theme=dark] .doctor-card-arrow,html[data-theme=dark] .avatar-picker{color:var(--muted)}html[data-theme=dark] .avatar-upload-control{background:var(--surface-2)}html[data-theme=dark] #profileForm .field-changed{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}body[data-sidebar-mode=patient]{--portal-accent:#155eef;--portal-accent-strong:#0b46be;--portal-tint:#edf3ff}body[data-sidebar-mode=staff]{--primary:#087f83;--primary-dark:#06676a;--portal-accent:#087f83;--portal-accent-strong:#06676a;--portal-tint:#e8f6f5}body:has([id^=view-admin-][class~=active]){--primary:#6347d9;--primary-dark:#4d35b5;--portal-accent:#6347d9;--portal-accent-strong:#4d35b5;--portal-tint:#f0edff}.sidebar{background:linear-gradient(180deg, color-mix(in srgb, var(--portal-tint,var(--surface-2)) 72%, var(--surface)), var(--surface));transition:background-color .18s var(--ease-out-ui), border-color .18s var(--ease-out-ui);position:relative}.sidebar:after{content:"";pointer-events:none;background:color-mix(in srgb, var(--portal-accent,var(--primary)) 24%, var(--border));width:1px;position:absolute;inset:0 0 0 auto}body[data-sidebar-mode=patient] .sidebar>.nav-group[data-access=staff-core\,staff-appointments]:not(.sidebar-context-entry),body[data-sidebar-mode=staff] .sidebar>.nav-group:not([data-access=staff-core\,staff-appointments]):not(.sidebar-context-exit),body[data-sidebar-mode=staff] .sidebar-context-entry,body[data-sidebar-mode=patient] .sidebar-context-exit{display:none!important}body[data-sidebar-mode=staff] .sidebar>.nav-group[data-access=staff-core\,staff-appointments]{display:block}.sidebar .nav-title{color:color-mix(in srgb, var(--portal-accent,var(--primary)) 48%, var(--muted))}.sidebar .nav-button.active{color:var(--portal-accent,var(--primary));background:color-mix(in srgb, var(--portal-accent,var(--primary)) 13%, var(--surface));box-shadow:inset 3px 0 0 var(--portal-accent,var(--primary))}.sidebar-context-entry{border-top:1px solid color-mix(in srgb, var(--portal-accent,var(--primary)) 20%, var(--border));margin-top:30px;padding-top:20px}.sidebar-context-exit{border-bottom:1px solid color-mix(in srgb, var(--portal-accent,var(--primary)) 20%, var(--border));margin-bottom:18px;padding-bottom:18px}.context-button{border:1px solid color-mix(in srgb, var(--portal-accent,var(--primary)) 22%, var(--border));background:color-mix(in srgb, var(--portal-accent,var(--primary)) 8%, var(--surface));min-height:58px;box-shadow:0 8px 24px color-mix(in srgb, var(--portal-accent,var(--primary)) 8%, transparent);transition:color .14s ease, background-color .14s ease, border-color .14s ease, transform .14s var(--ease-out-ui);gap:3px;padding:11px 12px;display:grid}.context-button span{color:var(--portal-accent,var(--primary));font-weight:800}.context-button small{color:var(--muted);font-size:11px;font-weight:600;line-height:1.35}body[data-sidebar-mode=staff] .topbar{border-bottom-color:color-mix(in srgb, var(--portal-accent) 24%, var(--border))}body[data-sidebar-mode=staff] .brand small:after{content:" · панель сотрудника";color:var(--portal-accent)}body:has([id^=view-admin-][class~=active]) .sidebar{background:linear-gradient(180deg, color-mix(in srgb, var(--portal-tint) 78%, var(--surface)), var(--surface))}@media (hover:hover) and (pointer:fine){.context-button:hover{color:var(--portal-accent,var(--primary));border-color:color-mix(in srgb, var(--portal-accent,var(--primary)) 48%, var(--border));background:color-mix(in srgb, var(--portal-accent,var(--primary)) 12%, var(--surface));transform:translateY(-1px)}}@media (prefers-color-scheme:dark){html:not([data-theme]) body[data-sidebar-mode=patient]{--portal-tint:#14213a}html:not([data-theme]) body[data-sidebar-mode=staff]{--primary:#39b8b4;--primary-dark:#269c99;--portal-accent:#39b8b4;--portal-accent-strong:#269c99;--portal-tint:#102c30}}html[data-theme=dark] body[data-sidebar-mode=patient]{--portal-tint:#14213a}html[data-theme=dark] body[data-sidebar-mode=staff]{--primary:#39b8b4;--primary-dark:#269c99;--portal-accent:#39b8b4;--portal-accent-strong:#269c99;--portal-tint:#102c30}html[data-theme=dark] body:has([id^=view-admin-][class~=active]){--primary:#9d8bff;--primary-dark:#806aec;--portal-accent:#9d8bff;--portal-accent-strong:#806aec;--portal-tint:#201b38}@media (max-width:1050px){.sidebar{position:sticky;top:67px}.sidebar:after{display:none}.sidebar-context-entry,.sidebar-context-exit{border:0;margin:0;padding:0}.context-button{align-items:center;min-height:44px;display:flex}.context-button small{display:none}body[data-sidebar-mode=staff] .sidebar>.nav-group[data-access=staff-core\,staff-appointments]{display:flex}}@media (prefers-reduced-motion:reduce){.sidebar,.context-button{transition-duration:0s}}body:has(.auth-view.active) .layout{grid-template-columns:1fr}body:has(.auth-view.active) .sidebar{display:none}body:has(.auth-view.active) #openAuthBtn{display:none}body:has(.auth-view.active) .main{min-height:calc(100vh - 67px);padding:32px;display:grid}.auth-view.active{width:100%;animation:auth-view-enter .36s var(--ease-out-ui);align-self:center}.auth-shell{border:1px solid var(--border);background:var(--surface);border-radius:28px;grid-template-columns:minmax(320px,.9fr) minmax(430px,1.1fr);width:min(1080px,100%);min-width:0;max-width:100%;min-height:610px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 28px 72px #1c2d4b21}.auth-story{isolation:isolate;color:#fff;background:linear-gradient(145deg,#114db8 0%,#0a6e85 100%);flex-direction:column;justify-content:space-between;gap:56px;min-width:0;padding:48px;display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";z-index:-1;border:1px solid #ffffff2e;border-radius:50%;width:340px;height:340px;position:absolute;bottom:-132px;right:-112px;box-shadow:0 0 0 46px #ffffff09,0 0 0 92px #ffffff06}.auth-back-link{color:#ffffffd6;text-underline-offset:5px;width:max-content;margin-bottom:64px;font-size:13px;font-weight:750;-webkit-text-decoration:underline #ffffff57;text-decoration:underline #ffffff57;display:inline-flex}.auth-story h1{letter-spacing:-.035em;text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(38px,4.2vw,58px);line-height:1.02}.auth-story-copy>p{color:#ffffffd1;max-width:39ch;margin:22px 0 0;font-size:16px;line-height:1.65}.auth-story-note{align-items:center;gap:12px;display:flex}.auth-story-note p{color:#ffffffe0;margin:0;font-size:13px;font-weight:700}.auth-story-mark{background:#ffffff1f;border:1px solid #ffffff3d;border-radius:13px;flex:none;place-items:center;width:40px;height:40px;padding:7px;display:grid}.auth-story-mark img{object-fit:contain;width:100%;height:100%;display:block}.auth-form-pane{place-items:center;min-width:0;padding:54px clamp(38px,5vw,74px);display:grid}.auth-form{gap:24px;width:min(100%,420px);min-width:0;display:grid}.auth-form-register{width:min(100%,560px)}.auth-form-heading{gap:10px;display:grid}.auth-form-heading h2{letter-spacing:-.025em;margin:0;font-size:32px;line-height:1.12}.auth-form-heading p{color:var(--muted);margin:0;line-height:1.55}.auth-fields{gap:17px;min-width:0;display:grid}.auth-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-fields-grid .full{grid-column:1/-1}.auth-fields label{min-width:0;color:var(--text);gap:8px;font-size:13px}.auth-fields input{background:color-mix(in srgb,var(--surface) 88%,var(--bg));border-radius:12px;min-height:48px;padding:12px 14px}.auth-fields input::placeholder{color:color-mix(in srgb,var(--muted) 76%,transparent)}.auth-fields small{color:var(--muted);font-size:12px;font-weight:600}.password-field{display:block;position:relative}.password-field input{padding-right:92px}.password-toggle{min-width:76px;min-height:36px;color:var(--primary);background:0 0;border:0;border-radius:9px;padding:0 10px;font-size:12px;font-weight:800;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-submit{width:100%;min-height:48px}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-switch{color:var(--muted);text-align:center;margin:0;font-size:14px;line-height:1.5}.auth-switch a{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--primary) 35%,transparent);text-decoration-color:color-mix(in srgb,var(--primary) 35%,transparent);text-underline-offset:4px;font-weight:800}.auth-status{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--surface));border-radius:11px;margin:0;padding:11px 13px;font-size:13px;line-height:1.45}.auth-status[data-type=success]{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface))}@media (hover:hover) and (pointer:fine){.auth-back-link:hover{color:#fff;text-decoration-color:#fff}.password-toggle:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.auth-switch a:hover{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}}html[data-theme=dark] .auth-shell{box-shadow:0 30px 78px #00000061}html[data-theme=dark] .auth-story{background:linear-gradient(145deg,#102d61 0%,#0d414b 100%)}@media (max-width:840px){body:has(.auth-view.active) .main{padding:24px}.auth-shell{grid-template-columns:1fr;min-height:0}.auth-story{gap:32px;padding:36px}.auth-back-link{margin-bottom:36px}.auth-story h1{max-width:17ch;font-size:clamp(34px,7vw,48px)}.auth-story-copy>p{max-width:55ch}.auth-form-pane{padding:42px 36px 46px}}@media (max-width:560px){body:has(.auth-view.active) .main{min-height:calc(100vh - 124px);padding:0}.auth-view.active{align-self:start;animation:none}.auth-shell{box-shadow:none;border:0;border-radius:0}.auth-story{border-radius:0 0 24px 24px;padding:28px 22px 30px}.auth-story:after{bottom:-190px;right:-180px}.auth-back-link{margin-bottom:28px}.auth-story h1{max-width:15ch;font-size:34px}.auth-story-copy>p{margin-top:16px;font-size:15px}.auth-story-note{display:none}.auth-form-pane{padding:34px 22px 44px}.auth-fields-grid{grid-template-columns:1fr}.auth-fields-grid .full{grid-column:auto}}@keyframes auth-view-enter{0%{opacity:.55;filter:blur(2px);transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.auth-view.active{animation:none}}.booking-page-head{align-items:flex-end}.booking-stepper{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;margin-bottom:28px;overflow:visible}.booking-progress{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 90%,var(--bg));border-radius:24px 24px 0 0;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:10px;padding:22px 26px 18px;display:grid}.booking-progress>i{background:var(--border);border-radius:999px;height:2px}.booking-progress-step{min-width:62px;color:var(--muted);background:0 0;border:0;justify-items:center;gap:6px;padding:0;display:grid}.booking-progress-step span{border:1px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--muted);border-radius:50%;place-items:center;font-weight:850;transition:all .2s;display:grid}.booking-progress-step small{font-size:11px;font-weight:800}.booking-progress-step.active span,.booking-progress-step.complete span{border-color:var(--primary);background:var(--primary);color:#fff}.booking-progress-step.active small,.booking-progress-step.complete small{color:var(--primary)}.booking-progress-step.complete span:before{content:"✓";font-size:14px}.booking-progress-step.complete span{font-size:0}.booking-progress-step.complete+i{background:var(--primary)}.booking-step{padding:30px;display:none}.booking-step.active{animation:.18s fade;display:block}.booking-step-copy{max-width:720px;margin-bottom:22px}.booking-step-copy>span{color:var(--primary);letter-spacing:.04em;font-size:12px;font-weight:850}.booking-step-copy h2{letter-spacing:-.025em;margin:6px 0 8px;font-size:clamp(26px,3vw,38px)}.booking-step-copy p{color:var(--muted);margin:0;line-height:1.55}.booking-native-select{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important}.booking-service-tools{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.booking-service-search{border:1px solid var(--border);background:var(--surface-2);width:min(460px,100%);min-height:46px;color:var(--muted);border-radius:14px;align-items:center;gap:9px;padding:0 13px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex}.booking-service-search:focus-within{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.booking-service-search span{font-size:20px;line-height:1}.booking-service-search input{width:100%;min-height:42px;color:var(--text);background:0 0;border:0;outline:0;padding:0}.booking-service-search input::-webkit-search-cancel-button{cursor:pointer}#patientServiceSearchMeta{white-space:nowrap}.booking-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.booking-doctor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-choice-card{text-align:left;border:1px solid var(--border);background:var(--surface);min-height:92px;color:var(--text);transition:transform .15s var(--ease-out-ui), border-color .18s ease, background-color .18s ease, box-shadow .18s ease;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.booking-choice-card span:nth-child(2){gap:5px;min-width:0;display:grid}.booking-choice-card strong{font-size:15px;line-height:1.3}.booking-choice-card small{color:var(--muted);font-size:12px;line-height:1.4}.booking-choice-card>i{opacity:0;color:var(--primary);font-style:normal;font-weight:900}.booking-choice-card.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.booking-choice-card.selected>i{opacity:1}.booking-choice-icon{background:color-mix(in srgb,var(--primary) 10%,var(--surface));width:42px;height:42px;color:var(--primary);border-radius:13px;place-items:center;font-weight:900;display:grid}.booking-actions{z-index:5;border:1px solid color-mix(in srgb,var(--border) 90%,transparent);background:color-mix(in srgb,var(--surface) 93%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;justify-content:space-between;gap:12px;margin:26px -8px -8px;padding:13px 12px;display:flex;position:sticky;bottom:14px;box-shadow:0 12px 34px #14223a1f}.booking-actions .btn{min-width:132px}.booking-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.booking-summary-strip>div{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:4px;padding:13px 15px;display:grid}.booking-summary-strip span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.booking-time-layout{grid-template-columns:1fr 1fr;gap:14px;display:grid}.booking-time-layout label{color:var(--text);font-size:13px}.booking-time-layout select{min-height:48px}.booking-slot-grid{grid-template-columns:repeat(5,minmax(78px,1fr));gap:10px;margin-top:18px;display:grid}.booking-slot{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);border-radius:12px;font-weight:800;transition:all .16s}.booking-slot.selected{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 24%,transparent)}.booking-empty{border:1px dashed var(--border);color:var(--muted);text-align:center;background:color-mix(in srgb,var(--surface-2) 62%,transparent);border-radius:14px;grid-column:1/-1;padding:22px}.booking-confirm-card{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;overflow:hidden}.booking-confirm-row{border-bottom:1px solid var(--border);grid-template-columns:150px 1fr;gap:18px;padding:16px 18px;display:grid}.booking-confirm-row:last-child{border-bottom:0}.booking-confirm-row span{color:var(--muted);font-size:13px}.booking-extra-fields{grid-template-columns:180px 1fr;gap:14px;margin-top:18px;display:grid}.patient-appointments-block{margin-top:24px}@media (hover:hover) and (pointer:fine){.booking-choice-card:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));transform:translateY(-2px);box-shadow:0 10px 24px #1c2d4b14}.booking-slot:hover{border-color:var(--primary)}}.staff-dashboard-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;margin:18px 0;display:grid}.staff-calendar-card{padding:0;overflow:hidden}.staff-calendar-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.staff-calendar-head-actions{justify-items:end;gap:9px;display:grid}.staff-calendar-date-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.staff-calendar-date-picker input{border:1px solid var(--border);background:var(--surface);width:146px;min-height:34px;color:var(--text);font:inherit;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:9px;padding:6px 9px;font-size:12px;font-weight:750}@media (prefers-color-scheme:dark){.staff-calendar-date-picker input{--lightningcss-light: ;--lightningcss-dark:initial}}.staff-calendar-arrow{min-width:36px;padding-inline:9px}.staff-calendar-head h2,.staff-calendar-head p{margin:0}.staff-calendar-head p{margin-top:5px}.staff-calendar-controls{gap:6px;display:flex}.staff-calendar-controls .active{color:#fff;background:var(--primary)}.staff-calendar{scrollbar-width:thin;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;min-height:420px;display:grid;overflow-x:auto}.staff-calendar-column{border-right:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 30%,var(--surface)),var(--surface));min-width:0}.staff-calendar-column:last-child{border-right:0}.staff-calendar-column>header{z-index:2;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:3px;padding:14px 16px;display:grid;position:sticky;top:0}.staff-calendar-column header strong{font-size:13px}.staff-calendar-column header small{color:var(--muted)}.staff-calendar-events{align-content:start;gap:9px;min-height:352px;padding:12px;display:grid}.staff-calendar-doctor-empty{border:1px dashed var(--border);min-height:120px;color:var(--muted);text-align:center;background:color-mix(in srgb,var(--surface-2) 54%,transparent);border-radius:12px;align-content:center;place-items:center;gap:4px;margin-top:8px;padding:16px;display:grid}.staff-calendar-doctor-empty span{color:var(--text);font-size:13px;font-weight:800}.staff-calendar-doctor-empty small{font-size:11px}.staff-calendar-event{text-align:left;border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface);color:var(--text);border-radius:11px;gap:4px;padding:11px 12px;display:grid}.staff-calendar-event span{color:var(--muted);font-size:11px;font-weight:800}.staff-calendar-event strong{font-size:13px}.staff-calendar-event small{color:var(--muted);font-size:11px}.staff-calendar-event.status-created{border-left-color:var(--warning);background:color-mix(in srgb,var(--warning) 6%,var(--surface))}.staff-calendar-event.status-confirmed{border-left-color:var(--success);background:color-mix(in srgb,var(--success) 6%,var(--surface))}.staff-calendar-event.status-completed{border-left-color:var(--primary)}.staff-attention{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;box-shadow:0 8px 26px #1c2d4b0b}.staff-attention-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px;display:flex}.staff-attention-head h2{margin:0;font-size:20px}.staff-attention-list{gap:10px;padding:12px;display:grid}.staff-attention-item{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.staff-attention-item>span:nth-child(2){gap:4px;display:grid}.staff-attention-item strong{font-size:13px}.staff-attention-item small{color:var(--muted);line-height:1.35}.staff-attention-item b{background:var(--surface-2);border-radius:9px;place-items:center;min-width:28px;height:28px;display:grid}.staff-attention-icon{background:var(--surface-2);border-radius:11px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.staff-attention-item.warning .staff-attention-icon{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,var(--surface))}.staff-attention-item.info .staff-attention-icon{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.staff-attention-item.danger .staff-attention-icon{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.staff-attention-item.success .staff-attention-icon{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface))}.staff-attention-empty{text-align:center;color:var(--muted);gap:5px;padding:24px 16px;display:grid}.staff-attention-empty strong{color:var(--text)}@media (max-width:1100px){.booking-doctor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-dashboard-layout{grid-template-columns:1fr}.staff-attention{order:-1}}@media (max-width:720px){.booking-page-head{align-items:flex-start}.booking-progress{gap:5px;padding:16px 14px}.booking-progress-step{min-width:42px}.booking-progress-step small{display:none}.booking-progress>i{min-width:10px}.booking-step{padding:22px 16px}.booking-choice-grid,.booking-doctor-grid,.booking-summary-strip,.booking-time-layout,.booking-extra-fields{grid-template-columns:1fr}.booking-slot-grid{grid-template-columns:repeat(3,minmax(70px,1fr))}.booking-confirm-row{grid-template-columns:1fr;gap:5px}.booking-service-tools{flex-direction:column;align-items:stretch;gap:8px}#patientServiceSearchMeta{white-space:normal}.booking-actions{margin-inline:-8px;padding:12px;bottom:8px}.booking-actions .btn{flex:1;min-width:0}.staff-calendar-head{flex-direction:column;align-items:flex-start}.staff-calendar-head-actions{justify-items:stretch;width:100%}.staff-calendar-date-controls{justify-content:flex-start}.staff-calendar-date-picker{flex:1}.staff-calendar-date-picker input,.staff-calendar-controls{width:100%}.staff-calendar-controls .btn{flex:1}.staff-calendar-list-row{grid-template-columns:66px minmax(0,1fr);gap:12px}.staff-calendar-list-row>.btn{grid-column:1/-1;width:100%}.staff-calendar{grid-auto-columns:minmax(200px,84vw)}}.staff-calendar.list-mode{min-height:0;display:block;overflow:visible}.staff-calendar-list{display:grid}.staff-calendar-list-row{border-bottom:1px solid var(--border);grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.staff-calendar-list-row:last-child{border-bottom:0}.staff-calendar-list-time{gap:2px;display:grid}.staff-calendar-list-time strong{font-size:15px}.staff-calendar-list-time small,.staff-calendar-list-main span{color:var(--muted);font-size:11px}.staff-calendar-list-main{gap:4px;min-width:0;display:grid}.staff-calendar-list-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.staff-calendar-list-empty{text-align:center;min-height:250px;color:var(--muted);align-content:center;place-items:center;gap:6px;padding:28px;display:grid}.staff-calendar-list-empty strong{color:var(--text);font-size:16px}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.appointment-status-control{color:var(--muted);align-items:center;gap:10px;margin-right:auto;font-size:13px;font-weight:700;display:flex}.appointment-status-control select{min-width:170px;margin:0}@media (max-width:640px){.modal-actions{flex-wrap:wrap}.appointment-status-control{justify-content:space-between;width:100%;margin-right:0}.appointment-status-control select{flex:1;min-width:0}.modal-actions .appointment-modal-change,.modal-actions .appointment-modal-cancel{flex:180px}}.staff-entity-head{align-items:flex-start;gap:20px}.staff-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.btn-icon{width:42px;min-width:42px;padding-inline:0;font-size:18px}.compact-card{padding:12px 14px}.staff-list-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.staff-list-toolbar-wrap{flex-wrap:wrap}.staff-list-search{border:1px solid var(--border);background:var(--surface-2);width:min(520px,100%);min-height:44px;color:var(--muted);border-radius:12px;align-items:center;gap:9px;padding:0 12px;display:flex}.staff-list-search:focus-within{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.staff-list-search input{min-width:0;min-height:40px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}.staff-toolbar-hint{text-align:right;font-size:12px}.staff-quick-filters{flex-wrap:wrap;gap:6px;display:flex}.staff-quick-filters button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;padding:7px 11px;font-size:12px;font-weight:750}.staff-quick-filters button.active{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--primary)}.staff-workflow-modal{z-index:1200;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.staff-workflow-modal .modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0812248a;position:absolute;inset:0}.staff-workflow-dialog{z-index:1;border:1px solid var(--border);background:var(--surface);border-radius:22px;flex-direction:column;width:min(980px,100vw - 36px);max-height:min(900px,100vh - 36px);display:flex;position:relative;overflow:hidden;box-shadow:0 28px 90px #08122447}.staff-workflow-head{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 95%,var(--surface-2));justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px;display:flex}.staff-workflow-head h2,.staff-workflow-head p{margin:0}.staff-workflow-head p{margin-top:5px}.staff-workflow-body{padding:20px;overflow:auto}.staff-workflow-panel{min-width:0}.workflow-card{box-shadow:none;margin:0}.workflow-card h3{margin-top:0}.workflow-footer{border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:flex-end;gap:9px;margin:20px -20px -20px;padding:14px 20px;display:flex;position:sticky;bottom:-20px}.workflow-actions{margin:16px 0}.workflow-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:16px;display:grid}.workflow-card-head{margin-bottom:12px}.workflow-context-strip{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.workflow-context-strip span{border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-radius:11px;gap:2px;min-width:130px;padding:9px 11px;font-size:12px;display:grid}.workflow-context-strip b{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.staff-patient-picker{position:relative}.staff-patient-suggestions{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:12px;max-height:280px;margin-top:6px;padding:6px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 14px 40px #08122426}.staff-patient-suggestions button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;gap:3px;padding:10px 11px;display:grid}.staff-patient-suggestions button:hover{background:var(--surface-2)}.staff-patient-suggestions button small{color:var(--muted)}.staff-patient-no-result{color:var(--muted);text-align:center;padding:12px;font-size:12px}.staff-calendar-column>header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.staff-calendar-column>header>span{gap:3px;min-width:0;display:grid}.staff-calendar-create{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--primary);font:inherit;cursor:pointer;border-radius:8px;padding:6px 8px;font-size:10px;font-weight:850}.staff-calendar-doctor-empty{cursor:pointer;width:100%;font:inherit}.staff-calendar-doctor-empty:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 5%,var(--surface-2))}@media (max-width:760px){.staff-entity-head{flex-direction:column}.staff-head-actions{justify-content:stretch;width:100%}.staff-head-actions .btn-primary{flex:1}.staff-list-toolbar{flex-direction:column;align-items:stretch}.staff-list-search{width:100%}.staff-toolbar-hint{text-align:left}.staff-quick-filters{flex-wrap:nowrap;width:100%;padding-bottom:2px;overflow-x:auto}.staff-quick-filters button{flex:none}.staff-workflow-modal{place-items:stretch stretch;padding:0}.staff-workflow-dialog{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.staff-workflow-head{padding:16px}.staff-workflow-body{padding:14px}.workflow-split{grid-template-columns:1fr}.workflow-footer{margin:18px -14px -14px;padding:12px 14px;bottom:-14px}.workflow-footer .btn{flex:1}}input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{box-shadow:none!important;border-color:var(--border)!important;outline:0!important}.booking-service-search:focus-within,.staff-list-search:focus-within{background:var(--surface-2);border-color:var(--border)!important;box-shadow:none!important}.patient-appointments-first{margin-bottom:28px}.booking-create-head{margin-top:8px}.booking-date-quick-list{scrollbar-width:thin;gap:8px;padding:2px 1px 8px;display:flex;overflow-x:auto}.booking-date-quick-list.compact{margin-top:-2px}.booking-date-chip{border:1px solid var(--border);background:var(--surface-2);min-width:84px;color:var(--text);text-align:left;border-radius:12px;flex:none;gap:2px;padding:9px 12px;display:grid}.booking-date-chip span{color:var(--muted);text-transform:capitalize;font-size:11px}.booking-date-chip strong{font-size:13px}.booking-date-chip.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--primary)}.staff-calendar.timeline-mode{background:var(--surface);min-height:420px;display:block;overflow:auto}.staff-timeline-grid{grid-template-columns:78px repeat(var(--timeline-columns), minmax(185px,1fr));grid-template-rows:64px repeat(var(--timeline-rows), 42px);min-width:max(760px, calc(78px + var(--timeline-columns) * 185px));display:grid;position:relative}.staff-timeline-corner,.staff-timeline-doctor{z-index:8;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;display:flex;position:sticky;top:0}.staff-timeline-corner{z-index:10;color:var(--muted);justify-content:center;font-size:11px;font-weight:800;left:0}.staff-timeline-doctor{border-left:1px solid var(--border);flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:10px 13px}.staff-timeline-doctor strong{font-size:13px;line-height:1.2}.staff-timeline-doctor small{color:var(--muted);font-size:11px}.staff-timeline-time{z-index:6;border-right:1px solid var(--border);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:var(--surface);color:var(--muted);justify-content:center;padding-top:7px;font-size:11px;font-weight:700;display:flex;position:sticky;left:0}.staff-timeline-cell{z-index:1;border:0;border-left:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);background:var(--surface);cursor:default;touch-action:none;border-radius:0;position:relative}.staff-timeline-cell.is-free{cursor:crosshair;background:color-mix(in srgb,var(--success) 3%,var(--surface))}.staff-timeline-cell.is-free:hover{background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.staff-timeline-cell.is-blocked{background:repeating-linear-gradient(135deg, color-mix(in srgb,var(--surface-2) 70%,transparent) 0 6px, transparent 6px 12px);opacity:.7}.staff-timeline-cell.is-selecting{background:color-mix(in srgb,var(--primary) 18%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 45%,transparent)!important}.staff-timeline-appointment{z-index:4;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-left:3px solid var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--text);text-align:left;border-radius:9px;align-content:start;place-self:stretch stretch;gap:2px;margin:2px 4px;padding:7px 8px;display:grid;overflow:hidden}.staff-timeline-appointment span{color:var(--muted);font-size:10px;font-weight:800}.staff-timeline-appointment strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.staff-timeline-appointment small{color:var(--muted);font-size:10px}.staff-timeline-appointment.status-created{border-left-color:var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--surface))}.staff-timeline-appointment.status-confirmed{border-left-color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--surface))}.staff-timeline-appointment.status-completed{opacity:.72}@media (max-width:720px){.staff-timeline-grid{grid-template-columns:64px repeat(var(--timeline-columns), minmax(170px,78vw));min-width:max(620px, calc(64px + var(--timeline-columns) * 170px))}.booking-date-chip{min-width:78px}}
:root{--bublapi-topbar-height:67px;--bublapi-mobile-nav-height:64px}html:not([data-auth-ready=true]) #openAuthBtn,html:not([data-auth-ready=true]) #logoutBtn,html:not([data-auth-ready=true]) [data-guest-only],html:not([data-auth-ready=true]) .sidebar [data-access],html:not([data-auth-ready=true]) .sidebar-context-entry,html:not([data-auth-ready=true]) .sidebar-context-exit{visibility:hidden!important;pointer-events:none!important}html:not([data-auth-ready=true]) .top-actions:after{content:"";background:radial-gradient(circle at 19px 18px, color-mix(in srgb, var(--primary) 72%, transparent) 0 4px, transparent 4.5px), radial-gradient(circle at 41px 18px, color-mix(in srgb, var(--primary) 52%, transparent) 0 4px, transparent 4.5px), radial-gradient(circle at 63px 18px, color-mix(in srgb, var(--primary) 34%, transparent) 0 4px, transparent 4.5px), color-mix(in srgb, var(--surface-2) 90%, transparent);border-radius:999px;flex:0 0 82px;width:82px;height:36px;animation:.9s ease-in-out infinite alternate bublapi-bubble-pulse;display:inline-block}html:not([data-auth-ready=true]) [data-initial-view^=staff-] .main,html:not([data-auth-ready=true]) [data-initial-view^=patient-] .main,html:not([data-auth-ready=true]) [data-initial-view=profile] .main{color:#0000;pointer-events:none;-webkit-user-select:none;user-select:none;min-height:42vh}html:not([data-auth-ready=true]) [data-initial-view^=staff-] .main>*,html:not([data-auth-ready=true]) [data-initial-view^=patient-] .main>*,html:not([data-auth-ready=true]) [data-initial-view=profile] .main>*{visibility:hidden}html:not([data-auth-ready=true]) [data-initial-view^=staff-] .main:before,html:not([data-auth-ready=true]) [data-initial-view^=patient-] .main:before,html:not([data-auth-ready=true]) [data-initial-view=profile] .main:before{content:"";visibility:visible;background:radial-gradient(circle at 21px 17px, var(--primary) 0 5px, transparent 5.5px), radial-gradient(circle at 44px 17px, color-mix(in srgb, var(--primary) 70%, var(--surface)) 0 5px, transparent 5.5px), radial-gradient(circle at 67px 17px, color-mix(in srgb, var(--primary) 40%, var(--surface)) 0 5px, transparent 5.5px), color-mix(in srgb, var(--surface-2) 88%, transparent);border-radius:999px;width:88px;height:34px;margin:min(18vh,150px) auto 0;animation:.85s ease-in-out infinite alternate bublapi-bubble-pulse;display:block}@keyframes bublapi-bubble-pulse{0%{opacity:.58;transform:translateY(1px)}to{opacity:1;transform:translateY(-1px)}}@media (max-width:1050px){.sidebar{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);contain:layout paint;top:var(--bublapi-topbar-height,67px)!important;z-index:29!important;height:var(--bublapi-mobile-nav-height)!important;min-height:var(--bublapi-mobile-nav-height)!important;max-height:var(--bublapi-mobile-nav-height)!important;background:color-mix(in srgb, var(--surface) 96%, transparent)!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;padding:8px 10px!important;display:flex!important;position:sticky!important;overflow:auto hidden!important}.sidebar::-webkit-scrollbar{display:none}.sidebar .nav-group{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;height:48px;min-height:48px;display:flex;margin:0!important}.sidebar .nav-group.hidden{display:none!important}.sidebar .nav-button{white-space:nowrap;flex:none;min-height:44px;max-height:48px;width:auto!important;margin:0!important}.sidebar .context-button small{display:none}}@media (max-width:700px){.sidebar{top:var(--bublapi-topbar-height,104px)!important;position:sticky!important}.topbar{z-index:30}.top-actions{min-height:44px}}.staff-timeline-cell.is-selecting{box-shadow:none!important;outline:none!important}.staff-timeline-cell.is-free{touch-action:manipulation;cursor:pointer}.staff-timeline-cell.is-free:active{background:color-mix(in srgb, var(--primary) 14%, var(--surface));transform:none}.staff-calendar-loading-bubbles{justify-content:center;align-items:center;gap:7px;min-height:24px;margin-top:8px;display:inline-flex}.staff-calendar-loading-bubbles>i{background:var(--primary);opacity:.35;border-radius:50%;width:8px;height:8px;animation:.85s ease-in-out infinite alternate bublapi-calendar-bubble}.staff-calendar-loading-bubbles>i:nth-child(2){animation-delay:.12s}.staff-calendar-loading-bubbles>i:nth-child(3){animation-delay:.24s}@keyframes bublapi-calendar-bubble{to{opacity:1;transform:translateY(-3px)}}.staff-calendar-start-note{color:var(--muted);margin-top:3px;font-size:11px;font-weight:600;line-height:1.25;display:block}.staff-calendar-start-note.is-warning{color:var(--warning)}.doctor-avatar{content-visibility:auto}@media (prefers-reduced-motion:reduce){html:not([data-auth-ready=true]) .top-actions:after,html:not([data-auth-ready=true]) [data-initial-view^=staff-] .main:before,html:not([data-auth-ready=true]) [data-initial-view^=patient-] .main:before,html:not([data-auth-ready=true]) [data-initial-view=profile] .main:before,.staff-calendar-loading-bubbles>i{animation:none!important}}html[data-protected-initial-route=true]:not([data-route-ready=true]) .main>*,html[data-protected-initial-route=true]:not([data-route-ready=true]) .sidebar>*{visibility:hidden!important}html[data-protected-initial-route=true]:not([data-route-ready=true]) .main{pointer-events:none;-webkit-user-select:none;user-select:none;min-height:42vh}html[data-protected-initial-route=true]:not([data-route-ready=true]) .main:after{content:"";visibility:visible;background:radial-gradient(circle at 21px 17px, var(--primary) 0 5px, transparent 5.5px), radial-gradient(circle at 44px 17px, color-mix(in srgb, var(--primary) 70%, var(--surface)) 0 5px, transparent 5.5px), radial-gradient(circle at 67px 17px, color-mix(in srgb, var(--primary) 40%, var(--surface)) 0 5px, transparent 5.5px), color-mix(in srgb, var(--surface-2) 88%, transparent);border-radius:999px;width:88px;height:34px;margin:min(18vh,150px) auto 0;animation:.85s ease-in-out infinite alternate bublapi-bubble-pulse;display:block}body[data-sidebar-mode=staff] .sidebar>.nav-group:not([data-access=staff-core\,staff-appointments]):not(.sidebar-context-exit),body[data-sidebar-mode=patient] .sidebar>.nav-group[data-access=staff-core\,staff-appointments]{display:none!important}
html:not([data-staff-nav-ready=true]) .sidebar-context-entry,html:not([data-staff-nav-ready=true]) .sidebar>.nav-group[data-access=staff-core\,staff-appointments]:not(.sidebar-context-entry),html:not([data-staff-nav-ready=true]) .sidebar-context-exit,html[data-staff-nav-ready=true] body[data-sidebar-mode=patient] .sidebar>.nav-group[data-access=staff-core\,staff-appointments]:not(.sidebar-context-entry),html[data-staff-nav-ready=true] body[data-sidebar-mode=patient] .sidebar-context-exit,html[data-staff-nav-ready=true] body[data-sidebar-mode=staff] .sidebar-context-entry{display:none!important}html[data-staff-nav-ready=true] body[data-sidebar-mode=patient] .sidebar-context-entry:not(.hidden){display:block!important}@media (max-width:1050px){html[data-staff-nav-ready=true] body[data-sidebar-mode=patient] .sidebar-context-entry:not(.hidden){display:flex!important}}#staffAppointmentForm .form-grid,#staffAppointmentForm .form-grid>*,#staffAppointmentForm label,#staffAppointmentForm input,#staffAppointmentForm select{min-width:0;max-width:100%}#staffAppointmentDate{box-sizing:border-box;display:block;width:100%!important;min-width:0!important;max-width:100%!important}@media (max-width:700px){#staffAppointmentForm .form-grid{width:100%;overflow:hidden}#staffAppointmentDate{appearance:none}#staffAppointmentForm .booking-date-quick-list{max-width:100%;overflow-x:auto}}#staffDashboardCalendar [data-calendar-slot].hotfix-past-slot{opacity:.28!important;cursor:not-allowed!important;pointer-events:none!important}#staffBookingDates [data-booking-date].hotfix-past-date,#patientBookingDates [data-booking-date].hotfix-past-date{display:none!important}
