/* URG360 Alpha 1.10.1 — Gestion des lits */
#v28BedManagementView{padding:4px 0 24px}.v28bed-page{--bed-line:#dce4ec;--bed-ink:#14263b;--bed-muted:#6d7c8e;--bed-accent:#176b87;color:var(--bed-ink)}
.v28bed-top{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px;border:1px solid var(--bed-line);border-radius:16px;background:#fff}.v28bed-top p{margin:0;color:var(--bed-accent);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.v28bed-top h1{margin:3px 0;font-size:26px}.v28bed-top span{color:var(--bed-muted)}.v28bed-top-actions{display:flex;gap:8px}.v28bed-top-actions select,.v28bed-top-actions button{border:1px solid #ccd7e2;border-radius:10px;padding:9px 11px;background:#fff;font:inherit}
.v28bed-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0}.v28bed-metrics div{padding:12px 14px;border:1px solid var(--bed-line);border-radius:12px;background:#fff}.v28bed-metrics b{display:block;font-size:22px}.v28bed-metrics span{color:var(--bed-muted);font-size:12px}.v28bed-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px}.v28bed-waiting{border:1px solid var(--bed-line);border-radius:14px;background:#fff;padding:12px;align-self:start;position:sticky;top:10px}.v28bed-waiting>header{display:flex;justify-content:space-between;align-items:center}.v28bed-waiting h2{font-size:16px;margin:0}.v28bed-waiting>header span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#edf5f7;color:#176b87;font-weight:800}.v28bed-waiting-patient{margin-top:9px;padding:10px;border:1px solid #dce5ed;border-radius:10px;background:#fafcfe;cursor:grab}.v28bed-waiting-patient b,.v28bed-waiting-patient small{display:block}.v28bed-waiting-patient small{margin-top:3px;color:#718095}.v28bed-waiting-patient button{margin-top:7px;border:0;background:transparent;color:#176b87;font-weight:750;cursor:pointer}.v28bed-config,.v28bed-add-bed{width:100%;margin-top:10px;border:1px dashed #9fc5d1;border-radius:9px;padding:8px;background:#f7fcfd;color:#176b87;font-weight:750;cursor:pointer}
.v28bed-board{display:grid;gap:12px}.v28bed-room{border:1px solid var(--bed-line);border-radius:14px;background:#fff;padding:13px}.v28bed-room>header{display:flex;justify-content:space-between;align-items:center}.v28bed-room>header span{font-size:11px;text-transform:uppercase;color:#718095;font-weight:800}.v28bed-room h3{margin:2px 0 0;font-size:17px}.v28bed-room>header small{color:#718095}.v28bed-bed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.v28bed-bed{border:1px solid #dbe4ec;border-left:4px solid #7fae8e;border-radius:11px;padding:10px;background:#fff;transition:.15s}.v28bed-bed.occupied{border-left-color:#2b6e9b;background:#f7fbfd}.v28bed-bed.reserved{border-left-color:#d29a3b;background:#fffaf1}.v28bed-bed.unavailable{border-left-color:#9a6470;background:#faf6f7}.v28bed-bed.drop-ready{outline:3px solid rgba(23,107,135,.2);transform:translateY(-1px)}.v28bed-bed>header{display:flex;justify-content:space-between;gap:8px}.v28bed-bed>header div strong,.v28bed-bed>header div small{display:block}.v28bed-bed>header small{color:#7b8899}.v28bed-bed>header>span{font-size:11px;font-weight:800}.v28bed-patient,.v28bed-empty{margin-top:9px;min-height:42px;padding:8px;border-radius:8px;background:#eef5f8}.v28bed-empty{display:grid;place-items:center;color:#8592a2;background:#f8fafc;font-size:12px}.v28bed-patient{cursor:grab}.v28bed-patient b,.v28bed-patient small{display:block}.v28bed-patient small{color:#718095;margin-top:3px}.v28bed-bed footer{display:flex;gap:6px;margin-top:8px}.v28bed-bed footer button{border:1px solid #d2dde7;border-radius:8px;padding:6px 8px;background:#fff;font-size:12px;cursor:pointer}.v28bed-first-config{padding:40px;text-align:center;border:1px dashed #c6d5e1;border-radius:14px;background:#fff}.v28bed-first-config h2{margin:0 0 7px}.v28bed-first-config p{max-width:600px;margin:0 auto 15px;color:#6c7b8e}.v28bed-first-config button{border:0;border-radius:10px;background:#176b87;color:#fff;padding:10px 14px;font-weight:750;cursor:pointer}.v28bed-message{position:fixed;right:20px;bottom:20px;z-index:2000;max-width:420px;padding:10px 12px;border-radius:10px;background:#eaf6ee;color:#275e3e;box-shadow:0 8px 30px rgba(20,38,59,.18)}.v28bed-message.error{background:#fff0f0;color:#8b2d2d}.v28bed-loading,.v28bed-error{padding:35px;border:1px solid #dde5ed;border-radius:14px;background:#fff}.v28bed-error{display:grid;gap:5px;color:#8b2d2d}
@media(max-width:1050px){.v28bed-bed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v28bed-layout{grid-template-columns:1fr}.v28bed-waiting{position:static}}
@media(max-width:720px){.v28bed-top{align-items:flex-start;flex-direction:column}.v28bed-top-actions{width:100%;flex-direction:column}.v28bed-metrics{grid-template-columns:repeat(2,1fr)}.v28bed-bed-grid{grid-template-columns:1fr}}

/* Alpha 1.10.2 — création explicite + déplacement robuste */
.v28bed-selected{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:9px 12px;border:1px solid #d7cef5;border-radius:10px;background:#f7f4ff;color:#55479c}.v28bed-selected button{margin-left:auto;border:1px solid #d7cef5;border-radius:8px;padding:5px 8px;background:#fff;color:#55479c;cursor:pointer}.v28bed-waiting-patient.selected{outline:3px solid rgba(87,67,166,.15);border-color:#9a8fcf}.v28bed-waiting-patient.dragging,.v28bed-patient.dragging{opacity:.55}.v28bed-patient-actions{display:flex;gap:8px;flex-wrap:wrap}.v28bed-patient-actions button{margin-top:7px;border:0;background:transparent;color:#176b87;font-weight:750;cursor:pointer}.v28bed-top-actions button{cursor:pointer}.v28bed-bed:not(.unavailable){cursor:pointer}
@media(max-width:720px){.v28bed-selected button{margin-left:0}}
.v28bed-patient.selected{outline:3px solid rgba(87,67,166,.14)}.v28bed-inline-move{margin-top:6px;border:0;background:transparent;color:#176b87;font-weight:750;cursor:pointer;padding:0}

/* Alpha 1.10.4 — accès dossier + admission directe */
.v28bed-occupant-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.v28bed-occupant-actions button{border:1px solid #cddce6;border-radius:8px;padding:6px 8px;background:#fff;color:#176b87;font-size:12px;font-weight:750;cursor:pointer}.v28bed-occupant-actions button:hover{background:#f4fafc}.v28bed-bed footer button.primary{background:#176b87;border-color:#176b87;color:#fff;font-weight:800}.v28bed-bed footer button.primary:hover{background:#125b73}.v28bed-bed footer button:disabled{opacity:.45;cursor:not-allowed}

/* Alpha 1.12 — file d'hospitalisation Urgences dans le Bed Manager */
.v28bed-metrics{grid-template-columns:repeat(8,minmax(0,1fr))}
.v28bed-metrics .hosp{border-color:#d9cef6;background:#faf8ff}
.v28bed-metrics .hosp b{color:#654aa9}
.v28bed-waiting{display:grid;gap:14px;max-height:calc(100dvh - 210px);overflow:hidden;padding:0;background:transparent;border:0;box-shadow:none}
.v28bed-hosp-queue,.v28bed-local-waiting{border:1px solid var(--bed-line);border-radius:14px;background:#fff;padding:12px;min-height:0;overflow:auto;scrollbar-width:thin}
.v28bed-hosp-queue{max-height:52dvh;border-color:#d9cef6;background:#fdfcff}
.v28bed-local-waiting{max-height:31dvh}
.v28bed-hosp-queue>header,.v28bed-local-waiting>header{position:sticky;top:-12px;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:-12px -12px 6px;padding:12px;background:inherit;border-bottom:1px solid #e3eaf0}
.v28bed-hosp-queue>header h2,.v28bed-local-waiting>header h2{font-size:14px;line-height:1.15;margin:0;color:#203e57}
.v28bed-hosp-queue>header small{display:block;margin-top:3px;color:#78889a;font-size:10px}
.v28bed-hosp-queue>header>span,.v28bed-local-waiting>header>span{display:grid;place-items:center;flex:0 0 auto;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#edf5f7;color:#176b87;font-size:12px;font-weight:850}
.v28bed-hosp-queue>header>span{background:#efe9ff;color:#654aa9}
.v28bed-hosp-patient{display:grid;gap:7px;margin-top:8px;padding:10px;border:1px solid #e1d9f5;border-left:4px solid #7d64c2;border-radius:10px;background:#fff;cursor:grab;transition:.14s}
.v28bed-hosp-patient:hover{border-color:#bcaee7;background:#fbfaff}
.v28bed-hosp-patient.selected{outline:3px solid rgba(101,74,169,.13);border-color:#8f7ac9;background:#faf8ff}
.v28bed-hosp-patient.dragging{opacity:.55}
.v28bed-hosp-patient b,.v28bed-hosp-patient small,.v28bed-hosp-patient strong,.v28bed-hosp-patient em{display:block}
.v28bed-hosp-patient b{color:#173b5d;font-size:12px}
.v28bed-hosp-patient small{margin-top:2px;color:#718095;font-size:10px}
.v28bed-hosp-patient strong{margin-top:7px;color:#354f64;font-size:10.5px;font-weight:750;line-height:1.3}
.v28bed-hosp-patient em{margin-top:5px;color:#7258b3;font-size:9.5px;font-style:normal;font-weight:750}
.v28bed-selected.hospital{border-color:#d9cef6;background:#faf8ff;color:#5c479c}
.v28bed-selected.hospital>span{flex:1 1 280px;color:#6f7b89;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v28bed-selected.hospital button{border-color:#d9cef6;color:#5c479c}
.v28bed-config{background:#fff}
.v28bed-bed.drop-ready{outline-color:rgba(101,74,169,.28);box-shadow:0 0 0 2px rgba(101,74,169,.08)}

@media(max-width:1450px){.v28bed-metrics{grid-template-columns:repeat(4,1fr)}.v28bed-layout{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:1050px){.v28bed-layout{grid-template-columns:1fr}.v28bed-waiting{position:static;max-height:none;overflow:visible}.v28bed-hosp-queue,.v28bed-local-waiting{max-height:320px}}
@media(max-width:720px){.v28bed-metrics{grid-template-columns:repeat(2,1fr)}.v28bed-selected.hospital>span{white-space:normal}}


/* Alpha 1.13.5 — chambres Homme/Femme et compatibilité de drag & drop */
.v28bed-room>header small{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.v28bed-room-sex{display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #d6e1e8;border-radius:999px;background:#f3f7fa;color:#536b7c;padding:2px 7px;font-size:9px!important;font-weight:850;white-space:nowrap;text-transform:none!important}
.v28bed-room-sex.male{background:#eef6fb;border-color:#bfd8e7;color:#245c78}
.v28bed-room-sex.female{background:#f8f2fb;border-color:#dac9e7;color:#6c4b82}
.v28bed-room-sex.mixed{background:#fff4e8;border-color:#e6c59a;color:#8a5a16}
.v28bed-room-sex.neutral{background:#f6f8fa;color:#728392}
.v28bed-bed.sex-incompatible{opacity:.52;filter:saturate(.65);cursor:not-allowed}
.v28bed-bed.sex-incompatible .v28bed-empty{background:#f4f5f6;color:#8b9298}
.v28bed-bed.sex-verify{outline:2px dashed #d0a34b;outline-offset:1px}
.v28bed-bed.drop-ready{opacity:1;filter:none}
