.scheduler-backdrop{position:fixed;inset:0;background:#120a05a6;z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;visibility:hidden;pointer-events:none}.scheduler-backdrop.is-open{visibility:visible;pointer-events:all}.scheduler-card{background:var(--warm-light);width:720px;height:560px;overflow:hidden;position:relative}.modal-byline{position:absolute;bottom:0;left:0;right:0;height:1.75rem;background:var(--warm-light);z-index:20;display:flex;align-items:center;padding:0 1.25rem;font-family:var(--font-heading);font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#243c364d;pointer-events:none}.scheduler-close{position:absolute;top:1.25rem;right:1.25rem;z-index:2;background:none;border:none;cursor:pointer;color:var(--slate);opacity:.5;padding:.35rem;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.scheduler-close:hover{opacity:1}.sched-step{position:absolute;inset:0;padding:2.75rem 2.5rem 2.5rem;overflow-y:auto;overflow-x:hidden}.sched-step--hidden{display:none!important}#step-datetime{padding:0;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.datetime-col{height:100%;min-height:0;overflow-y:auto}.datetime-col--left{padding:2.75rem 2rem 2.5rem 2.5rem;border-right:1px solid var(--line-color)}.datetime-col--right{padding:2.75rem 2.5rem 0 2rem;display:flex;flex-direction:column;overflow:hidden}.sched-back--mobile{display:none}.slots-placeholder{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}.slots-panel{display:flex;flex-direction:column;flex:1;min-height:0}.slots-placeholder p{font-family:var(--font-heading);font-size:.875rem;color:var(--slate);opacity:.35;max-width:18ch}.sched-title{font-size:1.25rem;margin-bottom:1.25rem}.sched-back{background:none;border:none;cursor:pointer;font-family:var(--font-heading);font-size:.8125rem;font-weight:600;color:var(--slate);opacity:.6;padding:0;margin-bottom:1.25rem;letter-spacing:.02em;transition:opacity .15s}.sched-back:hover{opacity:1}.sched-datetime{font-family:var(--font-heading);font-weight:600;font-size:.9375rem;color:var(--slate);margin-bottom:1.75rem}.calendar{user-select:none}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.cal-nav-btn{width:2rem;height:2rem;border-radius:50%;background:none;border:1px solid var(--line-color);cursor:pointer;font-family:var(--font-heading);font-size:.9rem;color:var(--slate);display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s}.cal-nav-btn:hover:not(:disabled){background:var(--slate);color:var(--warm-light)}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-month-label{font-family:var(--font-heading);font-weight:600;font-size:.875rem}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:.375rem}.cal-weekdays span{font-family:var(--font-heading);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;opacity:.4;padding:.4rem 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:.8125rem;color:var(--slate);border-radius:50%;transition:background .15s,color .15s}.cal-day:not(.cal-day--disabled):not(.cal-day--empty){background:#243c3612}.cal-day:hover:not(:disabled){background:#243c3629}.cal-day--selected{background:var(--slate)!important;color:var(--warm-light)!important}.cal-day--disabled{background:none;opacity:.25;cursor:not-allowed}.cal-day--empty{background:none;pointer-events:none}.slots-loading{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem;flex-shrink:0}.slot-skeleton{width:100%;height:44px;background:var(--line-color);animation:skel-pulse 1.3s ease-in-out infinite}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.4}}.slots-grid{display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto;padding-right:.75rem;padding-bottom:2.5rem}.slot-btn{width:100%;padding:.75rem 1rem;border:1px solid var(--slate);background:none;cursor:pointer;font-family:var(--font-heading);font-size:.8125rem;font-weight:600;color:var(--slate);transition:background .15s,color .15s}.slot-btn:hover{background:var(--slate);color:var(--warm-light)}.slots-empty{color:var(--slate);font-size:.875rem;opacity:.8}.tz-wrap{margin-top:1.25rem;display:flex;flex-direction:column;gap:.35rem}.tz-label{font-family:var(--font-heading);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--slate);opacity:.45}.tz-select{border:1px solid var(--line-color);background:transparent;padding:.45rem .6rem;font-family:var(--font-body);font-size:.8125rem;color:var(--slate);width:100%;outline:none;border-radius:0;-webkit-appearance:none;cursor:pointer;transition:border-color .15s}.tz-select:focus{border-color:var(--slate)}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.125rem}.form-group label{font-family:var(--font-heading);font-size:.8125rem;font-weight:600;color:var(--slate)}.optional{font-weight:400;opacity:.55}.form-group input,.form-group textarea{border:1px solid var(--line-color);background:transparent;padding:.6rem .75rem;font-family:var(--font-body);font-size:1rem;color:var(--slate);width:100%;outline:none;transition:border-color .15s;border-radius:0;-webkit-appearance:none}.form-group input::placeholder,.form-group textarea::placeholder{opacity:.4}.form-group input:focus,.form-group textarea:focus{border-color:var(--slate)}.form-group textarea{resize:vertical;min-height:80px}.note-counter{font-size:.75rem;color:var(--slate);opacity:.4;text-align:right;transition:color .15s,opacity .15s}.note-counter.note-counter--over{color:var(--soft-accent);opacity:1}.form-error{color:var(--soft-accent);font-size:.875rem;margin-bottom:1rem}.btn-submit{width:100%;text-align:center;justify-content:center;margin-top:.25rem}.scheduler-card .btn-primary{background-color:var(--slate);color:var(--warm-light)}.scheduler-card .btn-primary:hover{background-color:var(--slate)}.scheduler-card .btn-outline{border:1px solid var(--slate);color:var(--slate)}.scheduler-card .btn-outline:hover{background-color:var(--slate);color:var(--warm-light)}#step-confirm{text-align:center}.confirm-icon{width:60px;height:60px;border-radius:50%;background:var(--slate);color:var(--warm-light);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1.5rem}.confirm-details{font-family:var(--font-heading);font-weight:600;font-size:1rem;color:var(--slate);margin-bottom:.5rem;max-width:none}.confirm-note{color:var(--slate);font-size:.9375rem;opacity:.8;margin-bottom:2rem;max-width:none}@media(max-width:700px){.scheduler-card{width:100%;height:580px;max-height:92svh}#step-datetime{display:block}.datetime-col{position:absolute;inset:0;padding:2.25rem 1.25rem 2rem;overflow-y:auto;display:none;border:none}.datetime-col.is-active{display:block}.sched-back--mobile{display:inline-block;align-self:flex-start}.sched-step{padding:2.25rem 1.25rem 2rem}.datetime-col--right{overflow:hidden;padding-bottom:0}.datetime-col--right.is-active{display:flex}.slots-grid{padding-bottom:2rem}}
