.apermis-booking{max-width:640px;margin:1.5rem auto;font-size:16px;line-height:1.5}
.apermis-booking *{box-sizing:border-box}
.apb-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid #e5e7eb}
.apb-tab{background:none;border:none;padding:.6rem 1rem;font-size:1rem;cursor:pointer;color:#6b7280;border-bottom:3px solid transparent;margin-bottom:-2px}
.apb-tab.is-active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}
.apb-form label{display:block;font-weight:600;margin:.4rem 0;color:#374151;font-size:.95rem}
.apb-form select,.apb-form input[type=text],.apb-form input[type=tel],.apb-form input[type=date]{
  width:100%;padding:.6rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;margin-top:.2rem;font-weight:400}
.apb-row{display:flex;gap:1rem;flex-wrap:wrap}
.apb-row>label{flex:1;min-width:160px}
.apb-btn{display:inline-block;margin-top:1rem;padding:.7rem 1.4rem;border:none;border-radius:8px;background:#e5e7eb;color:#111827;font-size:1rem;font-weight:600;cursor:pointer}
.apb-btn:hover{background:#d1d5db}
.apb-btn-primary{background:#2563eb;color:#fff}
.apb-btn-primary:hover{background:#1d4ed8}
.apb-btn-primary:disabled{background:#93c5fd;cursor:wait}
.apb-btn-sm{margin:0;padding:.35rem .8rem;font-size:.9rem}
.apb-btn-danger{background:#fee2e2;color:#b91c1c}
.apb-btn-danger:hover{background:#fecaca}
.apb-slots{margin-top:1.2rem}
.apb-slots-title{font-weight:600;margin:.3rem 0}
.apb-slots-list{display:flex;flex-wrap:wrap;gap:.5rem}
.apb-slot{padding:.5rem .9rem;border:1px solid #2563eb;background:#eff6ff;color:#1d4ed8;border-radius:8px;cursor:pointer;font-size:.95rem}
.apb-slot:hover{background:#dbeafe}
.apb-slot.is-sel{background:#2563eb;color:#fff}
.apb-confirm{margin-top:1.2rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}
.apb-recap{margin:0 0 .8rem}
.apb-consent{font-weight:400;font-size:.9rem;color:#4b5563;display:flex;gap:.5rem;align-items:flex-start;margin-top:.6rem}
.apb-consent input{width:auto;margin-top:.25rem}
.apb-msg{margin-top:1rem;font-weight:600}
.apb-msg.apb-ok{color:#15803d}
.apb-msg.apb-err{color:#b91c1c}
.apb-rdvlist{margin-top:1rem}
.apb-rdv{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .8rem;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.5rem}
.apb-rdv-wrap{margin-bottom:.6rem}
.apb-rdv-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.apb-move{margin-top:-.55rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 10px 10px}
.apb-move-title{font-weight:700;margin:0 0 .6rem}
.apb-move>label{display:block;margin-bottom:.6rem}
.apb-mv-slotlist{display:flex;flex-wrap:wrap;gap:.5rem}
.apb-move .apb-btn{margin-top:.5rem}
/* sections Gérer : prochains RDV + historique */
.apb-section-title{font-size:1.05rem;font-weight:700;margin:1.2rem 0 .6rem}
.apb-section-title:first-child{margin-top:0}
.apb-none{color:#4b5563;margin:.2rem 0 .5rem}
.apb-history-title{color:#64748b}
.apb-history{opacity:.85}
.apb-rdv-past{background:#f8fafc;border-color:#eef2f7;color:#64748b;margin-bottom:.4rem}
.apb-rdv-past span{font-size:.95rem}
@media(max-width:520px){.apb-row{flex-direction:column;gap:.2rem}.apb-rdv{flex-direction:column;align-items:stretch}}
