
.bbp-app{--ink:#121826;--muted:#7b8291;--line:#eceef3;--soft:#f6f7f9;max-width:760px;margin:0 auto;min-height:100vh;background:#fff;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:24px 20px 120px;box-sizing:border-box}
.bbp-app *{box-sizing:border-box}
.bbp-header{display:flex;justify-content:space-between;align-items:center;margin:8px 0 22px}
.bbp-header small,.bbp-section-title small,.bbp-booking-head small{color:var(--muted);font-weight:600}
.bbp-header h1,.bbp-booking-head h1{margin:2px 0 0;font-size:28px;letter-spacing:-.6px}
.bbp-avatar{width:44px;height:44px;border-radius:15px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.bbp-next{background:linear-gradient(135deg,#151927,#272033);color:#fff;border-radius:26px;padding:24px;box-shadow:0 18px 45px rgba(17,24,39,.14)}
.bbp-next span{opacity:.68;font-size:13px}.bbp-next h2{font-size:24px;margin:8px 0}.bbp-next p{opacity:.75;line-height:1.5;margin:0 0 18px}
.bbp-next a{display:inline-flex;text-decoration:none;background:#fff;color:#111827;border-radius:999px;padding:11px 16px;font-weight:800}
.bbp-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 28px}
.bbp-mini-grid>div{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}
.bbp-mini-grid strong{display:block;font-size:23px}.bbp-mini-grid span{color:var(--muted);font-size:13px}
.bbp-section-title h3{font-size:20px;margin:3px 0 13px}
.bbp-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bbp-card{border:1px solid var(--line);border-radius:19px;padding:18px;min-height:130px}
.bbp-card>div{font-size:24px;margin-bottom:22px}.bbp-card strong{display:block}.bbp-card span{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.4}
.bbp-bottom{position:fixed;z-index:9999;left:50%;transform:translateX(-50%);bottom:12px;width:min(calc(100% - 24px),736px);height:76px;background:rgba(255,255,255,.96);border:1px solid #e5e7eb;border-radius:24px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:8px 7px;box-shadow:0 18px 55px rgba(17,24,39,.16);backdrop-filter:blur(16px)}
.bbp-bottom a{text-decoration:none;color:#818898;text-align:center;font-size:10px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:4px}
.bbp-bottom i{font-style:normal;font-size:20px;line-height:24px}.bbp-bottom a.active{color:#111827}
.bbp-bottom .bbp-main-action{position:relative;top:-14px;color:#fff}
.bbp-main-action i{width:58px;height:58px;border-radius:20px;background:#111827;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 10px 24px rgba(17,24,39,.25)}
.bbp-main-action span{background:#111827;padding:4px 8px;border-radius:999px;margin-top:-3px;white-space:nowrap}
.bbp-booking{padding-bottom:50px}
.bbp-booking-head{display:flex;gap:14px;align-items:center;margin:10px 0 28px}
.bbp-booking-head>a{text-decoration:none;color:#111827;width:42px;height:42px;border-radius:14px;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:20px}
.bbp-stepper{display:flex;align-items:center;margin-bottom:25px}.bbp-stepper span{width:28px;height:28px;border-radius:50%;background:#eceef3;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#8b91a0}.bbp-stepper span.on{background:#111827;color:#fff}.bbp-stepper b{height:2px;background:#eceef3;flex:1}
.bbp-service-demo{display:grid;gap:12px}.bbp-service-demo button{border:1px solid var(--line);background:#fff;border-radius:19px;padding:17px;text-align:left;display:grid;grid-template-columns:42px 1fr 28px;align-items:center;gap:12px;cursor:pointer}.bbp-service-demo button>span{width:42px;height:42px;border-radius:14px;background:var(--soft);display:flex;align-items:center;justify-content:center}.bbp-service-demo strong{display:block;font-size:15px}.bbp-service-demo small{display:block;color:var(--muted);margin-top:4px}.bbp-service-demo em{font-style:normal;font-size:20px}
.bbp-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:18px;background:var(--soft);padding:14px;border-radius:14px}
@media(max-width:540px){.bbp-app{padding-left:16px;padding-right:16px}.bbp-header h1,.bbp-booking-head h1{font-size:24px}.bbp-next{border-radius:22px}.bbp-cards{grid-template-columns:1fr 1fr}.bbp-bottom{bottom:8px;height:72px;border-radius:22px}.bbp-main-action i{width:54px;height:54px}}

.bbp-demo-switch{background:#111827;color:#fff;border-radius:14px;padding:11px 13px;font-size:11px;margin-bottom:14px}.bbp-demo-switch a{color:#fff;font-weight:800;float:right;text-decoration:none}

.bbp-booking-live{position:relative}.bbp-book-step{display:none}.bbp-book-step.active{display:block;animation:bbpFade .2s ease}@keyframes bbpFade{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
.bbp-step-title{margin-bottom:18px}.bbp-step-title small{font-size:9px;letter-spacing:1.4px;color:#969ca8;font-weight:850}.bbp-step-title h2{font-size:25px;margin:4px 0 5px;letter-spacing:-.5px}.bbp-step-title p{color:#858b98;font-size:13px;margin:0;line-height:1.45}
.bbp-service-live-grid,.bbp-staff-options{display:grid;gap:10px}.bbp-service-option,.bbp-staff-option{width:100%;border:1px solid #e8eaf0;background:#fff;border-radius:18px;padding:15px;text-align:left;display:grid;grid-template-columns:46px 1fr 26px;gap:12px;align-items:center;cursor:pointer;transition:.18s}.bbp-service-option:hover,.bbp-staff-option:hover{transform:translateY(-1px);border-color:#cfd3db;box-shadow:0 10px 28px rgba(17,24,39,.06)}.bbp-service-icon,.bbp-staff-avatar{width:46px;height:46px;border-radius:15px;background:#f4f5f7;display:flex;align-items:center;justify-content:center;font-weight:900}.bbp-service-option strong,.bbp-staff-option strong{display:block;font-size:14px}.bbp-service-option small,.bbp-staff-option small{display:block;color:#858b98;font-size:11px;margin-top:3px}.bbp-service-option em,.bbp-staff-option em{font-style:normal;font-size:18px;color:#707684}
.bbp-back-link{margin-top:16px;border:0;background:none;color:#6f7582;font-size:11px;font-weight:800;padding:6px 0;cursor:pointer}
.bbp-date-card{border:1px solid #e8eaf0;border-radius:17px;padding:15px;margin-bottom:14px}.bbp-date-card label{display:block;font-size:11px;font-weight:800;margin-bottom:7px}.bbp-date-card input{width:100%;height:46px;border:1px solid #e2e5eb;border-radius:12px;padding:0 12px;background:#fff}
.bbp-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bbp-slot{border:1px solid #e5e8ed;background:#fff;border-radius:12px;padding:12px 7px;font-weight:850;color:#272c37;cursor:pointer}.bbp-slot.selected{background:#171a25;color:#fff;border-color:#171a25}.bbp-slots-hint,.bbp-loading,.bbp-no-slots,.bbp-empty-state{grid-column:1/-1;background:#f6f7f9;border-radius:14px;padding:18px;color:#858b98;font-size:12px;text-align:center}.bbp-no-slots strong,.bbp-no-slots span{display:block}.bbp-no-slots span{margin-top:4px}
.bbp-summary-card{border:1px solid #e8eaf0;border-radius:20px;overflow:hidden}.bbp-summary-card>div{display:flex;justify-content:space-between;gap:16px;padding:15px;border-bottom:1px solid #eff1f4}.bbp-summary-card>div:last-child{border-bottom:0}.bbp-summary-card span{color:#8a909d;font-size:11px}.bbp-summary-card strong{text-align:right;font-size:12px}.bbp-confirm-btn{width:100%;height:52px;border:0;border-radius:15px;background:#171a25;color:#fff;font-weight:850;margin-top:14px;cursor:pointer}.bbp-confirm-btn:disabled{opacity:.65}
.bbp-success{text-align:center;padding:20px 4px}.bbp-success-icon{width:68px;height:68px;border-radius:22px;background:#171a25;color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 22px}.bbp-success>small{font-size:9px;letter-spacing:1.4px;color:#9298a4;font-weight:850}.bbp-success h2{font-size:26px;margin:6px 0}.bbp-success>p{color:#858b98;line-height:1.5;font-size:13px;max-width:470px;margin:0 auto 20px}.bbp-success-detail{border:1px solid #e8eaf0;border-radius:17px;text-align:left;overflow:hidden;margin:0 auto 18px;max-width:470px}.bbp-success-detail>div{display:flex;justify-content:space-between;padding:13px 14px;border-bottom:1px solid #eef0f3}.bbp-success-detail>div:last-child{border-bottom:0}.bbp-success-detail span{font-size:10px;color:#8a909d}.bbp-success-detail strong{font-size:11px}.bbp-success>a{display:inline-flex;background:#171a25;color:#fff;text-decoration:none;border-radius:999px;padding:11px 16px;font-size:11px;font-weight:850}
@media(max-width:540px){.bbp-slots{grid-template-columns:repeat(3,1fr)}}
