[data-opt-calendar]{--opt-cal-surface:var(--opt-surface,#fff);--opt-cal-surface-muted:var(--opt-surface-raised,#f9fafb);--opt-cal-surface-soft:color-mix(in srgb, var(--opt-cal-surface-muted) 72%, var(--opt-cal-surface));--opt-cal-border:var(--opt-border,#e5e7eb);--opt-cal-border-soft:color-mix(in srgb, var(--opt-cal-border) 64%, transparent);--opt-cal-border-strong:color-mix(in srgb, var(--opt-cal-text) 14%, var(--opt-cal-border));--opt-cal-text:var(--opt-text,#111827);--opt-cal-text-muted:var(--opt-text-secondary,#6b7280);--opt-cal-text-subtle:color-mix(in srgb, var(--opt-cal-text-muted) 70%, var(--opt-cal-surface));--opt-cal-accent:var(--opt-accent,#2563eb);--opt-cal-accent-fg:var(--opt-accent-fg,#fff);--opt-cal-accent-subtle:var(--opt-accent-subtle,color-mix(in srgb, var(--opt-cal-accent) 9%, var(--opt-cal-surface)));--opt-cal-danger:var(--opt-danger-fg,#dc2626);--opt-cal-warning:var(--opt-warning-fg,#f59e0b);--opt-cal-radius:var(--opt-radius,.5rem);--opt-cal-radius-sm:calc(var(--opt-cal-radius) - .125rem);--opt-cal-radius-lg:calc(var(--opt-cal-radius) + .25rem);--opt-cal-control-height:2.125rem;--opt-cal-shadow-popover:0 18px 44px -18px #0f172a47, 0 8px 18px -14px #0f172a38;--opt-cal-shadow-event:0 1px 2px #0f172a0f;--opt-cal-shadow-hover:0 10px 24px -18px #0f172a57, 0 4px 10px -8px #0f172a33;--opt-cal-hover-ring:color-mix(in srgb, var(--opt-cal-accent) 32%, transparent);box-sizing:border-box;color:var(--opt-cal-text);background:var(--opt-cal-surface);font-variant-numeric:tabular-nums}[data-opt-calendar] button,[data-opt-calendar] input,[data-opt-calendar] select,[data-opt-calendar] textarea{transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s,opacity .12s,transform .12s}@media (prefers-reduced-motion:reduce){[data-opt-calendar] *{transition:none!important}}[data-opt-calendar] *,[data-opt-calendar] :before,[data-opt-calendar] :after{box-sizing:border-box}.opt-cal-root{flex-direction:column;gap:1rem;min-width:0;display:flex;container-type:inline-size}.opt-cal-toolbar{border-bottom:1px solid var(--opt-cal-border-soft);flex-wrap:wrap;align-items:center;gap:.625rem .875rem;min-width:0;padding-block-end:.875rem;display:flex}.opt-cal-toolbar-nav{background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius-lg);align-items:center;gap:.375rem;min-width:0;padding:.125rem;display:flex}.opt-cal-toolbar-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:9rem;margin:0;font-size:1rem;font-weight:700;line-height:1.2;overflow:hidden}.opt-cal-toolbar-actions{margin-inline-start:auto}.opt-cal-btn{white-space:nowrap;min-height:var(--opt-cal-control-height);font:inherit;color:var(--opt-cal-text);background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:.375rem;padding:.35rem .75rem;font-size:.875rem;font-weight:550;line-height:1;display:inline-flex}.opt-cal-btn:hover:not(:disabled){background:var(--opt-cal-surface-muted);border-color:color-mix(in srgb, var(--opt-cal-text) 18%, var(--opt-cal-border));box-shadow:var(--opt-cal-shadow-hover);transform:translateY(-1px)}.opt-cal-btn-primary{color:var(--opt-cal-accent-fg);background:var(--opt-cal-accent);border-color:var(--opt-cal-accent)}.opt-cal-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--opt-cal-accent) 88%, var(--opt-cal-text));border-color:color-mix(in srgb, var(--opt-cal-accent) 88%, var(--opt-cal-text))}.opt-cal-btn-danger{color:var(--opt-cal-danger);border-color:color-mix(in srgb, var(--opt-cal-danger) 42%, transparent);background:color-mix(in srgb, var(--opt-cal-danger) 5%, transparent)}.opt-cal-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--opt-cal-danger) 10%, transparent);border-color:color-mix(in srgb, var(--opt-cal-danger) 48%, transparent)}[data-opt-calendar] button:disabled,[data-opt-calendar] input:disabled,[data-opt-calendar] select:disabled,[data-opt-calendar] textarea:disabled{cursor:not-allowed;opacity:.58}.opt-cal-nav-btn{width:var(--opt-cal-control-height);height:var(--opt-cal-control-height);color:var(--opt-cal-text);border-radius:var(--opt-cal-radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.opt-cal-nav-btn:hover:not(:disabled){background:var(--opt-cal-surface);border-color:var(--opt-cal-border-soft);box-shadow:var(--opt-cal-shadow-hover);transform:translateY(-1px)}.opt-cal-btn:active,.opt-cal-nav-btn:active{background:color-mix(in srgb, var(--opt-cal-text) 8%, var(--opt-cal-surface));transform:translateY(0)}[data-opt-calendar] :focus-visible{outline:2px solid var(--opt-cal-accent);outline-offset:2px}[data-opt-calendar] .opt-cal-input:focus-visible,[data-opt-calendar] .opt-cal-booking-time:focus-visible,[data-opt-calendar] .opt-cal-viewswitch-btn:focus-visible{border-color:var(--opt-cal-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--opt-cal-accent) 22%, transparent);outline:none}.opt-cal-month{background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-lg);flex-direction:column;display:flex;overflow:hidden}.opt-cal-weekhead,.opt-cal-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.opt-cal-weekhead-cell{text-transform:uppercase;letter-spacing:.06em;color:var(--opt-cal-text-muted);text-align:center;background:var(--opt-cal-surface-soft);border-bottom:1px solid var(--opt-cal-border-soft);padding:.55rem .45rem;font-size:.68rem;font-weight:600}.opt-cal-cell{background:var(--opt-cal-surface);border-right:1px solid var(--opt-cal-border-soft);border-bottom:1px solid var(--opt-cal-border-soft);isolation:isolate;flex-direction:column;gap:.25rem;min-height:6.75rem;padding:.4rem;transition:background-color .14s,box-shadow .14s;display:flex;position:relative}.opt-cal-cell:before{content:"";z-index:0;pointer-events:none;border-radius:var(--opt-cal-radius);opacity:0;background:color-mix(in srgb, var(--opt-cal-accent) 5%, var(--opt-cal-surface));box-shadow:inset 0 0 0 1px var(--opt-cal-hover-ring);transition:opacity .14s,box-shadow .14s;position:absolute;inset:2px}.opt-cal-cell>*{z-index:1;position:relative}@media (hover:hover) and (pointer:fine){.opt-cal-cell:not(.opt-cal-cell--outside):hover{background:color-mix(in srgb, var(--opt-cal-accent-subtle) 46%, var(--opt-cal-surface))}.opt-cal-cell:not(.opt-cal-cell--outside):hover:before{opacity:1}}.opt-cal-cell--today{background:color-mix(in srgb, var(--opt-cal-accent-subtle) 68%, var(--opt-cal-surface))}.opt-cal-week>.opt-cal-cell:last-child{border-right:none}.opt-cal-cell--outside{background:var(--opt-cal-surface-soft);color:var(--opt-cal-text-subtle)}.opt-cal-cell--today .opt-cal-daynum{color:var(--opt-cal-accent-fg);background:var(--opt-cal-accent)}.opt-cal-cell-head{justify-content:flex-end;min-height:1.625rem;display:flex}.opt-cal-daynum{min-width:1.6rem;height:1.6rem;font:inherit;color:inherit;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.8rem;transition:background-color .12s,color .12s,box-shadow .12s,transform .12s;display:inline-flex}button.opt-cal-daynum{cursor:pointer}button.opt-cal-daynum:hover{color:var(--opt-cal-accent);background:var(--opt-cal-accent-subtle);box-shadow:inset 0 0 0 1px var(--opt-cal-hover-ring);transform:translateY(-1px)}.opt-cal-cell--today button.opt-cal-daynum:hover{color:var(--opt-cal-accent-fg);background:color-mix(in srgb, var(--opt-cal-accent) 88%, var(--opt-cal-text))}.opt-cal-cell-events{flex-direction:column;gap:.1875rem;min-width:0;display:flex}.opt-cal-chip{width:100%;min-height:1.45rem;font:inherit;text-align:start;color:var(--opt-cal-text);background:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 8%, var(--opt-cal-surface));border:1px solid color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 20%, transparent);border-inline-start:3px solid var(--opt-cal-event-color,var(--opt-cal-accent));border-radius:var(--opt-cal-radius-sm);cursor:pointer;box-shadow:var(--opt-cal-shadow-event);align-items:center;padding:.16rem .45rem .18rem .5rem;font-size:.74rem;line-height:1.35;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .14s;display:flex}.opt-cal-chip:hover:not(:disabled){background:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 16%, var(--opt-cal-surface));border-color:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 34%, transparent);box-shadow:var(--opt-cal-shadow-hover);transform:translateY(-1px)}.opt-cal-chip:active:not(:disabled){transform:translateY(0)}.opt-cal-chip-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.opt-cal-more{color:var(--opt-cal-text-muted);background:var(--opt-cal-surface-soft);border-radius:var(--opt-cal-radius-sm);text-align:start;cursor:pointer;border:1px solid #0000;padding:.12rem .4rem;font-size:.7rem;font-weight:600}.opt-cal-more:hover{color:var(--opt-cal-text);background:var(--opt-cal-surface-muted);border-color:var(--opt-cal-border-soft);box-shadow:var(--opt-cal-shadow-hover)}.opt-cal-overflow{min-width:12rem;max-width:18rem}.opt-cal-overflow-date{color:var(--opt-cal-text-muted);margin-bottom:.4rem;font-size:.75rem;font-weight:600}.opt-cal-overflow-list{flex-direction:column;gap:.15rem;max-height:16rem;display:flex;overflow-y:auto}.opt-cal-popover{z-index:1000;min-width:min(22rem,100vw - 2rem);max-width:min(26rem,100vw - 2rem);max-height:min(42rem,100vh - 2rem);color:var(--opt-cal-text);background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border);border-radius:var(--opt-cal-radius-lg);box-shadow:var(--opt-cal-shadow-popover);padding:.875rem;overflow-y:auto}.opt-cal-popover-head{border-bottom:1px solid var(--opt-cal-border-soft);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.7rem;display:flex}.opt-cal-popover-title{margin:0;font-size:.95rem;font-weight:700;line-height:1.2}.opt-cal-form{flex-direction:column;gap:.75rem;display:flex}.opt-cal-fieldset{border:none;flex-direction:column;gap:.75rem;min-width:0;margin:0;padding:0;display:flex}.opt-cal-form-section{border-bottom:1px solid var(--opt-cal-border-soft);flex-direction:column;gap:.45rem;min-width:0;padding-bottom:.75rem;display:flex}.opt-cal-form-section-primary{gap:.55rem}.opt-cal-form-section:last-child{border-bottom:none;padding-bottom:0}.opt-cal-label{text-transform:uppercase;letter-spacing:.05em;color:var(--opt-cal-text-muted);font-size:.68rem;font-weight:600}.opt-cal-input{width:100%;min-height:var(--opt-cal-control-height);font:inherit;color:var(--opt-cal-text);background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-sm);padding:.42rem .6rem;font-size:.85rem}.opt-cal-input:hover{border-color:color-mix(in srgb, var(--opt-cal-text) 25%, var(--opt-cal-border))}.opt-cal-title-input{font-weight:600}.opt-cal-form-row{flex-wrap:wrap;gap:.4rem;display:flex}.opt-cal-form-row .opt-cal-input{flex:auto;min-width:8rem}.opt-cal-check{width:fit-content;min-height:1.8rem;color:var(--opt-cal-text);background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius-sm);cursor:pointer;align-items:center;gap:.45rem;padding:.2rem .45rem .2rem .35rem;font-size:.8rem;font-weight:550;display:inline-flex}.opt-cal-textarea{resize:vertical;min-height:4rem;font-family:inherit;line-height:1.4}.opt-cal-attendees{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.opt-cal-attendee{background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius-sm);align-items:center;gap:.45rem;min-height:1.85rem;padding:.2rem .2rem .2rem .55rem;font-size:.8rem;display:flex}.opt-cal-attendee-email{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.opt-cal-rrule-builder{background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius);flex-direction:column;gap:.5rem;padding:.65rem;display:flex}.opt-cal-rrule-builder .opt-cal-form-row{align-items:center}.opt-cal-rrule-int{max-width:4.5rem}.opt-cal-rrule-days{flex-wrap:wrap;gap:.25rem;display:flex}.opt-cal-rrule-day{width:1.9rem;height:1.9rem;font:inherit;color:var(--opt-cal-text);background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);cursor:pointer;border-radius:999px;font-size:.7rem;font-weight:650}.opt-cal-rrule-day--on{color:var(--opt-cal-accent-fg);background:var(--opt-cal-accent);border-color:var(--opt-cal-accent)}.opt-cal-rrule-preview{color:var(--opt-cal-text-muted);background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius-sm);word-break:break-all;padding:.45rem .55rem;font-size:.65rem;display:block}.opt-cal-form-actions{border-top:1px solid var(--opt-cal-border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.opt-cal-form-spacer{flex:auto}.opt-cal-form-danger{background:color-mix(in srgb, var(--opt-cal-danger) 5%, transparent);border:1px solid color-mix(in srgb, var(--opt-cal-danger) 24%, transparent);border-radius:var(--opt-cal-radius);flex-direction:column;gap:.45rem;padding:.65rem;display:flex}.opt-cal-toolbar-right{flex-wrap:wrap;flex:0 auto;align-items:center;gap:.5rem;min-width:0;margin-inline-start:auto;display:flex}.opt-cal-viewswitch{background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius);gap:.125rem;min-width:0;padding:.125rem;display:inline-flex}.opt-cal-viewswitch-btn{min-height:calc(var(--opt-cal-control-height) - .25rem);white-space:nowrap;font:inherit;color:var(--opt-cal-text);border-radius:calc(var(--opt-cal-radius-sm) - .0625rem);cursor:pointer;background:0 0;border:1px solid #0000;padding:.28rem .6rem;font-size:.8rem;font-weight:600}.opt-cal-viewswitch-btn:hover{background:var(--opt-cal-surface);border-color:var(--opt-cal-border-soft)}.opt-cal-viewswitch-btn--active,.opt-cal-viewswitch-btn--active:hover{color:var(--opt-cal-accent-fg);background:var(--opt-cal-accent);border-color:var(--opt-cal-accent);box-shadow:0 1px 2px #0f172a14}.opt-cal-timegrid{background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-lg);flex-direction:column;display:flex;overflow:hidden}.opt-cal-tg-head,.opt-cal-tg-allday{display:flex}.opt-cal-tg-corner,.opt-cal-tg-allday-label{width:3.25rem;color:var(--opt-cal-text-muted);background:var(--opt-cal-surface-soft);flex:0 0 3.25rem;padding:.35rem .4rem;font-size:.7rem}.opt-cal-tg-dayhead{text-align:center;background:var(--opt-cal-surface-soft);border-inline-start:1px solid var(--opt-cal-border-soft);border-bottom:1px solid var(--opt-cal-border-soft);flex:1 1 0;min-width:0;padding:.5rem .4rem;font-size:.8rem;font-weight:600;transition:background-color .14s,color .14s}@media (hover:hover) and (pointer:fine){.opt-cal-tg-dayhead:hover{color:var(--opt-cal-text);background:color-mix(in srgb, var(--opt-cal-accent-subtle) 52%, var(--opt-cal-surface-soft))}}.opt-cal-tg-dayhead--today{color:var(--opt-cal-accent);font-weight:700}.opt-cal-tg-allday-main{border-bottom:1px solid var(--opt-cal-border-soft);flex-direction:column;flex:auto;min-width:0;display:flex}.opt-cal-tg-allday-main .opt-cal-span-lane{padding:1px 0;display:grid}.opt-cal-tg-allday-cells{flex:auto;grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.opt-cal-tg-allday-cell{border-inline-start:1px solid var(--opt-cal-border-soft);flex-direction:column;gap:.15rem;min-width:0;min-height:1.4rem;padding:.2rem;transition:background-color .14s;display:flex}@media (hover:hover) and (pointer:fine){.opt-cal-tg-allday-cell:hover{background:color-mix(in srgb, var(--opt-cal-accent) 5%, var(--opt-cal-surface))}}.opt-cal-tg-body{position:relative;overflow:hidden}.opt-cal-tg-body--scroll{overflow-y:auto}.opt-cal-tg-canvas{display:flex;position:relative}.opt-cal-tg-gutter{background:var(--opt-cal-surface-soft);flex:0 0 3.25rem;width:3.25rem;position:relative}.opt-cal-tg-hour-label{color:var(--opt-cal-text-muted);font-size:.7rem;position:absolute;inset-inline-end:.35rem;transform:translateY(-.5em)}.opt-cal-tg-col{border-inline-start:1px solid var(--opt-cal-border-soft);flex:1 1 0;transition:background-color .14s;position:relative}@media (hover:hover) and (pointer:fine){.opt-cal-tg-col:hover{background:color-mix(in srgb, var(--opt-cal-accent) 4%, var(--opt-cal-surface))}}.opt-cal-tg-hourline{border-top:1px solid color-mix(in srgb, var(--opt-cal-border) 72%, transparent);position:absolute;inset-inline:0}.opt-cal-now{border-top:2px solid var(--opt-cal-accent);z-index:2;position:absolute;inset-inline:0}.opt-cal-now:before{content:"";inset-inline-start:-3px;background:var(--opt-cal-accent);border-radius:999px;width:8px;height:8px;position:absolute;top:-5px}.opt-cal-tg-event{background:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 10%, var(--opt-cal-surface));border:1px solid color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 45%, transparent);border-inline-start:3px solid var(--opt-cal-event-color,var(--opt-cal-accent));border-radius:var(--opt-cal-radius-sm);box-shadow:var(--opt-cal-shadow-event);z-index:1;flex-direction:column;transition:background-color .12s,border-color .12s,box-shadow .12s,opacity .12s,transform .12s;display:flex;position:absolute;overflow:hidden}.opt-cal-tg-event:hover{background:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 16%, var(--opt-cal-surface));border-color:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 58%, transparent);box-shadow:var(--opt-cal-shadow-hover);z-index:2;transform:translateY(-1px)}.opt-cal-tg-event[data-dragging]{opacity:.9;z-index:3;transform:translateY(0);box-shadow:0 8px 22px #0f172a2e}.opt-cal-tg-event-btn{min-height:0;font:inherit;text-align:start;color:var(--opt-cal-text);cursor:pointer;background:0 0;border:none;flex:auto;padding:.16rem .38rem;font-size:.72rem;overflow:hidden}.opt-cal-tg-event-label{text-overflow:ellipsis;display:block;overflow:hidden}.opt-cal-tg-resize{cursor:ns-resize;opacity:0;flex:none;height:.45rem;transition:opacity .12s;position:relative}.opt-cal-tg-resize:after{content:"";background:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 55%, transparent);border-radius:999px;width:1.4rem;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.opt-cal-tg-event:hover .opt-cal-tg-resize,.opt-cal-tg-event:focus-within .opt-cal-tg-resize{opacity:1}.opt-cal-tg-event{cursor:grab}.opt-cal-tg-event[data-dragging]{cursor:grabbing}.opt-cal-tg-select{background:color-mix(in srgb, var(--opt-cal-accent) 18%, transparent);border:1px dashed var(--opt-cal-accent);pointer-events:none;z-index:2;border-radius:.25rem;position:absolute;inset-inline:2px}.opt-cal-agenda{background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-lg);flex-direction:column;gap:.875rem;padding:.75rem;display:flex}.opt-cal-agenda-day{flex-direction:column;gap:.45rem;display:flex}.opt-cal-agenda-date{text-transform:uppercase;letter-spacing:.05em;color:var(--opt-cal-text-muted);margin:0;font-size:.7rem;font-weight:600}.opt-cal-agenda-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.opt-cal-agenda-item{background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius);align-items:center;gap:.6rem;min-width:0;padding:.35rem;display:flex}.opt-cal-agenda-time{color:var(--opt-cal-text-muted);flex:0 0 4.25rem;font-size:.74rem;font-weight:600}.opt-cal-agenda-item .opt-cal-chip{background:var(--opt-cal-surface);flex:auto;min-width:0}.opt-cal-agenda-empty{color:var(--opt-cal-text-muted);text-align:center;background:var(--opt-cal-surface-soft);border:1px dashed var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius);padding:1.25rem;font-size:.875rem}.opt-cal-booking{flex-direction:column;gap:1rem;display:flex}.opt-cal-booking--public .opt-cal-booking-public{width:100%;max-width:58rem;margin-inline:auto}.opt-cal-booking-public{background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-lg);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}@container (min-width:720px){.opt-cal-booking-public{grid-template-columns:minmax(14rem,.42fr) minmax(0,1fr)}}.opt-cal-booking-profile{background:var(--opt-cal-surface);border-bottom:1px solid var(--opt-cal-border-soft);flex-direction:column;gap:.85rem;min-width:0;padding:1.5rem;display:flex}@container (min-width:720px){.opt-cal-booking-profile{border-right:1px solid var(--opt-cal-border-soft);border-bottom:none}}.opt-cal-booking-avatar{width:2.4rem;height:2.4rem;color:var(--opt-cal-accent-fg);background:var(--opt-cal-accent);border-radius:999px;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.opt-cal-booking-host{color:var(--opt-cal-text-muted);margin:0;font-size:.95rem;font-weight:650}.opt-cal-booking-event-title{color:var(--opt-cal-text);margin:-.25rem 0 0;font-size:clamp(1.35rem,6cqi,2rem);font-weight:800;line-height:1.08}.opt-cal-booking-event-meta{color:var(--opt-cal-text-muted);flex-direction:column;gap:.65rem;margin-top:.35rem;font-size:.86rem;font-weight:600;display:flex}.opt-cal-booking-event-meta span{align-items:center;gap:.55rem;min-width:0;display:flex}.opt-cal-booking-event-meta svg{flex:none;font-size:1.05rem}.opt-cal-booking-picker{min-width:0;padding:1.25rem}.opt-cal-booking-admin{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@container (min-width:860px){.opt-cal-booking-admin{grid-template-columns:minmax(0,1fr) minmax(16rem,.42fr)}}.opt-cal-booking-avail,.opt-cal-booking-bookings{background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius-lg);min-width:0;padding:.875rem}@container (min-width:860px){.opt-cal-booking-avail{grid-column:1}.opt-cal-booking-bookings{grid-area:1/2}}.opt-cal-booking-title{text-transform:uppercase;letter-spacing:.07em;color:var(--opt-cal-text-muted);margin:0 0 .875rem;font-size:.72rem;font-weight:600}.opt-cal-booking-title:not(:first-child){margin-top:1.5rem}.opt-cal-booking-empty{color:var(--opt-cal-text-muted);text-align:center;background:var(--opt-cal-surface-soft);border:1px dashed var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius);padding:1.25rem;font-size:.875rem}.opt-cal-booking-days,.opt-cal-booking-slotdays{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.opt-cal-booking-day{background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius);grid-template-columns:1.1rem minmax(5.5rem,7rem) minmax(0,1fr);align-items:start;gap:.6rem;padding:.5rem;display:grid}.opt-cal-booking-day--override{align-items:flex-start;gap:.6rem;display:flex}.opt-cal-booking-dayname{text-overflow:ellipsis;white-space:nowrap;padding-top:.32rem;font-size:.8rem;font-weight:500;overflow:hidden}.opt-cal-booking-daytoggle{accent-color:var(--opt-cal-accent);margin-top:.42rem}.opt-cal-copytimes{flex-direction:column;gap:.4rem;min-width:9rem;display:flex}.opt-cal-booking-windows{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.opt-cal-booking-window{align-items:center;gap:.25rem;display:inline-flex}.opt-cal-booking-time{min-height:1.9rem;font:inherit;color:var(--opt-cal-text);background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-sm);flex:none;padding:.2rem .35rem;font-size:.8rem}.opt-cal-booking-remove{width:1.4rem;height:1.4rem;color:var(--opt-cal-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;font-size:.9rem;line-height:1}.opt-cal-booking-remove:hover:not(:disabled){color:var(--opt-cal-danger);background:color-mix(in srgb, var(--opt-cal-danger) 8%, transparent);border-color:color-mix(in srgb, var(--opt-cal-danger) 18%, transparent)}.opt-cal-booking-closed{color:var(--opt-cal-text-muted);padding-top:.35rem;font-size:.8rem}.opt-cal-booking-add{padding:.2rem .5rem;font-size:.75rem}.opt-cal-booking-slotdate{color:var(--opt-cal-text-muted);font-size:.82rem;font-weight:700}.opt-cal-booking-confirmation{color:var(--opt-cal-text);background:color-mix(in srgb, var(--opt-cal-accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--opt-cal-accent) 26%, transparent);border-radius:var(--opt-cal-radius);flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.78rem;display:flex}.opt-cal-booking-confirmation strong{font-size:.82rem;font-weight:750}.opt-cal-booking-confirmation span{color:var(--opt-cal-text-muted)}.opt-cal-booking-confirmation-time{font-weight:650;color:var(--opt-cal-text)!important}.opt-cal-booking-seats{color:var(--opt-cal-text-muted);margin-inline-start:.3rem;font-size:.65rem}.opt-cal-booker-banner{background:var(--opt-cal-accent-subtle);border:1px solid color-mix(in srgb, var(--opt-cal-accent) 28%, transparent);border-radius:var(--opt-cal-radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .65rem;font-size:.8rem;display:flex}.opt-cal-booker{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@container (min-width:460px){.opt-cal-booker{grid-template-columns:minmax(0,1fr) minmax(9.5rem,13rem);align-items:start}}.opt-cal-booker-cal,.opt-cal-booker-times,.opt-cal-booker-form{min-width:0}.opt-cal-booker-monthbar{align-items:center;gap:.5rem;margin-bottom:1.1rem;display:flex}.opt-cal-booker-monthlabel{text-align:start;flex:auto;font-size:clamp(1.25rem,4cqi,1.75rem);font-weight:800;line-height:1.15}.opt-cal-booker-monthbar .opt-cal-nav-btn{color:var(--opt-cal-text-muted);background:0 0;border-color:#0000}.opt-cal-booker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.opt-cal-booker-weekday{text-align:center;text-transform:uppercase;color:var(--opt-cal-text-muted);padding-bottom:.35rem;font-size:.72rem;font-weight:700}.opt-cal-booker-day-pad{aspect-ratio:1;min-width:0}.opt-cal-booker-day{aspect-ratio:1;min-width:0;font:inherit;color:var(--opt-cal-text);background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius);cursor:pointer;font-size:clamp(.88rem,3.2cqi,1.18rem);font-weight:700;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s,transform .14s;box-shadow:0 1px 1px #0f172a05}.opt-cal-booker-day:hover:not(:disabled){color:var(--opt-cal-accent);border-color:var(--opt-cal-hover-ring);background:color-mix(in srgb, var(--opt-cal-accent) 7%, var(--opt-cal-surface));box-shadow:var(--opt-cal-shadow-hover);transform:translateY(-1px)}.opt-cal-booker-day:active:not(:disabled){transform:translateY(0)}.opt-cal-booker-day:disabled{color:var(--opt-cal-text-subtle);cursor:default;box-shadow:none;background:0 0;border-color:#0000}.opt-cal-booker-day[data-selected]{color:var(--opt-cal-accent-fg);background:var(--opt-cal-accent);border-color:var(--opt-cal-accent);box-shadow:0 8px 18px -12px var(--opt-cal-accent)}.opt-cal-booker-day[data-selected]:hover:not(:disabled){color:var(--opt-cal-accent-fg);background:color-mix(in srgb, var(--opt-cal-accent) 90%, var(--opt-cal-text));border-color:var(--opt-cal-accent);box-shadow:0 12px 26px -16px var(--opt-cal-accent), 0 4px 10px -8px #0f172a3d}.opt-cal-booker-day[data-today]:not([data-selected]){border-color:var(--opt-cal-border-strong);font-weight:600}.opt-cal-booker-times{flex-direction:column;gap:.75rem;padding-inline-start:0;display:flex}@container (min-width:460px){.opt-cal-booker-times,.opt-cal-booker-form{border-inline-start:1px solid var(--opt-cal-border-soft);padding-inline-start:1rem}}.opt-cal-booker-timelist{flex-direction:column;gap:.45rem;max-height:20rem;padding-inline-end:.15rem;display:flex;overflow-y:auto}.opt-cal-booker-timelist .opt-cal-booking-slot{white-space:nowrap;flex-direction:row;justify-content:center;align-items:center;gap:.35rem;min-height:2.45rem;padding:.55rem .75rem;font-size:.88rem;font-weight:700;display:flex}.opt-cal-booker-timelist .opt-cal-booking-seats{margin-inline-start:0}.opt-cal-booking-times{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.opt-cal-booking-slot{background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-sm);cursor:pointer;padding:.25rem .45rem;font-size:.75rem;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s,transform .14s}.opt-cal-booking-slot:hover:not(:disabled){color:var(--opt-cal-accent);border-color:var(--opt-cal-accent);background:var(--opt-cal-accent-subtle);box-shadow:var(--opt-cal-shadow-hover);transform:translateY(-1px)}.opt-cal-booking-slot:active:not(:disabled){transform:translateY(0)}.opt-cal-booker-form{gap:.55rem}.opt-cal-timeline{background:var(--opt-cal-surface);border:1px solid var(--opt-cal-border-strong);border-radius:var(--opt-cal-radius-lg);flex-direction:column;display:flex;overflow:hidden}.opt-cal-tl-head,.opt-cal-tl-row{border-bottom:1px solid var(--opt-cal-border-soft);display:flex}.opt-cal-tl-row:last-child{border-bottom:none}.opt-cal-tl-rowlabel{background:var(--opt-cal-surface-soft);border-inline-end:1px solid var(--opt-cal-border-soft);text-overflow:ellipsis;white-space:nowrap;flex:0 0 9rem;align-items:center;gap:.4rem;padding:.45rem .6rem;font-size:.8rem;font-weight:550;display:flex;overflow:hidden}.opt-cal-tl-dot{border-radius:999px;flex:none;width:.55rem;height:.55rem}.opt-cal-tl-scale{background:var(--opt-cal-surface-soft);flex:auto;min-width:0;height:1.8rem;position:relative}.opt-cal-tl-hour{color:var(--opt-cal-text-muted);white-space:nowrap;font-size:.7rem;position:absolute;top:.25rem;transform:translate(2px)}.opt-cal-tl-lane{background:var(--opt-cal-surface);flex:auto;min-width:0;transition:background-color .14s;position:relative}@media (hover:hover) and (pointer:fine){.opt-cal-tl-row:hover .opt-cal-tl-lane{background:color-mix(in srgb, var(--opt-cal-accent) 4%, var(--opt-cal-surface))}}.opt-cal-tl-tick{border-inline-start:1px solid color-mix(in srgb, var(--opt-cal-border) 65%, transparent);position:absolute;top:0;bottom:0}.opt-cal-tl-bar-slot{min-width:0;height:24px;padding:0 1px;position:absolute}.opt-cal-tl-bar{width:100%;height:100%;font:inherit;text-align:start;color:var(--opt-cal-text);background:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 10%, var(--opt-cal-surface));border:1px solid color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 18%, transparent);border-inline-start:3px solid var(--opt-cal-event-color,var(--opt-cal-accent));border-radius:var(--opt-cal-radius-sm);cursor:pointer;box-shadow:var(--opt-cal-shadow-event);padding:.12rem .4rem;font-size:.72rem;font-weight:550;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .14s;display:block;overflow:hidden}.opt-cal-tl-bar:hover{background:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 18%, var(--opt-cal-surface));border-color:color-mix(in srgb, var(--opt-cal-event-color,var(--opt-cal-accent)) 38%, transparent);box-shadow:var(--opt-cal-shadow-hover);transform:translateY(-1px)}.opt-cal-tl-bar-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.opt-cal-chip--pending{box-shadow:0 0 0 2px color-mix(in srgb, var(--opt-cal-warning) 55%, transparent), var(--opt-cal-shadow-event);border-color:color-mix(in srgb, var(--opt-cal-warning) 45%, transparent);border-inline-start-color:var(--opt-cal-warning)}.opt-cal-tg-event--pending{box-shadow:0 0 0 2px color-mix(in srgb, var(--opt-cal-warning) 55%, transparent), 0 2px 8px #0f172a1f;border-color:var(--opt-cal-warning);z-index:2}.opt-cal-form-scope{flex-direction:column;gap:.35rem;display:flex}.opt-cal-form-scope-btns{flex-wrap:wrap;gap:.4rem;display:flex}button.opt-cal-booking-slot{font:inherit;color:var(--opt-cal-text);background:var(--opt-cal-surface);cursor:pointer;font-size:.75rem}button.opt-cal-booking-slot:hover:not(:disabled){color:var(--opt-cal-accent);border-color:var(--opt-cal-accent);background:var(--opt-cal-accent-subtle)}.opt-cal-booking-list{flex-direction:column;gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.opt-cal-booking-row{background:var(--opt-cal-surface-soft);border:1px solid var(--opt-cal-border-soft);border-radius:var(--opt-cal-radius);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.55rem .65rem;transition:border-color .12s;display:flex}.opt-cal-booking-row:hover{border-color:color-mix(in srgb, var(--opt-cal-text) 22%, var(--opt-cal-border))}.opt-cal-booking-rowmain{flex:auto;min-width:0}.opt-cal-booking-rowtime{color:var(--opt-cal-text-muted);font-size:.8rem}.opt-cal-booking-status{text-transform:uppercase;letter-spacing:.03em;color:var(--opt-cal-text-muted);font-size:.7rem}.opt-cal-booking-status[data-status=confirmed]{color:var(--opt-cal-accent)}.opt-cal-booking-status[data-status=cancelled],.opt-cal-booking-status[data-status=rejected]{color:var(--opt-cal-danger)}.opt-cal-week-spans{background:var(--opt-cal-surface);flex-direction:column;gap:.1875rem;padding:.1875rem .1875rem 0;display:flex}.opt-cal-span-lane{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.opt-cal-span{min-width:0;padding:0 2px}.opt-cal-span[data-continues-left] .opt-cal-chip{border-top-left-radius:0;border-bottom-left-radius:0}.opt-cal-span[data-continues-right] .opt-cal-chip{border-top-right-radius:0;border-bottom-right-radius:0}@container (max-width:640px){.opt-cal-toolbar{align-items:stretch}.opt-cal-toolbar-title{flex-basis:100%;order:-1;min-width:0}.opt-cal-toolbar-nav{flex:auto;justify-content:space-between}.opt-cal-toolbar-right{flex:100%;margin-inline-start:0}.opt-cal-viewswitch{flex:100%;overflow-x:auto}.opt-cal-viewswitch-btn{flex:1 0 auto}.opt-cal-cell{min-height:5.75rem;padding:.32rem}.opt-cal-weekhead-cell{padding-inline:.25rem;font-size:.62rem}.opt-cal-popover{min-width:min(20rem,100vw - 1rem);max-width:calc(100vw - 1rem);padding:.75rem}.opt-cal-form-row{flex-direction:column}.opt-cal-form-row .opt-cal-input,.opt-cal-form-row .opt-cal-btn{width:100%}.opt-cal-agenda-item{flex-direction:column;align-items:stretch;gap:.35rem}.opt-cal-agenda-time{flex-basis:auto}.opt-cal-tl-rowlabel{flex-basis:6.75rem}}
