@import "../shared/styles.min.css";:root{--calendar-main-color:var(--color-primary-strong)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-page-bg);color:var(--calendar-main-color);font-family:var(--font-family-base);line-height:1.2!important}.calendar-grid.is-locked,.is-disabled,.slots-grid.is-locked{opacity:.5;pointer-events:none}.calendar-grid.is-locked button,.slots-grid.is-locked button{pointer-events:none}main{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:clamp(2rem,5vh,4rem) clamp(1rem,3vw,3rem)}.booking-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-direction:row;margin:0;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.left-panel{display:flex;flex-direction:column;position:relative;width:45%}.left-panel .back-arrow{display:none!important}.left-panel .scrollable{overflow-y:auto;padding:2.25rem 2.75rem 2.5rem}.store-subtitle{color:var(--color-neutral-1);font-size:18px;font-weight:600;margin:.35rem 0 1.25rem;text-align:center}.horizontal{background:var(--color-border);border:none;height:1px;margin:0}.content{padding:0}.section-label{color:var(--color-neutral-4);font-size:13px;font-weight:500;margin-bottom:1rem}.title-line,.title-location{color:var(--calendar-main-color);display:inline-block;font-size:30px;font-weight:800;line-height:1.1;text-align:center;text-transform:uppercase}.main-subtitle{color:var(--color-neutral-2);font-size:18px;font-weight:600;margin-bottom:1.5rem;text-align:center}.meta-row{align-items:center;color:var(--color-text-secondary);display:flex;font-size:13px;font-weight:700;gap:.5rem;margin-bottom:1.5rem}.meta-row svg{flex-shrink:0}.info-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.info-row .text{color:var(--color-text-secondary);flex:1 1 auto;font-size:13px;font-weight:700;line-height:1.4}.slot-summary-row{align-items:center;-moz-column-gap:.5rem;column-gap:.5rem;display:grid;grid-template-columns:auto 1fr;margin-bottom:1.25rem}.slot-summary-row.is-hidden{display:none}.slot-summary-row svg{flex:none}.slot-summary-row .text{color:var(--calendar-main-color);font-size:15px;font-weight:600;line-height:1.35}.slot-summary-row .text.is-empty{color:var(--color-text-secondary);font-weight:500}.location-row{align-items:center;flex-wrap:nowrap;margin-bottom:1.75rem}.location-row .text{flex:1 1 auto;min-width:0;word-break:break-word}.location-row .change-location{align-self:center;flex-shrink:0;margin-left:1rem}.body-lead{font-weight:700;margin-bottom:.25rem}.body-lead,.body-text{color:var(--calendar-main-color);font-size:15px}.body-text{font-weight:400;line-height:1.5;margin-bottom:.75rem;text-align:left}.body-text strong{font-weight:700}.body-note,.body-text strong{color:var(--calendar-main-color)}.body-note{display:block;font-weight:600;margin-top:.4rem}.body-note.is-hidden,.body-text.is-hidden,.disclaimer.is-hidden{display:none}.body-strong{color:var(--calendar-main-color);font-size:15px;font-weight:700;margin-bottom:.25rem}.disclaimer{color:var(--color-neutral-3);font-size:14px;font-style:italic;font-weight:400;line-height:1.45;margin-bottom:1.5rem}.phone{align-items:center;color:var(--color-neutral-1);display:flex;font-size:14px;gap:.5rem;margin-top:0}.phone svg{flex-shrink:0;stroke:var(--color-text-secondary)}.conditions{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;margin:1rem auto 1.5rem;max-width:340px;padding:.75rem 1rem}.conditions[open]{box-shadow:0 4px 12px rgba(10,35,66,.08)}.conditions summary{align-items:center;color:var(--calendar-main-color);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:.5rem;list-style:none}.conditions summary::-webkit-details-marker{display:none}.conditions summary:after{content:"+";font-weight:700}.conditions[open] summary:after{content:"–"}.conditions-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:.75rem 0 0;padding:0}.conditions-list li{color:var(--calendar-main-color);font-size:14px;line-height:1.5;padding-left:1.75rem;position:relative}.conditions-list li:before{color:var(--color-success);content:"\2713";font-size:1rem;left:0;position:absolute;top:.1rem}.conditions-inline{color:var(--calendar-main-color);flex-direction:column;font-size:17px;gap:0;list-style:none;margin:.7rem auto .5rem;padding:0}.conditions-inline,.conditions-inline li{align-items:center;display:flex;justify-content:center}.conditions-inline li{gap:.4rem;text-align:center;width:100%}.conditions-inline li:before{color:var(--color-success);content:"\2713";font-weight:700}html:not([lang=es]) .conditions-inline__hispanic{display:none}.cookie{color:var(--color-primary-alt);cursor:pointer;font-size:13px;font-weight:500;margin-top:2rem}.cookie:hover{text-decoration:underline}.vertical-line{background:var(--color-border);height:100%;position:absolute;right:0;top:0;width:1px}.store-carousel{margin-bottom:1rem;position:relative;width:100%}.store-carousel .viewport{border-radius:10px;overflow:hidden}.store-carousel .slides{display:flex;transition:transform .4s ease}.store-carousel .slide{flex:0 0 100%}.store-carousel .slide img{display:block;height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.store-carousel .carousel-nav{align-items:center;background:hsla(0,0%,100%,.8);border:none;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:32px}.store-carousel .carousel-nav.prev{left:8px}.store-carousel .carousel-nav.next{right:8px}.store-carousel--mobile{display:none}.store-carousel--desktop{display:block}.language-toggle{align-self:center;background:var(--color-surface-soft);border-radius:999px;box-shadow:inset 0 0 0 1px rgba(10,35,66,.05);display:inline-flex;gap:.5rem;padding:.35rem}.lang-btn{background:transparent;border:none;border-radius:999px;color:var(--calendar-main-color);cursor:pointer;font-size:13px;font-weight:600;padding:.4rem .95rem;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.lang-btn:not(.active):hover{background:rgba(10,35,66,.08)}.lang-btn.active{background:var(--calendar-main-color);box-shadow:0 4px 12px rgba(10,35,66,.18);color:var(--color-surface)}.lang-btn:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.calendar-actions{align-items:stretch;display:flex;flex-direction:column;gap:.75rem;margin:.75rem 0 .5rem}.change-location{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;color:var(--calendar-main-color);cursor:pointer;font-size:13px;font-weight:600;padding:.55rem 1rem;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;width:100%}.change-location:hover{background:var(--color-surface-accent);box-shadow:0 4px 12px rgba(10,35,66,.12);color:var(--color-text-base)}.change-location:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.right-panel{display:flex;flex:1 1 55%;flex-direction:column;gap:0;max-height:90vh;min-height:0;overflow-y:auto;padding:1.5rem 2rem 2rem;width:55%}.booking-card.is-confirming .right-panel{margin:0;max-width:none;overflow-y:auto}.booking-card:not(.is-confirming) .right-panel{padding-bottom:3rem}.booking-card.is-confirming .panel-heading{display:none}.right-panel h2{color:var(--calendar-main-color);font-size:27px;font-weight:700;line-height:1.25;margin-bottom:.5rem;text-align:center}.month-nav{align-items:center;display:flex;gap:.5rem;justify-content:center}.month-nav h3{color:var(--calendar-main-color);font-size:18px;font-weight:600;margin:0 .5rem}.month-nav .nav-btn{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-bright));border:none;border-radius:12px;box-shadow:0 8px 16px rgba(30,100,220,.25);color:var(--color-surface);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;width:36px}.month-nav .nav-btn svg{height:15px;width:15px}.month-nav .nav-btn:hover:not(:disabled){box-shadow:0 5px 10px rgba(30,100,220,.32);transform:translateY(-1px)}.month-nav .nav-btn:focus-visible{outline:2px solid hsla(0,0%,100%,.7);outline-offset:3px}.month-nav .nav-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.calendar-grid{display:grid;gap:.25rem;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{color:var(--color-text-tertiary);font-size:11px;font-weight:600;letter-spacing:.04em;padding:.25rem 0;text-align:center;text-transform:uppercase}.day,.day.placeholder{aspect-ratio:1/1;width:100%}.day{align-items:center;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--calendar-main-color);cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;padding:0;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.day.day-available,.day:hover,.slot-btn{background:var(--color-surface-accent);color:var(--calendar-main-color)}.day.day-available,.slot-btn{border-color:var(--color-primary-bright)}.day.day-available{box-shadow:0 6px 14px rgba(59,130,246,.18)}.slot-btn{align-items:center;border-radius:10px;border-width:1.5px;box-shadow:0 3px 3px rgba(59,130,246,.18);cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:center;padding:.6rem .75rem;width:100%}.day.day-available:hover,.slot-btn:hover{background:var(--color-surface-highlight);border-color:var(--color-primary);color:var(--calendar-main-color)}.day.day-unavailable{background:var(--color-surface-quiet);border-color:var(--color-border-strong);border-style:dashed;color:var(--color-text-muted)}.day.day-unavailable:hover{background:var(--color-surface-soft-2);color:var(--color-text-secondary)}.day.day-available.selected,.day.selected,.slot-btn.selected{background:var(--calendar-main-color);border-color:var(--calendar-main-color);box-shadow:0 8px 16px rgba(10,35,66,.16);color:var(--color-surface)}.day.day-today{border-color:var(--color-primary-bright)}.day.day-disabled{border-color:transparent;cursor:not-allowed}.day.day-disabled,.day.day-disabled:hover{background:transparent;color:var(--color-neutral-light)}.day:disabled{pointer-events:none}.day:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.day.placeholder{visibility:hidden}.calendar-section.is-hidden,.slots-card.is-hidden{display:none}.booking-form[hidden],.confirmation-card[hidden],.confirmation-success[hidden]{display:none!important}.slots-header{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1rem;position:relative}.slots-header>div{flex:1 1 auto;text-align:center}.slots-back-btn{background:linear-gradient(135deg,var(--color-primary-strong) 0,var(--color-primary-gradient-end) 100%);border:none;border-radius:999px;box-shadow:0 8px 20px rgba(10,35,66,.25);color:var(--color-surface);cursor:pointer;font-size:13px;font-weight:600;gap:.45rem;left:0;padding:.45rem 1.15rem;position:absolute;top:50%;transform:translateY(-50%);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;white-space:nowrap}.slots-back-btn,.slots-back-btn__icon{align-items:center;display:inline-flex}.slots-back-btn__icon{background:hsla(0,0%,100%,.15);border-radius:50%;font-size:.75rem;height:1.35rem;justify-content:center;line-height:1;width:1.35rem}.slots-back-btn__label{display:inline-block;line-height:1}.slots-back-btn:hover{box-shadow:0 10px 24px rgba(10,35,66,.3);transform:translateY(-50%) translateX(-2px)}.slots-back-btn:active{opacity:.85}.slots-back-btn:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:4px}.slots-subtitle{color:var(--color-text-secondary);font-size:13px;text-align:center}.panel-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.panel-heading--with-toggle{justify-content:space-between}.panel-heading--with-toggle h2{text-align:left}.toggle-calendar{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;color:var(--calendar-main-color);cursor:pointer;display:none;font-size:13px;font-weight:600;padding:.55rem 1rem;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.toggle-calendar:hover{background:var(--color-surface-accent);box-shadow:0 4px 12px rgba(10,35,66,.12);color:var(--color-text-base)}.toggle-calendar:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.slots-body{display:flex;flex-direction:column;gap:.75rem}.slots-empty{border:1px dashed var(--color-border-strong);border-radius:10px;color:var(--color-text-secondary);font-size:14px;padding:1rem;text-align:center}.slots-empty[hidden],.slots-grid[hidden]{display:none!important}.slots-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.slot-btn.selected{justify-content:center}.calendar-section,.confirmation-card,.slots-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 2px 6px rgba(10,35,66,.08);display:flex;flex-direction:column;padding:1.5rem}.slots-card{margin-top:1.25rem}@media (min-width:1024px){body{overflow-y:hidden}main{min-height:100vh}.booking-card{align-items:stretch}.booking-card,.right-panel{max-height:calc(100vh - 4rem)}.right-panel{overflow-y:auto}.slots-card{margin-top:1.5rem}}.calendar-section,.confirmation-card{gap:1rem}.booking-card.is-confirming .confirmation-card{margin-top:1rem}.confirmation-head{display:flex;flex-direction:column;gap:.75rem}.confirmation-title-row{align-items:center;display:flex;flex-direction:row;gap:.75rem}.confirmation-title,.panel-heading h2,.slots-title{color:var(--calendar-main-color);font-size:24px;font-weight:700;text-align:center}.confirmation-title,.panel-heading h2{flex:1 1 auto}.confirmation-title,.panel-heading h2{margin:0}.confirmation-summary{display:flex;flex-direction:column;gap:.75rem}.summary-item{align-items:center;color:var(--calendar-main-color);display:flex;font-size:15px;gap:.6rem;line-height:1.4}.summary-item svg{flex-shrink:0;stroke:var(--color-text-secondary)}.summary-text{display:inline-block}.confirmation-back-btn,.summary-item#confirmationSlotRow .summary-text{color:var(--calendar-main-color);font-weight:600}.confirmation-back-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;cursor:pointer;font-size:13px;margin-left:auto;padding:.55rem 1.1rem;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.confirmation-back-btn:hover{background:var(--color-surface-accent);box-shadow:0 4px 12px rgba(10,35,66,.12);color:var(--color-text-base)}.confirmation-back-btn:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.confirmation-back{align-items:center;background:transparent;border:none;color:var(--calendar-main-color);cursor:pointer;display:inline-flex;font-weight:600;gap:.35rem;margin-bottom:.25rem;padding:.35rem 0}.confirmation-back:hover{color:var(--color-primary)}.booking-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;flex-wrap:wrap;gap:1rem}.booking-form label{color:var(--calendar-main-color);display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:.4rem;max-width:400px}.booking-form .is-required:after{color:var(--color-danger);content:" *"}.form-row>label{flex:1 1 220px;min-width:0}.booking-form input:not([type=checkbox]){max-width:100%;padding:.75rem .85rem}.booking-form input:not([type=checkbox]),.booking-form select{border:1px solid var(--color-border-strong);border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.booking-form select{background:var(--color-surface);padding:.2rem}.booking-form input:not([type=checkbox]):focus{border-color:var(--color-primary-bright);box-shadow:0 0 0 3px rgba(59,130,246,.18);outline:none}.booking-form input[type=checkbox]{accent-color:var(--calendar-main-color);flex:0 0 auto;height:16px;margin-top:.2rem;padding:0;width:16px}.booking-form label.consent-field{align-items:flex-start;color:var(--color-neutral-3);cursor:pointer;flex-direction:row;font-size:12px;font-weight:400;gap:.6rem;max-width:none}.booking-form label.consent-field .consent-text{line-height:1.45}.booking-form select:focus{border-color:var(--color-primary-bright);box-shadow:0 0 0 3px rgba(59,130,246,.18);outline:none}.confirm-btn{align-self:center;background:var(--calendar-main-color);border:1px solid var(--calendar-main-color);border-radius:10px;color:var(--color-surface);cursor:pointer;font-size:16px;font-weight:700;padding:.85rem 1.75rem;transition:background-color .2s ease,border-color .2s ease}.confirm-btn:hover{background:var(--color-text-base);border-color:var(--color-text-base)}.confirm-btn:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.booking-form label.inline-field{align-items:center;flex:0 1 auto;flex-direction:row;gap:.75rem}.booking-form label.inline-field span{font-size:14px;font-weight:600;margin:0}@media (max-width:640px){.booking-form label.inline-field{align-items:flex-start;flex-direction:column;gap:.4rem;width:100%}}.booking-form label.inline-field select{flex:0 0 auto}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);border:0;white-space:nowrap}.booking-form select.is-readonly{background:var(--color-surface-soft);color:var(--color-neutral-5);cursor:not-allowed}.confirmation-success{background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:10px;color:var(--color-success-text);font-weight:600;padding:1.25rem;text-align:center}.attendee-section{background:var(--color-surface-quiet);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.attendee-header h4{color:var(--calendar-main-color);font-size:15px;margin-bottom:.25rem}.attendee-header p{color:var(--color-text-secondary);font-size:13px;margin:0}.additional-attendees{display:flex;flex-direction:column;gap:.75rem}.attendee-card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;display:flex;flex-direction:column;gap:.65rem;padding:.75rem}.attendee-card-header{align-items:center;display:flex;justify-content:space-between}.attendee-card-header h5{color:var(--calendar-main-color);font-size:14px;margin:0}.remove-attendee{background:transparent;border:none;color:var(--color-danger);cursor:pointer;font-size:13px;font-weight:600}.remove-attendee:hover{text-decoration:underline}.attendee-card .form-row{flex-direction:column;gap:.5rem}.attendee-card label{flex:1 1 auto;font-size:12px;min-width:100%}.attendee-field__header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.guest-copy-btn{background:var(--color-surface-quiet);border:1px solid var(--color-border);border-radius:999px;color:var(--calendar-main-color);cursor:pointer;font-size:11px;padding:.2rem .55rem}.guest-copy-btn:hover{background:var(--color-surface)}.guest-copy-btn:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.add-attendee{align-self:flex-start;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;color:var(--calendar-main-color);cursor:pointer;font-size:13px;font-weight:600;padding:.55rem 1.1rem;transition:background-color .2s ease,color .2s ease}.add-attendee:hover{background:var(--color-surface-quiet)}.add-attendee:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.store-overlay{align-items:center;background:rgba(10,23,43,.55);bottom:0;display:none;justify-content:center;left:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(1rem,3vw,1.5rem);position:fixed;right:0;top:0;touch-action:pan-y;z-index:1000}.store-overlay.is-active{display:flex}.store-overlay__content{background:var(--color-surface);border-radius:16px;box-shadow:0 20px 45px rgba(10,35,66,.25);display:flex;flex-direction:column;gap:1.25rem;max-height:min(85vh,680px);overflow-y:auto;overscroll-behavior:contain;padding:2rem;position:relative;width:min(560px,calc(100% - 1.5rem))}@supports (max-height:calc(100svh - 2rem)){.store-overlay__content{max-height:calc(100svh - 2.5rem)}}.store-overlay__close{background:transparent;border:none;border-radius:8px;cursor:pointer;padding:6px;position:absolute;right:12px;top:12px}.store-overlay__close:hover{background:var(--color-surface-soft)}.store-overlay__close:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.store-overlay__close.is-disabled{cursor:not-allowed;opacity:.35;pointer-events:none}.store-overlay__label-heading{color:var(--calendar-main-color);font-size:13px;font-weight:600}.store-overlay__groups{display:flex;flex-direction:column;gap:1.25rem}.store-overlay__group{display:flex;flex-direction:column;gap:.6rem}.store-overlay__group-title{color:var(--calendar-main-color);font-size:15px;font-weight:700;margin:0}.store-overlay__group-list{width:100%}.store-overlay__group-list,.store-overlay__list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.store-overlay__list button{background:var(--color-surface-quiet);border:1px solid var(--color-border-strong);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.75rem;text-align:left;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.store-overlay__list button strong{color:var(--calendar-main-color);font-size:14px}.store-overlay__list button span{color:var(--color-text-secondary);font-size:13px}.store-overlay__list button.is-active,.store-overlay__list button:hover{background:var(--color-surface-accent);border-color:var(--color-primary-bright);transform:translateY(-1px)}body.store-pending main{filter:grayscale(.4) brightness(.9)}body.store-pending .store-overlay{display:flex}body.store-pending{overflow:hidden}body.store-pending .store-overlay{pointer-events:auto}.info-row svg{flex-shrink:0}.desktop-only{display:block}.slot-summary-row.slot-summary-desktop-grid{display:grid}.slot-summary-row.slot-summary-desktop-grid.is-hidden{display:none}@media (max-width:1024px){.desktop-only{display:none!important}}.form-error{background:var(--color-surface)2f2;border:1px solid rgba(170,28,28,.2);border-radius:8px;color:var(--color-danger-text);font-size:.9rem;line-height:1.4;margin-top:.75rem;padding:.75rem 1rem}.form-error[hidden]{display:none!important}.booking-form.is-loading{opacity:.75}.booking-form.is-loading button,.booking-form.is-loading input,.booking-form.is-loading select{cursor:wait}.confirm-btn.is-loading{cursor:wait;opacity:.85}.confirmation-success__details{color:var(--color-primary-strong);font-size:.95rem;margin-top:.75rem}.confirmation-success__details[hidden]{display:none!important}.appointment-modal{align-items:center;display:none;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:3000}.appointment-modal:not([hidden]){display:flex}.appointment-modal__backdrop{background:rgba(10,35,66,.45);inset:0;position:absolute}.appointment-modal__dialog{background:var(--color-surface);border-radius:18px;box-shadow:0 24px 48px rgba(10,35,66,.2);display:flex;flex-direction:column;max-height:92vh;outline:none;overflow:hidden;position:relative;width:min(520px,100%)}.appointment-modal__close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.6rem;line-height:1;padding:.25rem;position:absolute;right:.75rem;top:.75rem}.appointment-modal__close:focus-visible,.appointment-modal__close:hover{color:var(--color-primary-strong)}.appointment-modal__header{border-bottom:1px solid var(--color-border-muted);padding:1.6rem 2rem 1.25rem}.appointment-modal__title{color:var(--color-primary-strong);font-size:1.45rem;font-weight:700;margin:0 0 .5rem}.appointment-modal__subtitle{color:var(--color-text-secondary);font-size:.95rem;margin:0}.appointment-modal__body{overflow-y:auto;padding:1.5rem 2rem}.appointment-modal__section+.appointment-modal__section{margin-top:1.5rem}.appointment-modal__section-title{color:var(--color-primary-strong);font-size:1rem;font-weight:600;margin:0 0 .75rem}.appointment-modal__results{display:grid;gap:.85rem;list-style:none;margin:0;padding:0}.appointment-modal__result{background:var(--color-surface-contrast);border:1px solid var(--color-border-card);border-radius:12px;display:grid;gap:.4rem;padding:.9rem 1rem}.appointment-modal__result--empty{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.appointment-modal__result-name{color:var(--color-primary-strong);font-weight:600}.appointment-modal__result-meta{color:var(--color-neutral-6);display:flex;flex-wrap:wrap;font-size:.9rem;gap:.75rem}.appointment-modal__result-apt{color:var(--color-text-secondary);font-size:.85rem}.appointment-modal__result-link{color:var(--color-text-link);font-size:.9rem;font-weight:600;text-decoration:none}.appointment-modal__result-link:focus-visible,.appointment-modal__result-link:hover{text-decoration:underline}.appointment-modal__summary{display:flex;flex-wrap:wrap;gap:.75rem}.appointment-modal__summary-item{align-items:baseline;background:var(--color-surface-soft-2);border-radius:10px;color:var(--color-primary-strong);display:inline-flex;font-size:.9rem;gap:.45rem;padding:.55rem .8rem}.appointment-modal__summary-item strong{font-size:1.1rem;font-weight:700}.appointment-modal__note{color:var(--color-text-secondary);font-size:.85rem;margin:.75rem 0 0}.appointment-modal__note[hidden]{display:none!important}.appointment-modal__footer{border-top:1px solid var(--color-border-muted);display:flex;justify-content:flex-end;padding:1rem 2rem 1.75rem}.appointment-modal__button{background:var(--color-primary-strong);border:none;border-radius:999px;color:var(--color-surface);cursor:pointer;font-weight:600;padding:.65rem 1.6rem;transition:background .2s ease,transform .2s ease}.appointment-modal__button:focus-visible,.appointment-modal__button:hover{background:var(--color-primary-dark);transform:translateY(-1px)}body.appointment-modal-open{overflow:hidden}