.booking-wizard{max-width:960px;margin:0 auto;padding:2.5rem 1rem 4rem}.booking-wizard--no-pad{padding:0}.booking-form{margin-top:2rem}.booking-actions,.cabinet-actions{margin-top:1.5rem}.booking-errors,.booking-alert ul{margin:0;padding-left:1.1rem}.field-error{color:#b91c1c;margin-top:.35rem;font-size:.875rem}.booking-slots-grid{flex-wrap:wrap;gap:.5rem;display:flex}.booking-slots-empty{color:#64748b;font-size:.95rem;display:none}.booking-wizard h1{color:#0f172a;margin:0 0 .35rem;font-size:1.75rem;font-weight:700}.booking-wizard .booking-lead{color:#64748b;margin:0 0 1.25rem;line-height:1.5}.booking-progress{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1.75rem;padding:.85rem 1rem}.booking-progress__steps{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.booking-progress__step{color:#94a3b8;align-items:center;gap:.35rem;display:inline-flex}.booking-progress__step.is-active{color:var(--primary-color,#4682b4);font-weight:600}.booking-progress__step.is-done{color:var(--primary-color,#4682b4)}.booking-progress__num{font-variant-numeric:tabular-nums}.booking-progress__arrow{color:#cbd5e1;-webkit-user-select:none;user-select:none}.booking-progress__step.is-done .booking-progress__link{color:inherit;border-radius:6px;align-items:center;gap:.35rem;margin:-.15rem -.4rem;padding:.15rem .4rem;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.booking-progress__step.is-done .booking-progress__link:hover{color:var(--secondary-color,#1e5a99);background:#4682b41f;text-decoration:underline}.booking-alert{border-radius:8px;margin-bottom:1.25rem;padding:.85rem 1rem;line-height:1.45}.booking-alert--error{color:var(--error-color,#dc3545);background:#fef2f2;border:1px solid #dc35454d}.booking-alert--ok{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.booking-empty{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem;line-height:1.55}.booking-services-group{margin-bottom:2rem}.booking-services-group h2{color:#334155;border-bottom:2px solid #e2e8f0;margin:0 0 .75rem;padding-bottom:.35rem;font-size:1.05rem;font-weight:600}.booking-accordion{flex-direction:column;gap:.5rem;display:flex}.booking-acc-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.booking-acc-item:has(.booking-acc-header[aria-expanded=true]){border-color:var(--primary-color,#4682b4);box-shadow:0 4px 16px #4682b41f}.booking-acc-header{cursor:pointer;width:100%;font:inherit;color:#1e293b;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:1rem;font-weight:600;transition:background .2s,color .2s;display:flex}.booking-acc-header:hover{color:var(--primary-color,#4682b4);background:#f1f7fd}.booking-acc-header[aria-expanded=true]{background:var(--primary-color,#4682b4);color:#fff;border-bottom:1px solid #ffffff26}.booking-acc-dir-icon{width:2.5rem;height:2.5rem;color:var(--primary-color,#4682b4);background:radial-gradient(circle at 30% 30%,#fff 0,#e8f4fde6 40%,#4682b426 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .2s,color .2s;display:inline-flex}.booking-acc-dir-icon img,.booking-acc-dir-icon .direction-custom-icon{object-fit:contain;width:1.1rem;height:1.1rem}.booking-acc-header[aria-expanded=true] .booking-acc-dir-icon{color:#fff;background:radial-gradient(circle at 30% 30%,#ffffff59 0,#ffffff2e 40%,#ffffff14 100%)}.booking-acc-header>span:not(.booking-acc-dir-icon){flex:1}.booking-acc-icon{color:#94a3b8;flex-shrink:0;font-size:.8rem;transition:transform .25s,color .2s}.booking-acc-header[aria-expanded=true] .booking-acc-icon{color:#ffffffd9;transform:rotate(180deg)}.booking-acc-body{max-height:0;transition:max-height .3s;overflow:hidden}.booking-acc-header[aria-expanded=true]+.booking-acc-body{padding:.75rem 0 0}.booking-service-link{color:#0f172a;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem;padding:.85rem 1rem;text-decoration:none;transition:border-color .15s,background .15s;display:block}.booking-service-link:hover{border-color:var(--primary-color,#4682b4);background:var(--accent-color,#e8f4fd)}.booking-service-link strong{font-weight:600}.booking-service-link .muted{color:#64748b;font-weight:400}.booking-doctors-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;display:grid}.booking-doctor-card{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.15rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s;display:block;box-shadow:0 1px 3px #0f172a0a}.booking-doctor-card:hover{border-color:var(--primary-color,#4682b4);background:var(--accent-color,#e8f4fd);box-shadow:0 2px 8px #4682b41f}.booking-doctor-name{margin:0 0 .35rem;font-size:1rem;font-weight:600;line-height:1.35}.booking-doctor-spec{color:#64748b;font-size:.9rem;line-height:1.4}.booking-slot-layout{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.booking-slot-layout{grid-template-columns:minmax(320px,420px) 1fr;align-items:start}}.booking-slot-col{min-width:0}.booking-slot-col h2{color:#334155;margin:0 0 .65rem;font-size:1rem;font-weight:600}.booking-slot-skeleton{flex-wrap:wrap;gap:.5rem;display:flex}.booking-slot-skeleton[hidden]{display:none!important}.booking-slot-skeleton .pulse{background:#e2e8f0;border-radius:8px;width:4.25rem;height:2.35rem;animation:1.2s ease-in-out infinite booking-pulse}@keyframes booking-pulse{0%,to{opacity:1}50%{opacity:.45}}.booking-slot-btn{cursor:pointer;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .85rem;font-size:.95rem;transition:background .15s,border-color .15s}.booking-slot-btn:hover{border-color:var(--primary-color,#4682b4)}.booking-slot-btn.is-selected{background:var(--accent-color,#e8f4fd);border-color:var(--primary-color,#4682b4);color:var(--secondary-color,#1e5a99);font-weight:600}.booking-actions-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.booking-back{color:#64748b;margin-top:2rem;text-decoration:none;display:inline-block}.booking-back:hover{color:var(--primary-color,#4682b4)}.booking-start-actions{flex-direction:column;gap:.75rem;max-width:320px;display:flex}.consent-label{color:#475569;cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.92rem;line-height:1.45;display:flex}.consent-label input{margin-top:.2rem}.cabinet-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:1rem;padding:1.25rem 1.5rem;transition:box-shadow .15s;box-shadow:0 2px 8px #0000000a}.cabinet-card:hover{box-shadow:0 4px 16px #4682b41a}.cabinet-card--muted{box-shadow:none;background:#f8fafc}.cabinet-card--muted:hover{box-shadow:none}.cabinet-card__actions{margin:1rem 0 0}.cabinet-appt-card{color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;padding:1.1rem 1.4rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex;box-shadow:0 2px 8px #0000000a}.cabinet-appt-card:hover{border-color:var(--primary-color,#4682b4);color:inherit;transform:translateY(-1px);box-shadow:0 6px 20px #4682b41f}.cabinet-appt-card__body{flex:1;min-width:0}.cabinet-appt-card__date{color:#0f172a;margin:0 0 .25rem;font-weight:600}.cabinet-appt-card__service{color:#475569;margin:0;font-size:.9rem}.cabinet-appt-card__doctor{color:#64748b;margin:.15rem 0 0;font-size:.875rem}.cabinet-appt-card__chev{color:var(--primary-color,#4682b4);flex-shrink:0;font-size:1.1rem;transition:transform .15s}.cabinet-appt-card:hover .cabinet-appt-card__chev{transform:translate(3px)}.cabinet-badge{color:#475569;background:#e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.cabinet-badge--warn{color:#854d0e;background:#fef9c3}.cabinet-badge--err{color:var(--error-color,#dc3545);background:#dc35451f}.cabinet-badge--ok{color:#166534;background:#dcfce7}.cabinet-badge--info{background:var(--accent-color,#e8f4fd);color:var(--secondary-color,#1e5a99)}.cabinet-badge--muted{color:#94a3b8;background:#f1f5f9}.cabinet-dl{gap:.85rem;margin:0;display:grid}.cabinet-dl dt{color:#64748b;margin:0;font-size:.875rem}.cabinet-dl dd{color:#0f172a;margin:.2rem 0 0;font-weight:500}.cabinet-section{border-top:1px solid #e2e8f0;margin-top:1.75rem;padding-top:1.75rem}.cabinet-input,.cabinet-select{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.6rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.cabinet-input:focus,.cabinet-select:focus,.datepicker-input:focus{border-color:var(--primary-color,#4682b4);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb,70, 130, 180), .18);outline:none}.cabinet-input:disabled,.cabinet-input[disabled]{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.phone-input-group{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:stretch;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.phone-input-group:focus-within{border-color:var(--primary-color,#4682b4);box-shadow:0 0 0 3px #4682b41f}.phone-input-prefix{background:var(--accent-color,#e8f4fd);color:var(--secondary-color,#1e5a99);-webkit-user-select:none;user-select:none;white-space:nowrap;border-right:1px solid #cbd5e1;flex-shrink:0;align-items:center;padding:.6rem .75rem .6rem .85rem;font-size:1rem;font-weight:700;display:flex}.phone-input-digits{letter-spacing:.03em;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:.6rem .75rem;font-family:inherit;font-size:1rem}.phone-input-hidden{display:none}.datepicker-input{cursor:pointer;box-sizing:border-box;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234682b4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") right .75rem center no-repeat;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.6rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.datepicker-input:focus{border-color:var(--primary-color,#4682b4);outline:none;box-shadow:0 0 0 3px #4682b41f}@media (width<=1199px){.booking-progress{padding:1rem 1.1rem}.booking-progress__steps{gap:.25rem .35rem;font-size:.8rem}.booking-progress__label{max-width:none;text-overflow:unset;white-space:normal;overflow:visible}.booking-wizard{padding:1.5rem .75rem 3rem}.vanilla-calendar{padding:.85rem .75rem 1rem}.booking-start-actions{max-width:100%}.booking-slot-layout,.booking-doctors-grid{grid-template-columns:1fr}}@media (width<=480px){.booking-progress__steps{font-size:.78rem}.booking-progress__arrow{display:none}}@media (width<=640px){.cabinet-card{border-radius:12px;padding:1rem 1.1rem}.cabinet-appt-card{border-radius:12px;padding:.9rem 1rem}}.booking-calendar-legend{color:#475569;flex-wrap:wrap;gap:1rem;margin-top:.75rem;font-size:.82rem;display:flex}.vanilla-calendar{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem 1rem 1.1rem;box-shadow:0 2px 8px #0000000a}.vanilla-calendar-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:0 .25rem;display:flex}.vanilla-calendar-header .cal-nav-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 2px #00000008}.vanilla-calendar-header .cal-nav-btn:hover{color:#1e5a99;background:#e0f2fe;border-color:#7db8e8;transform:translateY(-1px)}.vanilla-calendar-header .cal-nav-btn:active{transform:translateY(0)}.vanilla-calendar-header .cal-title{color:#0f172a;letter-spacing:-.01em;-webkit-user-select:none;user-select:none;text-align:center;min-width:140px;padding:0 .6rem;font-size:1.05rem;font-weight:700}.vanilla-calendar-weekdays{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.06em;grid-template-columns:repeat(7,1fr);margin-bottom:6px;padding:0 2px;font-size:.7rem;font-weight:700;display:grid}.vanilla-calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;padding:0 2px;display:grid}.vanilla-calendar-grid .day{aspect-ratio:1;color:#334155;cursor:default;-webkit-user-select:none;user-select:none;border-radius:9999px;justify-content:center;align-items:center;width:100%;min-height:34px;font-size:.875rem;font-weight:500;transition:all .1s;display:flex}.vanilla-calendar-grid .day.available{cursor:pointer;color:#1e5a99;background:#e0f2fe;border:1px solid #bae6fd;font-weight:600}.vanilla-calendar-grid .day.available:hover{color:#fff;background:#1e5a99;border-color:#1e5a99;transform:scale(1.04);box-shadow:0 2px 6px #1e5a9940}.vanilla-calendar-grid .day.selected{color:#fff;background:linear-gradient(135deg,#1e5a99 0%,#4682b4 100%);border:1px solid #1e5a99;font-weight:700;box-shadow:0 3px 8px #1e5a9959}.vanilla-calendar-grid .day.disabled{color:#94a3b8;background:0 0;font-weight:400}.vanilla-calendar-grid .day.other-month{color:#64748b;font-size:.78rem;font-weight:400}.vanilla-calendar-grid .day.today{font-weight:700;box-shadow:inset 0 0 0 2px #7db8e8}.cabinet-main .vanilla-calendar{border-color:#e2e8f0;box-shadow:0 1px 3px #0f172a0a}.booking-calendar-legend__item{align-items:center;gap:.4rem;display:flex}.booking-calendar-legend__swatch{border-radius:50%;flex-shrink:0;width:20px;height:20px;display:inline-block}.booking-calendar-legend__swatch--available{background:#d0e8f7;border:2px solid #7db8e8}.booking-calendar-legend__swatch--unavailable{background:#f1f5f9;border:1.5px solid #cbd5e1}.booking-calendar-legend__swatch--selected{background:var(--secondary-color,#1e5a99);border:1.5px solid var(--secondary-color,#1e5a99)}.booking-summary{background:var(--accent-color,#e8f4fd);border:1px solid #4682b433;border-radius:12px;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.booking-summary__row{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.95rem;display:flex}.booking-summary__label{color:#64748b;flex-shrink:0;min-width:110px;font-size:.85rem}.booking-summary__value{color:var(--secondary-color,#1e5a99);font-weight:600}.appt-show-back{color:var(--primary-color,#4682b4);align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.appt-show-back:hover{color:var(--secondary-color,#1e5a99)}.appt-show-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.appt-show-title{color:#0f172a;margin:0;font-size:1.6rem;font-weight:700;line-height:1.2}.appt-show-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 4px 20px #0000000f}.appt-show-datetime{background:var(--accent-color,#e8f4fd);border-bottom:1px solid #d1e8f7;flex-direction:column;gap:0;padding:1.25rem 1.5rem;display:flex}.appt-show-datetime-label{color:var(--primary-color,#4682b4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-size:.78rem;font-weight:500}.appt-show-datetime-date{color:#334155;font-size:1rem;font-weight:500;line-height:1.4}.appt-show-datetime-time{color:#0f172a;letter-spacing:-.02em;font-size:1.75rem;font-weight:700;line-height:1.15}.appt-show-divider{background:#f1f5f9;height:1px}.appt-show-dl{margin:0;padding:.5rem 0}.appt-show-dl-row{border-bottom:1px solid #f1f5f9;align-items:baseline;gap:.75rem;padding:.85rem 1.75rem;display:flex}.appt-show-dl-row:last-child{border-bottom:none}.appt-show-dl-row dt{color:#64748b;flex-shrink:0;align-items:center;gap:.4rem;min-width:130px;font-size:.85rem;font-weight:500;display:flex}.appt-show-dl-row dt i{text-align:center;width:14px;color:var(--primary-color,#4682b4)}.appt-show-dl-row dd{color:#0f172a;margin:0;font-size:.975rem;font-weight:600;line-height:1.5}.appt-show-actions{gap:.75rem;display:flex}.appt-show-btn{flex:1;min-width:0}.appt-show-btn.cabinet-btn{justify-content:center;width:100%}.booking-alert--info{background:var(--accent-color,#e8f4fd);color:var(--secondary-color,#1e5a99);border-color:#4682b44d}@media (width<=600px){.appt-show-datetime{gap:1rem;padding:1.25rem}.appt-show-datetime-time{font-size:1.6rem}.appt-show-dl-row{flex-direction:column;gap:.2rem;padding:.85rem 1.25rem}.appt-show-dl-row dt{min-width:0}.appt-show-actions{flex-direction:column}.appt-show-btn{width:100%}}.cabinet-pagination{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.5rem;display:flex}.cabinet-pagination__page{border:1px solid rgba(var(--primary-color-rgb,70, 130, 180), .3);background:var(--light-text,#fff);min-width:2.5rem;height:2.5rem;color:var(--primary-color,#4682b4);font:inherit;cursor:pointer;transition:var(--transition,.2s);box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;padding:0 .75rem;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.cabinet-pagination__page:hover{background:rgba(var(--primary-color-rgb,70, 130, 180), .08);border-color:rgba(var(--primary-color-rgb,70, 130, 180), .5)}.cabinet-pagination__page--active{background:var(--primary-color,#4682b4);color:var(--light-text,#fff);border-color:var(--primary-color,#4682b4);cursor:default;pointer-events:none}.cabinet-pagination__dots{color:#888;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-width:2.5rem;height:2.5rem;font-size:.95rem;font-weight:600;display:inline-flex}.cabinet-layout{grid-template-columns:minmax(200px,240px) 1fr;align-items:start;gap:2rem;max-width:1500px;margin:0 auto;padding:2rem 1.5rem 3rem;display:grid}.cabinet-nav{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.25rem;position:sticky;top:1.5rem;box-shadow:0 2px 8px #4682b412}.cabinet-nav__title{text-transform:uppercase;letter-spacing:.06em;color:var(--primary-color,#4682b4);border-bottom:2px solid var(--accent-color);margin:0 0 .85rem;padding-bottom:.5rem;font-size:.7rem;font-weight:700}.cabinet-nav__toolbar{flex-direction:column;display:flex}.cabinet-nav ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.cabinet-nav a{color:#334155;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.95rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.cabinet-nav a:hover{background:var(--accent-color);color:var(--secondary-color,#1e5a99)}.cabinet-nav a.is-active{background:var(--accent-color);color:var(--secondary-color,#1e5a99);font-weight:600}.cabinet-nav__logout{border-top:1px solid #e2e8f0;margin:1rem 0 0;padding:.75rem 0 0}.message-prewrap{white-space:pre-wrap}.status-label{margin-left:.5rem}.form-grid-2{grid-template-columns:1fr 1fr;gap:1rem 1.5rem;display:grid}.cabinet-section-title{margin:0 0 .75rem}.cabinet-nav__logout-btn{box-sizing:border-box;cursor:pointer;width:100%;font:inherit;color:var(--dark-gray);text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;min-height:auto;margin:0;padding:.5rem .75rem;font-size:.9rem;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:flex}.cabinet-nav__logout-btn:hover{color:var(--error-color,#dc3545);border-color:var(--error-color,#dc3545);background:#dc354514}.cabinet-nav__logout-btn i{display:none}.cabinet-nav-icon{text-align:center;width:1rem;display:inline-block}.cabinet-form-label{color:#334155;margin-bottom:.35rem;font-weight:600;display:block}.cabinet-form-hint{color:var(--dark-gray);margin:0 0 1.25rem}.cabinet-btn--full{width:100%;min-width:0}.cabinet-main h1{color:#0f172a;margin:0 0 .5rem;font-size:1.65rem;font-weight:700}.cabinet-main h2{color:#1e293b;margin:0 0 .75rem;font-size:1.1rem;font-weight:600}.cabinet-main .primary-btn:hover,.cabinet-main .secondary-btn:hover{transform:translateY(-1px)}.cabinet-btn{cursor:pointer;white-space:nowrap;box-sizing:border-box;letter-spacing:.01em;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;min-width:160px;min-height:44px;padding:.6rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .25s,color .18s,box-shadow .25s,transform .15s;display:inline-flex}.cabinet-btn--primary{background:linear-gradient(135deg, var(--primary-color,#4682b4) 0%, var(--secondary-color,#1e5a99) 100%);color:#fff;box-shadow:0 4px 18px rgba(var(--primary-color-rgb,70, 130, 180), .32);border:none}.cabinet-btn--primary:hover{color:#fff;box-shadow:0 8px 28px rgba(var(--primary-color-rgb,70, 130, 180), .42);transform:translateY(-2px)}.cabinet-btn--ghost{color:var(--primary-color,#4682b4);border-color:var(--primary-color,#4682b4);background:0 0}.cabinet-btn--ghost:hover{background:var(--accent-color);color:var(--secondary-color,#1e5a99);border-color:var(--secondary-color,#1e5a99);transform:translateY(-1px)}.cabinet-btn--danger{background:var(--error-color,#dc3545);color:#fff;border-color:var(--error-color,#dc3545)}.cabinet-btn--danger:hover{color:#fff;background:#b91c1c;border-color:#b91c1c;transform:translateY(-1px)}.cabinet-btn--sm{min-width:0;min-height:36px;padding:.4rem .85rem;font-size:.85rem}.cabinet-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.cabinet-actions--equal>.cabinet-btn{flex:1;justify-content:center;min-width:0}.cabinet-actions--compact-equal{grid-auto-columns:1fr;grid-auto-flow:column;gap:.75rem;width:fit-content;max-width:100%;display:grid}.booking-slot-actions-wrap{flex-direction:column;gap:.75rem;width:fit-content;max-width:100%;display:flex}.booking-slot-actions-wrap #booking-client-errors{width:100%;margin:0}.cabinet-tabs{border-bottom:2px solid #e2e8f0;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.cabinet-tabs a{color:var(--dark-gray);border-bottom:3px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-2px;padding:.5rem .9rem;font-weight:500;text-decoration:none}.cabinet-tabs a.is-active{color:var(--primary-color,#4682b4);border-bottom-color:var(--primary-color,#4682b4);font-weight:600}.cabinet-page{background:#f8fafc}.cabinet-main .booking-wizard{max-width:100%;padding:0}.cabinet-main .btn{letter-spacing:normal;border-radius:8px;gap:.35rem;min-width:0;padding:.45rem 1rem;font-size:.875rem}.cabinet-main .secondary-btn{border-width:1px}.cabinet-main .primary-btn:hover,.cabinet-main .secondary-btn:hover{transform:translateY(-1px)}.cabinet-main .primary-btn:active,.cabinet-main .secondary-btn:active{transform:translateY(0)}.cabinet-main{min-width:0}.cabinet-actions--desktop-only{display:flex}.patient-auth{max-width:560px;padding:2rem 1rem calc(2rem + var(--mobile-bottom-bar-height,64px));box-sizing:border-box;margin:0 auto}.patient-auth__title{color:#0f172a;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.patient-auth__lead{color:var(--dark-gray);margin:0 0 1.5rem;line-height:1.5}.patient-auth__field{margin-bottom:1.25rem}.patient-auth__label{color:#334155;margin-bottom:.4rem;font-weight:600;display:block}.patient-auth__hint{color:var(--dark-gray);margin:.35rem 0 0;font-size:.875rem}.patient-auth__error{color:var(--error-color,#dc3545);font-size:.875rem}.patient-auth__status{color:var(--secondary-color,#1e5a99);margin-bottom:1rem}.patient-auth__dev-otp{background:#fefce8;border:1px solid #ca8a04;border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.9rem}.patient-auth__actions{flex-direction:column;gap:.75rem;margin-top:.25rem;display:flex}.patient-auth__actions>.cabinet-btn{width:100%;min-width:0;max-width:100%}.patient-auth-page .cabinet-btn--ghost{white-space:normal;text-align:center;line-height:1.25}.patient-form .form-group{margin-bottom:1rem}.patient-form label{color:#334155;margin-bottom:.35rem;font-weight:600;display:block}.patient-input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.6rem .75rem;font-size:1rem}.patient-form fieldset{border:none;margin:0 0 1.25rem;padding:0}.patient-form legend{margin-bottom:.5rem;padding:0;font-weight:600}.patient-form .patient-auth__otp-input{letter-spacing:.25em;font-size:1.1rem}@media (width>=480px){.patient-auth__actions--row{flex-direction:row}.patient-auth__actions--row>.cabinet-btn{flex:1;width:auto}}@media (width<=1199px){.cabinet-layout{padding:1rem 1rem calc(1.5rem + var(--mobile-bottom-bar-height,64px));grid-template-columns:1fr;gap:1rem;max-width:100%;overflow-x:clip}.cabinet-nav{border-radius:10px;padding:.5rem .65rem;position:static;top:auto;box-shadow:0 1px 4px #4682b40f}.cabinet-nav__title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cabinet-nav__toolbar{flex-direction:row;align-items:center;gap:.5rem}.cabinet-nav ul{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;flex:1;gap:.5rem;min-width:0;padding-bottom:.15rem;overflow-x:auto}.cabinet-nav ul::-webkit-scrollbar{display:none}.cabinet-nav li{flex-shrink:0}.cabinet-nav__item--booking{display:none}.cabinet-nav a{white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.5rem .85rem;font-size:.88rem}.cabinet-nav a.is-active{border-color:rgba(var(--primary-color-rgb,70, 130, 180), .35);box-shadow:0 2px 8px rgba(var(--primary-color-rgb,70, 130, 180), .12)}.cabinet-nav-icon{display:none}.cabinet-nav__logout{border-top:none;flex-shrink:0;margin:0;padding:0}.cabinet-nav__logout-btn{border-radius:999px;width:40px;height:40px;min-height:40px;padding:0}.cabinet-nav__logout-btn i{font-size:.95rem;display:inline-block}.cabinet-nav__logout-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.patient-booking-page .booking-slot-col{margin-bottom:calc(var(--floating-chat-size,56px) + var(--floating-chat-gap,12px));padding-right:calc(var(--floating-chat-size,56px) * .25)}body.patient-booking-page #booking-calendar{margin-bottom:0}.cabinet-main{box-sizing:border-box;width:100%;max-width:100%;overflow-x:clip}.cabinet-main .booking-wizard,.cabinet-main .doctors-section,.cabinet-main .doctors-section .container{box-sizing:border-box;width:100%;max-width:100%}.cabinet-main h1{word-break:break-word;font-size:1.35rem}.cabinet-main .booking-wizard{min-width:0;padding:0}.form-grid-2{grid-template-columns:1fr}.cabinet-btn{min-width:0;max-width:100%}.cabinet-actions{flex-direction:column;align-items:stretch}.cabinet-actions .cabinet-btn{width:100%}.cabinet-actions--compact-equal{grid-auto-flow:row;width:100%}.cabinet-actions--desktop-only{display:none}.cabinet-appt-card__service,.cabinet-appt-card__doctor{overflow-wrap:anywhere}.cabinet-card{border-radius:12px;padding:1rem 1.1rem}.cabinet-appt-card{border-radius:12px;padding:.9rem 1rem}.cabinet-main .doctors-filters{flex-wrap:wrap}.cabinet-main .doctors-search-wrap{flex:100%;min-width:0;max-width:100%}.cabinet-main .booking-acc-header,.cabinet-main .category-service-row{min-width:0}.cabinet-main .category-service-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.appt-show-datetime{gap:1rem;padding:1.25rem}.appt-show-datetime-time{font-size:1.6rem}.appt-show-dl-row{flex-direction:column;gap:.2rem;padding:.85rem 1.25rem}.appt-show-dl-row dt{min-width:0}.appt-show-actions{flex-direction:column}.appt-show-btn{width:100%}}
