.appointment-page{--appt-bg:#fff;--appt-soft:#f6f7f9;--appt-border:#e3e6ea;--appt-text:#29313a;--appt-muted:#596674;--appt-accent:#714b67;--appt-highlight:#f4edf2;padding-block:2rem 5rem;color:var(--appt-text)}.dark .appointment-page{--appt-bg:#20262d;--appt-soft:#1b2127;--appt-border:#38414a;--appt-text:#f4f5f7;--appt-muted:#b5bfc9;--appt-accent:#55d5cd;--appt-highlight:#173c3c}.appointment-back{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;color:var(--appt-accent);font-size:.85rem;font-weight:600}.appointment-intro{max-width:42rem;margin-block:1rem 1.5rem}.appointment-intro h1{margin-block:.7rem;font-size:clamp(1.8rem,4vw,2.25rem);line-height:1.45}.appointment-intro p{color:var(--appt-muted);font-size:.95rem;line-height:1.9}.appointment-notice{display:flex;align-items:flex-start;gap:.75rem;margin-block-end:1.5rem;padding:.9rem 1.1rem;border:1px solid #c8973e55;border-radius:.85rem;color:#78521c;background:#fff9ed;font-size:.8rem;line-height:1.8}.dark .appointment-notice{color:#f4ce8c;background:#30291e}.appointment-notice>svg{flex-shrink:0;margin-block-start:.2rem}.appointment-notice strong{margin-inline-end:.7rem}.appointment-shell{display:grid;grid-template-columns:17rem minmax(0,1fr);overflow:hidden;border:1px solid var(--appt-border);border-radius:1.5rem;background:var(--appt-bg);box-shadow:0 16px 45px #15233308}.appointment-summary{min-width:0;padding:2rem 1.5rem;background:var(--appt-soft);border-inline-end:1px solid var(--appt-border)}.appointment-host{display:flex;align-items:center;gap:.75rem;margin-block-end:1.5rem}.appointment-host img{width:3rem;height:3rem;border-radius:1rem;object-fit:cover}.appointment-host span{color:var(--appt-muted);font-size:.7rem}.appointment-host p{margin-block-start:.15rem;font-size:.9rem;font-weight:700}.appointment-summary h2{font-size:1.25rem;font-weight:750}.appointment-description{margin-block:.7rem 1.5rem;font-size:.85rem;line-height:1.9;color:var(--appt-muted)}.appointment-facts{display:flex;flex-direction:column;gap:1rem;padding:0;list-style:none}.appointment-facts li{display:flex;align-items:flex-start;gap:.7rem;font-size:.8rem;line-height:1.8}.appointment-facts svg{color:var(--appt-accent);flex-shrink:0;margin-block-start:.2rem}.appointment-facts small{display:block;color:var(--appt-muted);margin-block-start:.2rem}.appointment-zone{border-block-start:1px solid var(--appt-border);margin-block-start:1.6rem;padding-block-start:1.3rem}.appointment-zone label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;margin-block-end:.6rem}.appointment-zone select{width:100%;min-height:2.75rem;padding:.6rem .5rem;border:1px solid var(--appt-border);border-radius:.6rem;color:var(--appt-text);background:var(--appt-bg);font:inherit;font-size:.8rem}.appointment-zone small{display:block;margin-block-start:.6rem;color:var(--appt-muted);font-size:.7rem;line-height:1.8}.appointment-main{min-width:0;padding:1.75rem}.appointment-steps{display:flex;flex-wrap:wrap;gap:1rem;padding:0 0 1.25rem;margin:0 0 1.5rem;border-block-end:1px solid var(--appt-border);list-style:none}.appointment-steps li{display:flex;align-items:center;gap:.4rem;color:var(--appt-muted);font-size:.7rem}.appointment-steps li>span{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border:1px solid var(--appt-border);border-radius:50%;font-size:.65rem}.appointment-steps [aria-current=step]{color:var(--appt-accent);font-weight:750}.appointment-steps [aria-current=step]>span{border-color:var(--appt-accent);background:var(--appt-highlight)}.appointment-stage-heading{margin-block-end:1.5rem;font-size:1.05rem;font-weight:750;line-height:1.8}.appointment-loading{display:flex;align-items:center;gap:.5rem;margin-block-end:1rem;color:var(--appt-muted);font-size:.8rem}.appointment-picker{display:grid;grid-template-columns:minmax(0,1fr) 11.5rem;gap:1.5rem}.appointment-calendar{min-width:0}.appointment-month-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-block-end:.6rem}.appointment-month-header h3{font-size:.9rem;font-weight:700}.appointment-month-header button{display:flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;border:1px solid var(--appt-border);border-radius:.7rem;cursor:pointer}.appointment-month-header button:disabled{opacity:.25;cursor:default}.appointment-calendar table{width:100%;border-collapse:separate;border-spacing:.2rem;table-layout:fixed;text-align:center}.appointment-calendar th{padding-block:.65rem;color:var(--appt-muted);font-size:.65rem;font-weight:600}.appointment-calendar td{padding:0}.appointment-calendar td button{display:inline-flex;justify-content:center;align-items:center;width:100%;max-width:2.75rem;aspect-ratio:1;min-height:2.5rem;border:1px solid transparent;border-radius:.7rem;background:var(--appt-highlight);color:var(--appt-accent);font-size:.8rem;font-weight:700;cursor:pointer}.appointment-calendar td button:disabled{background:transparent;color:var(--appt-muted);opacity:.45;cursor:default;font-weight:400}.appointment-calendar td .appointment-day-outside{opacity:.2}.appointment-calendar td [aria-current=date]{border-color:var(--appt-accent)}.appointment-calendar td [aria-pressed=true],.appointment-time-grid [aria-pressed=true]{background:#714b67;border-color:#714b67;color:#fff}.appointment-calendar td button:not(:disabled):hover,.appointment-time-grid button:hover{border-color:var(--appt-accent)}.appointment-calendar-hint{display:flex;align-items:center;gap:.5rem;color:var(--appt-muted);margin-block-start:.9rem;font-size:.7rem}.appointment-calendar-hint>span{width:.6rem;height:.6rem;border-radius:50%;background:var(--appt-accent)}.appointment-times{min-width:0}.appointment-times h3{min-height:2rem;margin-block:.7rem .3rem;font-size:.8rem;font-weight:700;line-height:1.9}.appointment-times>p{margin-block-end:.8rem;color:var(--appt-muted);font-size:.7rem}.appointment-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-height:20rem;overflow-y:auto;padding:.2rem;scrollbar-width:thin}.appointment-time-grid button{display:flex;align-items:center;justify-content:center;gap:.3rem;min-height:2.75rem;padding:.5rem .25rem;border:1px solid var(--appt-border);border-radius:.6rem;color:var(--appt-text);font-size:.75rem;white-space:nowrap;cursor:pointer}.appointment-empty{padding-block:1rem;line-height:1.9}.appointment-selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-block-start:1.5rem;padding-block-start:1.5rem;border-block-start:1px solid var(--appt-border)}.appointment-selection p{color:var(--appt-muted);font-size:.75rem;line-height:1.9}.appointment-selection p span,.appointment-selection p strong{display:block}.appointment-selection strong{color:var(--appt-text)}.appointment-edit{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;margin-block:-.5rem 1rem;color:var(--appt-accent);font-size:.8rem;font-weight:650;cursor:pointer}.appointment-chosen-slot{display:flex;align-items:flex-start;gap:.75rem;border:1px solid var(--appt-border);border-radius:.85rem;padding:1rem;margin-block-end:1.5rem;background:var(--appt-soft)}.appointment-chosen-slot>svg{flex-shrink:0;margin-block-start:.25rem;color:var(--appt-accent)}.appointment-chosen-slot p{font-size:.8rem;line-height:1.9}.appointment-chosen-slot span,.appointment-chosen-slot strong{display:block}.appointment-chosen-slot span{color:var(--appt-muted)}.appointment-chosen-slot bdi{display:inline-block;margin-inline-start:.7rem;font-size:.7rem}.appointment-details form{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}.appointment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%}.appointment-details label{display:block;width:100%;font-size:.8rem;font-weight:650}.appointment-details :where(input,textarea){display:block;width:100%;min-width:0;margin-block-start:.6rem;padding:.8rem 1rem;border:1px solid var(--appt-border);border-radius:.7rem;background:var(--appt-soft);color:var(--appt-text);font:inherit;font-weight:400}.appointment-details textarea{resize:vertical}.appointment-form-note{color:var(--appt-muted);font-size:.75rem;line-height:1.8}.appointment-result{max-width:30rem;margin-inline:auto;padding-block:1rem;text-align:center}.appointment-result-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:1.25rem;margin:0 auto 1.25rem;background:var(--appt-highlight);color:var(--appt-accent)}.appointment-result>h2{margin-block:.7rem;font-size:1.35rem;font-weight:750;line-height:1.7}.appointment-result>p{margin-block-end:1.5rem;color:var(--appt-muted);font-size:.85rem;line-height:1.9}.appointment-result dl{margin-block-end:1.5rem;border:1px solid var(--appt-border);border-radius:1rem;padding:.5rem 1rem;background:var(--appt-soft);text-align:start}.appointment-result dl>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.7rem;padding-block:.85rem;font-size:.8rem;line-height:1.8}.appointment-result dt{color:var(--appt-muted)}.appointment-result dd{overflow-wrap:anywhere}.appointment-result dd small{display:block;color:var(--appt-muted)}.appointment-join{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.75rem 1.25rem;border-radius:.75rem;background:#714b67;color:#fff;font-size:.85rem;font-weight:700}.appointment-email-status{margin-block:1rem;color:var(--appt-muted);font-size:.8rem;line-height:1.9}.appointment-error{margin-block-start:1rem;color:#c33143;font-size:.85rem;line-height:1.8}.dark .appointment-error{color:#ff9d9d}@media (max-width:1100px){.appointment-picker{grid-template-columns:1fr}.appointment-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:none}.appointment-times h3{margin-block-start:0}}@media (max-width:767px){.appointment-page{padding-block:1rem 3rem}.appointment-shell{grid-template-columns:1fr;border-radius:1.1rem}.appointment-summary{border-inline-end:0;border-block-end:1px solid var(--appt-border);padding:1.25rem}.appointment-description,.appointment-host{margin-block-end:1rem}.appointment-facts{flex-direction:row;flex-wrap:wrap;gap:.7rem 1.3rem}.appointment-facts li:last-child{flex-basis:100%}.appointment-zone{margin-block-start:1rem;padding-block-start:1rem}.appointment-main{padding:1.25rem 1rem}.appointment-steps{gap:.65rem;margin-block-end:1.2rem}.appointment-steps li{font-size:.65rem}.appointment-picker{gap:1.2rem}.appointment-calendar table{border-spacing:.1rem}.appointment-calendar td button{min-height:2.25rem}.appointment-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-selection>button{width:100%}.appointment-form-row{grid-template-columns:1fr}.appointment-chosen-slot bdi{display:block;margin-inline:0}}