.booking-time-dialog{width:min(40rem,calc(100% - 1rem));max-width:calc(100% - 1rem);max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);margin:auto;padding:0;border:1px solid var(--color-border,#71836c);border-radius:1rem;background:var(--color-card-bg,#fafdfa);color:var(--color-text-primary,#1c3b2c);box-shadow:0 24px 80px rgba(0,0,0,.25);overflow:hidden}.booking-time-dialog:not([open]){display:none}.booking-time-dialog::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}.booking-time-dialog__surface{display:flex;flex-direction:column;max-height:calc(100vh - 1rem - 2px);max-height:calc(100dvh - 1rem - 2px);min-width:0}.booking-time-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;gap:.5rem;padding:1rem;border-bottom:1px solid var(--color-border,#71836c)}.booking-time-dialog h2.booking-time-dialog__title{margin:0;min-width:0;overflow-wrap:anywhere;text-transform:none;font-size:1.25rem;font-weight:800;line-height:1.3}.booking-time-dialog__title:focus{outline:none}.booking-time-dialog__date{margin:.375rem 0 0;color:var(--color-text-secondary,#526457);font-size:.875rem;overflow-wrap:anywhere}.booking-time-dialog__close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--color-border,#71836c);border-radius:.5rem;color:var(--color-text-primary,#1c3b2c)}.booking-time-dialog__close:focus-visible{outline:2px solid var(--color-accent,#1c3b2c);outline-offset:2px}.booking-time-dialog__body{display:flex;flex-direction:column;gap:1rem;min-height:0;padding:1rem;overflow-y:auto;overscroll-behavior:contain}.booking-time-dialog__body>*{flex-shrink:0;min-width:0}.booking-time-dialog select{font-size:1rem}.booking-time-dialog__footer{display:flex;flex-direction:column;flex-shrink:0;gap:.5rem;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));border-top:1px solid var(--color-border,#71836c)}.booking-time-dialog__footer>button{min-width:0;min-height:44px;white-space:normal}@media (min-width:480px){.booking-time-dialog__footer{flex-direction:row;justify-content:space-between}}:is(.booking-calendar,.booking-timezone,.booking-time-options,.booking-time-dialog){--booking-ink:var(--color-text-primary,#1c3b2c);--booking-muted:var(--color-text-secondary,#526457);--booking-paper:var(--color-card-bg,#fafdfa);--booking-line:var(--color-border,#71836c);--booking-accent:var(--color-accent,#1c3b2c);color:var(--booking-ink);min-width:0}:is(.booking-calendar,.booking-timezone,.booking-time-options,.booking-time-dialog) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:is(.booking-calendar,.booking-timezone,.booking-time-options,.booking-time-dialog) button{font:inherit}:is(.booking-calendar,.booking-timezone,.booking-time-options,.booking-time-dialog) svg{width:20px;height:20px;flex-shrink:0}:is(.booking-calendar,.booking-timezone,.booking-time-options,.booking-time-dialog) button:focus-visible{outline:2px solid var(--booking-accent);outline-offset:3px}.booking-calendar{width:100%;max-width:520px;margin-inline:auto;padding:16px;border:1px solid var(--booking-line);border-radius:12px;background:color-mix(in srgb,var(--booking-accent) 1.8%,transparent)}.booking-calendar__header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin-bottom:12px}.booking-calendar__header p{margin:0;font-size:1rem;font-weight:700;text-align:center;text-wrap:balance}.booking-calendar__header p:first-letter{text-transform:uppercase}.booking-calendar__nav{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--booking-line);border-radius:8px;background:var(--booking-paper);color:inherit}.booking-calendar__nav[aria-disabled=true]{opacity:.3;cursor:default}.booking-calendar__grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:4px;margin:0}.booking-calendar__grid th{padding:0;height:30px;font-size:.72rem;text-align:center;color:var(--booking-muted);font-weight:600}@media (max-width:639.98px){.booking-calendar__grid th{font-size:.75rem}}.booking-calendar__grid td{padding:0;text-align:center;border:0}.booking-calendar__day{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;min-height:48px;width:100%;padding:3px 0;border:1px solid var(--booking-line);border-radius:8px;background:var(--booking-paper);color:var(--booking-ink);font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums}.booking-calendar__day[aria-disabled=true]{border-color:transparent;background:transparent;color:var(--booking-muted);opacity:.48;cursor:default}.booking-calendar__day[aria-disabled=false]:hover{background:color-mix(in srgb,var(--booking-accent) 7%,transparent);border-color:var(--booking-accent)}.booking-calendar__grid [aria-selected=true]>.booking-calendar__day{background:var(--booking-accent);color:var(--color-btn-text,#fff);border-color:var(--booking-accent)}.booking-calendar__day>span+span,.booking-calendar__legend>span{display:block;width:5px;height:5px;margin-top:3px;border-radius:100%;background:currentColor}.booking-calendar__legend{display:flex;justify-content:center;align-items:center;gap:8px;font-size:.76rem;color:var(--booking-muted);margin:12px 0 0}.booking-calendar__legend>span{margin:0;flex-shrink:0}.booking-timezone{padding:12px;border:1px solid var(--booking-line);border-radius:10px;background:color-mix(in srgb,var(--booking-accent) 2.5%,transparent)}.booking-timezone>div:first-child{display:flex;align-items:center;gap:8px}.booking-timezone>div:first-child>span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.booking-timezone__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;gap:8px;padding:10px 12px;margin-top:8px;border:1px solid var(--booking-line);border-radius:8px;background:var(--booking-paper);color:var(--booking-ink);text-align:left;font-weight:600}.booking-timezone__trigger>span{overflow-wrap:anywhere}.booking-timezone>div[id$=-panel]{margin-top:8px;padding:8px;border:1px solid var(--booking-line);border-radius:8px;background:var(--booking-paper)}.booking-timezone div[id$=-panel]>div{position:relative}.booking-timezone div[id$=-panel]>div>svg{position:absolute;top:13px;left:10px;width:18px;height:18px}.booking-timezone input{width:100%;min-height:44px;padding:9px 10px 9px 36px;font:inherit;font-size:16px;border:1px solid var(--booking-line);border-radius:6px;background:var(--booking-paper);color:var(--booking-ink)}.booking-timezone p{margin:8px 0 0;font-size:.75rem;line-height:1.5;color:var(--booking-muted)}.booking-timezone ul{list-style:none;margin:8px 0 0;padding:0;max-height:min(15rem,32dvh);overflow-y:auto;overscroll-behavior:contain}.booking-timezone li{list-style:none;margin:0;padding:0}.booking-timezone [role=option]{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;border:0;border-radius:6px;padding:9px 8px;background:transparent;color:var(--booking-ink);text-align:left}.booking-timezone [role=option][data-active=true]{background:color-mix(in srgb,var(--booking-accent) 9%,transparent)}.booking-timezone [role=option]>span{flex:1;min-width:0;overflow-wrap:anywhere}.booking-timezone [role=option]>span>span{display:block;font-size:.9rem}.booking-timezone [role=option]>span>span+span{font-size:.74rem;color:var(--booking-muted)}.booking-timezone div[id$=-panel]>button{width:100%;min-height:44px;border:0;background:transparent;color:var(--booking-ink);text-align:left;font-size:.84rem;text-decoration:underline;text-underline-offset:4px}.booking-ui-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--booking-accent,#1c3b2c);border-radius:var(--booking-radius,8px);color:var(--color-btn-text,white);background:var(--booking-accent,#1c3b2c);font-weight:600}.booking-ui-action--secondary{color:var(--booking-ink,#1c3b2c);border-color:var(--booking-line,#71836c);background:var(--booking-paper,#fafdfa)}.booking-ui-action:disabled{cursor:default;opacity:.5}.booking-time-dialog__close{background:transparent}.booking-time-dialog__header>div{min-width:0}.booking-time-options__heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.booking-time-options__heading p{margin:0;font-size:.85rem;color:var(--booking-muted)}.booking-time-options__toggle{min-height:44px;padding:8px 12px;border:1px solid var(--booking-line);border-radius:8px;background:var(--booking-paper);color:var(--booking-ink);font-size:.83rem}.booking-time-options__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-time-options .booking-time-option{min-height:52px;padding:10px 6px;border:1px solid var(--booking-line);border-radius:var(--booking-radius,8px);background:var(--booking-paper);color:var(--booking-ink);font-size:.95rem;font-weight:600;line-height:1.25;font-variant-numeric:tabular-nums}.booking-time-options .booking-time-options__choice--whole{background:color-mix(in srgb,var(--booking-accent) 4%,transparent)}.booking-time-options .booking-time-option[aria-checked=true]{background:var(--booking-accent);color:var(--color-btn-text,white);border-color:var(--booking-accent)}.booking-time-options .booking-time-option span{display:block}.booking-time-options .booking-time-option small{display:block;margin-top:4px;font-size:.7rem}.booking-time-options__note{font-size:.8rem;color:var(--booking-muted);margin:12px 0 0;line-height:1.5}@media (max-width:479px){.booking-calendar{padding:8px}.booking-calendar__day{min-height:44px}.booking-time-options__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-time-options__heading{flex-direction:column;align-items:stretch}}@media (max-width:379px){.booking-calendar{padding:4px}.booking-calendar__grid{border-spacing:1px}}@media (max-width:359px){.booking-time-options__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-selector{min-width:0}.booking-selector__intro{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.booking-selector__intro p{margin:0;font-size:1.1rem;font-weight:650}.booking-selector__intro span{color:var(--color-text-secondary,#526457);font-size:.84rem}.booking-selector__hint{color:var(--color-text-secondary,#526457);text-align:center;font-size:.82rem;margin:12px 0 20px}.booking-selector__inline-time h3{margin-bottom:8px;font-size:1.15rem}.booking-selector__inline-time h3:focus{outline:none}.booking-selector__date{color:var(--color-text-secondary,#526457);font-size:.9rem}.booking-selector__inline-time .booking-time-options{margin-top:20px}.booking-selector__actions{display:flex;gap:8px;margin-top:20px}.booking-selector__actions>button{flex:1}@media (max-width:359px){.booking-selector__actions{flex-direction:column}}@media (max-width:319px){.booking-calendar{padding:0}.booking-calendar__grid{border-spacing:0}.booking-time-options__grid{grid-template-columns:minmax(0,1fr)}}