.bk-overlay{position:fixed;inset:0;z-index:400;background:rgba(6,6,5,.84);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);opacity:0;pointer-events:none;transition:opacity .28s ease}.bk-overlay.open{opacity:1;pointer-events:auto}.bk-modal{background:var(--card);border:1px solid var(--line2);width:min(720px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;transform:translateY(14px) scale(.985);transition:transform .32s cubic-bezier(.2,.7,.2,1)}.bk-overlay.open .bk-modal{transform:none}.bk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px clamp(18px,3vw,28px) 18px;border-bottom:1px solid var(--line);flex-shrink:0}.bk-head .lbl{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.bk-head .lbl i{font-style:normal;color:var(--acc)}.bk-head h2{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:800;letter-spacing:-.02em;margin-top:8px;line-height:1.15}.bk-close{width:38px;height:38px;flex-shrink:0;border:1px solid var(--line2);background:0 0;color:var(--mut);font-size:1.1rem;line-height:1;cursor:pointer;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.bk-close:hover{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.bk-body{flex:1;min-height:0;overflow-y:auto;position:relative}.bk-form{padding:clamp(20px,3.4vw,30px)}.bk-form[hidden],.bk-form [hidden]{display:none}.bk-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin}.bk-day{flex:0 0 auto;min-width:62px;padding:10px 8px;border:1px solid var(--line);border-radius:10px;background:0 0;color:var(--mut);cursor:pointer;text-align:center;line-height:1.25;transition:border-color .18s,color .18s,background .18s}.bk-day i{display:block;font-style:normal;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.bk-day b{display:block;font-size:1.15rem;font-weight:800;color:var(--txt);margin:2px 0}.bk-day:hover{border-color:var(--line2);color:var(--txt)}.bk-day.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.bk-day.on b,.bk-day.on i{color:var(--acc-ink)}.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:16px;max-height:280px;overflow-y:auto}.bk-slot{min-width:0;padding:11px 6px;border:1px solid var(--line);border-radius:9px;background:0 0;color:var(--txt);font-size:.86rem;font-weight:600;cursor:pointer;transition:border-color .18s,background .18s,color .18s}.bk-slot:hover{border-color:var(--acc);color:var(--acc)}.bk-tzline{margin-top:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}.bk-tzline select{flex:1 1 180px;min-width:0;max-width:100%;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;color:var(--txt);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:7px 9px;cursor:pointer;text-transform:none;transition:border-color .18s}.bk-tzline select:hover{border-color:var(--line2)}.bk-tzline select:focus{outline:none;border-color:var(--acc)}.bk-chosen{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.92rem;font-weight:600;color:var(--txt);padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line)}.bk-change{background:0 0;border:0;padding:0;cursor:pointer;color:var(--acc);font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid transparent;transition:border-color .2s}.bk-change:hover{border-color:var(--acc)}.bk-details label{display:block;margin-bottom:13px}.bk-details label>span{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:7px}.bk-details label>span i{font-style:normal;text-transform:none;letter-spacing:0}.bk-details input,.bk-details textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--txt);font:inherit;font-size:.9rem;transition:border-color .18s}.bk-details input:focus,.bk-details textarea:focus{outline:none;border-color:var(--acc)}.bk-details textarea{resize:vertical;min-height:70px}.bk-details input::placeholder,.bk-details textarea::placeholder{color:var(--dim)}.bk-details .btn{width:100%;justify-content:center;margin-top:4px}.bk-details button[disabled]{opacity:.6;cursor:progress}.bk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.bk-err{color:#ff8a7a;font-size:.82rem;margin-bottom:10px}.bk-done{text-align:center;padding:clamp(18px,4vw,34px) 0}.bk-tick{width:48px;height:48px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--acc);color:var(--acc-ink);font-size:1.5rem;font-weight:800}.bk-done h3{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.bk-done p{font-size:.95rem;color:var(--txt);font-weight:600}.bk-done .bk-sub{font-size:.85rem;color:var(--mut);font-weight:400;margin-top:6px}.bk-done .btn{margin-top:18px}@media(max-width:520px){.bk-slots{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));max-height:220px}}@media(prefers-reduced-motion:reduce){.bk-day,.bk-slot,.bk-change,.bk-details input,.bk-details textarea{transition:none}}.bk-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.bk-fallback{display:none;padding:clamp(28px,5vw,44px) clamp(18px,3vw,28px);text-align:center}.bk-fallback p{font-size:.88rem;color:var(--mut);line-height:1.7;max-width:44ch;margin:0 auto 22px}.bk-alt{border-top:1px solid var(--line);padding:16px clamp(18px,3vw,28px);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.bk-alt span{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.bk-alt a{font-size:.85rem;font-weight:700;color:var(--acc);border-bottom:1px solid transparent;transition:border-color .2s}.bk-alt a:hover{border-color:var(--acc)}body.bk-lock{overflow:hidden}