:root {
  font-family: system-ui;
  background: #f2f5f8;
  color: #17202a;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

header {
  position: sticky;
  top: 0;
  background: #0b5cab;
  color: #fff;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  z-index: 3;
}

header button {
  background: #fff;
  color: #0b5cab;
  border: 0;
  border-radius: 8px;
  padding: 7px 12px;
}

main {
  max-width: 850px;
  margin: auto;
  padding: 12px;
}

.card {
  background: #fff;
  padding: 16px;
  border-radius: 14px;
  margin-bottom: 12px;
  box-shadow: 0 1px 5px #0001;
}

h2 {
  font-size: 18px;
}

.primary,
.btn {
  background: #0b5cab;
  color: #fff;
  border: 0;
  border-radius: 9px;
  padding: 11px 14px;
  text-decoration: none;
  display: inline-block;
}

.wide {
  width: 100%;
}

.search {
  display: flex;
  gap: 7px;
  margin-top: 10px;
}

.search input {
  flex: 1;
  width: 100%;
  font-size: 16px;
}

input {
  padding: 10px;
  border: 1px solid #ccd5df;
  border-radius: 8px;
}

.result,
.line {
  border: 1px solid #dde3e9;
  padding: 11px;
  border-radius: 9px;
  margin-top: 8px;
}

.result {
  cursor: pointer;
  background: #fff;
}

.result:hover {
  background: #f2f7fc;
}

.designation {
  font-weight: 700;
}

.meta {
  font-size: 13px;
  color: #65727e;
  margin-top: 3px;
}

.head {
  display: flex;
  justify-content: space-between;
}

.line {
  display: flex;
  gap: 8px;
  align-items: center;
}

.lineinfo {
  flex: 1;
}

.line button {
  min-width: 34px;
}

.danger {
  background: #b42318;
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 10px;
}

.modal {
  position: fixed;
  inset: 0;
  background: #0008;
  display: flex;
  align-items: flex-end;
  z-index: 9;
}

.modalbox {
  background: #fff;
  width: 100%;
  max-width: 650px;
  margin: auto;
  padding: 20px;
  border-radius: 16px;
}

.modalbox #x {
  float: right;
  font-size: 22px;
  border: 0;
  background: transparent;
}

.modalbox input {
  width: 100%;
  margin-top: 6px;
  font-size: 16px;
}

.modalbox label {
  display: block;
  margin-top: 14px;
  font-weight: 600;
}

.modalbox button.primary {
  margin-top: 10px;
}

.productfield {
  padding: 5px 0;
  border-bottom: 1px solid #eef1f4;
}

.reader video,
#camera video {
  width: 100%;
  max-height: 55vh;
  margin-top: 10px;
}

pre {
  white-space: pre-wrap;
}

/* Cette règle doit rester après .modal */
.hidden {
  display: none !important;
}
/* V2 - rendu mobile cohérent iOS / Android */
html, body {
  background: #ffffff !important;
  color-scheme: light;
}

#camera {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  margin-top: 8px;
}

#camera video,
.reader video {
  width: 100%;
  height: 150px !important;
  max-height: 150px !important;
  object-fit: cover;
  display: block;
}

