.agenda-calendar{--cal-accent:#4f46e5;--cal-accent-soft:#eef2ff;--cal-border:#cbd5e1;--cal-grid:#d1d5db;--cal-grid-soft:#e2e8f0;--cal-header-bg:#f1f5f9;--cal-header-today:#ede9fe;--cal-muted:#64748b;--cal-today:#f5f3ff;--cal-radius:1rem}.agenda-calendar .rbc-calendar{font-family:inherit;font-size:.8125rem}.agenda-calendar .cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--cal-grid-soft)}.agenda-calendar .cal-toolbar-nav{display:flex;align-items:center;gap:.375rem}.agenda-calendar .cal-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 .875rem;border-radius:.75rem;border:1px solid var(--cal-grid-soft);background:#fff;color:#374151;font-size:.8125rem;font-weight:500;transition:all .15s ease;cursor:pointer}.agenda-calendar .cal-toolbar-btn:hover{background:#f8fafc;border-color:var(--cal-grid)}.agenda-calendar .cal-toolbar-btn--primary{background:var(--cal-accent-soft);border-color:#c7d2fe;color:var(--cal-accent)}.agenda-calendar .cal-toolbar-label{font-size:1rem;font-weight:600;color:#111827;letter-spacing:-.01em}.agenda-calendar .cal-toolbar-views{display:flex;gap:.25rem;padding:.25rem;border-radius:.875rem;background:#f1f5f9}.agenda-calendar .cal-toolbar-view{height:2rem;padding:0 .875rem;border:none;border-radius:.625rem;background:transparent;color:var(--cal-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.agenda-calendar .cal-toolbar-view.is-active{background:#fff;color:var(--cal-accent);box-shadow:0 1px 3px rgba(0,0,0,.08)}.agenda-calendar .rbc-toolbar{display:none}.agenda-calendar .rbc-time-view{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:hidden;background:#fff}.agenda-calendar .rbc-time-header{background:var(--cal-header-bg);border-bottom:2px solid var(--cal-border)!important;overflow:visible!important}.agenda-calendar .rbc-time-header-gutter{background:var(--cal-header-bg)!important;border-right:1px solid var(--cal-border)!important;min-height:2.25rem!important}.agenda-calendar .rbc-time-header-content{border-left:1px solid var(--cal-border)!important;overflow:visible!important}.agenda-calendar .rbc-header,.agenda-calendar .rbc-time-header .rbc-row{min-height:2.25rem!important;overflow:visible!important}.agenda-calendar .rbc-header{padding:0!important;border-bottom:none!important;background:var(--cal-header-bg);height:auto!important;white-space:normal!important;text-overflow:unset!important;flex:1 1 auto!important}.agenda-calendar .rbc-header+.rbc-header{border-left:1px solid var(--cal-grid)!important}.agenda-calendar .cal-day-header{padding:.25rem .25rem .3125rem;background:var(--cal-header-bg);overflow:visible}.agenda-calendar .cal-day-header.is-today{background:var(--cal-header-today)}.agenda-calendar .cal-day-header-weekday{letter-spacing:.04em}.agenda-calendar .cal-day-header-date{min-width:1.875rem;min-height:1.875rem;padding:0 .25rem;font-size:.9375rem;line-height:1.2;overflow:visible}.agenda-calendar .cal-day-header.is-today .cal-day-header-weekday{color:var(--cal-accent)}.agenda-calendar .rbc-time-gutter{background:#f8fafc!important;border-right:1px solid var(--cal-border)!important}.agenda-calendar .rbc-label{font-size:.6875rem;font-weight:600;color:#64748b;padding-right:.625rem}.agenda-calendar .rbc-timeslot-group{border-bottom:none!important;min-height:1.5rem}.agenda-calendar .rbc-timeslot-group.cal-slot-group-start{border-bottom:1px solid var(--cal-grid)!important}.agenda-calendar .rbc-timeslot-group.cal-slot-group-mid .rbc-time-slot{border-top:none!important}.agenda-calendar .rbc-timeslot-group.cal-slot-group-break{border-bottom:none!important}.agenda-calendar .rbc-timeslot-group.cal-slot-group-break--start{border-top:1px dashed var(--cal-border)!important}.agenda-calendar .rbc-timeslot-group.cal-slot-group-break .rbc-time-slot,.agenda-calendar .rbc-timeslot-group.cal-slot-group-closed .rbc-time-slot{border-top:none!important}.agenda-calendar .cal-break-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.agenda-calendar .rbc-background-event{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 6px,#eef2f7 0,#eef2f7 12px)!important;border-top:1px dashed var(--cal-border)!important;border-bottom:1px dashed var(--cal-border)!important;border-radius:0!important;opacity:1!important;z-index:0!important;pointer-events:none}.agenda-calendar .rbc-background-event .rbc-event-content{display:flex;align-items:center;justify-content:center;height:100%;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.agenda-calendar .rbc-day-slot .cal-break-slot{background:transparent!important;pointer-events:none}.agenda-calendar .rbc-day-slot .cal-closed-slot{background:#f9fafb!important;opacity:.65;pointer-events:none}.agenda-calendar .rbc-time-gutter .cal-break-slot,.agenda-calendar .rbc-time-gutter .cal-closed-slot{background:#f8fafc!important}.agenda-calendar .rbc-time-content{border-top:2px solid var(--cal-border)!important}.agenda-calendar .rbc-time-content>*+*>*{border-left:1px solid var(--cal-grid)!important}.agenda-calendar .rbc-day-slot .rbc-time-slot{border-top:1px solid var(--cal-grid-soft)!important}.agenda-calendar .rbc-today{background:var(--cal-today)!important}.agenda-calendar .rbc-off-range-bg{background:#f8fafc}.agenda-calendar .rbc-current-time-indicator{background:var(--cal-accent);height:2px}.agenda-calendar .rbc-slot-selection{background:rgba(79,70,229,.12)!important;border:1px dashed var(--cal-accent)!important;border-radius:.75rem}.agenda-calendar .rbc-event{border:none!important;padding:2px 3px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.agenda-calendar .rbc-event-label{display:none}.agenda-calendar .rbc-event-content{height:100%;overflow:visible}.agenda-calendar .rbc-day-slot .rbc-events-container{margin-right:4px;z-index:2}.agenda-calendar .cal-event-card{display:flex;align-items:flex-start;height:100%;min-height:2.5rem;padding:.1875rem .4375rem .1875rem .5rem;border-radius:.75rem;border:1px solid transparent;border-left-width:3px;box-shadow:0 1px 2px rgba(0,0,0,.06);overflow:hidden;cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}.agenda-calendar .cal-event-card:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.1)}.agenda-calendar .cal-event-card.is-cancelled{opacity:.55}.agenda-calendar .cal-event-card.is-cancelled .cal-event-name,.agenda-calendar .cal-event-card.is-cancelled .cal-event-service{text-decoration:line-through}.agenda-calendar .cal-event-body{display:flex;flex-direction:column;gap:.0625rem;min-width:0;flex:1}.agenda-calendar .cal-event-name{font-size:.6875rem;font-weight:700;color:#0f172a}.agenda-calendar .cal-event-name,.agenda-calendar .cal-event-service{line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-calendar .cal-event-service{font-size:.625rem;font-weight:500;color:#475569}.agenda-calendar .cal-event-status{display:inline-flex;align-self:flex-start;margin-top:.125rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:.25rem;padding:.0625rem .375rem;font-size:.5625rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.3}.agenda-calendar .rbc-month-view{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:hidden}.agenda-calendar .rbc-month-row+.rbc-month-row{border-top:1px solid var(--cal-grid)}.agenda-calendar .rbc-date-cell{padding:.375rem .5rem;font-size:.75rem;font-weight:600;color:var(--cal-muted)}.agenda-calendar .rbc-date-cell.rbc-now{font-weight:700;color:var(--cal-accent)}@media (max-width:767px){.agenda-calendar .cal-toolbar{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem}.agenda-calendar .cal-toolbar-nav,.agenda-calendar .cal-toolbar-views{justify-content:center}.agenda-calendar .cal-toolbar-btn{height:2rem;padding:0 .625rem;font-size:.75rem}.agenda-calendar .cal-toolbar-view{height:1.75rem;padding:0 .625rem;font-size:.75rem}.agenda-calendar .cal-toolbar-label{text-align:center;font-size:.8125rem}.agenda-calendar .cal-day-header,.agenda-calendar .rbc-header,.agenda-calendar .rbc-time-header .rbc-row{min-height:3.75rem!important}.agenda-calendar .cal-day-header{padding:.375rem .125rem .5rem}.agenda-calendar .cal-day-header-date{min-width:1.625rem;min-height:1.625rem;font-size:.8125rem}.agenda-calendar .cal-day-header-weekday{font-size:.5625rem}.agenda-calendar .rbc-timeslot-group{min-height:2rem}.agenda-calendar .rbc-label{font-size:.625rem}}.agenda-calendar .cal-slot-grid{font-size:.8125rem;min-width:0;max-width:100%}.agenda-calendar .cal-slot-grid-scroll{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:auto;max-height:min(78vh,900px);max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (max-width:640px){.agenda-calendar .cal-slot-grid-scroll{max-height:calc(100dvh - 8.5rem)}.agenda-calendar .cal-appt-card{padding:.15rem .25rem;gap:.025rem}.agenda-calendar .cal-appt-name{font-size:.625rem;line-height:1.1}.agenda-calendar .cal-appt-service{font-size:.5rem;line-height:1.1}.agenda-calendar .cal-appt-status{margin-top:.025rem;padding:.025rem .25rem;font-size:.5rem;line-height:1.15}}.agenda-calendar .cal-slot-grid-inner{min-width:0}.agenda-calendar .cal-slot-grid-header{display:grid;position:sticky;top:0;z-index:20;background:var(--cal-header-bg);border-bottom:2px solid var(--cal-border)}.agenda-calendar .cal-slot-gutter-header{border-right:1px solid var(--cal-border)}.agenda-calendar .cal-slot-day-header{border-right:1px solid #d1d5db}.agenda-calendar .cal-slot-day-header.is-today{background:var(--cal-header-today)}.agenda-calendar .cal-slot-grid-body{display:grid}.agenda-calendar .cal-slot-gutter{border-right:1px solid var(--cal-border);background:#f8fafc}.agenda-calendar .cal-slot-gutter-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:.25rem .5rem 0 0;font-size:.6875rem;font-weight:600;color:var(--cal-muted);border-bottom:1px solid #d1d5db;box-sizing:border-box}.agenda-calendar .cal-slot-gutter-label.is-hour{border-bottom-color:#9ca3af;color:#475569}.agenda-calendar .cal-slot-day-col{position:relative;border-right:1px solid #d1d5db;background:#fff;overflow:visible}.agenda-calendar .cal-slot-day-col.is-today{background:rgba(238,242,255,.35)}.agenda-calendar .cal-slot-cell{border-bottom:1px solid #d1d5db;box-sizing:border-box}.agenda-calendar .cal-slot-cell.is-hour{border-bottom-color:#9ca3af}.agenda-calendar .cal-slot-cell.is-clickable{cursor:pointer;transition:background .12s ease}.agenda-calendar .cal-slot-cell.is-clickable:hover{background:rgba(238,242,255,.55)}.agenda-calendar .cal-slot-cell.is-drop-target{background:rgba(199,210,254,.45);outline:2px dashed var(--cal-accent);outline-offset:-2px}.agenda-calendar .cal-slot-cell.is-block-select-mode:hover{background:hsla(0,93%,94%,.55)}.agenda-calendar .cal-slot-cell.is-block-selected{background:hsla(0,96%,89%,.75);outline:2px solid #ef4444;outline-offset:-2px}.agenda-calendar .cal-slot-cell.is-block-selected:hover{background:hsla(0,94%,82%,.85)}.agenda-calendar .cal-slot-break{position:relative;background:repeating-linear-gradient(-45deg,#f9fafb,#f9fafb 5px,#f3f4f6 0,#f3f4f6 10px);border-top:1px dashed #e5e7eb;border-bottom:1px dashed #e5e7eb;box-sizing:border-box;pointer-events:none}.agenda-calendar .cal-slot-break-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#9ca3af}.agenda-calendar .cal-slot-blocks-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.agenda-calendar .cal-slot-manual-block{position:absolute;left:2px;right:2px;border:none;border-radius:4px;pointer-events:auto;cursor:pointer;background:repeating-linear-gradient(-45deg,#e5e7eb,#e5e7eb 5px,#d1d5db 0,#d1d5db 10px);box-sizing:border-box;opacity:.92}.agenda-calendar .cal-slot-manual-block:hover{opacity:1;outline:2px solid #6b7280;outline-offset:-1px}.agenda-calendar .cal-slot-manual-block-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2px 4px;font-size:.625rem;font-weight:600;color:#374151;text-align:center;line-height:1.2;overflow:hidden}.agenda-calendar .cal-slot-cell.is-closed{background:#f9fafb;opacity:.65;pointer-events:none}.agenda-calendar .cal-slot-appts-layer{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:3}.agenda-calendar .cal-slot-appt-wrap{position:absolute;left:2px;right:2px;pointer-events:auto;padding:0;box-sizing:border-box;overflow:hidden;z-index:1}.agenda-calendar .cal-slot-appt-wrap:focus-within,.agenda-calendar .cal-slot-appt-wrap:hover{z-index:6}.agenda-calendar .cal-appt-card{box-shadow:none;gap:.05rem;padding:.2rem .3rem;min-height:0;height:100%;justify-content:flex-start}.agenda-calendar .cal-appt-name{font-size:.6875rem;line-height:1.15;flex-shrink:0}.agenda-calendar .cal-appt-service{font-size:.5625rem;line-height:1.15;margin-top:0;flex-shrink:0}.agenda-calendar .cal-appt-status{margin-top:.05rem;padding:.05rem .3rem;font-size:.5rem;line-height:1.2;flex-shrink:0}.agenda-calendar .cal-appt-card:hover{box-shadow:0 1px 4px rgba(0,0,0,.08)}.agenda-calendar .cal-now-line{position:absolute;left:0;right:0;height:2px;background:#f87171;z-index:5;pointer-events:none}.agenda-calendar .cal-now-line:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:9999px;background:#ef4444}.agenda-calendar .cal-day-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.0625rem;width:100%;padding:.25rem;min-height:2.25rem;box-sizing:border-box;background:transparent}.agenda-calendar .cal-day-header.is-today .cal-day-header-date{background:var(--cal-accent);color:#fff}.agenda-calendar .cal-day-header-weekday{font-size:.6875rem;font-weight:600;text-transform:capitalize;color:var(--cal-muted)}.agenda-calendar .cal-day-header-date{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;min-height:1.75rem;border-radius:9999px;font-size:.875rem;font-weight:700;color:#1e293b}.agenda-calendar .cal-month-grid-scroll{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:auto}.agenda-calendar .cal-month-grid{display:flex;flex-direction:column;min-width:0}.agenda-calendar .cal-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--cal-header-bg);border-bottom:2px solid var(--cal-border)}.agenda-calendar .cal-month-weekday{padding:.625rem .25rem;text-align:center;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cal-muted)}.agenda-calendar .cal-month-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(6.5rem,1fr)}.agenda-calendar .cal-month-cell{display:flex;flex-direction:column;align-items:stretch;gap:.25rem;min-height:6.5rem;padding:.375rem;border-right:1px solid var(--cal-grid-soft);border-bottom:1px solid var(--cal-grid-soft);background:#fff;text-align:left;cursor:pointer;transition:background .12s ease}.agenda-calendar .cal-month-cell.is-outside,.agenda-calendar .cal-month-cell:hover{background:#f8fafc}.agenda-calendar .cal-month-cell.is-outside .cal-month-cell-date{color:#94a3b8}.agenda-calendar .cal-month-cell.is-today{background:rgba(238,242,255,.4)}.agenda-calendar .cal-month-cell-date{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;min-width:1.625rem;min-height:1.625rem;padding:0 .25rem;border-radius:9999px;font-size:.8125rem;font-weight:700;color:#1e293b}.agenda-calendar .cal-month-cell.is-today .cal-month-cell-date{background:var(--cal-accent);color:#fff}.agenda-calendar .cal-month-cell-events{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.agenda-calendar .cal-month-event{display:flex;align-items:center;gap:.25rem;min-width:0;padding:.125rem .25rem;border-radius:.375rem;background:#f1f5f9;font-size:.6875rem;line-height:1.2;cursor:pointer;transition:background .12s ease}.agenda-calendar .cal-month-event:hover{background:#e2e8f0}.agenda-calendar .cal-month-event-dot{flex-shrink:0;width:.375rem;height:.375rem;border-radius:9999px}.agenda-calendar .cal-month-event-time{flex-shrink:0;font-weight:600;color:#475569}.agenda-calendar .cal-month-event-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#1e293b}.agenda-calendar .cal-month-more{padding:.125rem .25rem;font-size:.625rem;font-weight:600;color:var(--cal-muted)}@media (max-width:767px){.agenda-calendar .cal-month-cells{grid-auto-rows:minmax(5rem,1fr)}.agenda-calendar .cal-month-cell{min-height:5rem;padding:.25rem}.agenda-calendar .cal-month-event-time{display:none}.agenda-calendar .cal-month-event{font-size:.625rem}}