:root{--primary:#5b8def;--primary-dark:#4a7ade;--bg:#f5f7fa;--surface:#ffffff;--text:#232d3b;--muted:#8f9ca9;--border:#e3e8ee;--success:#2ecc71;--danger:#e74c3c;--radius:12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.bk-shell{max-width:720px;margin:0 auto;padding:32px 16px 64px}.bk-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 4px 24px rgba(35,45,59,.06);overflow:hidden}.bk-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.bk-header h1{font-size:18px;font-weight:600}.bk-steps{display:flex;gap:6px}.bk-step-dot{width:26px;height:4px;border-radius:2px;background:var(--border);transition:background .2s}.bk-step-dot.active{background:var(--primary)}.bk-body{padding:24px;min-height:320px}.bk-section-title{font-size:14px;color:var(--muted);margin-bottom:14px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.bk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.bk-option{border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;background:var(--surface);text-align:left;transition:border-color .15s,box-shadow .15s;font:inherit;color:inherit}.bk-option.selected,.bk-option:hover{border-color:var(--primary)}.bk-option.selected{box-shadow:0 0 0 3px rgba(91,141,239,.15)}.bk-option .name{font-weight:600;margin-bottom:4px}.bk-option .meta{font-size:13px;color:var(--muted);display:flex;gap:10px}.bk-option .price{color:var(--primary);font-weight:600}.bk-dates{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:18px}.bk-date{min-width:64px;border:1.5px solid var(--border);border-radius:10px;padding:10px 6px;text-align:center;cursor:pointer;background:var(--surface);font:inherit;color:inherit}.bk-date .dow{font-size:11px;color:var(--muted);text-transform:uppercase}.bk-date .num{font-size:17px;font-weight:600;margin-top:2px}.bk-date.selected{border-color:var(--primary);background:rgba(91,141,239,.08)}.bk-date:disabled{opacity:.35;cursor:default}.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-gap:8px;gap:8px}.bk-slot{border:1.5px solid var(--border);border-radius:8px;padding:10px 4px;text-align:center;cursor:pointer;background:var(--surface);font:inherit;font-size:14px;color:inherit}.bk-slot.selected,.bk-slot:hover{border-color:var(--primary)}.bk-slot.selected{background:var(--primary);color:#fff;font-weight:600}.bk-empty{color:var(--muted);padding:24px 0;text-align:center}.bk-form{display:grid;grid-gap:14px;gap:14px;max-width:420px}.bk-field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.bk-field input,.bk-field textarea{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit}.bk-field input:focus,.bk-field textarea:focus{outline:none;border-color:var(--primary)}.bk-summary{border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:grid;grid-gap:10px;gap:10px;max-width:460px}.bk-summary .row{display:flex;justify-content:space-between;font-size:14px}.bk-summary .row .label{color:var(--muted)}.bk-summary .total{padding-top:10px;font-weight:700;font-size:16px}.bk-footer,.bk-summary .total{border-top:1px solid var(--border)}.bk-footer{padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.bk-btn{border:none;border-radius:8px;padding:11px 22px;font:inherit;font-weight:600;cursor:pointer}.bk-btn.primary{background:var(--primary);color:#fff}.bk-btn.primary:hover{background:var(--primary-dark)}.bk-btn.primary:disabled{opacity:.5;cursor:default}.bk-btn.ghost{background:transparent;color:var(--muted)}.bk-done{text-align:center;padding:40px 20px}.bk-done .check{width:64px;height:64px;border-radius:50%;background:var(--success);color:#fff;font-size:32px;line-height:64px;margin:0 auto 18px}.bk-done h2{margin-bottom:8px}.bk-done p{color:var(--muted)}.bk-error{background:rgba(231,76,60,.08);border:1px solid rgba(231,76,60,.3);color:var(--danger);border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:14px}.bk-powered{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}