label { display:block; margin-top:10px; }
select { font:inherit; padding:8px; border:1px solid #ccd5df; border-radius:8px; background:#fff; }

/* V3 */
.floating-menu{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:20;background:#0b5cab;color:#fff;text-decoration:none;border-radius:999px;padding:10px 14px;font-weight:700;box-shadow:0 3px 12px #0003}
.approve{background:#16803a;color:#fff;border:0;border-radius:8px;padding:10px}
button{font:inherit}.field{margin:10px 0}.field input,.field select{width:100%;font-size:16px}.notice{font-size:13px;color:#65727e}.protocol-results .result{cursor:pointer}.protocol-viewer{width:100%;height:72vh;border:1px solid #dde3e9;border-radius:10px;background:#f4f6f8}.result-title{font-weight:750}.pill{display:inline-block;font-size:12px;background:#eef4fa;color:#0b5cab;border-radius:999px;padding:2px 7px;margin:2px 4px 0 0}.calc-result{font-size:28px;font-weight:800;color:#0b5cab;margin:12px 0}.verify-row{display:grid;grid-template-columns:26px 1fr auto;gap:7px;align-items:center;padding:5px 0;border-bottom:1px solid #e6e9ed}.verify-row input[type=checkbox]{width:18px;height:18px}.bar-input{width:82px}.verify-section h3{font-size:13px;background:#e9eef3;padding:5px;margin:8px 0 2px}.verify-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:70px}@media print{header,.floating-menu,.verify-actions{display:none!important}body{background:#fff!important}.verify-sheet{box-shadow:none!important;margin:0!important;padding:0!important}.verify-row{padding:2px 0;font-size:8pt}.verify-section h3{font-size:8.5pt;margin:3px 0 1px;padding:2px}.verify-sheet h2{font-size:11pt;margin:2px 0}.verify-sheet p{font-size:8pt;margin:2px 0}@page{size:A4 portrait;margin:7mm}}

/* V4 navigation */
.floating-nav{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:900;display:flex;gap:8px;align-items:center}
.floating-nav a,.floating-nav button{appearance:none;border:1px solid #cfd8e3;background:#fff;color:#0b5cab;text-decoration:none;border-radius:999px;padding:9px 13px;font:700 14px system-ui;box-shadow:0 3px 12px #0002;cursor:pointer}
.previous-order{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #e5e9ee}.previous-order:first-child{border-top:0}.history-box{margin:10px 0 14px;padding:8px 12px;background:#f7f9fb;border-radius:10px}.dose-card{margin-top:14px;padding:12px;border:1px solid #d6e1eb;border-radius:12px;background:#f8fbff}.error{color:#b42318;font-weight:700}
.verify-logo{position:absolute;right:14px;top:10px;width:110px;max-height:58px;object-fit:contain}.verify-sheet{position:relative}
.bar-wrap{display:inline-flex;align-items:center;gap:4px;margin-left:auto;white-space:nowrap}.bar-wrap .bar-input{width:68px}.bar-unit{font-weight:700}
@media print{body{background:#fff!important}.floating-nav,.verify-actions,header{display:none!important}main{max-width:none!important;margin:0!important;padding:0!important}.verify-sheet{box-shadow:none!important;border:0!important;margin:0!important;padding:5mm!important;font-size:7.4pt!important;line-height:1.05!important}.verify-sheet h2{font-size:12pt!important;margin:0 120px 2px 0!important}.verify-sheet>p{margin:1px 120px 3px 0!important;font-size:8pt!important}.verify-logo{width:28mm!important;max-height:16mm!important;right:5mm!important;top:4mm!important}.verify-section{margin:1.5px 0!important}.verify-section h3{font-size:7.5pt!important;margin:0!important;padding:2px 4px!important}.verify-row{min-height:0!important;padding:1px 3px!important;gap:4px!important}.verify-row input[type=checkbox]{width:11px!important;height:11px!important;margin:0!important}.verify-row span{font-size:7.2pt!important}.verify-sheet .notice{font-size:6.8pt!important;margin:0 0 0 20px!important}.bar-wrap .bar-input{width:14mm!important;height:5mm!important;font-size:7pt!important;padding:0 2px!important}.bar-unit{font-size:7pt!important}@page{size:A4 portrait;margin:4mm}}

/* V5 - registre SMUR garanti compact sur un recto A4 */
@media print{
  .verify-sheet{padding:2mm!important;font-size:6.6pt!important;line-height:1!important;overflow:hidden!important}
  .verify-sheet h2{font-size:10.5pt!important;margin:0 30mm 0 0!important;line-height:1!important}
  .verify-sheet>p{font-size:7pt!important;margin:0 30mm 1px 0!important;line-height:1!important}
  .verify-logo{width:23mm!important;max-height:12mm!important;right:2mm!important;top:1mm!important}
  .verify-section{margin:0!important;padding:0!important;break-inside:avoid!important}
  .verify-section h3{font-size:6.8pt!important;line-height:1!important;margin:0!important;padding:1px 2px!important}
  .verify-row{padding:0 2px!important;gap:3px!important;line-height:1!important;min-height:3.7mm!important}
  .verify-row input[type=checkbox]{width:9px!important;height:9px!important}
  .verify-row span{font-size:6.5pt!important;line-height:1!important}
  .verify-sheet .notice{font-size:6pt!important;line-height:1!important;margin:0 0 0 15px!important}
  .bar-wrap .bar-input{width:12mm!important;height:4mm!important;font-size:6.3pt!important}
  .bar-unit{font-size:6.3pt!important}
  @page{size:A4 portrait;margin:3mm}
}
.pedsheet h2{margin-bottom:4px}.pedsheet .dose-card{margin-top:8px}.pedsheet .dose-card p{margin:6px 0}

/* V6 - fiches Urg'Ara rendues en images, compatibles mobile */
.protocol-image-viewer{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:10px}
.protocol-page-image{display:block;width:100%;height:auto;max-width:980px;border:1px solid #dce3ea;border-radius:8px;background:#fff;box-shadow:0 2px 8px #0001}
.protocol-viewer-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.protocol-viewer-status{font-size:13px;color:#65727e}
@media(max-width:640px){.protocol-page-image{width:calc(100vw - 28px);max-width:none;border-radius:5px}.protocol-image-viewer{gap:8px}.protocol-viewer-toolbar{position:sticky;top:0;background:#fff;padding:6px 0;z-index:4}}
/* V6 - marge supplémentaire pour garantir le registre sur 1 A4 recto */
@media print{
 .verify-sheet{padding:1mm!important;font-size:6.15pt!important;line-height:.96!important}
 .verify-sheet h2{font-size:9.8pt!important}
 .verify-sheet>p{font-size:6.5pt!important;margin:0 28mm .5px 0!important}
 .verify-logo{width:21mm!important;max-height:10mm!important;top:.5mm!important;right:1mm!important}
 .verify-section h3{font-size:6.3pt!important;padding:.5px 2px!important}
 .verify-row{min-height:3.25mm!important;padding:0 1px!important;line-height:.95!important}
 .verify-row span{font-size:6.05pt!important;line-height:.95!important}
 .verify-sheet .notice{font-size:5.6pt!important;line-height:.95!important}
 @page{size:A4 portrait;margin:2mm}
}

/* V7 */
.history-main-btn{margin-bottom:10px}.identity-preview{margin:12px 0;padding:10px 12px;border-radius:9px;background:#f2f6fa;color:#334155}.identity-preview b{color:#0b5cab}.verify-observations{margin-top:3px}.verify-observations label{margin:0 0 2px}.verify-observations textarea{box-sizing:border-box;width:100%;min-height:58px;resize:vertical;font:inherit;border:1px solid #ccd5df;border-radius:7px;padding:6px}
@media print{.verify-observations{margin-top:1px!important}.verify-observations label{font-size:6.1pt!important;margin:0!important}.verify-observations textarea{display:block!important;width:100%!important;height:10mm!important;min-height:10mm!important;resize:none!important;overflow:hidden!important;border:1px solid #777!important;border-radius:0!important;padding:1mm!important;font-size:6pt!important;line-height:1!important;background:#fff!important}}


/* V10.1 - viseur code-barres 1D étroit */
.scanner-stage {
  position: relative;
  width: 100%;
  height: 190px;
  overflow: hidden;
  border-radius: 12px;
  background: #111;
  margin-top: 8px;
}
#camera .scanner-stage video {
  width: 100% !important;
  height: 190px !important;
  max-height: 190px !important;
  object-fit: cover;
  margin: 0 !important;
}
.scanner-mask { position:absolute; inset:0; pointer-events:none; background:linear-gradient(to bottom, rgba(0,0,0,.52) 0 35%, transparent 35% 65%, rgba(0,0,0,.52) 65% 100%); }
.scanner-target { position:absolute; left:7%; right:7%; top:50%; height:56px; transform:translateY(-50%); border:2px solid rgba(255,255,255,.95); border-radius:8px; box-shadow:0 0 0 1px rgba(0,0,0,.25); }
.scanner-target span { position:absolute; left:4%; right:4%; top:50%; height:2px; transform:translateY(-50%); background:rgba(255,255,255,.95); }
.scanner-help { font-size:.88rem; text-align:center; margin:7px 8px 2px; color:#445; }

/* @ppli_soins — signature discrète commune aux déclinaisons */
.hop-footer{padding:14px 12px 24px;text-align:center;font-size:11px;color:#718096;background:transparent}
.hop-footer a{color:inherit;text-decoration:none}.hop-footer a:hover{text-decoration:underline}

/* @ppli_soins - historique des controles */
.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e5e7eb}.history-row:last-child{border-bottom:0}.history-row small{color:#667085}.history-row .btn{white-space:nowrap}@media(max-width:520px){.history-row{align-items:flex-start;flex-direction:column}}

/* V2.4 - contrôles @ppli_soins homogènes entre navigateurs */
button,.btn,input[type="button"],input[type="submit"],select,input,textarea{-webkit-appearance:none;appearance:none;box-sizing:border-box;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
button,.btn,input[type="button"],input[type="submit"]{min-height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:9px 14px;background:#fff;color:#0b5cab;font-size:14px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;vertical-align:middle}
button:hover,.btn:hover{filter:brightness(.98)}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(11,92,171,.22);outline-offset:2px}
button.primary,.primary{background:#0b5cab;color:#fff;border-color:#0b5cab}button.danger,.danger{background:#b42318;color:#fff;border-color:#b42318}button:disabled,.btn.disabled{opacity:.55;cursor:not-allowed}
input,select,textarea{min-height:40px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;padding:8px 10px;font-size:16px}
input[type="checkbox"],input[type="radio"]{-webkit-appearance:auto;appearance:auto;min-height:0;padding:0}
.agenda-badge{display:inline-flex;min-width:20px;height:20px;padding:0 6px;border-radius:999px;align-items:center;justify-content:center;background:#b42318;color:#fff;font-size:12px;font-weight:800;margin-left:6px}
.agenda-row{padding:12px;border:1px solid #dbe3ec;border-radius:12px;margin:9px 0;background:#fff}.agenda-row.unread{border-left:5px solid #0b5cab;background:#f7fbff}.agenda-meta{font-size:12px;color:#65727e;margin-top:4px}.agenda-service{color:#0b5cab;font-weight:800}.agenda-congres{color:#7a3e9d;font-weight:800}
/* Scanner EBMD : carte physique tenue en portrait => code-barres horizontal dans une bande centrale large. */
#scanZone{position:relative}#ebmdVideo{height:360px!important;max-height:58vh!important;object-fit:cover}#ebmdScanGuide{position:absolute;left:7%;right:7%;top:50%;height:82px;transform:translateY(-50%);border:3px solid #fff;border-radius:10px;box-shadow:0 0 0 9999px rgba(0,0,0,.35);pointer-events:none}

/* V2.4.1e — bandeau commun @ppli_soins */
.ospm-header{position:sticky;top:0;z-index:900;background:#0b5cab;color:#fff;min-height:58px;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 2px 8px #0002}
.ospm-head-left{display:flex;align-items:center;gap:9px;min-width:0}.ospm-head-left img{width:30px;height:30px;object-fit:cover;border-radius:7px;background:#fff}.ospm-head-left b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ospm-head-actions{display:flex;align-items:center;gap:7px}.ospm-head-actions a,.ospm-head-actions button{appearance:none;border:1px solid #ffffff55;background:#fff;color:#0b5cab;text-decoration:none;border-radius:9px;padding:8px 10px;font:700 13px system-ui;cursor:pointer;white-space:nowrap}.ospm-notif{position:relative;font-size:17px!important;padding:6px 10px!important}.ospm-notif-badge{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#b42318;color:#fff;font:800 11px/19px system-ui;text-align:center;border:2px solid #0b5cab}
.hop-footer{width:100%;padding:9px 12px calc(10px + env(safe-area-inset-bottom));text-align:center;font-size:10.5px;line-height:1.45;color:#7a8794;background:#fff;border-top:1px solid #edf0f3}.hop-footer a{color:inherit!important;text-decoration:none!important}.hop-footer b{font-weight:650;color:#5f6b76}
.choice.card{border:1px solid #d7e0e8!important;border-radius:16px!important;text-decoration:none!important;color:#17202a!important;box-shadow:0 3px 12px #00000012!important;transition:transform .12s ease,box-shadow .12s ease;background:linear-gradient(180deg,#fff,#f8fbfd)!important}.choice.card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #00000018!important}.choice.card b{color:#17324d;text-decoration:none!important}
@media(max-width:620px){.ospm-header{padding:7px 9px;min-height:54px}.ospm-head-left img{width:27px;height:27px}.ospm-head-left b{font-size:13px}.ospm-head-actions a,.ospm-head-actions button{padding:7px 8px;font-size:12px}.ospm-head-actions{gap:5px}}
.agenda-row{border-top:5px solid #0b5cab!important}.agenda-row:has(.agenda-congres){border-top-color:#7a3e9d!important}.agenda-row:has(.agenda-service){border-top-color:#0b5cab!important}
.agenda-row.agenda-service{border-top-color:#0b5cab!important}.agenda-row.agenda-congres{border-top-color:#7a3e9d!important}

/* V2.4.1f — harmonisation finale */
/* Navigation flottante identique sur tous les modules : Retour au-dessus de Menu. */
.floating-nav{position:fixed!important;left:max(12px,env(safe-area-inset-left))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;z-index:950!important;display:flex!important;flex-direction:column!important;gap:7px!important;align-items:stretch!important}
.floating-nav a,.floating-nav button{width:112px!important;min-height:40px!important;margin:0!important;border:1px solid #d6dee7!important;background:rgba(255,255,255,.96)!important;color:#0b5cab!important;border-radius:12px!important;box-shadow:0 3px 14px #0000001c!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:700 13px/1.1 system-ui!important}
/* Bandeau haut commun : identité du module uniquement, navigation séparée. */
.ospm-header{position:sticky!important;top:0!important;z-index:900!important;min-height:56px!important;padding:8px 14px!important;background:#0b5cab!important;color:#fff!important;display:flex!important;align-items:center!important;box-shadow:0 2px 8px #0002!important}
.ospm-head-left{display:flex;align-items:center;gap:9px;min-width:0}.ospm-head-left img{width:28px;height:28px;object-fit:contain;border-radius:6px;background:#fff}.ospm-head-left b{color:#fff!important}
.ospm-head-actions{margin-left:auto;display:flex;align-items:center;gap:7px}
/* Agenda : liseré physique en haut de chaque carte, sans coloration du libellé. */
.agenda-row{position:relative!important;overflow:hidden!important;border-top:0!important;padding-top:17px!important}.agenda-row::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:#0b5cab}.agenda-row.agenda-congres::before{background:#7a3e9d}.agenda-row.agenda-service::before{background:#0b5cab}.agenda-service,.agenda-congres{color:#17202a!important;font-weight:800!important}
/* Cloche accueil : sobre, tactile, badge discret. */
.home-notif{display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;padding:0!important;border:1px solid #dbe3eb;border-radius:12px;background:#f8fafc;color:#334155!important;font-size:19px!important;box-shadow:0 1px 4px #0000000d;line-height:1}.home-notif .agenda-badge{position:absolute;right:-4px;top:-5px;margin:0;min-width:18px;height:18px;padding:0 4px;font-size:10px;border:2px solid #fff}
/* Pied de page accueil/connexion avec signature graphique discrète. */
.hop-footer-inner{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.hop-footer-logo{width:22px;height:22px;object-fit:contain;border-radius:5px;flex:0 0 auto}
@media(max-width:620px){.floating-nav a,.floating-nav button{width:104px!important;min-height:38px!important;font-size:12px!important}.ospm-header{min-height:52px!important;padding:7px 10px!important}.ospm-head-left img{width:26px;height:26px}}


/* ==========================================================
   @ppli_soins V2.5.0 — charte graphique unifiée
   ========================================================== */
:root{--ospm-blue:#0b5cab;--ospm-blue2:#164f86;--ospm-ink:#17202a;--ospm-muted:#65727e;--ospm-border:#dbe3eb;--ospm-bg:#f6f8fb;--ospm-card:#fff;--ospm-violet:#7653a6;--ospm-red:#b42318}
body.ospm-module{margin:0;background:var(--ospm-bg);color:var(--ospm-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
body.ospm-module>main{width:min(100% - 24px,960px);margin:0 auto!important;padding:18px 0 126px!important}
.ospm-header{position:sticky!important;top:0!important;z-index:800!important;width:100%!important;min-height:56px!important;padding:8px max(14px,calc((100vw - 960px)/2))!important;background:linear-gradient(100deg,var(--ospm-blue),var(--ospm-blue2))!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;box-shadow:0 2px 12px #17324d22!important}
.ospm-head-left{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}.ospm-head-left img{width:30px!important;height:30px!important;object-fit:contain!important;border-radius:8px!important;background:#fff!important;padding:2px!important;box-shadow:none!important}.ospm-head-left b{font-size:16px!important;font-weight:760!important;letter-spacing:.005em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#fff!important}.ospm-head-actions{display:flex!important;align-items:center!important;gap:8px!important}
.floating-nav{position:fixed!important;left:max(14px,env(safe-area-inset-left))!important;bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px))!important;z-index:850!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important;width:104px!important;padding:6px!important;border:1px solid #dbe3eb!important;border-radius:16px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 8px 28px #17324d24!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
.floating-nav a,.floating-nav button{width:92px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 8px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#24435f!important;box-shadow:none!important;font:700 12.5px/1 system-ui!important;text-decoration:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;white-space:nowrap!important}.floating-nav a:hover,.floating-nav button:hover{background:#eef5fb!important;color:var(--ospm-blue)!important}.floating-nav .nav-ico{width:18px;text-align:center;font-size:15px;line-height:1}
/* Sous-menus : vraies cartes, jamais des liens soulignés. */
.choices{gap:14px!important}.choice.card{position:relative!important;min-height:126px!important;padding:20px 52px 20px 20px!important;border:1px solid var(--ospm-border)!important;border-radius:18px!important;background:linear-gradient(145deg,#fff 0%,#f7fbff 100%)!important;color:var(--ospm-ink)!important;text-decoration:none!important;box-shadow:0 5px 18px #17324d10!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:16px!important;text-align:left!important;overflow:hidden!important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease!important}.choice.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--ospm-blue),var(--ospm-violet))}.choice.card:after{content:"›";position:absolute;right:20px;top:50%;transform:translateY(-52%);font-size:34px;font-weight:300;color:#8ca0b3}.choice.card:hover{transform:translateY(-2px)!important;box-shadow:0 10px 26px #17324d18!important;border-color:#bfd0df!important}.choice.card span{width:58px;height:58px;flex:0 0 58px;border-radius:16px;background:#edf5fc;display:grid!important;place-items:center;font-size:31px!important;line-height:1!important}.choice.card b{font-size:16px!important;line-height:1.3!important;color:#18324a!important;text-decoration:none!important;font-weight:760!important}
/* Agenda : catégorie par liseré supérieur réel. */
.agenda-row{position:relative!important;overflow:hidden!important;border:1px solid var(--ospm-border)!important;border-top:0!important;border-radius:14px!important;padding:17px 13px 13px!important;background:#fff!important}.agenda-row:before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:0!important;height:5px!important;background:var(--ospm-blue)!important}.agenda-row.agenda-congres:before,.agenda-row:has(.agenda-congres):before{background:var(--ospm-violet)!important}.agenda-row.agenda-service:before,.agenda-row:has(.agenda-service):before{background:var(--ospm-blue)!important}.agenda-service,.agenda-congres{color:var(--ospm-ink)!important}
/* Cloche sobre et contemporaine. */
.home-notif{position:relative!important;width:40px!important;height:40px!important;padding:0!important;border:1px solid #dce5ed!important;border-radius:13px!important;background:#f7fafc!important;color:#31475b!important;display:grid!important;place-items:center!important;text-decoration:none!important;font-size:0!important;box-shadow:0 2px 8px #17324d0d!important}.home-notif:before{content:"🔔";font-size:18px;filter:grayscale(1);opacity:.86}.home-notif .agenda-badge{position:absolute!important;right:-5px!important;top:-5px!important;margin:0!important;min-width:18px!important;height:18px!important;padding:0 4px!important;font-size:10px!important;border:2px solid #fff!important;background:var(--ospm-red)!important}
/* Pied de page : logo et mentions forment un seul bloc. */
.hop-footer{width:100%!important;padding:10px 12px calc(11px + env(safe-area-inset-bottom))!important;border-top:1px solid #edf1f4!important;background:#fff!important;color:#74808b!important;font-size:10.5px!important;line-height:1.35!important}.hop-footer-inner{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;flex-wrap:nowrap!important;width:max-content!important;max-width:100%!important;margin:0 auto!important}.hop-footer-logo{width:22px!important;height:22px!important;flex:0 0 22px!important;object-fit:contain!important;border-radius:5px!important}.hop-footer-inner span{text-align:left!important}.hop-footer a{color:inherit!important;text-decoration:none!important}
/* InfoHosto */
.infhosto-wrap{display:none;width:min(100%,760px);margin:0 auto 6px}.infhosto-wrap.active{display:block}.infhosto-banner{display:flex;align-items:center;gap:12px;min-height:46px;padding:7px 10px;border:1px solid #cfddec;border-radius:14px;background:linear-gradient(100deg,#edf6ff,#f7f3ff);box-shadow:0 4px 16px #17324d12;overflow:hidden;cursor:pointer}.infhosto-brand{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding-right:10px;border-right:1px solid #cad7e4;font-weight:850;letter-spacing:-.02em;color:#163f69}.infhosto-i{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,var(--ospm-blue),var(--ospm-violet));color:#fff;font:850 18px/1 Georgia,serif;box-shadow:0 3px 9px #0b5cab2a}.infhosto-name{font-size:16px}.infhosto-marquee{min-width:0;flex:1;overflow:hidden;white-space:nowrap;color:#26394b;font-weight:650;font-size:13px}.infhosto-track{display:inline-block;white-space:nowrap;will-change:transform}@keyframes infhosto-scroll{to{transform:translateX(-100%)}}
/* Centre de notifications / InfoHosto */
.infhosto-create{border:1px solid #cbdbea!important;background:linear-gradient(135deg,#edf6ff,#f5f0ff)!important;color:#173f68!important}.nrow.infhosto{border-left:5px solid var(--ospm-violet)!important;background:#fbf9ff!important}.infhosto-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 8px;background:#eee8f8;color:#60448c;font-size:11px;font-weight:800;margin-bottom:6px}
@media(max-width:620px){body.ospm-module>main{width:min(100% - 20px,960px);padding-top:14px!important}.ospm-header{min-height:52px!important;padding:7px 10px!important}.ospm-head-left img{width:28px!important;height:28px!important}.ospm-head-left b{font-size:14px!important}.choice.card{min-height:96px!important;padding:14px 45px 14px 14px!important;gap:12px!important}.choice.card span{width:48px;height:48px;flex-basis:48px;font-size:26px!important}.choice.card b{font-size:14px!important}.floating-nav{left:max(10px,env(safe-area-inset-left))!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 5px))!important}.infhosto-banner{display:block;padding:7px 9px}.infhosto-brand{width:max-content;border-right:0;border-bottom:1px solid #cad7e4;padding:0 0 5px;margin-bottom:4px}.infhosto-marquee{font-size:12.5px}.hop-footer-inner{width:auto!important;justify-content:center!important}.hop-footer-logo{width:20px!important;height:20px!important;flex-basis:20px!important}}
body.ospm-module{padding:0!important;text-align:initial}
body.ospm-module .time{text-align:center}


/* V2.5.1 — correctif responsive urgent : aucun débordement horizontal */
html,body{max-width:100%;overflow-x:hidden}
.ospm-header,.ospm-header *{max-width:100%}
body.ospm-module>main{max-width:960px!important;box-sizing:border-box!important}
@media(max-width:620px){body.ospm-module>main{width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important}.ospm-header{width:100%!important;max-width:100%!important}.ospm-head-left{max-width:100%!important}.ospm-head-left b{max-width:calc(100vw - 72px)!important}.floating-nav{width:104px!important}.infhosto-wrap,.infhosto-banner{max-width:100%!important}}

/* V2.5.2 — production mobile accueil sans défilement */
@media(max-width:699px){
  body:not(.ospm-module) .hop-footer{height:34px!important;min-height:34px!important;padding:4px 8px calc(4px + env(safe-area-inset-bottom))!important;font-size:9px!important;line-height:1.1!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
  body:not(.ospm-module) .hop-footer-inner{gap:5px!important;flex-wrap:nowrap!important;white-space:nowrap!important;max-width:100%!important}
  body:not(.ospm-module) .hop-footer-logo{width:17px!important;height:17px!important;flex:0 0 17px!important}
}


/* V2.5.3 — rendu clair obligatoire, y compris Android/Chrome en thème sombre */
:root{color-scheme:only light!important;--ospm-surface:#fff;--ospm-text:#17202a}
html,body{background-color:#fff!important;color:#17202a!important;color-scheme:only light!important}
body,.card,.modalbox,.modal-card,input,textarea,select,option{color-scheme:only light!important}
input,textarea,select{background-color:#fff!important;color:#17202a!important}
@media (prefers-color-scheme:dark){html,body{background:#fff!important;color:#17202a!important}body,.card,.modalbox,.modal-card{background-color:#fff;color:#17202a}input,textarea,select{background:#fff!important;color:#17202a!important;border-color:#cbd5df!important}}
.ospm-header .ospm-head-action{margin-left:auto;flex:0 0 auto}


/* V2.5.4 — footer Connexion/Accueil : logo + mentions centrées, sans débordement */
body:not(.ospm-module) .hop-footer{height:auto!important;min-height:42px!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom))!important;overflow:visible!important}
body:not(.ospm-module) .hop-footer-inner{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;flex-wrap:nowrap!important;width:min(100%,760px)!important;max-width:100%!important;margin:0 auto!important;white-space:normal!important}
body:not(.ospm-module) .hop-footer-logo{width:20px!important;height:20px!important;flex:0 0 20px!important}
body:not(.ospm-module) .hop-footer-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;line-height:1.2}
body:not(.ospm-module) .hop-footer-line1,body:not(.ospm-module) .hop-footer-line2{display:block;max-width:100%;white-space:normal}
@media(max-width:620px){body:not(.ospm-module) .hop-footer{font-size:8.6px!important;line-height:1.15!important;padding-left:8px!important;padding-right:8px!important}body:not(.ospm-module) .hop-footer-inner{width:100%!important}.hop-footer-copy{font-size:8.6px!important}}
/* V2.6.2 — planche interactive AGIPA 119061 */
.label-sheet{width:min(100%,420px);aspect-ratio:210/297;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(10,minmax(0,1fr))!important;border:2px solid #8fa4b8;border-radius:3px;background:#fff;margin:12px auto;box-shadow:0 4px 14px #17324d18;overflow:hidden}
.label-cell{appearance:none;-webkit-appearance:none;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;margin:0!important;border:1px solid #cbd5df!important;border-radius:0!important;background:#fff!important;display:flex!important;align-items:center;justify-content:center;font-size:12px!important;line-height:1!important;color:#40566b!important;cursor:pointer;padding:0!important;box-shadow:none!important}.label-cell.used{background:#e1e5e9!important;color:#87929c!important}.label-cell.start{background:#0b5cab!important;color:#fff!important;font-weight:900!important;outline:3px solid #073f77!important;outline-offset:-3px!important}.label-cell:hover{filter:brightness(.97)}

/* Le masquage des contrôles prime sur les styles de présentation. */
body [hidden][hidden][hidden][hidden]{display:none!important}

/* Logos de page sans cadre ni ombre ajoutés. */
.ospm-head-left img,.hop-footer-logo{border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;background:transparent!important}
