/* Pro Booking Manager – Style inspiré Bookly */
.pbm-wrapper{max-width:860px;margin:24px auto;padding:0 16px}
.pbm-card{background:#fff;border:1px solid #e9eef5;border-radius:20px;box-shadow:0 6px 20px rgba(16,24,40,.06);overflow:hidden}


/* steps */
.pbm-steps{display:flex;gap:8px;padding:14px 16px;background:#f6f9fc;border-bottom:1px solid #eef2f7;flex-wrap:wrap}
.pbm-step{display:flex;align-items:center;gap:8px;font-weight:600;color:#6b778c;padding:8px 10px;border-radius:12px}
.pbm-step span:first-child{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:50%;background:#e3eaf3;color:#3b82f6;font-weight:700}
.pbm-step.is-active{background:#e8f0ff;color:#1e3a8a}


/* panes */
.pbm-form{padding:20px}
.pbm-pane{animation:pbmFade .2s ease}
@keyframes pbmFade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}


/* grid tiles */
.pbm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:10px}
.pbm-tile{position:relative;cursor:pointer}
.pbm-tile input{position:absolute;inset:0;opacity:0}
.pbm-tile-body{display:block;background:#fff;border:1px solid #e9eef5;border-radius:16px;padding:14px 12px;box-shadow:0 2px 6px rgba(16,24,40,.04);transition:.15s ease}
.pbm-tile:hover .pbm-tile-body{transform:translateY(-1px);box-shadow:0 6px 16px rgba(16,24,40,.08)}
.pbm-tile input:checked + .pbm-tile-body{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15)}
.pbm-tile-title{font-weight:700;color:#0f172a;display:block}
.pbm-tile-sub{font-size:12px;color:#64748b;margin-top:2px;display:block}
.pbm-tile-desc{font-size:12px;color:#708198;margin-top:6px;display:block;line-height:1.4}
.pbm-tile-color{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;border:1px solid rgba(0,0,0,.04);vertical-align:-2px}
.pbm-avatar{width:40px;height:40px;border-radius:12px;background:#eef2f7;background-size:cover;background-position:center;margin-right:8px;display:inline-block;vertical-align:middle}


/* layout */
.pbm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@