.booking-calendar{--booking-line:var(--erp-registry-border,#e2e8f0);--booking-ink:var(--erp-registry-text,#0f172a);--booking-muted:var(--erp-registry-muted,#64748b);--booking-surface:var(--erp-registry-surface,#fff);--booking-soft:#f8fafc;--booking-blue:#0466d4;color:var(--booking-ink);background:var(--booking-surface);min-width:0}.dark .booking-calendar{--booking-soft:#202020}.booking-calendar-title h2{letter-spacing:-.025em;margin:0;font-size:clamp(18px,2.5vw,22px);font-weight:750;line-height:1.3}.booking-calendar-navigation{flex-wrap:wrap}.booking-calendar-month-picker{border:1px solid var(--booking-ink);background:var(--booking-surface);width:165px;min-width:0;height:44px;color:var(--booking-ink);border-color:var(--booking-line);border-radius:8px;padding-inline:10px;font-size:12px;font-weight:600}.booking-calendar button{cursor:pointer}.booking-calendar button:focus-visible{outline:3px solid var(--booking-blue);outline-offset:-3px}.booking-calendar-month{border:1px solid var(--booking-ink);border-color:var(--booking-line);border-radius:14px;overflow:hidden}.booking-calendar-weekdays,.booking-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.booking-calendar-weekdays{background:var(--booking-soft);border-bottom:1px solid var(--booking-ink);border-color:var(--booking-line)}.booking-calendar-weekdays>span{text-align:center;color:var(--booking-muted);padding:12px 4px;padding-block:14px;font-size:12px;font-weight:700}.booking-calendar-weekdays>[data-weekend=true]{color:var(--booking-muted)}.booking-calendar-day{border:0;border-inline-end:1px solid var(--booking-line);border-bottom:1px solid var(--booking-line);min-width:0;color:var(--booking-ink);background:var(--booking-surface);text-align:start;flex-direction:column;align-items:stretch;height:88px;min-height:0;padding:5px;display:flex;position:relative}.booking-calendar-day:nth-child(7n){border-inline-end:0}.booking-calendar-day:nth-last-child(-n+7){border-bottom:0}.booking-calendar-day[data-outside=true]{background:var(--booking-soft)}.booking-calendar-day[data-outside=true] .booking-calendar-date{color:var(--booking-muted)}.booking-calendar-day:hover{box-shadow:inset 0 0 0 2px var(--booking-blue)}.booking-calendar-day[data-selected=true]{outline:2px solid var(--booking-blue);outline-offset:-2px;z-index:1;background:#eff6ff}.dark .booking-calendar-day[data-selected=true]{background:#172d46}.booking-calendar-date{pointer-events:none;justify-content:space-between;align-items:center;gap:4px;width:100%;margin-bottom:3px;display:flex;position:relative}.booking-calendar-date>span{border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:inline-flex}.booking-calendar-date>small{color:var(--booking-muted);font-size:11px;font-weight:700}.booking-calendar-day[data-today=true] .booking-calendar-date>span{box-shadow:inset 0 0 0 1px var(--booking-blue);color:var(--booking-blue)}.booking-calendar-day[data-selected=true] .booking-calendar-date>span{background:var(--booking-blue);color:#fff}.booking-calendar [data-booking-status]{--booking-status:#b45309;--booking-tint:#fffbeb}.booking-calendar [data-booking-status=confirmed]{--booking-status:#047857;--booking-tint:#ecfdf5}.booking-calendar [data-booking-status=completed]{--booking-status:#1d4ed8;--booking-tint:#eff6ff}.booking-calendar [data-booking-status=cancelled]{--booking-status:#be123c;--booking-tint:#fff1f2}.dark .booking-calendar [data-booking-status]{--booking-status:#fbbf24;--booking-tint:#302818}.dark .booking-calendar [data-booking-status=confirmed]{--booking-status:#6ee7b7;--booking-tint:#142b23}.dark .booking-calendar [data-booking-status=completed]{--booking-status:#93c5fd;--booking-tint:#1b263a}.dark .booking-calendar [data-booking-status=cancelled]{--booking-status:#fda4af;--booking-tint:#331d24}.booking-calendar i{background:var(--booking-status);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.booking-calendar-events{scrollbar-width:thin;pointer-events:none;flex-direction:column;gap:5px;min-height:0;display:flex;position:relative;overflow-y:auto}.booking-calendar-events>button{border:0;border-inline-start:2px solid var(--booking-status);text-align:start;min-width:0;min-height:28px;color:var(--booking-status);background:var(--booking-tint);pointer-events:auto;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:5px 6px;font-size:11px;line-height:1.4;display:flex}.booking-calendar-events time{flex-shrink:0;font-size:10px;font-weight:650}.booking-calendar-events>button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:4px 0 16px;display:flex}.booking-calendar-title{text-align:center;min-width:170px}.booking-calendar-title p{color:var(--booking-muted);margin:6px 0 0;font-size:12px}.booking-calendar-navigation,.booking-calendar-arrows{align-items:center;gap:8px;min-width:0;display:flex}.booking-calendar-navigation button,.booking-calendar-arrows button{min-width:44px;height:44px;color:var(--booking-ink);background:var(--booking-surface);border:1px solid var(--booking-line);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding-inline:12px;font-size:12px;font-weight:650;display:inline-flex}.booking-calendar-arrows{gap:12px}.booking-calendar-arrows button{background:var(--booking-soft);padding:0}.booking-calendar-navigation button:hover,.booking-calendar-arrows button:hover{background:var(--booking-line)}.booking-calendar-month-picker:focus-visible{outline:2px solid var(--booking-blue);outline-offset:-2px}.dark .booking-calendar-month-picker{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.booking-calendar-select-date{background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.booking-calendar-select-date:hover{background:color-mix(in srgb, var(--booking-blue) 4%, transparent)}.booking-calendar-events>button:hover{filter:brightness(.95)}@media (max-width:767px){.booking-calendar-header{align-items:stretch;gap:16px}.booking-calendar-navigation{width:100%}.booking-calendar-arrows{justify-content:space-between;gap:8px;width:100%}.booking-calendar-month-picker{flex:1;width:0;padding-inline:4px}.booking-calendar-title{min-width:0}.booking-calendar-day{height:72px;min-height:0;padding:3px}.booking-calendar-date>span{width:25px;height:25px;font-size:12px}.booking-calendar-events{display:flex}.booking-calendar-weekdays>span{padding-block:10px;font-size:10px}.booking-calendar-arrows button{padding-inline:0}.booking-calendar-date{gap:0}.booking-calendar-date>small{font-size:9px}.booking-calendar-events>button{justify-content:center;padding:5px 1px}.booking-calendar-events>button>span,.booking-calendar-events i{display:none}.booking-calendar-events time{font-size:9px}}
