.booking-form{grid-template-columns:1fr 1fr;gap:16px;min-width:0;display:grid}.booking-form .field{gap:6px;min-width:0;display:grid}.booking-form .field.full{grid-column:1/-1}.booking-form .status{color:var(--muted);grid-column:1/-1;margin:0;font-size:.92rem}.booking-form .status:empty{display:none}.booking-form .status.show{color:var(--ink);border-left:3px solid var(--accent);padding-left:12px}.booking-form .when{grid-column:1/-1;gap:10px;min-width:0;display:grid}.booking-form .hint{color:var(--muted);font-size:.85rem;font-weight:400}.booking-form .chips{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.booking-form .times{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;display:grid}.booking-form .chip{font:500 .88rem var(--mono);color:var(--ink);background:var(--bg);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:10px;padding:10px}.booking-form .chips .chip{text-align:center;min-width:64px;font:700 1.05rem var(--body);border-radius:12px;flex:none;gap:2px;padding:10px 8px;display:grid}.booking-form .chips .chip small{font:500 .7rem var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.booking-form .chip:hover{border-color:var(--accent)}.booking-form .chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.booking-form .chip[aria-pressed=true] small{color:inherit}.booking-form .chip.pref{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.booking-form .chip.backup{border:1px solid var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.booking-form .picked{flex-wrap:wrap;gap:6px 14px;font-size:.9rem;display:flex}.booking-form .picked b{font-weight:600}.booking-form .linkish{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.booking-form .trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (width<=560px){.booking-form{grid-template-columns:1fr}}.booking-form .field[hidden]{display:none}.booking-form .check{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.booking-form .check input{width:auto;margin:0}.booking-form .wx{border-radius:50%;justify-self:center;width:7px;height:7px;display:inline-block}.booking-form .wx.good{background:var(--ok)}.booking-form .wx.poor{background:var(--warn)}.booking-form .legend{align-items:center;gap:6px;margin:0;display:flex}.booking-form .legend .wx.poor{margin-left:10px}.booking-form .airspace{align-items:center;gap:8px;margin:0;font-size:.85rem;display:flex}.booking-form .airspace:before{content:"";background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.booking-form .airspace.ok{color:var(--ok)}.booking-form .airspace.warn{color:var(--warn)}.booking-form .airspace.bad{color:var(--bad)}.booking-form .airspace[hidden]{display:none}.booking-form .address-field{position:relative}.booking-form .suggest{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 6px 18px #0000002e}.booking-form .suggest li{cursor:pointer;padding:8px 12px}.booking-form .suggest li:hover,.booking-form .suggest li[aria-selected=true]{background:var(--accent);color:var(--on-accent,#fff)}.booking-form .suggest[hidden]{display:none}.booking-form .matched{color:var(--muted);margin:0;font-size:.85rem}.booking-form .matched b{color:var(--ink);font-weight:600}.booking-form .matched[hidden],.booking-form .legend[hidden]{display:none}.booking-form.wizard{grid-template-columns:minmax(0,1fr);gap:16px;display:grid;container-type:inline-size}.booking-form .bk-layout{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}@container (width>=720px){.booking-form .bk-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start}}.booking-form .bk-steps{gap:10px;min-width:0;display:grid}.booking-form .step{border:1px solid var(--line);background:var(--bg);border-radius:14px}.booking-form .step[data-state=open]{border-color:var(--line-strong,var(--line))}.booking-form .step-head{align-items:center;gap:12px;padding:14px 16px;display:flex}.booking-form .step-head .stack{flex:1;gap:2px;min-width:0;display:grid}.booking-form .step-label{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.booking-form .step-summary{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.booking-form .num{border:1px solid var(--line);width:26px;height:26px;font:500 .75rem var(--mono);color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.booking-form .step[data-state=open] .num{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.booking-form .step[data-state=done] .num{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok);border-color:#0000;font-size:0}.booking-form .step[data-state=done] .num:before{content:"✓";font-size:.8rem}.booking-form .step[data-state=todo]{opacity:.6}.booking-form .step[data-state=open] .step-summary,.booking-form .step[data-state=todo] .step-summary{display:none}.booking-form .step[data-state=open] .step-label{color:var(--ink);font:700 1.05rem var(--body);letter-spacing:0;text-transform:none}.booking-form .change{margin-left:auto;font-size:.85rem}.booking-form .step:not([data-state=done]) .change{display:none}.booking-form .step-body{grid-template-columns:1fr 1fr;gap:16px;min-width:0;padding:0 16px 16px;display:grid}.booking-form .step:not([data-state=open]) .step-body{display:none}@media (width<=560px){.booking-form .step-body{grid-template-columns:1fr}}.booking-form .step-next{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-form .summary{border:1px solid var(--line);background:var(--bg);border-radius:14px;align-self:start;gap:14px;padding:18px;display:grid}.booking-form .summary .label{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.booking-form .summary .lines{gap:8px;font-size:.9rem;display:grid}.booking-form .summary .line{justify-content:space-between;gap:10px;display:flex}.booking-form .summary .mono{font-family:var(--mono)}.booking-form .summary .credit{color:var(--accent)}.booking-form .summary .rule{background:var(--line);height:1px}.booking-form .summary .total{align-items:baseline}.booking-form .summary .big{font:800 1.5rem var(--display)}.booking-form .summary .where{margin:0;font-size:.85rem}.booking-form .summary .hint{margin:0}.booking-form input[readonly]{color:var(--muted);background:0 0;border-style:dashed}.booking-form .summary .credit-note{color:var(--accent);margin:0}.booking-form .packages{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.booking-form .package{border:1px solid var(--line);cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:10px 12px;font-weight:400;display:grid}.booking-form .package:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.booking-form .package input{width:auto;accent-color:var(--accent);grid-row:span 2;margin:0}.booking-form .package .stack{display:contents}.booking-form .package b{grid-column:2;font-size:.92rem}.booking-form .package .pkg-note{color:var(--muted);grid-column:2/-1;font-size:.78rem;line-height:1.3}.booking-form .package .price{font:500 .85rem var(--mono);grid-area:1/3}.booking-form .send-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.booking-form .due{margin:0;font-size:.9rem;display:none}@container (width<=719px){.booking-form .summary{display:none}.booking-form .due{display:block}.booking-form .step-head{padding:12px 14px}.booking-form .step:not([data-state=open]) .step-head{padding:8px 14px}.booking-form .num{width:22px;height:22px}.booking-form .bk-steps{gap:8px}.booking-form .step-body{gap:12px;padding:0 14px 14px}.booking-form .chips .chip{min-width:56px;padding:6px;font-size:.95rem}.booking-form .times{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.booking-form .times .chip{padding:7px 6px;font-size:.8rem}.booking-form .when{gap:8px}.booking-form textarea{height:64px;min-height:64px}}
