.cal{--ink: var(--text, #1a1d24);--ink-2: var(--text-2, #4a4f5e);--ink-3: var(--text-3, #8b90a0);--paper: var(--bg, #fff);--paper-2: var(--bg-alt, #f7f8fa);--rule: var(--border, #e2e5ea);--rule-soft: var(--border, #e2e5ea);--rule-faint: var(--border, #e2e5ea);--cta-color: var(--accent, #d84315);--serif: var(--sans, "IBM Plex Sans", -apple-system, sans-serif);--mono: var(--mono, "IBM Plex Mono", monospace);background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:4px;padding:16px;width:100%;max-width:420px;font-family:var(--mono);font-size:13px;line-height:1.5;box-sizing:border-box}.cal *,.cal *:before,.cal *:after{box-sizing:border-box}.cal [hidden]{display:none!important}.cal-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px;border-bottom:1px solid var(--rule);margin-bottom:10px}.cal-month{font-family:var(--serif);font-size:15px;font-weight:500;display:inline-flex;align-items:baseline;gap:10px}.cal-month .nav{font-family:var(--mono);font-size:12px;color:var(--ink-3);background:transparent;border:0;padding:0 2px;cursor:pointer;user-select:none}.cal-month .nav:hover{color:var(--ink)}.cal-meta{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.cal-body{display:flex;flex-direction:column;gap:10px}.cal-days{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.cal-days .dow{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding-bottom:2px}.cal-days .d{appearance:none;-webkit-appearance:none;border-radius:3px;font-family:var(--mono);font-size:12px;text-align:center;padding:7px 0;border:1px solid var(--rule-soft);background:var(--paper);color:var(--ink);cursor:pointer;transition:background .08s ease-out,color .08s ease-out,border-color .08s ease-out}.cal-days .d.past,.cal-days .d.empty{color:var(--ink-3);opacity:.5;cursor:default}.cal-days .d.pending{color:var(--ink-3);border-color:var(--rule-soft);cursor:default}.cal-days-loading .d.pending{animation:cal-pulse 1.1s ease-in-out infinite}@keyframes cal-pulse{0%,to{opacity:.55}50%{opacity:.85}}@media(prefers-reduced-motion:reduce){.cal-days-loading .d.pending{animation:none;opacity:.7}}.cal-days .d.avail{border-color:var(--ink-2);font-weight:600}.cal-days .d.sel,.cal-days .d.avail.sel{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important;font-weight:700}.cal-days .d.avail:not(.sel):hover{background:var(--paper-2);border-color:var(--ink)}.cal-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding-top:6px;border-top:1px dashed var(--rule-soft)}.cal-slots .sel-day{grid-column:1 / -1;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:2px}.cal-slots .slot{appearance:none;-webkit-appearance:none;border-radius:3px;font-family:var(--mono);font-size:11px;padding:7px 4px;border:1px solid var(--rule-soft);text-align:center;background:var(--paper);color:var(--ink);cursor:pointer;transition:background .08s ease-out,color .08s ease-out,border-color .08s ease-out}.cal-slots .slot.sel{background:var(--ink)!important;color:var(--paper)!important;font-weight:700}.cal-slots .slot:disabled{color:var(--rule-soft);border-color:var(--rule-faint);cursor:default}.cal-slots .slot:not(:disabled):not(.sel):hover{background:var(--paper-2)}.cal-slots .slot.empty{border-style:dashed;cursor:default;color:var(--rule-soft)}.cal-form{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px dashed var(--rule-soft)}.cal-form .sel-day{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:2px}.cal-form label{display:flex;flex-direction:column;gap:3px}.cal-form label span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.cal-form input{font-family:var(--mono);font-size:12px;padding:6px 8px;border:1px solid var(--rule-soft);background:var(--paper);color:var(--ink);outline:none}.cal-form input:focus{border-color:var(--ink)}.form-error{font-family:var(--mono);font-size:10px;color:#a00;padding:4px 0 0}.cal-load-error{padding:8px 0 0;border-top:1px dashed var(--rule-soft);font-family:var(--mono);font-size:11px;color:#a00}.cal-success{padding-top:8px;border-top:1px dashed var(--rule-soft)}.success-headline{font-family:var(--serif);font-size:18px;color:var(--ink);margin-bottom:6px}.success-detail{font-family:var(--mono);font-size:11px;color:var(--ink-2);margin-bottom:8px}.cal-foot{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--rule-soft)}.form-note{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;color:var(--ink-2)}.cal .cta-btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:12px 18px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:3px;text-decoration:none;cursor:pointer;transition:background .08s ease-out,border-color .08s ease-out}.cal .cta-btn:hover{background:#000;border-color:#000}.cal .cta-btn.gold{background:var(--cta-color);color:#fff;border-color:var(--cta-color)}.cta-btn:disabled{opacity:.6;cursor:wait}
