/* Transport MD2H — Clients MD2H / Module Téléphone V2.7.17.b */
#md2h-clients-root{font-family:Segoe UI,Arial,sans-serif}
#md2h-clients-root button,#md2h-clients-root input,#md2h-clients-root select,#md2h-clients-root textarea{font:inherit}
.md2h-clients-fab,.md2h-recovery-link{position:fixed;z-index:2147482000;right:22px;border:1px solid #2d6cb8;background:#0f3159;color:#eef7ff;border-radius:999px;padding:11px 16px;font-weight:800;box-shadow:0 14px 40px #0008;cursor:pointer}
.md2h-clients-fab{bottom:22px}.md2h-recovery-link{bottom:22px;right:auto;left:22px;background:#31245e;border-color:#6650b6}
.md2h-clients-overlay{position:fixed;z-index:2147483645;inset:0;background:#020817d9;backdrop-filter:blur(7px);padding:22px;overflow:auto}
.md2h-clients-shell,.md2h-recovery-shell{max-width:1320px;margin:0 auto;background:#0b1424;border:1px solid #29476d;border-radius:20px;color:#eaf3ff;box-shadow:0 30px 90px #000b;overflow:hidden}
.md2h-recovery-shell{max-width:560px;margin-top:7vh}
.md2h-clients-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:linear-gradient(180deg,#132b4a,#0d1d33);border-bottom:1px solid #29476d}
.md2h-clients-head strong{display:block;font-size:18px}.md2h-clients-head small{display:block;color:#91acd0;margin-top:3px}.md2h-clients-head button{background:#182943;color:#ddecff;border:1px solid #37577e;border-radius:9px;padding:8px 11px;cursor:pointer}.md2h-head-actions{display:flex;gap:8px}
.md2h-clients-message{margin:12px 16px 0;padding:10px 12px;border-radius:10px;background:#113b2d;border:1px solid #2a795d;color:#c9ffeb}.md2h-clients-message.error{background:#451c26;border-color:#9a4357;color:#ffd7df}
.md2h-clients-body{display:grid;grid-template-columns:minmax(270px,360px) 1fr;min-height:620px}
.md2h-clients-listpane{background:#08111f;border-right:1px solid #223b5d;padding:14px}.md2h-list-tools{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:12px}
.md2h-list-tools input,.md2h-list-tools button,.md2h-client-form input,.md2h-client-form select,.md2h-client-form textarea,.md2h-recovery-step input{box-sizing:border-box;width:100%;background:#0f2036;color:#edf6ff;border:1px solid #31547e;border-radius:9px;padding:10px 11px;outline:none}
.md2h-list-tools button{width:auto;background:#174f86;font-weight:800;cursor:pointer}
.md2h-client-list{display:flex;flex-direction:column;gap:7px}.md2h-client-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;text-align:left;background:#0c192b;color:#e9f3ff;border:1px solid #203b5d;border-radius:11px;padding:9px;cursor:pointer}.md2h-client-row.selected{border-color:#4a96e5;background:#102744}.md2h-client-row small{display:block;color:#88a5c8;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.md2h-client-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#17385e;font-weight:900}.md2h-client-row i,.md2h-security-title>span{font-style:normal;font-size:11px;border-radius:999px;padding:4px 7px}.on{background:#123f2e;color:#9ff0c7}.off{background:#3d2730;color:#e9b0bd}
.md2h-client-main{padding:16px 18px;min-width:0}.md2h-client-summary{background:#0e1d31;border:1px solid #284567;border-radius:14px;padding:14px;margin-bottom:14px}.md2h-summary-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.md2h-summary-title b{font-size:18px}.md2h-summary-title small{display:block;color:#8da8c9;margin-top:3px}.md2h-summary-title>span{background:#143e2e;color:#a6f5ca;border-radius:999px;padding:5px 9px;font-size:12px}.md2h-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.md2h-stats>div{background:#0a1525;border:1px solid #203957;border-radius:10px;padding:10px}.md2h-stats b{display:block;font-size:18px}.md2h-stats span,.md2h-last{color:#91a9c7;font-size:12px}.md2h-last{margin-top:9px}.md2h-contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.md2h-contact-actions button{border:1px solid #3b628d;background:#16375e;color:#f1f7ff;border-radius:9px;padding:9px 12px;font-weight:800;cursor:pointer}.md2h-contact-actions button:hover{background:#1d4e82}
.md2h-client-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#0b1728;border:1px solid #263f61;border-radius:14px;padding:14px}.md2h-field label{display:block;color:#9fb6d3;font-size:12px;font-weight:700;margin-bottom:5px}.md2h-wide{grid-column:1/-1}.md2h-client-form textarea{resize:vertical}.md2h-form-actions{display:flex;flex-wrap:wrap;gap:8px}.md2h-form-actions button,.md2h-security-card button,.md2h-recovery-step button{border:1px solid #3b628d;background:#16375e;color:#f1f7ff;border-radius:9px;padding:10px 13px;font-weight:800;cursor:pointer}.md2h-form-actions .primary,.md2h-recovery-step .primary{background:#1767ac}.md2h-form-actions .danger{background:#641e2a;border-color:#9d4050}.md2h-form-actions .danger-soft{background:#3f2e17;border-color:#75562c}
.md2h-security-card{margin-top:14px;background:#101936;border:1px solid #3e4b83;border-radius:14px;padding:14px}.md2h-security-title{display:flex;justify-content:space-between;gap:12px}.md2h-security-title small{display:block;color:#a6acd7;margin-top:3px}.md2h-security-card p{color:#c3cee3;line-height:1.45}
.md2h-recovery-step{padding:20px}.md2h-recovery-step h3{margin-top:0}.md2h-recovery-step p{color:#aabbd1}.md2h-recovery-step label{display:block;margin:12px 0;color:#adc2dc;font-size:13px}.md2h-recovery-step input{margin-top:6px}.md2h-empty{padding:28px 12px;text-align:center;color:#7893b5}
@media(max-width:800px){.md2h-clients-overlay{padding:8px}.md2h-clients-body{grid-template-columns:1fr}.md2h-clients-listpane{border-right:0;border-bottom:1px solid #223b5d;max-height:300px;overflow:auto}.md2h-client-form{grid-template-columns:1fr}.md2h-wide{grid-column:auto}.md2h-stats{grid-template-columns:repeat(2,1fr)}}

/* V2.7.11.r : récupération MFA uniquement sur le login. */
#md2h-mfa-recovery-open[hidden]{display:none!important}


/* V2.7.11.r — zone de sécurité des actions flottantes.
   Le JS calcule la position finale autour du Téléphone/Déconnexion. */
.md2h-clients-fab {
  right: calc(88px + env(safe-area-inset-right, 0px));
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  max-width: min(210px, calc(100vw - 118px));
}
@media (max-width: 420px) {
  .md2h-clients-fab {
    right: calc(12px + env(safe-area-inset-right, 0px));
    bottom: calc(84px + env(safe-area-inset-bottom, 0px));
    max-width: calc(100vw - 24px);
  }
}

/* V2.7.11.u — session SPA sans observateur DOM global; position anti-chevauchement conservée. */
