.cwb-booking-app{
  --cwb-primary:#0f766e;--cwb-accent:#14b8a6;--cwb-radius:18px;
  --cwb-text:#102a2a;--cwb-muted:#667b7a;--cwb-line:#dfe8e7;--cwb-soft:#f4f8f7;--cwb-white:#fff;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--cwb-text);line-height:1.45;max-width:940px;width:100%;min-width:0;margin:32px auto;position:relative
}
.cwb-booking-app *{box-sizing:border-box}
.cwb-shell,.cwb-main,.cwb-panel,.cwb-calendar-panel{min-width:0;max-width:100%}.cwb-booking-app button,.cwb-booking-app input,.cwb-booking-app textarea{font:inherit}
.cwb-shell{background:linear-gradient(180deg,#fff 0,#fbfdfd 100%);border:1px solid var(--cwb-line);border-radius:calc(var(--cwb-radius) + 8px);box-shadow:0 28px 70px rgba(15,54,51,.10);overflow:hidden}
.cwb-header{display:flex;gap:20px;align-items:flex-start;padding:34px 38px 26px;background:radial-gradient(circle at 85% 0,rgba(20,184,166,.13),transparent 34%),#fff}
.cwb-header-icon{width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:var(--cwb-primary);display:grid;place-items:center;color:#fff;box-shadow:0 12px 30px color-mix(in srgb,var(--cwb-primary) 28%,transparent)}
.cwb-header-icon svg{width:32px;height:32px}.cwb-eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--cwb-primary);margin-bottom:6px}
.cwb-header h2,.cwb-panel h3,.cwb-success-panel h3{margin:0;color:var(--cwb-text);letter-spacing:-.025em}.cwb-header h2{font-size:clamp(28px,4vw,40px);line-height:1.1}.cwb-header p{margin:9px 0 0;color:var(--cwb-muted);font-size:16px}
.cwb-progress{display:grid;grid-template-columns:repeat(3,1fr);padding:0 38px 24px;background:#fff;gap:8px}
.cwb-progress>div{position:relative;display:flex;align-items:center;gap:9px;color:#8a9a99;font-size:13px;font-weight:700;padding-top:15px;border-top:2px solid #e7eeee}.cwb-progress span{width:24px;height:24px;border-radius:50%;background:#eef3f2;display:grid;place-items:center;font-size:12px}.cwb-progress .is-active{color:var(--cwb-primary);border-color:var(--cwb-primary)}.cwb-progress .is-active span{background:var(--cwb-primary);color:#fff}.cwb-progress .is-done{color:var(--cwb-primary);border-color:color-mix(in srgb,var(--cwb-primary) 45%,#fff)}.cwb-progress .is-done span{background:#dff5f1;color:var(--cwb-primary)}
.cwb-main{padding:30px 38px 38px;background:var(--cwb-soft)}.cwb-panel{background:#fff;border:1px solid var(--cwb-line);border-radius:var(--cwb-radius);padding:28px;box-shadow:0 8px 24px rgba(31,65,63,.045);animation:cwbIn .24s ease both}.cwb-panel[hidden]{display:none!important}@keyframes cwbIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.cwb-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.cwb-panel-heading h3{font-size:24px}.cwb-panel-heading p{margin:5px 0 0;color:var(--cwb-muted)}.cwb-step-label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--cwb-primary);margin-bottom:5px}.cwb-text-btn{border:0;background:transparent;color:var(--cwb-primary);padding:7px 0;cursor:pointer;font-weight:750;font-size:13px}
.cwb-calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:16px}.cwb-calendar-toolbar strong{text-align:center;font-size:17px}.cwb-icon-btn{width:42px;height:42px;border-radius:13px;border:1px solid var(--cwb-line);background:#fff;color:var(--cwb-text);font-size:28px;line-height:1;cursor:pointer;transition:.18s}.cwb-icon-btn:hover:not(:disabled){border-color:var(--cwb-primary);color:var(--cwb-primary);transform:translateY(-1px)}.cwb-icon-btn:disabled{opacity:.35;cursor:not-allowed}
.cwb-weekdays,.cwb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;max-width:100%;min-width:0}.cwb-weekdays{margin-bottom:7px}.cwb-weekdays span{min-width:0;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8b9b9a;font-weight:800;padding:4px}.cwb-day{aspect-ratio:1/1;width:100%;max-width:100%;min-width:0;min-inline-size:0!important;padding:0!important;margin:0;min-height:58px;border:1px solid transparent;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;color:var(--cwb-text);font-weight:750;cursor:pointer;transition:.16s}.cwb-day span{position:relative;z-index:1}.cwb-day i{position:absolute;bottom:8px;width:5px;height:5px;border-radius:50%;background:var(--cwb-accent)}.cwb-day.is-open{border-color:#d6e8e5;background:#fbfefe}.cwb-day.is-open:hover{border-color:var(--cwb-primary);background:#f0faf8;transform:translateY(-1px)}.cwb-day.is-selected{background:var(--cwb-primary);border-color:var(--cwb-primary);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--cwb-primary) 24%,transparent)}.cwb-day.is-selected i{background:#fff}.cwb-day.is-disabled{background:#f6f8f8;color:#b2bdbc;cursor:not-allowed}.cwb-day.is-today:not(.is-selected)::after{content:"";position:absolute;inset:5px;border:1px dashed color-mix(in srgb,var(--cwb-primary) 45%,transparent);border-radius:11px}.cwb-day-empty{visibility:hidden}
.cwb-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;color:var(--cwb-muted);font-size:12px}.cwb-calendar-legend span{display:flex;align-items:center;gap:7px}.cwb-calendar-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.cwb-calendar-legend .is-available{background:#dff5f1;border:1px solid #9edbd2}.cwb-calendar-legend .is-selected{background:var(--cwb-primary)}.cwb-calendar-legend .is-unavailable{background:#edf1f1}
.cwb-slots{display:grid;gap:12px}.cwb-slot{width:100%;border:1px solid var(--cwb-line);border-radius:16px;background:#fff;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;transition:.18s}.cwb-slot.is-available{cursor:pointer}.cwb-slot.is-available:hover{border-color:var(--cwb-primary);box-shadow:0 8px 22px rgba(15,118,110,.08);transform:translateY(-1px)}.cwb-slot.is-unavailable{background:#f7f9f9;color:#9aa8a7;cursor:not-allowed}.cwb-slot-time{display:flex;flex-direction:column;gap:3px}.cwb-slot-time b{font-size:18px;letter-spacing:-.01em}.cwb-slot-time small{font-size:12px;color:var(--cwb-muted)}.cwb-slot-status{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--cwb-primary)}.cwb-slot-status i{font-style:normal;width:22px;height:22px;border-radius:50%;background:#dff5f1;display:grid;place-items:center}.cwb-slot.is-unavailable .cwb-slot-status{color:#9aa8a7}
.cwb-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cwb-field{display:block;margin-bottom:16px}.cwb-field>span{display:block;font-size:13px;font-weight:750;margin-bottom:7px;color:#304846}.cwb-field em{font-style:normal;color:#d14d4d}.cwb-field small{font-weight:500;color:var(--cwb-muted)}.cwb-field input,.cwb-field textarea{width:100%;border:1px solid #d8e3e2;background:#fff;border-radius:13px;padding:13px 14px;color:var(--cwb-text);outline:none;transition:.16s}.cwb-field input:focus,.cwb-field textarea:focus{border-color:var(--cwb-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--cwb-primary) 10%,transparent)}.cwb-field textarea{resize:vertical;min-height:104px}
