@font-face{font-family:'Montserrat';font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-weight:600;font-display:swap;src:url(../fonts/playfair-display-latin-600-normal.woff2) format('woff2')}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:'Montserrat',sans-serif}
/* ajouts pour les pages branchées (le dessin des maquettes n'est pas modifié) */
.ms-banner{background:#fff6dd;border:1px solid #f0d98a;color:#6b5311;border-radius:10px;padding:8px 12px;font-size:12.5px}
.ms-toast{position:fixed;right:18px;bottom:18px;background:#12306b;color:#fff;border-radius:12px;padding:12px 16px;font-size:13.5px;box-shadow:0 12px 30px rgba(0,0,0,.25);z-index:60;max-width:340px}
.ms-toast.err{background:#d9182b}
.ms-modal{position:fixed;inset:0;background:rgba(11,31,71,.55);display:grid;place-items:center;padding:16px;z-index:50}
.ms-modal[hidden]{display:none}
.ms-box{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:520px;max-height:90vh;overflow:auto;font-family:'Montserrat',sans-serif;color:#1f2430;box-sizing:border-box}
.ms-box h3{margin:0 0 14px;font-family:'Playfair Display',serif;font-size:22px;color:#12306b;font-weight:600}
.ms-box label{display:block;font-size:12px;font-weight:600;color:#12306b;margin:12px 0 4px}
.ms-box input,.ms-box select,.ms-box textarea{width:100%;box-sizing:border-box;border:1px solid #c9d0de;border-radius:10px;padding:10px 12px;font-size:14px}
.ms-box .row{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.ms-btn{border:0;border-radius:999px;padding:10px 18px;font-weight:700;font-size:13.5px;cursor:pointer;background:#d9182b;color:#fff}
.ms-btn.sec{background:#fff;color:#12306b;border:1.5px solid #12306b}
.ms-btn[disabled]{opacity:.55;cursor:default}
.ms-err{color:#d9182b;font-size:13px;margin-top:8px;min-height:1em}
.ms-empty{padding:18px;color:#5b6475;font-size:14px}
[data-hide]{display:none!important}

/* finition : chargement, boutons, champs, aide, mise à jour */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{text-wrap:balance}
td,th,main [data-num]{font-variant-numeric:tabular-nums}
::selection{background:#cfd9f3;color:#0b1f47}
#ms-loader{position:fixed;inset:0;z-index:200;background:#f4f6fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-family:'Montserrat',sans-serif;color:#5b6475;font-size:13px;transition:opacity .25s ease}
#ms-loader svg{animation:ms-breathe 1.6s ease-in-out infinite}
#ms-loader .bar{width:120px;height:3px;border-radius:3px;background:#dfe4ee;overflow:hidden}
#ms-loader .bar i{display:block;width:40%;height:100%;background:#12306b;border-radius:3px;animation:ms-slide 1.1s ease-in-out infinite}
#ms-loader p{margin:0}
#ms-loader.gone{opacity:0;pointer-events:none}
@keyframes ms-breathe{0%,100%{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}
@keyframes ms-slide{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
main button,.ms-btn,main [role=switch],main [role=checkbox]{cursor:pointer;transition:filter .15s,transform .05s,box-shadow .15s}
main button:not([disabled]):hover,.ms-btn:not([disabled]):hover{filter:brightness(1.07)}
main button:not([disabled]):active,.ms-btn:not([disabled]):active{transform:translateY(1px)}
main button[disabled],.ms-btn[disabled]{opacity:.55;cursor:default}
a:focus-visible,button:focus-visible,[role=switch]:focus-visible,[role=checkbox]:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid #7a9be0;outline-offset:2px;border-radius:8px}
main input:focus,main textarea:focus,main select:focus,.ms-box input:focus,.ms-box select:focus,.ms-box textarea:focus{outline:0;border-color:#12306b!important;box-shadow:0 0 0 3px rgba(18,48,107,.14)}
main input::placeholder,main textarea::placeholder{color:#8a93a6}
main tbody tr{transition:background .12s}
main tbody tr:hover{background:#f7f9fc}
main td a:hover{text-decoration:underline}
.ms-modal{animation:ms-fade .15s ease}.ms-box{animation:ms-pop .18s ease}
@keyframes ms-fade{from{opacity:0}to{opacity:1}}@keyframes ms-pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ms-box p{line-height:1.6;font-size:14px;margin:0 0 8px}
.ms-box ul,.ms-box ol{margin:6px 0 10px;padding-left:20px;font-size:14px;line-height:1.6}
.ms-box h4{margin:14px 0 4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#12306b}
.ms-help{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:10px;border-radius:50%;border:1.5px solid #c9d0de;background:#fff;color:#12306b;font:700 13px 'Montserrat',sans-serif;cursor:pointer;vertical-align:middle;padding:0}
.ms-help:hover{border-color:#12306b}
.ms-nav-h{margin:16px 12px 4px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8fa0cc}
.ms-nav-h:first-child{margin-top:4px}
.ms-update{position:fixed;left:18px;bottom:18px;z-index:70;max-width:320px;background:#fff;border:1px solid #dfe4ee;border-left:4px solid #d9182b;border-radius:12px;padding:14px 16px;box-shadow:0 14px 34px rgba(11,31,71,.2);font-family:'Montserrat',sans-serif;font-size:13px;color:#1f2430;animation:ms-pop .2s ease}
.ms-update b{display:block;color:#12306b;font-size:14px;margin-bottom:4px}
.ms-update .row{display:flex;gap:8px;margin-top:10px}

/* Onglets Comptabilité */
.ms-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ms-tabs a{border:1.5px solid #c9d0de;background:#fff;color:#12306b;border-radius:999px;padding:8px 16px;font:600 13px 'Montserrat',sans-serif;text-decoration:none}
.ms-tabs a:hover{border-color:#12306b}
.ms-tabs a[aria-current=page]{background:#12306b;border-color:#12306b;color:#fff}
/* Fiche et liste des sites */
.ms-g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ms-box .ms-hint,.ms-hint{font-size:12.5px;color:#5b6475;line-height:1.5;margin:4px 0 8px}
.ms-tools{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 8px}
.ms-tools .ms-btn{padding:8px 14px;font-size:12.5px}
.ms-results[hidden]{display:none}
.ms-results{border:1px solid #e3e7ef;border-radius:12px;padding:8px;margin-bottom:8px;display:grid;gap:6px;max-height:190px;overflow:auto}
.ms-results button{text-align:left;border:1px solid #e3e7ef;background:#fff;border-radius:10px;padding:8px 10px;font:500 12.5px 'Montserrat',sans-serif;color:#1f2430;cursor:pointer}
.ms-results button:hover{border-color:#12306b;background:#f4f7fd}
.ms-map{height:240px;border-radius:12px;border:1px solid #c9d0de;overflow:hidden;position:relative;z-index:0;isolation:isolate;background:#eef1f6}
.ms-status{font-size:12.5px;line-height:1.5;margin:8px 0;padding:8px 10px;border-radius:10px;background:#f4f6fa;color:#3b4252}
.ms-status.ok{background:#e8f6ee;color:#14532d}.ms-status.bad{background:#fdecee;color:#8a1020}
.ms-status a{color:inherit;font-weight:700}
.ms-checks{display:grid;gap:6px;align-content:end}
.ms-box .ms-chk{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1f2430;margin:0}
.ms-box .ms-chk input{width:auto}
.ms-sites{display:grid;gap:8px;margin-bottom:6px}
.ms-site{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e3e7ef;border-radius:12px;padding:10px 12px}
.ms-site.off{opacity:.6}
.ms-site .ms-sub{font-size:12.5px;color:#5b6475;margin-top:2px}
.ms-site .ms-btn{padding:7px 14px;flex:none}
.ms-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#eef1f6;color:#5b6475;vertical-align:middle}
.ms-tag.warn{background:#fff6dd;color:#6b5311}
.ms-box a.ms-lnk,.ms-lnk{font-size:12.5px;font-weight:600;color:#12306b}
@media (max-width:520px){.ms-g2{grid-template-columns:1fr}.ms-site{flex-wrap:wrap}}

/* Signature, historique, corbeille */
.ms-sig{font-size:12px;color:#5b6475;line-height:1.55;margin-top:14px;padding:9px 12px;border-radius:10px;background:#f4f6fa}
.ms-sig a{color:#12306b;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ms-editbar{display:flex;flex-direction:column;gap:10px;margin-top:12px;align-items:flex-start}
.ms-editbar .ms-sig{margin-top:0;width:100%;box-sizing:border-box}
.ms-hist{display:grid;gap:8px;max-height:60vh;overflow:auto}
.ms-ev{border:1px solid #e3e7ef;border-left:4px solid #12306b;border-radius:10px;padding:9px 12px;font-size:13px}
.ms-ev.delete{border-left-color:#d9182b}.ms-ev.restore{border-left-color:#1a7f4b}.ms-ev.create{border-left-color:#5b6475}
.ms-ev ul{margin:6px 0 0;padding-left:18px;font-size:12.5px}
.ms-ev .ms-sub{font-size:12px;color:#5b6475}
.ms-acts{display:flex;gap:8px;flex:none}
.ms-acts .ms-btn{padding:7px 14px}
@media (max-width:520px){.ms-acts{width:100%}.ms-acts .ms-btn{flex:1}}
@media (prefers-reduced-motion:reduce){#ms-loader svg,#ms-loader .bar i,.ms-modal,.ms-box,.ms-update{animation:none}}

/* Fond un peu plus soutenu pour que les cartes blanches se détachent */
body{background:#e9edf4}
body>div[style*="#f4f6fa"]{background:#e9edf4!important}
main [style*="border:1px solid #e3e7ef"]{border-color:#d3dae8!important;box-shadow:0 1px 3px rgba(11,31,71,.07)}
main section,main [style*="background:#fff"][style*="border-radius"]{box-shadow:0 1px 3px rgba(11,31,71,.07)}

/* Champ saisi dans un cadre de la maquette : un seul cadre, pas deux */
main div[style*="border:1px solid #c9d0de"]>input,main div[style*="border:1px solid #c9d0de"]>textarea,main div[style*="border:1px solid #c9d0de"]>select{border:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;outline:0}
main div[style*="border:1px solid #c9d0de"]:focus-within{border-color:#12306b!important;box-shadow:0 0 0 3px rgba(18,48,107,.14)}

/* Connexion : un seul écran, même animation que l'en-tête du site */
.ms-login{min-height:100vh!important;min-height:100svh!important;padding:16px!important;background:linear-gradient(120deg,#08183a,#0b1f47,#1b4aa3,#0b1f47)!important;background-size:300% 300%!important;animation:ms-shift 16s ease infinite;position:relative;overflow:hidden}
@keyframes ms-shift{50%{background-position:100% 50%}}
@keyframes ms-float{50%{transform:translateY(28px) scale(1.05)}}
@keyframes ms-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.ms-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.18;animation:ms-float 12s ease-in-out infinite;pointer-events:none}
.ms-orb.a{width:420px;height:420px;background:#d9182b;right:-120px;top:-100px}
.ms-orb.b{width:300px;height:300px;background:#4d7bd6;left:8%;bottom:-140px;animation-delay:-5s}
.ms-slash{position:absolute;right:12%;top:10%;width:3px;height:70%;background:rgba(255,255,255,.22);transform:rotate(32deg);pointer-events:none}
.ms-login>.ms-card{position:relative;z-index:2;padding:26px 30px!important;gap:14px!important;max-height:calc(100svh - 24px);overflow:auto;animation:ms-rise .8s cubic-bezier(.2,.7,.2,1) both}
.ms-login>.ms-card>*{animation:ms-rise .7s cubic-bezier(.2,.7,.2,1) both}
.ms-login>.ms-card>*:nth-child(2){animation-delay:.1s}.ms-login>.ms-card>*:nth-child(3){animation-delay:.2s}.ms-login>.ms-card>*:nth-child(4){animation-delay:.3s}.ms-login>.ms-card>*:nth-child(5){animation-delay:.4s}.ms-login>.ms-card>*:nth-child(6){animation-delay:.5s}
.ms-login .ms-card>*{flex-shrink:0}
.ms-login .ms-space{flex:1 1 140px!important;padding:12px 14px!important}
.ms-login .ms-card h1{font-size:25px!important}
.ms-pw{position:relative}
.ms-pw input{padding-right:46px!important}
.ms-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:#5b6475;padding:0}
.ms-eye:hover{background:#eef1f6;color:#12306b}
.ms-eye svg{width:20px;height:20px}
.ms-login .ms-ins{text-align:center;font-size:12.5px;font-weight:600;color:#5b6475;text-decoration:underline;text-underline-offset:3px}
@media (max-height:700px){.ms-login .ms-card>div:nth-child(2)>div:last-child,.ms-login .ms-card>div:last-of-type{display:none}.ms-login>.ms-card{gap:10px!important;padding:20px 26px!important}}
@media (prefers-reduced-motion:reduce){.ms-login,.ms-orb,.ms-login>.ms-card,.ms-login>.ms-card>*{animation:none}}

/* Version téléphone */
.ms-topbar{display:none}
@media (max-width:899px){
  body>div[style*="min-height"]{min-height:100vh!important;min-height:100svh!important}
  .ms-topbar{display:flex;position:sticky;top:0;z-index:90;align-items:center;gap:10px;background:#0b1f47;color:#fff;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));font-family:'Montserrat',sans-serif}
  .ms-topbar b{font-size:13px;letter-spacing:.14em;font-weight:600;flex:1}
  .ms-topbar button{width:42px;height:42px;border:0;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
  aside{position:fixed!important;left:0;top:0;bottom:0;width:284px!important;max-width:86vw!important;flex:none!important;transform:translateX(-102%);transition:transform .25s ease;z-index:120;overflow-y:auto;height:100%!important;padding-top:calc(24px + env(safe-area-inset-top))!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;box-shadow:0 0 40px rgba(0,0,0,.35)}
  body.ms-nav-open aside{transform:none}
  .ms-scrim{position:fixed;inset:0;background:rgba(11,31,71,.55);z-index:110;opacity:0;pointer-events:none;transition:opacity .25s}
  body.ms-nav-open .ms-scrim{opacity:1;pointer-events:auto}
  body.ms-nav-open{overflow:hidden}
  main{flex:1 1 100%!important;padding:16px 14px calc(28px + env(safe-area-inset-bottom))!important;gap:16px!important}
  main h1{font-size:25px!important}
  main div[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  main div[style*="repeat(auto-fit,minmax(190px"],main div[style*="repeat(auto-fit,minmax(170px"],main div[style*="repeat(auto-fit,minmax(180px"],main div[style*="repeat(auto-fit,minmax(200px"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  main section{overflow-x:auto;-webkit-overflow-scrolling:touch}
  main table{min-width:520px}
  main button,.ms-btn{min-height:42px}
  main input,main select,main textarea,.ms-box input,.ms-box select,.ms-box textarea{font-size:16px!important}
  .ms-modal{align-items:end;padding:0}
  .ms-box{max-width:100%!important;max-height:92vh;border-radius:20px 20px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}
  .ms-box .row{position:sticky;bottom:-20px;background:#fff;padding-top:10px}
  .ms-toast{left:12px;right:12px;max-width:none;bottom:calc(12px + env(safe-area-inset-bottom))}
  .ms-update{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:none}
  .ms-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .ms-tabs a{white-space:nowrap}
}
@media print{aside,.ms-banner,.ms-toast,.ms-update,.ms-help,#ms-loader,button{display:none!important}body{background:#fff!important}main{margin:0!important;padding:0!important;max-width:none!important}section{break-inside:avoid}}
@media (min-width:900px){aside{position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2a3f73 transparent}}

/* Icônes, croix de fermeture, boutons ronds, aides sous les champs */
.ms-box{position:relative}
.ms-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:#eef1f7;color:#12306b;display:grid;place-items:center;cursor:pointer;padding:0;z-index:2}
.ms-x:hover{background:#dfe5f1}
.ms-box>h3:first-of-type{padding-right:44px}
.ms-ib{width:36px;height:36px;min-height:0;border-radius:50%;border:1.5px solid #12306b;background:#fff;color:#12306b;display:inline-grid;place-items:center;padding:0;cursor:pointer;flex:none}
.ms-ib:hover{background:#12306b;color:#fff}
.ms-ib.trash:hover{background:#d9182b;border-color:#d9182b;color:#fff}
.ms-ib.trash{color:#b3121f;border-color:#e3b3b8}
.ms-ib[disabled]{opacity:.4;pointer-events:none}
.ms-top{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.ms-top .ms-ib{width:40px;height:40px}
.ms-fhint{font-size:12px;color:#6a7385;line-height:1.45;margin:3px 2px 8px}
.ms-actbar{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin:-4px 44px 6px 0}
.ms-card2{display:grid;gap:10px;margin:8px 0}
.ms-kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:14px}
.ms-kv dt{color:#5b6475}.ms-kv dd{margin:0;font-weight:600;color:#12306b;overflow-wrap:anywhere}
.ms-quick{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
@media (max-width:520px){.ms-kv{grid-template-columns:1fr}.ms-kv dt{margin-top:6px}}

.ms-mapwrap{position:relative}
.ms-mapwrap .ms-big{position:absolute;top:10px;right:10px;z-index:500;padding:7px 12px;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.ms-mapwrap.full{position:fixed;inset:0;z-index:300;background:#fff}
.ms-mapwrap.full .ms-map{height:100%!important;border-radius:0}
.ms-map{height:300px}

.ms-topact{position:absolute;top:12px;right:54px;display:flex;gap:8px;z-index:2}
.ms-topact .ms-ib{width:34px;height:34px}
.ms-box>h3:first-of-type{padding-right:100px}
/* Calendrier */
.ms-calh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 8px}
.ms-calh b{color:#12306b;font-size:15px}
.ms-calh .ms-ib{width:32px;height:32px}
.ms-cgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ms-cdow{font-size:11px;font-weight:700;color:#8a93a6;text-align:center;text-transform:uppercase;letter-spacing:.05em;padding:2px 0}
.ms-cday{position:relative;aspect-ratio:1;min-height:38px;border:1px solid #e3e7ef;background:#fff;border-radius:10px;font:600 13px 'Montserrat',sans-serif;color:#12306b;cursor:pointer;padding:0}
.ms-cday:hover:not([disabled]){border-color:#12306b}
.ms-cday.today{border-color:#d9182b;color:#d9182b}
.ms-cday.sel{background:#12306b;border-color:#12306b;color:#fff}
.ms-cday.off{background:#f4f6fa;color:#b7bfd0;cursor:default}
.ms-cday i{position:absolute;right:3px;bottom:3px;min-width:15px;height:15px;border-radius:8px;background:#d9182b;color:#fff;font:700 10px/15px 'Montserrat',sans-serif;font-style:normal;text-align:center;padding:0 3px}
.ms-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:6px 0 10px}
.ms-slot{border:1.5px solid #12306b;background:#fff;color:#12306b;border-radius:12px;padding:8px 6px;font:700 14px 'Montserrat',sans-serif;cursor:pointer;display:grid;gap:2px;justify-items:center}
.ms-slot small{font:500 11px 'Montserrat',sans-serif;color:#5b6475;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ms-slot.sel{background:#12306b;color:#fff}.ms-slot.sel small{color:#dfe5f6}
.ms-slot.taken,.ms-slot[disabled]{border-color:#dfe4ee;background:#f4f6fa;color:#98a1b4;cursor:default}
.ms-calcard{background:#fff;border:1px solid #e3e7ef;border-radius:14px;padding:20px}
.ms-chead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.ms-chead h2{margin:0;font-size:17px;font-weight:700;color:#12306b}
.ms-cwrap{display:flex;flex-wrap:wrap;gap:22px}
.ms-cleft{flex:1 1 300px;max-width:420px}.ms-cright{flex:1 1 240px;min-width:0}
.ms-cright h4{margin:0 0 8px;font-size:13px;color:#5b6475;text-transform:uppercase;letter-spacing:.06em}
.ms-up{display:grid;gap:2px;padding:9px 0;border-bottom:1px solid #eef1f6;font-size:13.5px}.ms-up b{color:#12306b}.ms-up span{color:#5b6475}
@media (max-width:520px){.ms-cday{min-height:34px;font-size:12px}}
.ms-cday{aspect-ratio:auto!important;height:40px;min-height:0!important}

/* Rappel d'installation */
.ms-nudge{position:fixed;right:18px;bottom:18px;z-index:80;max-width:400px;background:#fff;border:1px solid #dfe4ee;border-left:4px solid #d9182b;border-radius:14px;padding:14px 14px 14px 16px;box-shadow:0 10px 30px rgba(10,24,60,.22);display:flex;gap:14px;align-items:center;animation:ms-up .3s ease}
.ms-nudge-t{display:grid;gap:3px;font-size:12.5px;color:#5b6475;line-height:1.4}
.ms-nudge-t b{color:#12306b;font-size:14px}
.ms-nudge-a{display:flex;gap:8px;align-items:center;flex:none}
.ms-nudge-x{width:32px;height:32px;border-radius:50%;border:0;background:#eef1f7;color:#12306b;display:grid;place-items:center;cursor:pointer;padding:0}
@keyframes ms-up{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:620px){.ms-nudge{left:10px;right:10px;bottom:10px;max-width:none}}

/* Import Excel */
.ms-steps{margin:8px 0 12px;padding-left:20px;font-size:14px;line-height:1.55;color:#1f2430}.ms-steps li{margin:4px 0}
.ms-scroll{max-height:300px;overflow:auto;border:1px solid #e3e7ef;border-radius:10px;margin:8px 0}
.ms-mini{width:100%;border-collapse:collapse;font-size:12.5px}.ms-mini th{position:sticky;top:0;background:#f4f6fa;text-align:left;padding:7px 9px;color:#5b6475;font-weight:600}
.ms-mini td{padding:7px 9px;border-top:1px solid #eef1f6}.ms-mini tr.bad td{background:#fff3f4;color:#8a1621}
.ms-bar{height:8px;border-radius:6px;background:#e8ecf4;overflow:hidden;margin:6px 0}.ms-bar i{display:block;height:100%;background:#12306b;transition:width .2s}

.ms-hwrap{display:inline-flex;align-items:center;gap:12px}
.ms-hwrap .ms-ib{width:32px;height:32px}
/* Espacement des icônes côte à côte */
.ms-chact,.ms-acts,.ms-quick,.ms-top,.ms-topact{gap:12px!important}
.ms-chact{display:flex;align-items:center}
.ms-acts{display:flex;align-items:center}
.ms-topact{right:58px}
.ms-ib{width:38px;height:38px}
.ms-topact .ms-ib{width:36px;height:36px}
.ms-box>h3:first-of-type{padding-right:112px}

/* Retouches : moins de cadres, plus de respiration */
.ms-cday{border-color:transparent!important;background:transparent;font-weight:500}
.ms-cday:hover:not([disabled]):not(.sel){background:#eef1f7}
.ms-cday.today{border-color:#d9182b!important;font-weight:700}
.ms-cday.sel{background:#12306b;font-weight:700}
.ms-cday.off{background:transparent;color:#c2c8d6}
.ms-cgrid{gap:2px}
.ms-cleft{flex:1 1 320px;max-width:380px}
.ms-cwrap{gap:32px}
.ms-up:last-child{border-bottom:0}
.ms-nudge{border-left:1px solid #dfe4ee;border-radius:12px;box-shadow:0 6px 22px rgba(10,24,60,.16);gap:16px}
.ms-nudge-t b{font-size:13.5px}
.ms-slot{border-width:1px;font-weight:600}
.ms-kv dd{font-weight:500}
.ms-nudge{z-index:45!important}

/* Actions de groupe */
.ms-gbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#eef3ff;border:1px solid #cfdaf5;border-radius:12px;padding:10px 14px;margin:0 0 12px}
.ms-gbar[hidden]{display:none}
.ms-gbar b{color:#0b1f47;margin-right:4px}
.ms-gbar .ms-btn{padding:7px 12px;font-size:13px}
input[data-sel],input[data-all]{width:17px;height:17px;cursor:pointer;accent-color:#12306b}

/* Planning */
.pl-t{border-collapse:collapse;width:100%;min-width:860px;font-size:13px}
.pl-t th{padding:10px 8px;text-align:center;font-size:12px;color:#5b6475;font-weight:600;border-bottom:1px solid #e3e7ef;background:#fafbfd;position:sticky;top:0}
.pl-t th small{font-weight:500}
.pl-t td{padding:6px 5px;text-align:center;border-bottom:1px solid #eef1f6;position:relative}
.pl-t .pl-n{text-align:left;padding-left:12px;min-width:190px}
.pl-t .pl-n b{display:block;font-size:13.5px;color:#1f2430}
.pl-t .pl-n small{color:#5b6475;font-size:12px}
.pl-t .pl-s{width:34px;text-align:center}
.pl-t .pl-h{color:#12306b;font-weight:700;white-space:nowrap}
.pl-t .pl-today{color:#d9182b}
.pl-g td{background:#eef3ff;text-align:left;padding:8px 12px;color:#12306b;font-size:13px}
.pl-d{cursor:pointer}
.pl-d:hover,.pl-d:focus{background:#f4f7ff;outline:none}
.pl-c{display:inline-block;min-width:68px;padding:5px 8px;border-radius:8px;border:1px solid transparent;font-weight:700;font-size:12.5px;white-space:nowrap}
.pl-c small{margin-left:3px;font-weight:600;opacity:.7}
.pl-off{background:#eef0f4;color:#5b6475}
.pl-no{color:#b5bccb;font-weight:400;border:1px dashed #d5dbe7;background:#fff}
.pl-lv{background:#fff4d6;color:#7a5b00}
.pl-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#e0902a}
.pl-sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:middle}
.pl-cv td,.pl-cv th{padding:7px 8px}

.ms-wk{display:flex;align-items:center;gap:8px;margin:2px 0 6px;font-size:12.5px;color:#5b6475}
.ms-wk span{flex:1;text-align:center;font-weight:600;color:#12306b}
.ms-wk button{border:1px solid #d3dbe9;background:#fff;color:#12306b;border-radius:8px;min-width:30px;height:28px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;padding:0 8px}
.ms-wk .ms-wkt{font-size:12px;font-weight:600}
.ms-wk button[hidden]{display:none}
.ms-wkcap{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12px;color:#5b6475;margin-top:6px}
.ms-wkcap i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.ms-wkcap b{color:#12306b;flex-basis:100%}
.ms-wkstrip{background:#fff;border:1px solid #e3e7ef;border-radius:14px;padding:16px 20px;margin-bottom:16px}
.ms-wkstrip h2{margin:0 0 10px;font-size:15px;font-weight:700;color:#12306b}
.ms-wkgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.ms-wkc{border:1px solid #e3e7ef;border-radius:10px;padding:8px;font-size:12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ms-wkc.today{border-color:#d9182b}
.ms-wkc b{color:#12306b}.ms-wkc span{color:#5b6475}
.ms-wkc em{font-style:normal;font-weight:600;font-size:11.5px;border-radius:999px;padding:2px 7px;align-self:flex-start;background:#eef1f7;color:#5b6475}
.ms-wkc em.ok{background:#e1f5e8;color:#127a3a}.ms-wkc em.late{background:#fff4dc;color:#7a5200}.ms-wkc em.miss{background:#fde3e6;color:#b01223}.ms-wkc em.just{background:#e6eefc;color:#12306b}
@media(max-width:720px){.ms-wkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Carte de badge (85,6 x 54 mm) */
.bc{width:85.6mm;height:54mm;box-sizing:border-box;border-radius:3.5mm;overflow:hidden;background:#fff;border:1px solid #cfd7e6;display:flex;flex-direction:column;font-family:Montserrat,Arial,sans-serif;color:#0b1f47;break-inside:avoid}
.bc-h{background:#0b1f47;color:#fff;padding:2.2mm 4mm;display:flex;justify-content:space-between;align-items:center;font-size:8.5pt;letter-spacing:.08em}
.bc-h span{font-size:6.5pt;letter-spacing:.04em;opacity:.85;text-transform:uppercase}
.bc-b{flex:1;display:flex;gap:3mm;padding:3mm 4mm 1mm;min-height:0}
.bc-i{flex:1;min-width:0;display:flex;flex-direction:column;gap:.8mm}
.bc-ini{width:11mm;height:11mm;border-radius:50%;background:#12306b;color:#fff;display:grid;place-items:center;font-weight:700;font-size:9pt;margin-bottom:1mm}
.bc-n{font-weight:700;font-size:10.5pt;line-height:1.15}
.bc-m{font-size:8.5pt;color:#d9182b;font-weight:700}
.bc-s{font-size:7pt;color:#5b6475}
.bc-q{width:26mm;display:flex;flex-direction:column;align-items:center;gap:.6mm}
.bc-q svg{width:24mm;height:24mm}
.bc-q code{font-size:6.5pt;letter-spacing:.06em;font-weight:700}
.bc-f{font-size:5.8pt;color:#8a93a6;text-align:center;padding:0 4mm 2mm}
#ms-print{display:none}
@media print{
  body.ms-printing>*:not(#ms-print){display:none!important}
  body.ms-printing #ms-print{display:grid!important;grid-template-columns:repeat(2,85.6mm);gap:6mm;justify-content:center;padding:8mm}
  body.ms-printing{background:#fff!important}
  @page{size:A4;margin:8mm}
}
.bd-row td{vertical-align:middle}
.bd-st{display:inline-block;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700;background:#eef1f7;color:#5b6475}
.bd-st.ok{background:#e1f5e8;color:#127a3a}.bd-st.bad{background:#fde3e6;color:#b01223}.bd-st.warn{background:#fff4dc;color:#7a5200}
.bd-res{margin-top:12px;border-radius:12px;padding:12px 14px;font-weight:600;font-size:14px}
.bd-res.ok{background:#e1f5e8;color:#127a3a}.bd-res.bad{background:#fde3e6;color:#b01223}
.bd-prev{display:flex;justify-content:center;margin:6px 0 12px;transform-origin:top center}
.bd-t{width:100%;border-collapse:collapse;font-size:13.5px}
.bd-t th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:#5b6475;padding:10px 12px;border-bottom:1px solid #e3e7ef;white-space:nowrap}
.bd-t td{padding:10px 12px;border-bottom:1px solid #eef1f7;vertical-align:middle}
.bd-t small{color:#5b6475}
.bd-act{display:flex;flex-wrap:wrap;gap:6px}.bd-act .ms-btn{padding:6px 12px;font-size:12px}

.pl-tools{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;width:100%}
.pl-tg{display:flex;flex-direction:column;gap:4px}
.pl-tg>small{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#8a93a6}
.pl-tg>div{display:flex;flex-wrap:wrap;gap:8px}
.pl-pub{margin-left:auto}
.pl-tb{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;font-size:13px}
@media(max-width:720px){.pl-pub{margin-left:0;width:100%}.pl-pub .pl-tb{width:100%;justify-content:center}}
.pl-who{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pl-edit{border:1px solid #d3dbe9;background:#fff;color:#12306b;border-radius:8px;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;flex:none;opacity:.75}
.pl-edit:hover{opacity:1;background:#eef3ff}
.pl-ws{display:flex;flex-direction:column;gap:6px}
.pl-wr{display:grid;grid-template-columns:78px 1fr;gap:6px 10px;align-items:center}
.pl-wr b{font-size:13px;color:#12306b}.pl-wr small{font-weight:500;color:#8a93a6}
.pl-wr .pl-fr{grid-column:2;gap:8px}.pl-wr .pl-lv{grid-column:2;font-size:12px;color:#7a5200;font-style:normal}

/* Notifications */
.ms-bell{display:flex;align-items:center;gap:10px;width:calc(100% - 24px);margin:8px 12px 2px;padding:9px 12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;font:600 13.5px inherit;font-family:inherit;cursor:pointer;text-align:left}
.ms-bell:hover{background:rgba(255,255,255,.15)}
.ms-bell span{flex:1}
.ms-bc{background:#e0a800;color:#2b1d00;border-radius:999px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-size:12px;font-weight:800;padding:0 6px}
.ms-bc.u{background:#d9182b;color:#fff;animation:ms-pulse 1.8s ease-in-out infinite}
.ms-bc[hidden]{display:none}
@keyframes ms-pulse{0%,100%{box-shadow:0 0 0 0 rgba(217,24,43,.55)}60%{box-shadow:0 0 0 7px rgba(217,24,43,0)}}
.ms-bell-top{width:auto;margin:0 6px 0 auto;padding:7px 10px;position:relative}
.ms-bell-top .ms-bc{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;font-size:11px}
.ms-nd{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#f4f6fa;z-index:70;box-shadow:-12px 0 40px rgba(11,31,71,.28);display:flex;flex-direction:column;animation:ms-ndin .2s ease}
.ms-nd[hidden],.ms-nd-scrim[hidden]{display:none}
@keyframes ms-ndin{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.ms-nd-scrim{position:fixed;inset:0;background:rgba(11,31,71,.4);z-index:65}
.ms-nd header{display:flex;justify-content:space-between;gap:12px;padding:18px 20px 12px;background:#fff;border-bottom:1px solid #e3e7ef}
.ms-nd header h2{margin:0;font-family:'Playfair Display',serif;font-size:22px;color:#12306b;font-weight:600}
.ms-nd header p{margin:4px 0 0;font-size:13px;color:#5b6475}
.ms-nd-x{border:0;background:#eef1f7;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1;color:#12306b;cursor:pointer;flex:none}
.ms-nd-b{flex:1;overflow:auto;padding:6px 16px 20px}
.ms-nd-b h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8a93a6;margin:16px 4px 8px}
.ms-na{display:flex;gap:12px;background:#fff;border:1px solid #e3e7ef;border-left:4px solid #8a93a6;border-radius:12px;padding:12px 14px;margin-bottom:10px}
.ms-na.urgent{border-left-color:#d9182b}.ms-na.warn{border-left-color:#e0a800}.ms-na.info{border-left-color:#7a9be0}
.ms-na-i{color:#5b6475;flex:none;margin-top:1px}.ms-na.urgent .ms-na-i{color:#d9182b}.ms-na.warn .ms-na-i{color:#b07a00}
.ms-na-c{min-width:0;flex:1}
.ms-na-c b{font-size:14px;color:#12306b;display:block}
.ms-na-c p{margin:4px 0 0;font-size:12.5px;color:#5b6475;line-height:1.5}
.ms-na-c ul{margin:8px 0 0;padding:0 0 0 16px;font-size:12.5px;color:#1f2430}
.ms-na-c li{margin:2px 0}
.ms-na-a{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.ms-na-a .ms-btn{padding:7px 14px;font-size:12.5px;text-decoration:none;display:inline-block}
.ms-na-b{border:0;background:none;color:#5b6475;font:600 12.5px inherit;font-family:inherit;cursor:pointer;padding:6px 4px;text-decoration:underline}
.ms-nd-ok{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:#127a3a;padding:40px 20px}
.ms-nd-ok span{color:#5b6475;font-size:13px}.ms-nd-ok svg{width:40px;height:40px}
.ms-nd-more{border:0;background:none;color:#12306b;font:600 13px inherit;font-family:inherit;text-decoration:underline;cursor:pointer;margin:6px 4px}
.ms-nd footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e3e7ef;display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:#5b6475}
.ms-nd footer label{display:flex;gap:8px;align-items:center}
.ms-nd footer .ms-btn{padding:8px 14px;font-size:12.5px}

/* Notifications : coup de vernis (police unique Montserrat, cartes plus légères) */
.ms-nd,.ms-nd *,.ms-bell,.ms-toast,.ms-gate,.ms-gate *{font-family:'Montserrat',sans-serif}
.ms-nd header h2{font-family:'Playfair Display',serif}
.ms-bell{font-size:13.5px;font-weight:600;gap:10px;justify-content:flex-start}
.ms-bell svg{flex:none;width:18px;height:18px;opacity:.9}
.ms-bell-top{padding:8px 10px;border-radius:10px}
.ms-nd{width:min(420px,100%);background:#f6f8fc}
.ms-nd header{padding:20px 20px 14px}
.ms-nd header h2{font-size:21px}
.ms-nd header p{font-size:12.5px;line-height:1.45}
.ms-nd-b{padding:4px 14px 18px}
.ms-nd-b h3{font-size:10.5px;font-weight:700;letter-spacing:.09em;margin:18px 6px 8px}
.ms-na{border:1px solid #e6eaf2;border-radius:14px;padding:14px;gap:12px;box-shadow:0 1px 2px rgba(18,48,107,.05);margin-bottom:10px}
.ms-na.urgent,.ms-na.warn,.ms-na.info{border-left-width:1px}
.ms-na-i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef1f7;margin:0}
.ms-na-i svg{width:18px;height:18px}
.ms-na.urgent .ms-na-i{background:#fde8ea;color:#c4121f}
.ms-na.warn .ms-na-i{background:#fff3d1;color:#8a6100}
.ms-na.info .ms-na-i{background:#e6eefc;color:#2c5bb5}
.ms-na-c b{font-size:13.5px;font-weight:600;line-height:1.35}
.ms-na-c p{font-size:12.5px;line-height:1.5;color:#5b6475;margin:4px 0 0}
.ms-na-c ul{margin:8px 0 0;padding:8px 10px 8px 26px;background:#f6f8fc;border-radius:8px;font-size:12.5px}
.ms-na-a{gap:4px;margin-top:12px}
.ms-na-a .ms-btn{padding:7px 14px;font-size:12.5px;margin-right:6px}
.ms-na-b{font-size:12px;font-weight:600;color:#7b8498;text-decoration:none;padding:6px 8px;border-radius:8px}
.ms-na-b:hover{background:#eef1f7;color:#12306b}
.ms-nd footer{font-size:12.5px;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
.ms-nd-more{font-weight:600;text-decoration:none;color:#2c5bb5}

/* Autorisations obligatoires (notifications + localisation) */
.ms-gate{position:fixed;inset:0;z-index:300;background:rgba(11,31,71,.82);display:grid;place-items:center;padding:16px;backdrop-filter:blur(3px)}
.ms-gate-box{background:#fff;border-radius:20px;padding:28px 26px;width:100%;max-width:440px;color:#1f2430;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.ms-gate-box h2{margin:0 0 8px;font-family:'Playfair Display',serif;font-size:24px;color:#12306b;font-weight:600}
.ms-gate-box>p{margin:0 0 18px;font-size:13.5px;line-height:1.55;color:#5b6475}
.ms-gate-row{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e6eaf2;border-radius:12px;margin-bottom:10px;font-size:13px}
.ms-gate-row b{display:block;font-size:13.5px;color:#12306b}.ms-gate-row span{color:#5b6475;font-size:12px}
.ms-gate-row i{margin-left:auto;font-style:normal;font-weight:700;font-size:12px;padding:3px 10px;border-radius:999px;background:#eef1f7;color:#5b6475;white-space:nowrap}
.ms-gate-row.ok i{background:#e2f5e9;color:#127a3a}.ms-gate-row.no i{background:#fde8ea;color:#c4121f}
.ms-gate-help{background:#fff8e6;border:1px solid #f1dc9a;border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.55;color:#5c4400;margin:4px 0 14px}
.ms-gate-box .ms-btn{width:100%;padding:12px 16px;font-size:14px}
.ms-na.urgent,.ms-na.warn,.ms-na.info{border-left-color:#e6eaf2}.ms-na.urgent{border-color:#f3c9ce}

/* Réglages des notifications */
.ms-np{font-size:13px;color:#1f2430}
.ms-np-top{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#f6f8fc;border:1px solid #e6eaf2;border-radius:12px;padding:12px 14px;margin-bottom:6px}
.ms-np-top b{display:block;font-size:13.5px;color:#12306b}.ms-np-top small{color:#5b6475;font-size:12px;line-height:1.5}
.ms-np-top .ms-btn{padding:8px 16px;font-size:12.5px;flex:none}
.ms-np h4{margin:18px 0 6px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#8a93a6;font-weight:700}
.ms-sw{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px solid #eef1f7;cursor:pointer}
.ms-sw b{display:block;font-size:13.5px;font-weight:600}.ms-sw small{display:block;color:#5b6475;font-size:12px;margin-top:2px}
.ms-sw input{position:absolute;opacity:0;pointer-events:none}
.ms-sw i{width:42px;height:24px;border-radius:999px;background:#c9d0de;position:relative;flex:none;transition:background .15s}
.ms-sw i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}
.ms-sw input:checked+i{background:#12306b}.ms-sw input:checked+i::after{transform:translateX(18px)}
.ms-sw input:focus-visible+i{outline:2px solid #7a9be0;outline-offset:2px}
.ms-np select{width:100%;border:1px solid #c9d0de;border-radius:10px;padding:10px 12px;font-size:14px;background:#fff;color:#1f2430}
.ms-np-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ms-np-act .ms-btn.sec{background:#fff;color:#12306b;border:1.5px solid #12306b}
.ms-np-note{margin:12px 0 0;font-size:12px;line-height:1.55;color:#5b6475}
.ms-nd-set{border:0;background:none;color:#2c5bb5;font-weight:600;font-size:12.5px;cursor:pointer;text-align:left;padding:2px 0}
.ms-nd-set:hover{text-decoration:underline}

/* Téléphone : l'application reste fixe (pas de zoom au clic dans un champ, pas de zoom au double toucher). Le pincement reste possible. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}
body{overflow-x:hidden}
@media (max-width:900px){input,select,textarea{font-size:16px!important}}
.ms-gate-skip{display:block;width:100%;margin-top:10px;border:0;background:none;color:#5b6475;font-weight:600;font-size:13px;padding:10px;cursor:pointer;border-radius:10px}
.ms-gate-skip:hover{background:#eef1f7;color:#12306b}
@media (max-width:600px){.ms-gate{align-items:end;padding:0}.ms-gate-box{border-radius:22px 22px 0 0;max-width:none;padding:24px 20px calc(20px + env(safe-area-inset-bottom))}}

/* Téléphone : boutons bien centrés, panneau de notifications au-dessus de la barre du haut, polices unifiées */
.ms-nudge,.ms-nudge *{font-family:'Montserrat',sans-serif}
.ms-toast{z-index:150}
@media (max-width:899px){
  .ms-btn,main button.ms-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;min-height:40px}
  .ms-nd{z-index:140}.ms-nd-scrim{z-index:135}
  .ms-nd header{padding-top:calc(18px + env(safe-area-inset-top))}
  .ms-na-a{gap:2px 4px}
  .ms-na-a .ms-btn{min-height:38px;padding:8px 16px}
  .ms-na-b{min-height:38px;display:inline-flex;align-items:center}
  main div:has(> [data-wl]){width:100%}
  [data-wl]{min-width:0!important;flex:1;font-size:13px!important}
  body[data-page^="compta"] main div[style*="repeat(auto-fit,minmax(190px"],body[data-page^="compta"] main div[style*="repeat(auto-fit,minmax(170px"],body[data-page^="compta"] main div[style*="repeat(auto-fit,minmax(180px"],body[data-page^="compta"] main div[style*="repeat(auto-fit,minmax(200px"]{grid-template-columns:minmax(0,1fr)!important}
}
@media (max-width:899px){.ms-modal{z-index:160}}
@media (max-width:899px){.ms-na-a .ms-btn,.ms-np-act .ms-btn,.ms-nd footer .ms-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}}
@media (max-width:899px){main table td b{white-space:nowrap}}
@media (max-width:899px){.ms-btn,main button{box-sizing:border-box}}

/* Anti-débordement (ordinateur et téléphone) : les textes longs (e-mails, noms) passent à la ligne, les boutons ne sont jamais coupés */
main :where(div,p,span,b,strong,li,small,label,h1,h2,h3,h4){overflow-wrap:break-word}
main div[style*="display:flex"]>div,main div[style*="display:flex"]>span,main div[style*="display:flex"]>label{min-width:0}
main div[style*="display:flex"]>button,main div[style*="display:flex"]>a,main div[style*="display:flex"]>select{flex:none;max-width:100%}
main div[style*="justify-content:space-between"]{flex-wrap:wrap}
main img,main video,main canvas{max-width:100%;height:auto}
.ms-box{overflow-wrap:anywhere}

/* Bouton « ? » : toujours rond */
.ms-help{box-sizing:border-box;flex:none;min-height:0!important;width:26px!important;height:26px!important;padding:0!important;line-height:1;vertical-align:middle;position:relative}
.ms-help::after{content:"";position:absolute;inset:-8px}
main h1{overflow-wrap:break-word}

/* Cloche du haut (téléphone) : un carré de 42 px, pastille dans le coin */
@media (max-width:899px){
  .ms-topbar .ms-bell-top{display:grid;place-items:center;width:42px;height:42px;min-height:0;padding:0;margin:0 0 0 auto;border:0;border-radius:12px;background:rgba(255,255,255,.12);position:relative;flex:none}
  .ms-topbar .ms-bell-top svg{width:20px;height:20px}
  .ms-topbar .ms-bell-top .ms-bc{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;font-size:11px;padding:0 5px;border:2px solid #0b1f47;box-sizing:content-box}
}
main>section,main>div{flex-shrink:0}
@media (max-width:899px){main>section{flex:0 0 auto!important}}
@media (max-width:899px){
  .ms-topbar .ms-bell-top{justify-content:center;justify-items:center;align-content:center;gap:0}
  .ms-topbar .ms-bell-top .ms-bc{box-sizing:border-box;min-width:20px;height:20px;padding:0 5px;top:-6px;right:-6px;line-height:1}
}

/* photo sur la carte de badge */
.bc-ini.bc-ph{width:14mm;height:14mm;overflow:hidden;background:#e6eefc}
.bc-ini img{width:100%;height:100%;object-fit:cover;display:block}

/* Notifications : cartes simples, cliquables, un seul geste « lu » */
.ms-nd-bar{background:#fff;padding:0 20px 12px;border-bottom:1px solid #e3e7ef}
.ms-nd-bar button{border:1px solid #d3dbea;background:#f6f8fc;color:#12306b;border-radius:999px;padding:8px 14px;font:600 13px 'Montserrat',sans-serif;cursor:pointer}
.ms-nd-bar small{font-weight:500;color:#5b6475}
.ms-na{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:#fff;border:1px solid #e6eaf2;margin:0 0 8px;position:relative}
.ms-na.go{cursor:pointer}.ms-na.go:hover{border-color:#b9c6e4;box-shadow:0 4px 14px rgba(18,48,107,.08)}
.ms-na .ms-na-i{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#eef2fa;color:#12306b}
.ms-na.urgent .ms-na-i{background:#fde8ea;color:#c0121f}.ms-na.warn .ms-na-i{background:#fff4dc;color:#9a6200}
.ms-na .ms-na-c{flex:1;min-width:0}.ms-na .ms-na-c b{display:block;font-size:14px;line-height:1.35;color:#12306b;font-weight:700}
.ms-na .ms-na-c p{margin:3px 0 0;font-size:12.5px;line-height:1.4;color:#5b6475;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ms-na-go{display:inline-block;margin-top:6px;font-size:12.5px;font-weight:700;color:#c0121f}
.ms-na-ok{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid #dbe2ef;background:#fff;color:#8a93a6;display:grid;place-items:center;cursor:pointer;padding:0}
.ms-na-ok:hover{background:#e9f7ee;color:#127a3a;border-color:#b7e0c5}.ms-na-ok svg{width:16px;height:16px}
.pl-lvt{display:block;font-style:normal;font-size:9.5px;font-weight:700;color:#7a5200;background:#fff4d6;border-radius:6px;padding:1px 5px;margin-top:3px;text-align:center}
