/* Meeting request page. Uses the theme variables from app.css. */
.bk { padding-block: clamp(72px, 9vw, 140px); border-top: 1px solid var(--line); }
.bk-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 4vw, 64px); padding: 0 var(--m); align-items: start; }
.bk-side { position: sticky; top: 110px; }
.bk-steps { list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: 22px; counter-reset: s; }
.bk-steps li { counter-increment: s; display: grid; grid-template-columns: 44px 1fr; gap: 4px 16px; }
.bk-steps li::before { content: counter(s); grid-row: span 2; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-weight: 800; }
.bk-steps strong { font-size: 19px; letter-spacing: -0.01em; }
.bk-steps span { color: var(--txt-2); }
.bk-form { max-width: none; padding: clamp(22px, 3vw, 36px); border-radius: 22px; border: 1px solid var(--line); background: var(--panel); }
.bk-format { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bk-format legend { font-weight: 600; margin-bottom: 10px; padding: 0; }
.bk-format label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); cursor: pointer; font-weight: 600; margin: 0; }
.bk-format input { accent-color: var(--red); width: 18px; height: 18px; margin: 0; }
.bk-format label:has(input:checked) { border-color: var(--red); }
@media (max-width: 900px) { .bk-grid { grid-template-columns: 1fr; } .bk-side { position: static; } }
.x-dock.off { display: none; }
