.cbf{background:linear-gradient(165deg, color-mix(in srgb, var(--color-white) 88%, var(--color-lavender-glow)), var(--color-white));border:1px solid var(--color-line);border-radius:var(--radius-lg);gap:1rem;max-width:34rem;margin:0 auto;padding:clamp(1.25rem,4vw,2rem);display:grid;box-shadow:0 18px 40px #2a204014}.cbf--wide{max-width:min(56rem,100%)}.cbf--done{text-align:center}.cbf__head{gap:.55rem;margin-bottom:.35rem;display:grid}.cbf__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--color-lavender-deep);margin:0;font-size:.85rem;font-weight:700}.cbf__head h1,.cbf--done h1{font-size:clamp(1.7rem,4vw,2.2rem)}.cbf__lead,.cbf--done p{color:var(--color-ink-soft);margin:0}.cbf__notice{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-mint-soft) 80%, white);color:var(--color-ink);margin:0;padding:.75rem .9rem;font-size:.95rem}.cbf__grid{grid-template-columns:1.4fr .7fr 1fr;gap:1rem;display:grid}.cbf__field{gap:.35rem;display:grid}.cbf__field>span{font-size:.92rem;font-weight:700}.cbf__field input,.cbf__field select{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-white);width:100%;color:var(--color-ink);padding:.7rem .85rem}.cbf__field input:focus,.cbf__field select:focus{outline:2px solid var(--color-lavender);outline-offset:1px}.cbf__address{position:relative}.cbf__suggest{z-index:5;background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-sm);max-height:14rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto;box-shadow:0 12px 28px #2a20401f}.cbf__suggest-item{text-align:left;cursor:pointer;width:100%;color:var(--color-ink);background:0 0;border:0;border-radius:.55rem;padding:.55rem .65rem}.cbf__suggest-item:hover,.cbf__suggest-item:focus-visible{background:var(--color-lavender-glow)}.cbf__suggest-item.is-custom{color:var(--color-ink-soft);font-style:italic}.cbf-cal,.cbf-day{border:1px solid var(--color-line);border-radius:var(--radius);background:color-mix(in srgb, var(--color-white) 94%, var(--color-foam));gap:.75rem;padding:1rem;display:grid}.cbf-cal__bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.cbf-cal__title{margin:0;font-size:1.25rem}.cbf-cal__lead{color:var(--color-ink-soft);margin:.2rem 0 0;font-size:.92rem}.cbf-cal__grid{min-height:0}.cbf-cal__cell{aspect-ratio:1;text-align:center;justify-content:center;align-items:center;gap:.2rem;width:100%;height:auto;min-height:0;padding:.35rem;position:relative;overflow:hidden}.cbf-cal__cell.is-free{background:#edf9f2;border-color:#97c8b2}.cbf-cal__cell.is-free:hover:not(.is-blocked):not(.is-selected){background:#d9f1e4;border-color:#1f7a5c;box-shadow:inset 0 0 0 2px #1f7a5c}.cbf-cal__cell.is-today{border-color:#1a1a1a;box-shadow:inset 0 0 0 2px #1a1a1a}.cbf-cal__cell.is-today.is-free{background:#edf9f2;border-color:#1a1a1a;box-shadow:inset 0 0 0 2px #1a1a1a}.cbf-cal__cell.is-today.is-free:hover:not(.is-blocked):not(.is-selected){background:#d9f1e4;border-color:#1a1a1a;box-shadow:inset 0 0 0 2px #1a1a1a}.cbf-cal__cell.is-today .zc__day-num--today{color:#000}.cbf-cal__cell.is-today-full,.cbf-cal__cell.is-today-full.is-blocked{opacity:1;cursor:not-allowed;background:#f3eced;border-color:#b07884;box-shadow:inset 0 0 0 2px #b07884}.cbf-cal__cell.is-today-full .zc__day-num--today{color:#8a5a66}.cbf-cal__grid .zc__cell--empty{aspect-ratio:1;height:auto;min-height:0}.cbf-cal__cell.is-blocked{cursor:not-allowed}.cbf-cal__cell.is-off.is-blocked:not(.is-today-full){opacity:.48}.cbf-cal__tap-tip{color:#fff;text-align:center;pointer-events:none;opacity:1;background:#2a1a3d;border-radius:.55rem;width:max-content;max-width:min(11rem,70vw);padding:.4rem .55rem;font-size:.72rem;font-weight:700;line-height:1.25;box-shadow:0 8px 20px #1c0e3047}.cbf-cal__tap-tip--portal{z-index:1400;opacity:1;position:fixed;transform:translate(-50%,calc(-100% - .4rem))}.cbf-cal__tap-tip--portal:after{content:"";border:.35rem solid #0000;border-top-color:#2a1a3d;position:absolute;top:100%;left:50%;transform:translate(-50%)}.cbf-cal__cell.has-jobs{background:color-mix(in srgb, var(--color-foam) 70%, #d9dde8)}.cbf-cal__cell .zc__day-num{font-size:clamp(1.2rem,3.4vw,1.65rem);font-weight:800;line-height:1}.cbf-cal__cell .zc__day-num--today{letter-spacing:.01em;text-transform:none;color:#000;font-size:clamp(.72rem,2vw,.88rem);font-weight:700;line-height:1.15}.cbf-cal__cell.is-selected.is-free{background:#d9f1e4;border-color:#1f7a5c;box-shadow:inset 0 0 0 2px #1f7a5c}.cbf-cal__cell.is-today.is-selected.is-free{background:#d9f1e4;border-color:#1a1a1a;box-shadow:inset 0 0 0 2px #1a1a1a}.cbf-cal__busy-hint,.cbf-cal__free-hint{color:var(--color-ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:clamp(.58rem,1.6vw,.72rem);font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.cbf-cal__free-hint{color:color-mix(in srgb, #1f7a5c 88%, var(--color-ink))}.cbf-cal__busy-hint{color:#a66b78}.cbf-day__head{gap:.25rem;display:grid}.cbf-day__picked{margin:.35rem 0 0;font-size:.95rem}.cbf-day__timeline-wrap{height:min(28rem,62vh);min-height:18rem}.cbf-day__timeline{height:100%}.cbf-day__busy{cursor:default;pointer-events:none;opacity:.88;z-index:1;background:#756888!important}.cbf-day__busy.is-unconfirmed{color:#5c5668;opacity:.95;box-shadow:none;background:#dedbe3!important}.cbf-day__preview{pointer-events:auto;cursor:pointer;z-index:2;background:color-mix(in srgb, var(--color-lavender) 82%, #5a3fa0)!important}.cbf-day__earliest-slot{z-index:3;box-sizing:border-box;min-height:1.6rem;color:color-mix(in srgb, #1f7a5c 88%, var(--color-ink));font:inherit;text-align:left;cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:.55rem;align-content:start;gap:.15rem;margin:0;padding:.35rem .55rem;display:grid;position:absolute;left:.55rem;right:.25rem;overflow:visible}.cbf-day__earliest-border{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cbf-day__earliest-border rect{x:1px;y:1px;rx:.55rem;ry:.55rem;fill:none;stroke:#2c9370;stroke-width:2px;stroke-dasharray:2.2 1.8;stroke-linecap:butt;width:calc(100% - 2px);height:calc(100% - 2px);animation:2.4s linear infinite cbf-earliest-dash}@keyframes cbf-earliest-dash{to{stroke-dashoffset:-4px}}@media (prefers-reduced-motion:reduce){.cbf-day__earliest-border rect{animation:none}}.cbf-day__earliest-slot strong{z-index:1;font-size:.88rem;line-height:1.25;position:relative}.cbf-day__times{gap:.9rem;display:grid}.cbf-day__times-group{gap:.4rem;display:grid}.cbf-day__times-label{color:var(--color-ink-soft);margin:0;font-size:.88rem;font-weight:700}.cbf-day__duration-link{color:var(--color-lavender-deep);font:inherit;text-align:left;text-underline-offset:.15em;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.84rem;font-weight:600;text-decoration:underline}.cbf-day__duration-link:hover,.cbf-day__duration-link:focus-visible{color:var(--color-ink)}.cbf-day__chips{flex-wrap:wrap;gap:.4rem;display:flex}.cbf-day__chip{border:1px solid var(--color-line);background:var(--color-white);color:var(--color-ink);font:inherit;cursor:pointer;border-radius:999px;margin:0;padding:.4rem .7rem;font-size:.88rem;font-weight:700}.cbf-day__chip--earliest{border-color:color-mix(in srgb, #2f9d78 50%, var(--color-line));background:color-mix(in srgb, var(--color-mint-soft) 70%, white)}.cbf-day__chip:hover{border-color:var(--color-lavender);background:var(--color-lavender-glow)}.cbf-day__chip.is-selected{border-color:var(--color-lavender-deep);background:var(--color-lavender-deep);color:#fff}.cbf-day__placeholder{color:var(--color-ink-soft);text-align:center;margin:0;padding:1.25rem}.cbf__error{color:#a33a5c;margin:0;font-weight:600}.cbf__submit{justify-self:start;margin-top:.25rem}.cbf__help{color:var(--color-ink-soft);margin:.25rem 0 0;font-size:.92rem}.cbf__help a{color:var(--color-lavender-deep);font-weight:600}@media (width<=820px){.cbf__grid{grid-template-columns:1fr}}
