:root{font-family:system-ui,sans-serif;color:#363636;background:#f0f5f5}*{box-sizing:border-box}body{margin:0}main{max-width:1400px;margin:auto;padding:28px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}small{letter-spacing:2px;color:#368079}h1{font-size:32px;margin:6px 0}h2{font-size:20px;margin-top:0}button{padding:10px 16px;border:1px solid #c7d9d6;background:white;border-radius:8px;cursor:pointer;color:#14574e}button.active,button:hover{background:#14685b;color:white}button:disabled{opacity:.45;cursor:default}nav{display:flex;gap:8px;margin-bottom:20px}.card{background:white;padding:24px;border:1px solid #dbe7e5;border-radius:14px;margin:18px 0;box-shadow:0 4px 18px #183c3c05}label{display:block;font-size:14px;margin:12px 0}input,select{display:block;width:100%;padding:11px;border:1px solid #b8ccca;border-radius:7px;margin-top:5px;background:white;font:inherit;color:inherit}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;text-transform:uppercase;color:#62817e}td,th{padding:15px 10px;border-bottom:1px solid #e4eded}td:first-child{white-space:nowrap;font-weight:600}.notice{background:#dff2e9}.error,.notice{padding:16px;border-radius:8px}.error{background:#ffe6e3;color:#8e2828}footer{font-size:12px;color:#6c8582;margin:30px 0}form>button{margin:8px 8px 0 0}@media(max-width:650px){main{padding:14px}nav{flex-wrap:wrap}}.conversation-event{border-left:3px solid #14685b;margin:14px 0;background:#f4f8f7;border-radius:4px}.conversation-event.patient{border-color:#0b79d0;background:#f5f5f5}.conversation-event span,.conversation-help{color:#526d70}.conversation-event{margin:12px 0;padding:14px 18px;border:1px solid #e4e4e4;border-radius:10px;background:#fff}.conversation-event.patient{background:#f7f7f8}.conversation-event span,.conversation-help{color:#7c7c7c;font-size:13px}.conversation-text{color:#242424}.conversation-event pre,.conversation-text{white-space:pre-wrap;overflow-wrap:anywhere}.conversation-event pre{font-size:12px}.conversation-event summary{cursor:pointer}.conversation-event .technical-section{margin-top:14px;overflow:hidden;border:1px solid #e4e4e4;border-radius:8px;background:#fff}.conversation-event .technical-section summary{padding:10px 14px;background:#f4f4f4;color:var(--kaspela-ink);font-size:13px;font-weight:600}.conversation-event .technical-section[open] summary{border-bottom:1px solid #e4e4e4}.conversation-event .technical-section pre{margin:0;padding:14px;line-height:1.6;-moz-tab-size:2;tab-size:2}.daily-print-modal,.public-calendar{--kaspela-blue:#0B79D0;--kaspela-dark:#0B5CAD;--kaspela-red:#EE121F;--kaspela-light:#F2F3F5;--kaspela-pale:#F8F9FA;--kaspela-border:#D0D5DD;--kaspela-muted:#5F6368;--kaspela-ink:#1F2328}.public-calendar{max-width:1440px;margin:auto;background:#fff;color:var(--kaspela-ink);min-height:100vh}.public-brand{display:block;flex:0 0 auto;text-decoration:none}.public-brand img{display:block;width:auto;max-width:none;height:32px}.public-brand small{display:block;color:var(--kaspela-muted);font-size:11px;font-weight:500;letter-spacing:.3px;margin-top:6px}@media(max-width:480px){.public-brand img{height:24px}}.public-calendar>header{margin:-28px -28px 24px;padding:18px 28px;background:transparent;border-bottom:1px solid #e6e6e6}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;grid-gap:48px;gap:48px;max-width:1240px;margin:0 auto 64px;padding:28px 0 0}.home-hero-main{min-width:0}.home-hero h1{max-width:620px;margin:0 0 32px;font-family:Montserrat,system-ui,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1.2;letter-spacing:-.5px;color:var(--kaspela-ink)}.home-search{max-width:520px}.home-search h2{font-weight:600}.home-search h2,.home-search input,.home-search select{margin:0 0 14px;font-size:15px;color:var(--kaspela-ink)}.home-search input,.home-search select{display:block;width:100%;height:52px;padding:0 14px;border:1px solid var(--kaspela-border);border-radius:8px;background:#fff}.home-search input::placeholder{color:#858585}.home-search input:focus,.home-search select:focus{outline:none;border-color:var(--kaspela-blue);box-shadow:0 0 0 3px #0b79d01f}.home-search button{height:48px;margin:4px 0 0;padding:0 34px;border:0;border-radius:8px;background:var(--kaspela-blue);color:#fff;font-size:16px;font-weight:600}.home-search button:hover:not(:disabled){background:var(--kaspela-dark);color:#fff}.home-search button:focus-visible{outline:2px solid var(--kaspela-dark);outline-offset:2px}.home-hero-phone{display:inline-block;margin-top:24px;color:var(--kaspela-ink);font-size:14px;text-decoration:none}.home-hero-phone:hover{color:var(--kaspela-blue);text-decoration:underline}.home-about{padding:22px;border:1px solid #e4e7ec;border-radius:12px;background:var(--kaspela-pale);font-size:14px;line-height:1.6}.home-about h2{margin:0 0 10px;font-size:17px;font-weight:600;color:var(--kaspela-ink)}.home-about p{margin:0 0 12px;color:var(--kaspela-muted)}.home-about span{color:var(--kaspela-ink);font-size:13px}.search-specialties{max-width:1240px;margin:0 auto 80px}.search-specialties h2{margin:0 0 24px;font-size:23px;font-weight:600}.search-specialty-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:16px;gap:16px}.search-specialty-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:170px;margin:0;padding:22px 12px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;color:var(--kaspela-ink);font-size:14px;font-weight:500;line-height:1.35;text-align:center;transition:border-color .15s,box-shadow .15s,transform .15s}.search-specialty-grid button:hover:not(:disabled){border-color:var(--kaspela-blue);background:#fff;color:var(--kaspela-ink);box-shadow:0 8px 20px #0b5cad1a;transform:translateY(-2px)}.specialty-symbol{display:grid;place-items:center;width:78px;height:78px;flex-shrink:0;border-radius:50%;color:white}.specialty-symbol svg{width:47px;height:47px}.specialty-icon{display:block;width:62%;height:62%;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}.specialty-color-0{background:#0B79D0}.specialty-color-1{background:#a2a2a2}.specialty-color-2{background:#0B5CAD}.specialty-color-3{background:#4A9BE0}.specialty-color-4{background:#EE121F}.specialty-color-5{background:#2B8AD8}.search-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#doctor-results{scroll-margin-top:24px}.search-specialty-grid button:focus-visible{outline:2px solid #7a7f87;outline-offset:2px}@media(prefers-reduced-motion:reduce){.search-specialty-grid button{transition:none}.search-specialty-grid button:hover:not(:disabled){transform:none}}@media(max-width:1100px){.search-specialty-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1000px){.home-hero{grid-template-columns:1fr;gap:28px}.home-about{max-width:620px}}@media(max-width:650px){.home-hero{padding-top:8px;margin-bottom:44px}.home-search input,.home-search select{height:48px}.home-search button{width:100%}.search-specialties{margin-bottom:56px}.search-specialty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.search-specialty-grid button{min-height:150px}.specialty-symbol{width:64px;height:64px}}.doctor-results{max-width:1050px;margin:28px auto 56px}.doctor-results-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;margin-bottom:16px;border:1px solid #e4e4e4;border-radius:10px;background:var(--kaspela-light)}.doctor-results-heading p{margin:0 0 4px;color:var(--kaspela-muted);font-size:12px}.doctor-results-heading h1{font-size:20px;font-weight:600;margin:0}.doctor-results-heading strong{white-space:nowrap;color:var(--kaspela-muted);font-size:13px;font-weight:400}.doctor-results-list{border:1px solid #dedede;border-radius:10px;overflow:hidden;background:white}.doctor-result-card{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:20px;gap:20px;padding:18px 20px;border-bottom:1px solid #e4e4e4}.doctor-result-card:last-child{border-bottom:0}.doctor-result-avatar{display:grid;place-items:center;align-self:start;width:120px;height:150px;border-radius:10px;background:linear-gradient(145deg,#e8e8e8,#f6f6f6);color:#9aa0a6;font-size:26px;font-weight:500}.doctor-result-content{padding:4px 0}.doctor-result-content h2{font-size:19px;font-weight:600;margin:0 0 4px;color:var(--kaspela-ink)}.doctor-result-specialty{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--kaspela-blue)}.doctor-result-location{font-size:13px;color:#767676;margin:0 0 12px}.doctor-result-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.doctor-profile-tag,.doctor-result-tags span{display:inline-block;padding:4px 10px;border-radius:20px;background:var(--kaspela-light);color:var(--kaspela-ink);font-size:12px}.doctor-result-card button{padding:8px 16px;background:var(--kaspela-blue);border-color:var(--kaspela-blue);color:#fff;font-size:14px;font-weight:600}.doctor-result-card button:hover{background:var(--kaspela-dark)}.doctor-results-empty{padding:32px}.doctor-results-empty a{color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.doctor-booking-view{margin:28px 0 56px}.doctor-back{margin:0 0 18px;border:0;padding-left:0}.doctor-back,.doctor-back:hover{background:transparent;color:var(--kaspela-ink)}.doctor-back:hover{text-decoration:underline}.doctor-booking-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(580px,1.25fr);grid-gap:34px;gap:34px;align-items:start}.doctor-profile-card{display:flex;align-items:flex-start;gap:22px;padding:0;border:0;border-radius:0;background:none}.doctor-profile-symbol{display:grid;place-items:center;width:180px;height:225px;flex:0 0 180px;border-radius:10px;background:linear-gradient(145deg,#e8e8e8,#f6f6f6);color:#9aa0a6;font-size:30px}.doctor-profile-kicker{margin:2px 0 6px;color:var(--kaspela-muted);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.doctor-profile-card h1{font-size:21px;font-weight:600;line-height:1.25;margin:0 0 4px}.doctor-profile-specialty{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--kaspela-blue)}.doctor-profile-card>div:last-child>p:not(.doctor-profile-kicker):not(.doctor-profile-specialty){font-size:13px;color:#767676;line-height:1.5}.doctor-profile-card a{color:inherit;text-decoration:underline;text-underline-offset:2px}.doctor-profile-card .doctor-profile-tag{padding:4px 10px;font-size:12px}.doctor-profile-earliest{display:block;margin:0 0 12px;padding:0;border:0;border-radius:0;background:none;text-align:left;cursor:pointer}.doctor-profile-earliest span{display:block;margin-bottom:2px;color:var(--kaspela-muted);font-size:12px}.doctor-profile-earliest strong{color:var(--kaspela-blue);font-size:15px;font-weight:600}.doctor-profile-earliest:focus-visible,.doctor-profile-earliest:hover:not(:disabled){background:none;color:inherit}.doctor-profile-earliest:focus-visible strong,.doctor-profile-earliest:hover:not(:disabled) strong{color:var(--kaspela-dark);text-decoration:underline}.booking-summary-avatar,.doctor-profile-symbol,.doctor-result-avatar,.photo-upload-preview,.week-avatar{overflow:hidden}.has-photo{background:#ececec}.has-photo img{display:block;width:100%;height:100%;object-fit:cover}.public-times{position:-webkit-sticky;position:sticky;top:20px;margin:0;color:var(--kaspela-ink);border:1px solid #e4e4e4;border-radius:12px;box-shadow:0 1px 6px #0000000d;padding:26px}.public-times h2{font-size:23px;margin-bottom:20px}.public-times small{letter-spacing:normal}.booking-reason select{border-color:#d5d5d5;border-radius:6px;margin-top:8px;min-height:44px}.booking-location{display:flex;align-items:center;gap:12px;margin:20px 0 0}.booking-location-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#e7f2fc;color:var(--kaspela-blue)}.booking-location h3{margin:0 0 2px;font-size:16px;font-weight:600}.booking-location p{margin:0;color:var(--kaspela-muted);font-size:13px;line-height:1.5}.booking-location a{color:var(--kaspela-blue);font-weight:600;text-decoration:none}.booking-location a:hover{text-decoration:underline}.booking-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;margin:22px 0 16px;padding-top:18px;border-top:1px solid #ececec}.booking-toolbar-title{font-size:15px;font-weight:600}.booking-navigation{display:flex;align-items:center;gap:6px}.booking-date-action{position:relative}.booking-date-action>button{display:flex;align-items:center;gap:8px;height:36px;margin:0;padding:0 12px;border:1px solid #dcdcdc;border-radius:8px;background:#fff;color:var(--kaspela-blue);font-size:14px}.booking-date-action>button svg{width:18px;height:18px}.booking-date-action>button:hover:not(:disabled){border-color:#b9b9b9;background:#f7f7f8;color:var(--kaspela-dark)}.month-calendar{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:320px;max-width:calc(100vw - 32px);padding:16px;border:1px solid var(--kaspela-border);border-radius:12px;background:#fff;box-shadow:0 18px 44px #2e2e2e26}.month-calendar-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:8px;gap:8px;margin-bottom:14px}.month-calendar-head>button{min-width:34px;min-height:34px;padding:0;font-size:22px;line-height:1;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--kaspela-ink)}.month-calendar-head>button:hover:not(:disabled){background:var(--kaspela-light);border-color:var(--kaspela-border);color:var(--kaspela-ink)}.month-calendar-pickers{display:flex;gap:6px}.month-calendar-pickers select{width:auto;height:38px;margin:0;padding:0 8px;border:1px solid var(--kaspela-border);border-radius:8px;background:#fff;color:var(--kaspela-ink);font-size:14px;font-weight:600;text-transform:capitalize}.month-calendar-pickers select:first-child{flex:1 1 auto}.month-calendar-pickers select:last-child{flex:0 0 84px}.month-calendar-grid,.month-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:3px;gap:3px}.month-calendar-weekdays{margin-bottom:6px;font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--kaspela-muted);text-align:center;text-transform:uppercase}.month-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;height:38px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--kaspela-ink);font-size:14px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.month-calendar-day:after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:transparent}.month-calendar-day.has-slots:after{background:var(--kaspela-blue)}.month-calendar-day.is-selected.has-slots:after{background:#fff}.month-calendar-day:hover:not(:disabled){background:var(--kaspela-light);color:var(--kaspela-ink)}.month-calendar-day:disabled{background:transparent;color:#cdcdcd}.month-calendar-day.is-today{border-color:var(--kaspela-border);font-weight:600}.month-calendar-day.is-selected,.month-calendar-day.is-selected:hover{background:var(--kaspela-blue);border-color:var(--kaspela-blue);color:#fff}.month-calendar-dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--kaspela-blue)}.month-calendar-blank{height:38px}.month-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #ededed;font-size:12px;color:var(--kaspela-muted)}.month-calendar-foot span{display:flex;align-items:center;gap:7px}.month-calendar-foot-actions{display:flex;align-items:center;gap:6px}.month-calendar-foot button{padding:7px 12px;border:1px solid var(--kaspela-border);border-radius:8px;background:#fff;color:var(--kaspela-ink);font-size:12px}.month-calendar-foot button:hover:not(:disabled){background:var(--kaspela-light);color:var(--kaspela-ink)}@media(max-width:480px){.month-calendar{width:min(320px,calc(100vw - 24px))}}.booking-navigation>button{display:grid;place-items:center;width:36px;height:36px;margin:0;padding:0;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:var(--kaspela-blue);line-height:1;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px rgba(11,121,208,.08)}.booking-navigation>button:hover:not(:disabled){border-color:var(--kaspela-blue);background:var(--kaspela-blue);color:#fff;box-shadow:0 2px 6px rgba(11,121,208,.25);transform:translateY(-1px)}.booking-navigation>button:active:not(:disabled){transform:translateY(0) scale(.96);box-shadow:none}.booking-navigation>button:disabled{border-color:#e5e7eb;background:#f9fafb;color:#cbd5e1;cursor:not-allowed;box-shadow:none;transform:none}.booking-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:stretch}.booking-day{min-width:0}.booking-day h4{text-align:center;font-size:14px;font-weight:500;margin:0 0 12px;line-height:1.5}.booking-day time{display:block}.booking-day-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:5px;gap:5px}.booking-slot{min-width:0;min-height:38px;padding:7px 3px;font-size:14px;font-weight:600;border:1px solid var(--kaspela-blue);border-radius:4px;color:var(--kaspela-blue);background:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.booking-slot.is-selected,.booking-slot:hover:not(:disabled){background:var(--kaspela-blue);border-color:var(--kaspela-blue);color:white}.booking-slot.is-unavailable,.booking-slot.is-unavailable:hover{opacity:1;cursor:default;color:#9aa3b2;border:1px solid #e6e9ef;font-weight:400;background:var(--kaspela-inactive)}.booking-days-area{position:relative}.booking-earliest{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2}.booking-earliest-card{pointer-events:auto;display:grid;justify-items:center;grid-gap:6px;gap:6px;cursor:pointer;background:#ffffffe6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid #e9e9e9cc;border-radius:12px;padding:26px 40px;min-width:min(430px,100%);box-shadow:0 10px 30px #2e2e2e17;color:#7b7b7b;font-size:13px;text-align:center}.booking-earliest-card:focus-visible,.booking-earliest-card:hover:not(:disabled){background:#ffffffe6;color:#7b7b7b;border-color:#e9e9e9cc}.booking-earliest-card strong{color:var(--kaspela-blue);font-size:18px;font-weight:600}.booking-earliest-card:focus-visible strong,.booking-earliest-card:hover:not(:disabled) strong{color:var(--kaspela-dark)}.booking-earliest-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--kaspela-light);color:var(--kaspela-ink)}@media(max-width:480px){.booking-earliest-card{padding:16px 18px;min-width:0}.booking-earliest-card strong{font-size:15px}}.public-calendar{--kaspela-inactive:linear-gradient(135deg,#dfe3ea 0 5%,transparent 5% 45%,#dfe3ea 45% 55%,transparent 55% 95%,#dfe3ea 95%) 0 0/14px 14px,#f4f6f9}.booking-day-empty{min-height:190px;border:1px solid #e6e9ef;border-radius:12px;display:grid;place-items:center;text-align:center;padding:16px;color:#6b7280;font-size:12px;background:var(--kaspela-inactive)}.booking-day-empty-body{display:grid;justify-items:center;grid-gap:6px;gap:6px}.booking-day-empty-body svg{color:#4f5d75;margin-bottom:6px}.booking-day-empty-body strong{color:var(--kaspela-ink);font-size:15px;font-weight:600}.booking-day-empty-body small{color:#5f6f8a;font-size:13px}.booking-timezone{font-size:12px;color:#7b7b7b;margin:18px 0}.booking-information{background:#f7f7f8;border:1px solid #ebebeb;border-radius:10px;padding:14px 16px;color:#4a4a4a;margin-top:20px;font-size:13px;line-height:1.5}.booking-information strong{font-weight:600}.booking-information p{margin:8px 0 0}.public-times form{border-top:1px solid #e9e9e9;margin-top:20px;padding-top:20px}.public-times form>button{background:var(--kaspela-blue);border-color:var(--kaspela-blue);color:white}.public-times form>button:hover{background:var(--kaspela-dark)}.public-times input:focus,.public-times select:focus{outline:none;border-color:#7a7f87;box-shadow:0 0 0 2px #1f23281a}.public-times button:focus-visible{outline:2px solid #7a7f87;outline-offset:2px}@media(max-width:1100px){.booking-day-slots{grid-template-columns:1fr}.booking-days{gap:10px}}@media(max-width:1050px){.doctor-booking-grid{grid-template-columns:1fr}.public-times{position:static}.doctor-profile-card{max-width:720px}}@media(max-width:800px){.booking-day-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.public-times{padding:18px 12px}.booking-days{gap:7px}.booking-day-slots{grid-template-columns:1fr}.booking-day h4{font-size:12px}.booking-day-empty{padding:5px;min-height:150px}}@media(max-width:650px){.doctor-results-heading{align-items:flex-start;padding:18px}.doctor-results-heading h1{font-size:18px}.doctor-result-card{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:15px}.doctor-result-avatar{width:88px;height:110px;font-size:20px}.doctor-result-content h2{font-size:17px}.doctor-profile-card{display:block;padding:0}.doctor-profile-symbol{width:150px;height:188px;margin-bottom:16px}.public-brand small{max-width:200px}}.booking-wizard{max-width:1180px;margin:24px auto 54px;color:var(--kaspela-ink)}.booking-step-card h1:focus,.booking-wizard:focus,.doctor-booking-view:focus,.doctor-results:focus,.home-hero:focus{outline:none}.booking-wizard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--kaspela-border)}.booking-wizard-header button{border:0;background:transparent;color:var(--kaspela-ink);padding-left:0}.booking-wizard-header button:hover{background:transparent;text-decoration:underline}.booking-wizard-header span{font-size:13px;color:var(--kaspela-muted)}.booking-section-title{margin:30px 0 4px;padding-top:22px;border-top:1px solid #ececec;color:var(--kaspela-ink);font-size:18px}.booking-step-card .patient-phone{max-width:580px;margin-top:5px}.booking-step-card .patient-phone input{min-width:0;margin:0;border:0;border-radius:0;box-shadow:none}.booking-step-card [aria-invalid=true]{border-color:#b3261e}.booking-field-error{display:block;margin-top:6px;color:#b3261e;font-size:13px}.booking-consent{display:flex;align-items:flex-start;gap:10px;max-width:580px;font-size:14px;line-height:1.45}.booking-account-hint a,.booking-consent a{color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.booking-account-hint{margin:18px 0 0;color:var(--kaspela-muted);font-size:14px}.booking-complete-note{max-width:430px;margin:18px auto 0;color:var(--kaspela-muted);font-size:13px;line-height:1.5}.booking-wizard-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.7fr);grid-gap:48px;gap:48px;align-items:start}.booking-step-card{min-height:420px;padding:4px 0 24px}.booking-step-card h1{font-size:26px;color:var(--kaspela-ink);margin:0 0 24px}.booking-step-card>p{color:var(--kaspela-muted)}.booking-step-card label{max-width:580px;margin:20px 0}.booking-step-card input,.booking-step-card select{border-color:var(--kaspela-border);min-height:46px;background:white}.booking-step-card fieldset{border:0;padding:0;margin:24px 0}.booking-step-card legend{font-size:14px;margin-bottom:8px}.booking-step-card fieldset label{display:flex;align-items:flex-start;gap:10px;margin:10px 0}.booking-step-card input[type=checkbox],.booking-step-card input[type=radio]{width:20px;min-height:20px;margin:0;flex:0 0 20px;accent-color:#0B79D0}.booking-warning{max-width:640px;padding:15px 18px;border-left:4px solid #a2a2a2;border-radius:10px;background:#f4f4f4;color:#646464}.booking-warning strong{color:var(--kaspela-ink)}.booking-warning p{margin:7px 0 0;line-height:1.5}.booking-summary-card{overflow:hidden;border:1px solid var(--kaspela-border);border-radius:12px;background:white;box-shadow:0 5px 18px #0B5CAD1A}.booking-summary-card section{display:flex;align-items:flex-start;gap:15px;padding:20px;border-bottom:1px solid #ececec}.booking-summary-card section:last-child{display:block;border-bottom:0}.booking-summary-card h2{font-size:19px;color:var(--kaspela-ink);line-height:1.35;margin:4px 0 0}.booking-summary-card h3{font-size:16px;margin:0 0 5px;color:var(--kaspela-ink)}.booking-summary-card p{font-size:14px;line-height:1.5;margin:3px 0 12px;color:var(--kaspela-muted)}.booking-summary-card strong{font-size:13px;color:var(--kaspela-ink)}.booking-summary-card span:not(.booking-summary-icon){font-size:13px;color:var(--kaspela-muted)}.booking-summary-details summary{padding:14px 20px;cursor:pointer;color:var(--kaspela-dark);font-size:14px;font-weight:600}.booking-summary-details summary:focus-visible{outline:2px solid var(--kaspela-blue);outline-offset:-3px}.booking-summary-details section{border-top:1px solid #ececec;border-bottom:0}.booking-summary-card section>div{min-width:0;overflow-wrap:anywhere}.booking-summary-card section.booking-summary-location{display:block}.booking-summary-avatar,.booking-summary-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#f4f4f4;color:var(--kaspela-ink);font-size:21px}.booking-confirmation{max-width:640px;margin:0 0 24px;border:1px solid var(--kaspela-border);border-radius:10px;background:white}.booking-confirmation div{display:grid;grid-template-columns:140px 1fr;grid-gap:18px;gap:18px;padding:13px 16px;border-bottom:1px solid #ededed}.booking-confirmation div:last-child{border:0}.booking-confirmation dt{color:var(--kaspela-muted)}.booking-confirmation dd{margin:0;color:var(--kaspela-ink);font-weight:600}.booking-wizard-actions{display:flex;justify-content:flex-end;gap:12px;max-width:720px;margin-top:26px;padding-top:18px;border-top:1px solid var(--kaspela-border)}.booking-wizard-actions button{min-width:170px}.booking-complete>button,.booking-wizard-actions .primary{background:var(--kaspela-blue);border-color:var(--kaspela-blue);color:white;font-weight:700}.booking-complete>button:hover,.booking-wizard-actions .primary:hover{background:var(--kaspela-dark)}.booking-complete{text-align:center}.booking-complete-mark{display:grid;place-items:center;width:68px;height:68px;margin:20px auto;border-radius:50%;background:#f4f4f4;color:var(--kaspela-ink);font-size:34px}.booking-complete .booking-summary-card{max-width:430px;margin:28px auto;text-align:left}@media(max-width:850px){.booking-wizard-layout{grid-template-columns:1fr;gap:24px}.booking-summary-card{order:-1}.booking-step-card{min-height:0}.booking-wizard-actions{max-width:none}}@media(max-width:520px){.booking-wizard-actions{display:grid;grid-template-columns:1fr 1fr}.booking-wizard-actions button{min-width:0}.booking-confirmation div{grid-template-columns:1fr;gap:4px}.booking-wizard-header{align-items:flex-start}}.public-calendar>header.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:10px 24px;gap:10px 24px}.site-header .public-brand{justify-self:start}.site-header .staff-menu{grid-column:2;justify-content:center;gap:4px;min-width:0;margin:0}.public-account,.site-header .staff-menu{grid-row:1;display:flex;align-items:center}.public-account{grid-column:3;justify-self:end;flex-wrap:wrap;gap:6px}.public-account a,.public-account button{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:14px;font-weight:500;line-height:1.2;color:var(--kaspela-ink);text-decoration:none;border:1px solid transparent;padding:8px 12px;border-radius:10px;background:transparent;box-shadow:none;transition:background-color .15s,color .15s}.public-account a svg,.public-account button svg{flex:0 0 auto;color:var(--kaspela-blue)}.public-account a:hover,.public-account button:hover{background:var(--kaspela-light);color:var(--kaspela-blue)}.public-account .public-account-primary{background:#e7f2fc;color:var(--kaspela-blue);font-weight:600}.public-account .public-account-primary:hover{background:#d6e9fa;color:var(--kaspela-dark)}@media(max-width:900px){.public-calendar>header.site-header{grid-template-columns:minmax(0,1fr) auto}.site-header .staff-menu{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto}.public-account{grid-column:2}}.public-calendar>footer a{color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.patient-auth{position:relative;max-width:840px;margin:32px auto 56px;padding:32px 28px;background:#fff;border:1px solid #e4e4e4;border-radius:10px;color:var(--kaspela-ink)}.patient-auth h1{font-size:clamp(28px,4vw,36px);font-weight:800;color:#242424;margin:0 0 8px}.patient-lead{color:var(--kaspela-muted);margin:0 0 20px;font-size:15px;line-height:1.5}.patient-field{max-width:370px;margin:0 0 18px}.patient-field.wide{max-width:none}.patient-field>label{margin:0 0 8px;font-size:15px;color:#242424}.patient-field input,.patient-field select{margin:0;min-height:46px;border-color:#d8d8d8;border-radius:6px;font-size:15px}.patient-field input:focus,.patient-field select:focus{outline:none;border-color:#7a7f87;box-shadow:0 0 0 2px #1f23281a}.patient-field input[aria-invalid=true],.patient-field select[aria-invalid=true]{border-color:#b3261e}.field-problem{display:block;margin-top:6px;font-size:13px;color:#b3261e}.patient-row{display:flex;flex-wrap:wrap;gap:0 24px}.patient-row>.patient-field{flex:1 1 200px;max-width:240px}.patient-password-row,.patient-phone-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 36px}.patient-phone{display:flex;flex:0 1 370px;min-width:0;overflow:hidden;border:1px solid #d8d8d8;border-radius:6px;background:#fff}.patient-phone:focus-within{border-color:#7a7f87;box-shadow:0 0 0 2px #1f23281a}.patient-phone:has(input[aria-invalid=true]){border-color:#b3261e}.patient-phone span{display:grid;place-items:center;padding:0 14px;border-right:1px solid #d8d8d8;color:#242424;font-size:15px}.patient-field .patient-phone input{min-width:0;border:0;border-radius:0;box-shadow:none}.patient-why{display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:0;font-size:14px}.patient-why,.patient-why:hover{background:none;color:var(--kaspela-ink)}.patient-why:hover{text-decoration:underline}.patient-why-text{max-width:560px;margin:10px 0 0;padding:12px 14px;border-left:4px solid #a2a2a2;border-radius:8px;background:var(--kaspela-light);color:#646464;font-size:14px;line-height:1.5}.patient-password{position:relative;flex:0 1 370px;min-width:0}.patient-field .patient-password input{padding-right:50px}.patient-password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:none;color:#989898}.patient-password-toggle:hover{background:none;color:var(--kaspela-ink)}.patient-hint{flex:1 1 200px;color:#6d6d6d;font-size:12px;letter-spacing:normal}.patient-auth hr{margin:26px -28px;border:0;border-top:1px solid #e8e8e8}.patient-consent{margin:10px 0}.patient-check{display:flex;align-items:center;gap:10px;margin:0;font-size:15px}.patient-check input{width:20px;height:20px;margin:0;flex:0 0 20px;accent-color:var(--kaspela-blue)}.patient-auth a:not(.patient-primary):not(.patient-secondary){color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.patient-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.patient-primary,.patient-secondary{display:inline-grid;place-items:center;width:100%;max-width:370px;min-height:50px;margin:22px 0 10px;padding:0 18px;border-radius:6px;font-size:17px;font-weight:700;text-decoration:none}.patient-primary{border:1px solid var(--kaspela-blue);background:var(--kaspela-blue);color:#fff}.patient-primary:hover:not(:disabled){background:var(--kaspela-dark);border-color:var(--kaspela-dark);color:#fff}.patient-secondary{border:1px solid var(--kaspela-blue);background:#fff;color:var(--kaspela-ink);font-size:16px}.patient-secondary:hover:not(:disabled){background:var(--kaspela-light);color:var(--kaspela-ink)}.patient-switch{margin:8px 0;color:var(--kaspela-muted);font-size:14px}.patient-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.patient-actions>*{flex:1 1 180px;margin:0}.patient-auth .error,.patient-auth .notice{max-width:560px;margin:16px 0}.patient-done{text-align:center}.patient-done-mark{display:grid;place-items:center;width:68px;height:68px;margin:8px auto 16px;border-radius:50%;background:var(--kaspela-light);color:var(--kaspela-ink);font-size:32px}.patient-done-mark.is-problem{background:#fdecea;color:#b3261e}.patient-done .error,.patient-done .notice,.patient-done .patient-actions,.patient-done>.patient-secondary{margin-inline:auto;max-width:560px}.patient-required{text-align:left}.my-appointments{max-width:1050px;margin:28px auto 56px}.my-appointments h1{margin:0 0 12px;color:var(--kaspela-ink);font-size:28px}.my-appointments h2{margin:28px 0 12px;color:var(--kaspela-ink);font-size:19px}.my-profile{display:flex;flex-wrap:wrap;gap:6px 24px;padding:16px 20px;background:var(--kaspela-light);color:var(--kaspela-ink);font-size:14px;overflow-wrap:anywhere}.my-appointment,.my-profile{border:1px solid #e4e4e4;border-radius:10px}.my-appointment{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;margin-bottom:12px;padding:20px;background:#fff}.my-appointment h3{margin:0 0 6px;color:var(--kaspela-ink);font-size:19px}.my-appointment p{margin:3px 0;color:#757575;font-size:14px}.my-appointment.is-past{background:#f9f9f9}.my-appointment-status{font-weight:600}.my-appointment-code{display:inline-block;margin-top:8px;padding:6px 10px;border-radius:8px;background:var(--kaspela-light);color:var(--kaspela-ink);font-size:13px}.my-appointment-code strong{font-size:16px;letter-spacing:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.my-appointment button{border-color:#e0b4b4;background:#fff;color:#a12622}.my-appointment button:hover:not(:disabled){border-color:#d98c8a;background:#fdecea;color:#8e1b17}.my-appointments-empty{padding:24px;border:1px dashed var(--kaspela-border);border-radius:10px;color:var(--kaspela-muted)}.my-appointments-empty a{color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.booking-code{max-width:430px;margin:20px auto;padding:18px;border:2px dashed var(--kaspela-border);border-radius:12px;background:var(--kaspela-pale)}.booking-code span{display:block;color:var(--kaspela-muted);font-size:13px}.booking-code strong{display:block;margin:6px 0;color:var(--kaspela-ink);font-size:34px;letter-spacing:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.booking-code p{margin:0;color:#646464;font-size:13px;line-height:1.5}.booking-complete-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.booking-complete-actions a,.booking-complete-actions button{display:inline-grid;place-items:center;min-width:180px;min-height:46px;padding:0 18px;border-radius:8px;font-weight:700;text-decoration:none}.booking-complete-actions a{border:1px solid var(--kaspela-blue);background:#fff;color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.booking-complete-actions a:hover{background:var(--kaspela-light)}.booking-complete-actions button{border:1px solid var(--kaspela-blue);background:var(--kaspela-blue);color:#fff}.booking-complete-actions button:hover{background:var(--kaspela-dark);color:#fff}.legal-page{max-width:760px;margin:32px auto 56px;line-height:1.6}.legal-page h1{color:var(--kaspela-ink);font-size:30px}.legal-page h2{color:var(--kaspela-ink);font-size:19px;margin-top:28px}.legal-page ul{padding-left:22px}.legal-page a{color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.legal-pending{padding:16px 18px;border-left:5px solid var(--kaspela-red);border-radius:10px;background:#fff3f3;color:#7a1f1f}@media(max-width:650px){.public-calendar>header{margin:-14px -14px 20px;padding:14px}.public-account a,.public-account button{padding:8px 12px;font-size:13px}.patient-auth{margin:16px 0 40px;padding:22px 16px}.patient-auth hr{margin-inline:-16px}.patient-field,.patient-primary,.patient-row>.patient-field,.patient-secondary{max-width:none}.my-appointment{grid-template-columns:1fr}}@media(max-width:600px){.public-calendar{width:100%;overflow-x:hidden}.public-calendar:not(.staff-shell)>header.site-header{position:relative;grid-template-columns:1fr;gap:10px;margin:-14px -14px 16px;padding:12px 14px;background:#fff;box-shadow:0 1px 0 #e6e6e6}.public-calendar:not(.staff-shell) .site-header .public-brand{grid-column:1;grid-row:1}.public-calendar:not(.staff-shell) .public-brand img{height:25px}.public-calendar:not(.staff-shell) .public-brand small{display:none}.public-calendar:not(.staff-shell) .public-account{grid-column:1;grid-row:2;justify-self:stretch;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:8px;gap:8px;width:100%}.public-calendar:not(.staff-shell) .public-account a,.public-calendar:not(.staff-shell) .public-account button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:8px 10px;border-color:#dfe5ea;border-radius:10px;background:#fff}.public-calendar:not(.staff-shell) .public-account .public-account-primary{background:#e7f2fc}.public-calendar:not(.staff-shell) .public-account a svg,.public-calendar:not(.staff-shell) .public-account button svg{width:18px;height:18px}.public-account-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.public-calendar :is(button,a,input,select){touch-action:manipulation}.public-calendar :is(button,a):focus-visible{outline:3px solid #0b79d04d;outline-offset:2px}.public-calendar .error,.public-calendar .notice{padding:13px;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.home-hero{gap:20px;margin:0 auto 34px;padding-top:6px}.home-hero h1{margin-bottom:24px;font-size:clamp(25px,8vw,32px);line-height:1.18;letter-spacing:-.3px}.home-search{max-width:none}.home-search .search-sr-only{position:static;width:auto;height:auto;margin:0 0 6px;overflow:visible;clip:auto;white-space:normal;color:var(--kaspela-ink);font-size:14px;font-weight:500}.home-search input,.home-search select{height:50px;margin-bottom:12px;padding-inline:13px;font-size:16px}.home-search button{min-height:50px;margin-top:2px}.home-hero-phone{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;border:1px solid #e1e5e9;border-radius:9px;font-weight:600}.home-about{padding:18px;border-radius:10px}.home-about p{line-height:1.5}.search-specialties{margin-bottom:42px}.search-specialties h2{margin-bottom:16px;font-size:20px}.search-specialty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.search-specialty-grid button{gap:9px;min-height:116px;padding:14px 8px;border-radius:10px;font-size:13px}.specialty-symbol{width:52px;height:52px}.doctor-back{display:flex;align-items:center;min-height:44px;margin-bottom:12px;padding-right:12px}.doctor-results{margin:16px auto 40px}.doctor-results-heading{gap:10px;margin-bottom:10px;padding:15px;border-radius:9px}.doctor-results-heading h1{font-size:17px;line-height:1.3}.doctor-results-heading strong{font-size:12px}.doctor-results-list{border:0;border-radius:0;overflow:visible;background:transparent}.doctor-result-card{grid-template-columns:76px minmax(0,1fr);gap:12px;margin-bottom:10px;padding:14px;border:1px solid #e0e4e8;border-radius:11px;background:#fff}.doctor-result-card:last-child{border-bottom:1px solid #e0e4e8}.doctor-result-avatar{width:76px;height:95px;border-radius:8px;font-size:18px}.doctor-result-content{min-width:0;padding:0}.doctor-result-content h2{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.doctor-result-specialty{font-size:13px;line-height:1.35}.doctor-result-location{margin-bottom:9px;font-size:12px;line-height:1.4}.doctor-result-tags{display:none}.doctor-result-card button{width:100%;min-height:44px;padding:8px 10px}.doctor-booking-view{margin:10px 0 40px}.doctor-booking-grid{gap:22px}.doctor-profile-card{display:grid;grid-template-columns:92px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.doctor-profile-symbol{width:92px;height:115px;margin:0;border-radius:9px;font-size:20px}.doctor-profile-card h1{font-size:18px}.doctor-profile-specialty{font-size:13px}.doctor-profile-card>div:last-child>p:not(.doctor-profile-kicker):not(.doctor-profile-specialty){margin:0 0 8px;font-size:12px}.doctor-profile-earliest{min-height:44px;margin-bottom:5px}.public-times{padding:17px 12px;border-radius:10px;box-shadow:none}.booking-step-card,.booking-summary-card,.public-times{min-width:0}.booking-location>div{min-width:0;overflow-wrap:anywhere}.public-times h2{margin-bottom:16px;font-size:21px}.booking-reason select{min-height:48px;font-size:16px}.booking-location{gap:10px;margin-top:16px}.booking-location-icon{width:40px;height:40px;flex-basis:40px}.booking-toolbar{align-items:stretch;margin-top:18px;padding-top:15px}.booking-toolbar-title{display:flex;align-items:center;min-height:36px}.booking-navigation{width:100%;justify-content:space-between;gap:8px}.booking-date-action{flex:1 1 auto}.booking-date-action>button{justify-content:center;width:100%;height:44px}.booking-navigation>button{width:44px;height:44px;flex:0 0 44px}.month-calendar{position:fixed;z-index:60;top:76px;right:auto;bottom:auto;left:50%;box-sizing:border-box;width:min(320px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100vh - 92px);max-height:calc(100dvh - 92px);margin:0;padding:14px;overflow-x:hidden;overflow-y:auto;transform:translateX(-50%);overscroll-behavior:contain}.month-calendar-head{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}.month-calendar-head>button{width:44px;min-height:44px}.month-calendar-pickers{min-width:0}.month-calendar-pickers select{min-width:0;max-width:100%;height:44px;padding-inline:4px;font-size:16px}.month-calendar-pickers select:last-child{flex-basis:74px}.month-calendar-day{height:44px}.month-calendar-foot{align-items:flex-start;flex-direction:column}.month-calendar-foot-actions{width:100%}.month-calendar-foot-actions button{flex:1 1;min-height:44px}.booking-days{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.booking-day h4{min-height:46px;margin-bottom:8px;font-size:11px;line-height:1.35}.booking-day h4 time{font-size:12px}.booking-day-slots{grid-template-columns:1fr;gap:6px}.booking-slot{min-height:44px;padding:8px 2px;font-size:15px;border-radius:7px}.booking-day-empty{min-height:128px;padding:5px 3px;border-radius:8px}.booking-day-empty-body{gap:4px}.booking-day-empty-body svg{width:26px;height:26px;margin-bottom:2px}.booking-day-empty-body strong{font-size:12px;line-height:1.25}.booking-day-empty-body small{display:none}.booking-earliest{position:static;display:block;margin-bottom:14px}.booking-earliest-card{width:100%;min-width:0;padding:16px;background:#eef6ff;border-color:#bdd7f1;box-shadow:none}.booking-timezone{margin:14px 0}.booking-information{padding:13px}.booking-wizard{margin:10px auto 40px}.booking-wizard-header{gap:12px;margin-bottom:16px}.booking-wizard-header button{min-height:44px;padding-right:8px;text-align:left}.booking-wizard-layout{gap:18px}.booking-summary-card{box-shadow:none}.booking-summary-card section{gap:12px;padding:14px}.booking-summary-card h2{font-size:16px}.booking-summary-details summary{min-height:44px;padding:12px 14px}.booking-summary-card p:last-child{margin-bottom:0}.booking-summary-avatar,.booking-summary-icon{width:42px;height:42px;flex-basis:42px}.booking-step-card{padding-bottom:8px}.booking-step-card h1{margin-bottom:18px;font-size:23px}.booking-step-card label{margin:17px 0}.booking-step-card input,.booking-step-card select{min-height:48px;font-size:16px}.booking-step-card fieldset label{align-items:center;min-height:48px;padding:12px;border:1px solid var(--kaspela-border);border-radius:10px;background:#fff;line-height:1.4}.booking-step-card fieldset label:has(input:checked){border-color:var(--kaspela-blue);background:#eef6ff}.booking-step-card input[type=checkbox],.booking-step-card input[type=radio]{width:22px;min-height:22px;flex-basis:22px}.booking-section-title{margin-top:24px;padding-top:18px}.booking-consent{gap:11px;min-height:48px;padding-block:8px;line-height:1.5}.booking-account-hint a{display:inline-flex;align-items:center;min-height:44px;padding-inline:4px}.booking-step-card :is(input,select,[aria-invalid=true]){scroll-margin-block:24px}.booking-wizard-actions{display:flex;flex-direction:column;margin-top:22px;padding-top:16px}.booking-wizard-actions .booking-step-back{order:2;background:#fff;color:var(--kaspela-ink)}.booking-wizard-actions button{width:100%;min-height:50px;margin:0}.booking-complete-actions{display:grid;grid-template-columns:1fr}.booking-complete-actions a,.booking-complete-actions button{width:100%;min-width:0}.booking-code strong{font-size:29px;letter-spacing:5px}.patient-auth{margin:12px 0 36px;padding:20px 15px;border-radius:10px}.patient-auth h1{font-size:26px;line-height:1.2}.patient-lead{font-size:14px}.patient-field{margin-bottom:16px}.patient-field>label{font-size:14px}.patient-field input,.patient-field select,.patient-password input{min-height:48px;font-size:16px}.patient-phone{width:100%;flex-basis:100%}.patient-phone input{min-width:0;font-size:16px}.patient-phone span{padding-inline:12px}.patient-password-row,.patient-phone-row{gap:8px 0}.patient-why{display:flex;align-items:center;min-height:44px;padding:8px 0}.patient-why-text{margin-top:4px;padding:11px 12px;font-size:13px}.patient-password{flex-basis:100%}.patient-password-toggle{width:44px;height:44px}.patient-hint{flex-basis:100%;line-height:1.45}.patient-check{align-items:flex-start;min-height:44px;line-height:1.45}.patient-check input{width:22px;height:22px;flex-basis:22px}.patient-primary,.patient-secondary{min-height:50px;margin-top:16px}.patient-actions{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.patient-actions>*{width:100%;max-width:none;min-height:48px}.patient-switch{line-height:1.6}.patient-done-mark{width:58px;height:58px;font-size:28px}.my-appointments{margin:14px auto 40px}.my-appointments h1{font-size:26px}.my-appointments h2{margin-top:24px;font-size:18px}.my-profile{display:grid;grid-template-columns:1fr;grid-gap:4px;gap:4px;padding:14px}.my-appointment{gap:14px;padding:15px;border-radius:10px}.my-appointment h3{font-size:17px;line-height:1.35}.my-appointment p{line-height:1.45}.my-appointment-code{display:block;padding:9px;line-height:1.5;overflow-wrap:anywhere}.my-appointment button{width:100%;min-height:48px;margin:0}.my-appointments-empty{padding:18px;line-height:1.5}.legal-page{margin:16px auto 40px;font-size:15px;line-height:1.65}.legal-page h1{font-size:26px;line-height:1.2;overflow-wrap:anywhere}.legal-page h2{font-size:18px}.legal-page ul{padding-left:20px}.legal-page li+li{margin-top:8px}.legal-pending{padding:13px}.public-calendar>footer{font-size:12px;line-height:1.8;text-align:center}.public-calendar>footer a{display:inline-flex;align-items:center;min-height:44px;padding:6px 3px}}@media(max-width:360px){.public-calendar:not(.staff-shell) .public-brand img{height:22px}.public-calendar:not(.staff-shell) .public-account a,.public-calendar:not(.staff-shell) .public-account button{font-size:12px}.doctor-result-card{grid-template-columns:66px minmax(0,1fr);padding:12px}.doctor-result-avatar{width:66px;height:83px}.doctor-profile-card{grid-template-columns:78px minmax(0,1fr)}.doctor-profile-symbol{width:78px;height:98px}.month-calendar{top:66px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:12px}.month-calendar-pickers{gap:4px}.month-calendar-pickers select{padding-inline:3px;font-size:16px}}@media(max-height:500px) and (max-width:900px){.month-calendar{position:fixed;z-index:60;top:8px;left:50%;right:auto;transform:translateX(-50%);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain}}.patient-narrow{max-width:560px}.staff-menu{display:flex;flex:1 1 auto;justify-content:center;gap:2px;min-width:0;margin:0 12px}.staff-menu button{margin:0;padding:8px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--kaspela-muted);font-size:14px;font-weight:600;white-space:nowrap}.staff-menu button:hover:not(:disabled){background:none;color:var(--kaspela-blue)}.staff-menu button.active,.staff-menu button.active:hover{border-bottom-color:var(--kaspela-blue);background:none;color:var(--kaspela-ink)}.account-menu{position:relative}.public-account .account-menu-button{display:flex;align-items:center;gap:6px;padding:8px 4px;border:0;background:none;color:var(--kaspela-ink);font-weight:600}.public-account .account-menu-button:hover{background:none;color:var(--kaspela-blue)}.account-menu-panel{position:absolute;z-index:40;top:calc(100% + 6px);right:0;min-width:220px;padding:8px;border:1px solid #e4e4e4;border-radius:10px;background:#fff;box-shadow:0 18px 44px #2e2e2e26}.account-menu-role{margin:4px 8px 8px;color:var(--kaspela-muted);font-size:13px}.public-account .account-menu-panel a{display:block;padding:8px;border:0;border-radius:6px;color:var(--kaspela-ink);font-weight:500}.public-account .account-menu-panel a:hover{background:var(--kaspela-light);color:var(--kaspela-blue)}@media(max-width:900px){.staff-menu{order:3;flex-basis:100%;justify-content:flex-start;margin:2px 0 0;overflow-x:auto}}.staff-card{margin:0 0 18px;padding:24px;border:1px solid #e4e4e4;border-radius:12px;background:#fff;box-shadow:0 2px 12px #0B5CAD0D}.staff-card h2{margin:0 0 10px;color:var(--kaspela-ink);font-size:21px}.staff-card h3{margin:22px 0 10px;color:var(--kaspela-ink);font-size:16px}.staff-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.staff-card-head h2{margin:0}.staff-card .booking-warning{margin:0 0 16px}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start;grid-gap:18px;gap:18px}.staff-grid>.staff-card{margin:0}.staff-wide{grid-column:1/-1}.staff-hint{margin:0 0 14px;font-size:14px;line-height:1.5}.staff-empty,.staff-hint{color:var(--kaspela-muted)}.staff-empty{padding:22px;border:1px dashed var(--kaspela-border);border-radius:10px;background:#fff}.staff-console .error,.staff-console .notice,.staff-field{margin:0 0 14px}.staff-field,.staff-label{display:block}.staff-label{margin:0 0 8px;color:#242424;font-size:15px}.staff-field input,.staff-field select{min-height:46px;margin:0;border:1px solid #d8d8d8;border-radius:6px;background:#fff;color:var(--kaspela-ink);font-size:15px}.staff-field input:focus,.staff-field select:focus{outline:none;border-color:#7a7f87;box-shadow:0 0 0 2px #1f23281a}.staff-form-row{display:flex;flex-wrap:wrap;gap:0 14px}.staff-form-row>.staff-field{flex:1 1 160px}.staff-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.staff-pager{justify-content:flex-end;margin-top:14px}.staff-time-pick{display:flex;align-items:center;gap:6px}.staff-time-pick select{width:auto;flex:1 1}.staff-time-pick span{color:var(--kaspela-muted);font-weight:700}.staff-button,.staff-danger,.staff-primary{min-height:40px;padding:8px 15px;border-radius:6px;font-size:14px;font-weight:600}.staff-button{border:1px solid var(--kaspela-border);background:#fff;color:var(--kaspela-ink)}.staff-button:hover:not(:disabled){border-color:var(--kaspela-blue);background:var(--kaspela-light);color:var(--kaspela-ink)}.staff-primary{border:1px solid var(--kaspela-blue);background:var(--kaspela-blue);color:#fff}.staff-primary:hover:not(:disabled){border-color:var(--kaspela-dark);background:var(--kaspela-dark);color:#fff}.staff-danger{border:1px solid #e0b4b4;background:#fff;color:#a12622}.staff-danger:hover:not(:disabled){border-color:#d98c8a;background:#fdecea;color:#8e1b17}.staff-chip{display:inline-block;padding:3px 10px;border-radius:20px;background:#f2f2f2;color:#686868;font-size:12px;font-weight:600}.staff-chip.is-free{background:#f0f0f0;color:var(--kaspela-ink)}.staff-chip.is-booked{background:#0B79D0;color:#fff}.staff-chip.is-completed{background:#e5f3e7;color:#2e7d32}.staff-chip.is-no_show{background:#fdecea;color:#b3261e}.staff-chip.is-blocked,.staff-chip.is-past{background:#ececec;color:#6d6d6d}.staff-chip.is-moving{background:#fff4d6;color:#7a5a00}.staff-date{position:relative}.staff-date .month-calendar{left:0;right:auto}.staff-account-list{display:grid;grid-gap:8px;gap:8px}.staff-account,.staff-request{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px 14px;gap:10px 14px;padding:14px;border:1px solid #e9e9e9;border-radius:10px;background:#fff}.staff-request{grid-template-columns:minmax(0,1fr) auto}.staff-request .staff-actions{grid-column:1/-1}.staff-account.is-off{background:#f9f9f9}.staff-account strong,.staff-request strong{display:block;color:#242424}.staff-account span,.staff-request div>span{display:block;color:var(--kaspela-muted);font-size:13px}.staff-request a{color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.staff-reset{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;grid-column:1/-1}.staff-reset .staff-field{flex:1 1 240px;margin:0}.staff-table{overflow-x:auto}.staff-table table{min-width:560px}.staff-table th{color:var(--kaspela-muted)}.staff-table a{color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}.staff-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.staff-stats>div{padding:14px 16px;border:1px solid #e4e4e4;border-radius:10px;background:var(--kaspela-pale)}.staff-stats>div.is-bad{border-color:#f1c0bd;background:#fdecea}.staff-stats span{display:block;color:var(--kaspela-muted);font-size:12px}.staff-stats strong{display:block;margin-top:4px;color:var(--kaspela-ink);font-size:17px;overflow-wrap:anywhere}.staff-stats small{display:block;margin-top:4px;color:#a12622;font-size:12px}.staff-filters{margin-top:4px}@media(max-width:650px){.staff-card{padding:18px 14px}.staff-account,.staff-request{grid-template-columns:1fr}.staff-date .month-calendar{left:auto;right:0}}.staff-moving{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:12px 16px;border:1px solid #e4e4e4;border-radius:10px;background:var(--kaspela-light);color:var(--kaspela-ink)}.staff-counts{display:flex;flex-wrap:wrap;gap:8px;margin:0}.staff-counts span{padding:6px 12px;border:1px solid #e4e4e4;border-radius:20px;background:#fff;font-size:13px}.staff-counts strong{margin-left:4px;color:var(--kaspela-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.public-calendar.is-wide{max-width:1440px}.week-board{margin:0 0 20px}.week-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;padding:0 0 12px;border-bottom:1px solid #e9e9e9}.week-who{display:grid;justify-items:start;grid-gap:2px;gap:2px;min-width:0}.week-specialty{width:auto;min-height:0;margin:0 0 0 4px;padding:2px 4px;border:0;background:transparent;color:var(--kaspela-muted);font-size:13px;font-weight:600;cursor:pointer}.week-doctor{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.week-avatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--kaspela-light);color:var(--kaspela-ink);font-size:18px}.week-doctor strong{color:#242424;font-size:22px}.doctor-picker{position:relative;min-width:0}.doctor-picker-button{display:flex;align-items:center;gap:10px;max-width:min(560px,80vw);min-height:0;margin:0;padding:4px 12px 4px 4px;border:1px solid transparent;border-radius:28px;background:none;color:#242424}.doctor-picker-button:hover:not(:disabled),.doctor-picker-button[aria-expanded=true]{border-color:#e4e4e4;background:#f8f8f8;color:#242424}.doctor-picker-button strong{overflow:hidden;font-size:22px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.doctor-picker-button svg{flex:0 0 auto;color:var(--kaspela-muted)}.doctor-picker-panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:min(400px,calc(100vw - 32px));padding:12px 0 6px;border:1px solid #e4e4e4;border-radius:10px;background:#fff;box-shadow:0 18px 44px #2e2e2e26}.doctor-picker-panel .doctor-picker-search{display:block;width:calc(100% - 24px);min-height:40px;margin:0 12px 10px;padding:8px 16px;border:1px solid #d8d8d8;border-radius:20px;background:#fff;font-size:15px}.doctor-picker-panel .doctor-picker-search:focus{outline:none;border-color:#7a7f87;box-shadow:0 0 0 2px #1f23281a}.doctor-picker-group{margin:0;padding:10px 18px 6px;border-top:1px solid #f1f1f1;color:var(--kaspela-muted);font-size:13px;font-weight:600}.doctor-picker-list{max-height:300px;overflow:auto;margin:0;padding:0;list-style:none}.doctor-picker-list li{padding:9px 18px;color:#242424;font-size:15px;cursor:pointer}.doctor-picker-list li.is-active{background:#f4f4f4}.doctor-picker-list li.is-current{background:#e7f2fc;color:var(--kaspela-blue);font-weight:600}.doctor-picker-list li.is-current.is-active{background:#d6e9fa}.doctor-picker-list li.doctor-picker-empty{color:var(--kaspela-muted);cursor:default}.doctor-picker-add{display:block;width:calc(100% - 24px);min-height:36px;margin:6px 12px 4px;padding:6px 10px;border:1px dashed #d8d8d8;border-radius:8px;background:none;color:var(--kaspela-ink);font-size:14px;font-weight:600;text-align:left}.doctor-picker-add:hover{border-color:var(--kaspela-blue);background:var(--kaspela-light);color:var(--kaspela-ink)}.week-clinic{color:var(--kaspela-muted);font-size:13px}.photo-input{display:none!important}.phone-edit{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px}.phone-edit input{width:190px;min-height:32px;margin:0;padding:4px 10px;border:1px solid #d8d8d8;border-radius:6px;background:#fff;font-size:13px}.phone-edit input:focus{outline:none;border-color:#7a7f87;box-shadow:0 0 0 2px #1f23281a}.phone-edit .staff-button{min-height:32px;padding:4px 10px;font-size:13px}.phone-edit .error{flex-basis:100%;margin:0;font-size:13px}.phone-edit-hint{flex-basis:100%;margin:0;color:var(--kaspela-muted);font-size:12px}.phone-edit-saved,.staff-account .phone-edit-saved{display:inline;color:#2e7d32;font-size:13px}.phone-button{position:relative}.phone-button .week-icon{width:32px;height:32px}.phone-popover{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:310px;max-width:calc(100vw - 32px);padding:12px;border:1px solid #e4e4e4;border-radius:10px;background:#fff;box-shadow:0 18px 44px #2e2e2e26}.phone-popover .phone-edit{margin-top:0}.phone-popover .phone-edit input{flex:1 1 150px;width:auto}.photo-upload{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}.photo-button{position:relative}.photo-button .week-icon{width:32px;height:32px}.photo-button-error{position:absolute;z-index:25;top:calc(100% + 6px);left:0;width:max-content;max-width:280px;margin:0;padding:6px 10px;border:1px solid #f1c0bd;border-radius:6px;background:#fdecea;color:#8e1b17;font-size:12px}.photo-upload-preview,.staff-account .photo-upload-preview{display:grid;place-items:center;flex:0 0 48px;width:48px;height:60px;border-radius:6px;background:#f0f0f0;color:#6b6b6b;font-size:14px;font-weight:600}.photo-upload-actions{display:flex;flex-wrap:wrap;gap:6px}.photo-upload-actions .staff-button{min-height:32px;padding:4px 10px;font-size:13px}.photo-upload .error{flex-basis:100%;margin:0;font-size:13px}.photo-positioner{width:min(340px,100%)}.photo-positioner-frame{position:relative;width:240px;height:300px;margin:6px auto 14px;overflow:hidden;border-radius:12px;background:var(--kaspela-light);cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.photo-positioner-frame:active{cursor:-webkit-grabbing;cursor:grabbing}.photo-positioner-frame:focus-visible{outline:2px solid var(--kaspela-blue);outline-offset:3px}.photo-positioner-frame img{position:absolute;max-width:none;pointer-events:none}.photo-positioner-circle{position:absolute;top:30px;left:0;width:240px;height:240px;border:2px dashed #ffffffd9;border-radius:50%;box-shadow:0 0 0 1px #1f232826;pointer-events:none}.photo-positioner-zoom{display:grid;grid-gap:6px;gap:6px;margin:0 0 14px;color:var(--kaspela-muted);font-size:13px}.photo-positioner-zoom input{margin:0;padding:0;border:0;accent-color:var(--kaspela-blue)}.photo-positioner-actions{justify-content:flex-end}.week-search{position:relative;width:min(320px,100%)}.week-search input{min-height:40px;margin:0;padding:8px 14px 8px 38px;border:1px solid #e4e4e4;border-radius:20px;background:#f8f8f8;font-size:14px}.week-search input:focus{outline:none;border-color:#7a7f87;background:#fff;box-shadow:0 0 0 2px #1f23281a}.week-search-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:var(--kaspela-muted);pointer-events:none}.week-search-results{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:min(420px,90vw);max-height:380px;overflow:auto;padding:6px;border:1px solid var(--kaspela-border);border-radius:12px;background:#fff;box-shadow:0 18px 44px #2e2e2e26}.week-search-results button{display:grid;grid-gap:2px;gap:2px;width:100%;margin:0;padding:10px 12px;border:0;border-radius:8px;background:none;color:var(--kaspela-ink);text-align:left}.week-search-results button.is-active,.week-search-results button:focus-visible,.week-search-results button:hover{background:var(--kaspela-light);color:var(--kaspela-ink)}.week-search-results strong{color:#242424}.week-search-results span{color:var(--kaspela-muted);font-size:12px}.week-search-empty{margin:0;padding:12px;color:var(--kaspela-muted);font-size:13px}.week-toolbar{justify-content:space-between;gap:8px 16px;padding:10px 0}.week-nav,.week-toolbar,.week-tools{display:flex;flex-wrap:wrap;align-items:center}.week-nav,.week-tools{gap:6px}.week-icon{display:grid;place-items:center;width:38px;height:36px;padding:0;border:1px solid #d8d8d8;border-radius:6px;background:#fff;color:var(--kaspela-ink);font-size:18px}.week-icon:hover:not(:disabled),.week-icon[aria-pressed=true],.week-icon[aria-pressed=true]:hover{border-color:var(--kaspela-blue);background:var(--kaspela-light);color:var(--kaspela-ink)}.week-nav-arrow{border-color:#bfdbfe;border-radius:7px;background:#eff6ff;color:var(--kaspela-blue);cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px rgba(11,121,208,.08)}.week-nav-arrow:hover:not(:disabled){border-color:var(--kaspela-blue);background:var(--kaspela-blue);color:#fff;box-shadow:0 2px 6px rgba(11,121,208,.25);transform:translateY(-1px)}.week-nav-arrow:active:not(:disabled){transform:translateY(0) scale(.96);box-shadow:none}.week-nav-date{border-color:#d8d8d8;border-radius:7px;color:var(--kaspela-blue);transition:all .15s ease}.week-nav-date:hover:not(:disabled),.week-nav-date[aria-expanded=true]{border-color:var(--kaspela-blue);background:#eff6ff;color:var(--kaspela-blue)}.week-chip-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid transparent;border-radius:6px;background:none;color:var(--kaspela-ink);font-size:13px}.week-chip-button:hover:not(:disabled){border-color:#e4e4e4;background:var(--kaspela-light);color:var(--kaspela-ink)}.week-dot{width:10px;height:10px;border-radius:50%;background:#2e9d6b}.week-updated{color:var(--kaspela-muted);font-size:12px}.week-view{width:auto;min-height:36px;margin:0;padding:4px 10px;border:1px solid #d8d8d8;border-radius:6px;background:#fff;font-size:14px}.week-grid{display:grid;grid-template-columns:repeat(var(--days),minmax(170px,1fr));min-height:420px;max-height:calc(100vh - 250px);overflow:auto;border:1px solid #e9e9e9;border-radius:10px;background:#fff}.week-day{min-width:0;border-right:1px solid #e9e9e9}.week-day:last-child{border-right:0}.week-day h3{position:-webkit-sticky;position:sticky;top:0;z-index:2;margin:0;padding:10px 8px;border-top:4px solid transparent;background:#fff;color:var(--kaspela-ink);font-size:14px;font-weight:500;line-height:1.4;text-align:center}.week-day h3 time{display:block;color:#242424;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-day.is-today h3{border-top-color:var(--kaspela-red)}.week-slots{display:grid;grid-gap:6px;gap:6px;padding:4px 8px 12px}.week-empty{padding:26px 8px;border-radius:6px;color:#8a93a3;font-size:12px;background:var(--kaspela-inactive)}.week-empty,.week-slot{margin:0;text-align:center}.week-slot{position:relative;display:grid;justify-items:center;align-content:center;grid-gap:1px;gap:1px;min-height:54px;padding:7px 22px;border:1px solid transparent;border-radius:5px;line-height:1.25}.week-slot-time{font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-slot-name{max-width:100%;overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.week-slot-note,.week-slot-service{font-size:11px}.week-slot-source{position:absolute;top:4px;right:5px;line-height:0;opacity:.8}.week-slot.is-booked{background:#f4c7cb;color:#242424}.week-slot.is-completed{background:#c9e07c;color:#242424}.week-slot.is-no_show{background:#f7d9a8;color:#242424}.week-slot.is-blocked,.week-slot.is-past{color:#8a93a3;background:var(--kaspela-inactive)}.week-slot.is-free{border:1px dashed #cfcfcf;background:#fff;color:#8a8a8a}.week-slot.is-free .week-slot-time{font-weight:500;display:inline-flex;align-items:center;gap:7px}.week-slot-plus{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#2e9d6b;color:#fff}.week-slot.is-free:focus-visible,.week-slot.is-free:hover:not(:disabled){border-color:var(--kaspela-blue);background:#EEF6FD;color:var(--kaspela-blue);filter:none}.week-slot.is-free:hover .week-slot-plus{background:#23845a}.week-slot-plus{transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s,box-shadow .2s}.week-slot.is-free:focus-visible .week-slot-plus,.week-slot.is-free:hover .week-slot-plus{transform:rotate(90deg) scale(1.18);box-shadow:0 0 0 4px #2e9d6b26}@media (prefers-reduced-motion:reduce){.week-slot-plus{transition:background-color .2s}.week-slot.is-free:focus-visible .week-slot-plus,.week-slot.is-free:hover .week-slot-plus{transform:none}}.week-slot.is-blocked .week-slot-note{color:#686868;font-weight:600}.week-slot.is-past{opacity:.55}.week-slot:hover:not(:disabled){border-color:var(--kaspela-blue);filter:brightness(.97)}.week-slot.is-selected{outline:3px solid var(--kaspela-red);outline-offset:1px}.week-slot.is-target{box-shadow:inset 0 0 0 2px var(--kaspela-blue);color:var(--kaspela-ink)}.week-slot.is-moving{outline:3px dashed #b8860b;outline-offset:1px}.week-slot.is-found{animation:week-found 1.2s ease 2}@keyframes week-found{50%{box-shadow:0 0 0 5px #EE121F66}}.week-legend{margin-top:8px;color:var(--kaspela-muted);font-size:13px;text-align:right}.week-legend summary{display:inline-block;cursor:pointer}.week-legend div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;margin-top:8px}.week-legend span{display:inline-flex;align-items:center;gap:6px}.week-legend i{width:16px;height:14px;border:1px solid #e4e4e4;border-radius:3px}.week-legend i.is-booked{background:#f4c7cb}.week-legend i.is-completed{background:#c9e07c}.week-legend i.is-no_show{background:#f7d9a8}.week-legend i.is-free{border:1px dashed #bdbdbd;background:#fff}.week-legend i.is-blocked,.week-legend i.is-past{background:var(--kaspela-inactive)}.week-legend i.is-past{opacity:.55}.staff-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#1f232833;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.staff-dialog{position:relative;width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:24px;border:1px solid #eef0f4;border-radius:16px;background:#fff;box-shadow:0 20px 50px #1f23281f}.staff-dialog .staff-card-head{padding-right:36px}.staff-dialog h2{margin:0;color:var(--kaspela-ink);font-size:24px}.staff-dialog-close{position:absolute;top:10px;right:10px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;color:var(--kaspela-muted);font-size:24px;line-height:1}.staff-dialog-close:hover{background:var(--kaspela-light);color:var(--kaspela-ink)}.staff-dialog .booking-confirmation{margin:14px 0 16px}.staff-dialog .booking-confirmation div{grid-template-columns:110px 1fr}.staff-dialog .staff-booking{margin-top:14px;padding-top:14px;border-top:1px solid #ececec}.staff-dialog a{color:var(--kaspela-ink);text-decoration:underline;text-underline-offset:2px}@media(max-width:650px){.week-grid{max-height:none}.doctor-picker-button strong,.week-doctor strong{font-size:18px}.week-search{width:100%}.staff-dialog .booking-confirmation div{grid-template-columns:1fr}}.week-day-button{display:block;width:100%;margin:0;padding:2px 4px;border:0;border-radius:6px;background:none;color:inherit;font:inherit;text-align:center}.week-day-button time{display:block;color:#242424;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-day-button:focus-visible,.week-day-button:focus-visible time,.week-day-button:hover:not(:disabled),.week-day-button:hover:not(:disabled) time{background:none;color:var(--kaspela-blue)}.week-slot-hidden{position:absolute;top:4px;left:5px;line-height:0;opacity:.7}.day-dialog{width:min(560px,100%)}.day-dialog h2{margin:0 0 14px;color:var(--kaspela-ink);font-size:20px;font-weight:600}.day-dialog-date{display:flex;align-items:center;gap:14px;margin:0 0 18px}.day-dialog-date span{display:block;color:var(--kaspela-muted);font-size:13px}.day-dialog-date strong{display:block;color:var(--kaspela-ink);font-size:18px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-dialog-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#f4f6f9;color:#6b7689}.day-dialog-icon.is-working{background:#eaf6f0;color:#2e9d6b}.day-dialog-icon.is-closed{background:#fdf1f0;color:#c2413a}.day-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:4px;gap:4px;margin:0 0 14px;padding:4px;border-radius:12px;background:#f4f6f9}.day-tabs button{margin:0;padding:8px;border:0;border-radius:9px;background:none;color:#6b7689;font-size:14px;font-weight:500}.day-tabs button:hover:not(:disabled){background:#eceff4;color:var(--kaspela-ink)}.day-tabs button.active,.day-tabs button.active:hover{background:#fff;color:var(--kaspela-ink);font-weight:600;box-shadow:0 1px 3px #1f232814}.day-panel{margin:0 0 14px;padding:16px;border:1px solid #eef0f4;border-radius:12px;background:#f9fafb}.day-panel-title{margin:0 0 12px;color:var(--kaspela-muted);font-size:14px;font-weight:500}.day-history,.day-shifts,.day-visits{display:grid;grid-gap:8px;gap:8px;margin:0 0 12px;padding:0;list-style:none}.day-shifts li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #eef0f4;border-radius:10px;background:#fff}.day-shifts strong{display:block;color:var(--kaspela-ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-shifts span{display:block;color:var(--kaspela-muted);font-size:13px}.day-danger{min-height:38px;padding:8px 14px;border:1px solid #f4cfcc;border-radius:8px;background:#fdf1f0;color:#b3261e;font-size:14px;font-weight:500}.day-danger:hover:not(:disabled){border-color:#eba8a3;background:#fbe3e1;color:#8e1b17}.staff-dialog .staff-button,.staff-dialog .staff-primary{min-height:38px;padding:8px 14px;border-radius:8px;font-weight:500}.staff-dialog .staff-button{border-color:#e3e6eb;color:var(--kaspela-ink)}.staff-dialog .staff-button:hover:not(:disabled){border-color:#c9d3e0;background:#f4f6f9;color:var(--kaspela-blue)}.day-footer{justify-content:space-between}.day-visits button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;width:100%;margin:0;padding:10px 12px;border:0;border-radius:8px;background:#fff;color:var(--kaspela-ink);text-align:left}.day-visits button:hover{background:var(--kaspela-light);color:var(--kaspela-ink)}.day-visits strong{color:#242424;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-visits small{display:block;color:var(--kaspela-muted);font-size:12px}.day-history li{display:grid;grid-gap:2px;gap:2px;padding:8px 12px;border-radius:8px;background:#fff;font-size:13px}.day-history span,.day-shifts strong small{color:var(--kaspela-muted)}.day-shifts strong small{font-size:13px;font-weight:400}.day-shifts .day-shift-kinds{color:var(--kaspela-ink);font-size:14px}.staff-kind-list{display:grid;grid-gap:3px;gap:3px;margin:0;padding:0;list-style:none}.day-shifts .staff-kind-list li{display:block;padding:0;border:0;border-radius:0;background:none}.staff-booking-form{margin-top:4px}.staff-field .patient-phone input{min-height:44px;min-width:0;margin:0;border:0;border-radius:0;box-shadow:none}.staff-field .patient-phone input:focus{border:0;box-shadow:none}.staff-booking-form .staff-actions{justify-content:space-between;margin-top:6px}.staff-dialog .booking-confirmation dd.staff-pin{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.18em}.day-dialog.is-shift{width:min(640px,100%)}.day-dialog .error{border-radius:8px;background:#fdf1f0;border:1px solid #f4cfcc;color:#b3261e}.day-dialog .error,.day-dialog .notice{margin:0 0 14px;padding:10px 14px;font-size:14px}.day-dialog .notice{border-radius:8px;background:#eaf6f0;border:1px solid #c9e8d8;color:#2e7d32}.staff-shift-form{margin-top:6px}.staff-shift-form .staff-field{margin-bottom:18px}.staff-shift-form .staff-label{font-size:15px;font-weight:600;color:var(--kaspela-ink);margin-bottom:8px}.staff-shift-form .staff-hint{font-size:13.5px;color:var(--kaspela-muted);margin:-4px 0 10px}.staff-shift-form .staff-actions{gap:8px}.staff-button.is-active,.staff-button[aria-pressed=true]{border-color:var(--kaspela-blue);background:#eaf3fc;color:var(--kaspela-blue);font-weight:600;box-shadow:0 0 0 1px var(--kaspela-blue)}.staff-check-row{display:flex;align-items:flex-start;gap:12px;margin:18px 0;padding:12px 14px;border:1px solid #e3e6eb;border-radius:8px;background:#fafbfc;cursor:pointer}.staff-check-row input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--kaspela-blue)}.staff-check-row strong{display:block;font-size:14.5px;color:var(--kaspela-ink)}.staff-check-row small{display:block;font-size:13px;color:var(--kaspela-muted);margin-top:2px}.staff-summary-box{margin:18px 0 20px;padding:12px 16px;border-left:4px solid var(--kaspela-blue);border-radius:0 8px 8px 0;background:#f4f8fc}.staff-summary-box strong{display:block;font-size:15px;font-weight:600;color:var(--kaspela-blue)}.staff-summary-box span{display:block;font-size:13.5px;color:var(--kaspela-ink);margin-top:2px}.staff-shift-form .day-footer{margin-top:8px;padding-top:14px;border-top:1px solid #eef0f4}.staff-inline-select{width:auto;min-height:40px;height:40px;margin:0;padding:8px 12px;border:1px solid var(--kaspela-border);border-radius:6px;font-size:14px;font-weight:500;background:#fff;color:var(--kaspela-ink);cursor:pointer;transition:all .15s ease}.staff-inline-select.is-chosen,.staff-inline-select:hover:not(:disabled){border-color:var(--kaspela-blue)}.staff-inline-select.is-chosen{background-color:#eaf3fc;color:var(--kaspela-blue);font-weight:600;box-shadow:0 0 0 1px var(--kaspela-blue)}.daily-print-modal{z-index:1200}.daily-print-container{max-width:960px;width:95vw;max-height:90vh;display:flex;flex-direction:column;padding:0;overflow:hidden;background:#f8fafc}.daily-print-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.daily-print-header h2{margin:0;font-size:18px;color:var(--kaspela-ink)}.daily-print-subtitle{font-size:13px;color:var(--kaspela-muted);margin-top:2px}.daily-print-actions{display:flex;align-items:center;gap:14px}.daily-print-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--kaspela-ink);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.daily-print-toggle input{cursor:pointer}.daily-print-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;padding:7px 14px}.daily-print-sheet{flex:1 1 auto;overflow-y:auto;padding:28px 36px;background:#fff;margin:16px auto;width:100%;max-width:880px;box-shadow:0 1px 4px rgba(0,0,0,.08);border:1px solid #e2e8f0;border-radius:4px;color:#1e293b}.print-hospital-brand{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #0f172a;padding-bottom:8px;margin-bottom:16px}.print-brand-hospital{font-size:16px;font-weight:800;letter-spacing:.5px;color:#0f172a}.print-brand-doc{font-size:15px;font-weight:700;color:#334155}.print-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px 20px;gap:6px 20px;font-size:13px;margin-bottom:14px;background:#f8fafc;padding:10px 14px;border-radius:4px;border:1px solid #e2e8f0}.print-meta-grid strong{color:#0f172a}.print-summary-bar{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;margin-bottom:16px;padding:6px 14px;background:#f1f5f9;border-radius:4px}.daily-print-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:13px}.daily-print-table td,.daily-print-table th{border:1px solid #cbd5e1;padding:8px 10px;text-align:left}.daily-print-table th{background:#f8fafc;font-weight:700;color:#0f172a}.daily-print-table .td-num,.daily-print-table .th-num{width:36px;text-align:center}.daily-print-table .td-time,.daily-print-table .th-time{width:65px;white-space:nowrap}.daily-print-table .th-patient{font-weight:600}.daily-print-table .td-phone,.daily-print-table .th-phone{white-space:nowrap}.daily-print-table .td-pay,.daily-print-table .th-pay{white-space:nowrap;width:85px}.daily-print-table .td-pin,.daily-print-table .th-pin{width:55px;text-align:center;font-family:monospace;font-size:12px}.daily-print-table .td-check,.daily-print-table .th-check{width:100px;text-align:center}.daily-print-table tr.row-free td{color:#94a3b8;background:#fafafa}.daily-print-table tr.row-blocked td{color:#dc2626;background:#fef2f2}.print-box{display:inline-block;font-size:16px;color:#475569}.print-empty{text-align:center;padding:30px;color:#64748b;font-size:14px}.print-footer{display:flex;justify-content:space-between;font-size:11px;color:#64748b;border-top:1px solid #e2e8f0;padding-top:8px;margin-top:20px}@media(max-width:650px){.day-danger,.staff-button,.staff-danger,.staff-dialog .staff-button,.staff-dialog .staff-primary,.staff-primary{min-height:44px}.staff-field input,.staff-field select{min-height:48px;font-size:16px}.week-icon{width:44px;height:44px}.week-chip-button,.week-view{min-height:44px}.week-toolbar{align-items:stretch}.week-nav,.week-tools{width:100%}.week-tools{justify-content:flex-start}.staff-table,.week-grid{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.week-grid{scroll-snap-type:x proximity}.week-day{scroll-snap-align:start}.staff-dialog-backdrop{align-items:end;padding:8px}.staff-dialog{width:100%;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:20px 14px;border-radius:16px 16px 10px 10px}.staff-dialog h2{font-size:21px;line-height:1.25}.staff-dialog-close{top:6px;right:6px;width:44px;height:44px}.staff-dialog .staff-card-head{padding-right:42px}.day-panel{padding:13px 10px}.day-tabs button{min-height:44px}.staff-date .month-calendar{position:fixed;top:76px;left:50%;right:auto;transform:translateX(-50%);width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 92px)}.account-menu-panel{right:0;min-width:min(260px,calc(100vw - 24px));max-width:calc(100vw - 24px)}.public-account .account-menu-panel a{display:flex;align-items:center;min-height:44px}.daily-print-container{width:100%;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.daily-print-header{align-items:stretch;flex-direction:column;gap:10px;padding:12px 14px}.daily-print-actions{flex-wrap:wrap;justify-content:space-between;gap:8px}.daily-print-btn{min-height:44px}.daily-print-sheet{margin:8px;padding:18px 14px;width:calc(100% - 16px)}.print-footer,.print-hospital-brand{align-items:flex-start;flex-direction:column;gap:4px}.print-meta-grid{grid-template-columns:1fr}.daily-print-sheet{overflow:auto}.daily-print-table{min-width:680px}}@media(max-height:500px) and (max-width:900px){.staff-dialog-backdrop{align-items:stretch}.staff-date .month-calendar{top:8px;max-height:calc(100dvh - 16px)}}@media print{body>:not(.daily-print-modal){display:none!important}.daily-print-sheet{top:0!important;left:0!important;padding:8mm 10mm!important;background:#fff!important;color:#000!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif!important}.daily-print-container,.daily-print-modal,.daily-print-sheet{position:static!important;width:100%!important;max-width:none!important;margin:0!important;box-shadow:none!important;border:none!important}.daily-print-container,.daily-print-modal{background:transparent!important;padding:0!important;max-height:none!important;overflow:visible!important}.no-print{display:none!important}.print-meta-grid,.print-summary-bar{background:#f8f9fa!important;border:1px solid #bbb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.daily-print-table{width:100%!important;border-collapse:collapse!important;page-break-inside:auto}.daily-print-table tr{page-break-inside:avoid;page-break-after:auto}.daily-print-table td,.daily-print-table th{border:1px solid #111!important;color:#000!important;padding:5px 6px!important;font-size:10pt!important}.daily-print-table th{background:#e9ecef!important;font-weight:700!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 portrait;margin:8mm}}.staff-shell .public-brand img{height:26px}.staff-shell .staff-menu button{padding:8px 12px;border-radius:8px 8px 0 0;font-size:14px;font-weight:500;color:var(--kaspela-muted)}.staff-shell .staff-menu button:hover:not(:disabled){background:var(--kaspela-light);color:var(--kaspela-blue)}.staff-shell .staff-menu button.active,.staff-shell .staff-menu button.active:hover{background:none;color:var(--kaspela-ink);border-bottom-color:var(--kaspela-blue);font-weight:600}.staff-shell .public-account{flex-wrap:nowrap;min-width:0}.staff-shell .public-account .account-menu-button{max-width:260px;font-size:13px;font-weight:500;color:var(--kaspela-muted);overflow-wrap:anywhere;text-align:left}.staff-shell>header :is(button,a):focus-visible{outline:2px solid var(--kaspela-blue);outline-offset:3px}@media(max-width:600px){.staff-shell .public-brand img{height:20px}.staff-shell .public-account .account-menu-button{max-width:140px;font-size:12px}.staff-shell .staff-menu{scrollbar-width:thin;overscroll-behavior-x:contain}.staff-shell .staff-menu button{min-height:44px;padding:8px 10px;font-size:13px}}.doctor-profile-column{display:grid;grid-gap:22px;gap:22px;align-content:start;min-width:0}.doctor-about{padding:22px 0 0;border-top:1px solid #e4e4e4;color:var(--kaspela-ink)}.doctor-about h2{margin:0 0 10px;color:var(--kaspela-ink);font-size:17px;font-weight:600}.doctor-about-body{color:#3c4043;font-size:14px;line-height:1.6}.doctor-about-section+.doctor-about-section{margin-top:14px}.doctor-about-body h3{margin:0 0 6px;color:var(--kaspela-ink);font-size:14px;font-weight:600}.doctor-about-body p{margin:0 0 8px;white-space:pre-line}.doctor-about-body ul{margin:0 0 8px;padding-left:20px}.doctor-about-body li{margin:0 0 4px}.doctor-about-section>:last-child{margin-bottom:0}@media(max-width:600px){.doctor-profile-column{display:contents}.doctor-profile-card{order:1}.public-times{order:2}.doctor-about{order:3;margin-top:2px;padding-top:18px}.doctor-about-body{font-size:14px;line-height:1.55}}.staff-dialog.about-edit{width:min(640px,100%)}.about-edit-field{margin:0 0 12px}.about-edit-field .staff-label{margin:0 0 6px;font-size:14px;font-weight:600}.about-edit-field .staff-label small{color:var(--kaspela-muted);font-size:12px;font-weight:400}.about-edit textarea{display:block;width:100%;margin:0;padding:8px 10px;border:1px solid #d8d8d8;border-radius:6px;font:inherit;font-size:14px;line-height:1.5;resize:vertical}.about-edit textarea:focus{outline:none;border-color:#7a7f87;box-shadow:0 0 0 2px #1f23281a}.staff-account .about-edit-open{min-height:32px;margin-top:8px;padding:4px 10px;font-size:13px}