@font-face{font-family:"Inter";src:url("/static/fonts/InterVariable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{
--top:#28547d;--left:#142f49;--left2:#1c3d5e;--blue:#2f6f9f;--blue-dark:#28577e;
--bg:#e8eef3;--text:#152a3c;--muted:#72859a;--line:#c2d0db;--tab:#e1e8ee;
--orange:#d59235;--green:#2b8b74;--violet:#6a54a4;--red:#c94f59;
--yellow:#fff0ad;--silver:#eef3f7;--bronze:#f4dec8}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:12px}
a{color:inherit}
.topbar{height:58px;background:var(--top);color:#fff;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #173a58;gap:10px}
.brand-wrap{min-width:300px}.brandline{display:flex;align-items:center;gap:7px}.brand{font-size:16px;font-weight:800;letter-spacing:.03em}
.version{font-size:9px;background:#173e61;padding:3px 6px}.beta{font-size:9px;background:#e25059;padding:3px 6px;font-weight:800}
.project-meta{font-size:9px;color:#d2e0eb;margin-top:3px}
.top-search{display:flex;align-items:center;gap:5px;margin-left:auto}.top-search input{width:280px;height:29px;border:0;padding:5px 8px}
.topbtn{height:29px;border:0;padding:0 11px;font-size:10px;font-weight:700;color:#fff;background:#3479b2;cursor:pointer}
.topbtn.gold{background:#cf8f32}.topbtn.dark{background:#173f61}.topbtn.red{background:#cf4d55}.notif{height:29px;min-width:40px;background:#d99b39;display:flex;align-items:center;justify-content:center;font-weight:800}.user-mini{font-size:10px;white-space:nowrap}
.workspace{display:flex;height:calc(100vh - 58px);min-height:520px}.days-sidebar{width:190px;flex:0 0 190px;background:var(--left);color:#d9e5ee;border-right:1px solid #0f263a;overflow-y:auto}
.side-section-title{font-size:9px;font-weight:800;color:#8ea8bb;padding:11px 8px 6px;text-transform:uppercase}.selected-day-card{margin:0 7px 7px;background:#214a70;padding:9px;border:1px solid #315c81}.selected-day-card .lab{font-size:8px;color:#aec0cf;text-transform:uppercase}.selected-day-card .date{font-size:13px;font-weight:800;color:#fff;margin-top:4px}
.side-action{display:block;margin:5px 7px;background:#2b70a7;color:#fff;text-align:center;padding:8px 5px;text-decoration:none;font-weight:700;font-size:10px}.side-action.dark{background:#1c4468}
.tree-year{background:#1d4162;margin-top:5px;border-top:1px solid #284d6b;border-bottom:1px solid #102d45}.tree-year>summary,.tree-month>summary{cursor:pointer;list-style:none}.tree-year>summary{padding:8px 7px;font-weight:800;font-size:10px}.tree-month>summary{padding:7px 10px;color:#c6d7e3;font-size:10px;font-weight:700}.daylink{display:block;text-decoration:none;padding:6px 10px 6px 25px;color:#a9bece;font-size:10px}.daylink:hover,.daylink.active{background:#28577e;color:#fff}
.content-area{flex:1;min-width:0;overflow:auto;scrollbar-gutter:stable}.page{padding:14px 18px 24px;min-width:1050px}.day-title{font-size:22px;font-weight:800;margin:2px 0}.day-sub{font-size:10px;color:#7b8c9d;margin-bottom:11px}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px}.kpi-card{height:80px;background:#fff;border:1px solid var(--line);border-top:3px solid #3079b7;padding:9px 11px}.kpi-card:nth-child(2){border-top-color:#6f5dad}.kpi-card:nth-child(3){border-top-color:#359485}.kpi-card:nth-child(4){border-top-color:#d48735}.kpi-card:nth-child(5){border-top-color:#607cab}.kpi-lab{font-size:9px;color:#718499;font-weight:800;text-transform:uppercase}.kpi-value{font-size:23px;font-weight:800;margin-top:6px}.kpi-sub{font-size:9px;color:#8190a0;margin-top:2px}
.action-strip{margin-top:8px;border:1px solid #e1a84c;background:#fff9ee;height:34px;display:flex;align-items:center;gap:7px;padding:4px 8px}.action-main{font-weight:800;font-size:10px}.chip{height:23px;border:1px solid #435567;background:#fff;padding:0 10px;display:inline-flex;align-items:center;font-size:9px;font-weight:700;text-decoration:none}.chip.renfort{border-color:#7353a5;color:#62418a}
.tabsbar{margin-top:8px;background:#dde6ed;border:1px solid #a8bac8;display:flex;height:34px;align-items:stretch;overflow-x:auto;box-shadow:0 1px 0 rgba(35,70,94,.055)}.tablink{display:flex;align-items:center;padding:0 12px;border-right:1px solid #b0c1ce;background:#e0e8ef;text-decoration:none;color:#29465d;font-size:10px;font-weight:700;white-space:nowrap}.tablink:hover{background:#d2dee8;color:#193e59}.tablink.active{background:#fff;color:#1c5d8c;border-top:3px solid #2b73aa;margin-top:-1px;font-weight:800}.tablink.restricted{color:#584773}
.tab-content{background:#fff;border:1px solid #bfceda;border-top:0;padding:12px;min-height:470px;box-shadow:0 1px 2px rgba(31,59,76,.05)}.section-title{font-size:15px;font-weight:800;margin:0 0 4px}.section-sub{font-size:9px;color:#7e8e9f;margin-bottom:10px}
.rank-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:9px}.podium{height:64px;border:1px solid #d7e0e7;padding:9px 11px}.podium.first{background:var(--yellow)}.podium.second{background:#edf3f7}.podium.third{background:var(--bronze)}.podium .pos{font-size:10px;font-weight:800}.podium .name{font-size:14px;font-weight:800;margin-top:4px}.podium .small{font-size:9px;color:#65798c;margin-top:2px}
.panel{background:#fff;border:1px solid #d5e0e8;margin-top:8px}.panel-head{padding:8px 9px;font-weight:800;font-size:10px;border-bottom:1px solid #d5e0e8;display:flex;justify-content:space-between}
table{width:100%;border-collapse:collapse;font-size:10px}th{background:#28577e;color:#fff;padding:7px 6px;text-align:center;font-weight:700;border-right:1px solid #3d698c}td{padding:6px;border-bottom:1px solid #e8edf1;text-align:center}td.left,th.left{text-align:left}tbody tr:nth-child(even) td{background:#f5f8fa}.rank1 td{background:#fff4bf!important}.rank2 td{background:#f0f4f7!important}.rank3 td{background:#f7e4d1!important}
.badge{display:inline-block;padding:3px 7px;font-size:9px;font-weight:800;border-radius:10px;background:#e9eff4}.ok{background:#e4f2eb;color:#26725b}.bad{background:#fae4e5;color:#9e3740}.violet{background:#eee5f7;color:#604080}.empty-module{padding:40px 20px;text-align:center;color:#718399;background:#f9fbfc;border:1px dashed #cdd9e2}
.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.split-panel{border:1px solid #d4dee7;background:#fff}.split-head{background:#e8f0f7;padding:10px}.split-head.violet{background:#efe6f8}.split-head h2{margin:0;font-size:14px}.split-head p{margin:3px 0 0;font-size:9px;color:#748596}
.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#173652,#2c668f)}.login-card{width:390px;background:#fff;border-radius:8px;padding:28px;box-shadow:0 18px 50px #0a1d2e66}.login-card h1{font-size:24px;margin:0 0 4px}.login-card input{width:100%;padding:9px;margin:5px 0 11px;border:1px solid #cbd6df}.login-card button{width:100%;padding:10px;background:#2d6e9e;color:#fff;border:0;font-weight:800}.error{background:#fdeced;color:#9d3038;padding:10px;margin:10px 0}.hint{font-size:10px;color:#748596;background:#f4f7f9;padding:9px;margin-top:12px}
.btn{background:#2f6f9f;color:#fff;text-decoration:none;padding:7px 10px;font-weight:700;font-size:10px}.btn.secondary{background:#526b73}.techlink{text-decoration:none;font-weight:700;color:#285e88}
@media(max-width:1000px){.days-sidebar{display:none}.page{min-width:900px}.top-search input{width:180px}}

.empty-ranking-row td{height:430px;background:#fff!important;border-bottom:0}

body.modal-open{overflow:hidden}
.tech-modal-backdrop{position:fixed;inset:0;background:rgba(8,25,40,.58);z-index:5000;display:none;align-items:center;justify-content:center;padding:24px}
.tech-modal-backdrop.open{display:flex}
.tech-modal-box{width:min(1540px,96vw);height:min(860px,92vh);background:#f4f7fa;border:1px solid #9eb2c3;box-shadow:0 24px 70px rgba(0,0,0,.4);overflow:hidden;display:flex;flex-direction:column}
.tech-modal-inner{height:100%;display:flex;flex-direction:column;min-height:0}
.tech-modal-header{min-height:76px;background:#fff;border-bottom:1px solid #ccd9e3;padding:15px 18px;display:flex;align-items:center;justify-content:space-between}
.tech-modal-name{font-size:26px;font-weight:800;color:#132c45}
.tech-modal-meta{font-size:11px;color:#667c90;margin-top:5px}
.tech-modal-close{border:0;background:#cf4d55;color:#fff;font-size:17px;font-weight:800;width:38px;height:36px;cursor:pointer}
.tech-modal-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:10px 14px;background:#eef3f7}
.tech-modal-kpi{background:#fff;border:1px solid #cfdae4;border-top:3px solid #367db1;min-height:72px;padding:10px 12px}
.tech-modal-kpi span{display:block;color:#6a8094;font-size:10px;font-weight:800;text-transform:uppercase}
.tech-modal-kpi strong{display:block;font-size:21px;margin-top:7px;color:#142d45}
.tech-modal-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,3fr) minmax(330px,1fr);gap:10px;padding:0 14px 12px}
.tech-modal-section{min-height:0;background:#fff;border:1px solid #cfdbe5;display:flex;flex-direction:column}
.tech-modal-section-head{padding:10px 12px;font-size:13px;font-weight:800;border-bottom:1px solid #cfdbe5;color:#16324a;background:#f7fafc}
.tech-modal-table-wrap{overflow:auto;flex:1;min-height:0}
.tech-modal-table-wrap table{font-size:11px}
.tech-modal-table-wrap th{font-size:10px;position:sticky;top:0;z-index:2}
.tech-modal-table-wrap td{padding:8px 7px}
.tech-modal-footer{min-height:52px;background:#fff;border-top:1px solid #ccd9e3;padding:9px 14px;display:flex;justify-content:flex-end;gap:8px}
.tech-modal-loading{height:100%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#62788c}
.modal-tech-link{cursor:pointer}
@media(max-width:1100px){.tech-modal-box{width:98vw;height:94vh}.tech-modal-grid{grid-template-columns:1fr}.tech-modal-side{max-height:240px}.tech-modal-kpis{grid-template-columns:repeat(3,1fr)}}

/* STEP7B — lisibilité générale */
body{font-size:13px}
.page{padding:16px 20px 28px}
.day-title{font-size:24px}
.day-sub{font-size:11px}
.kpi-lab{font-size:10px}
.kpi-value{font-size:25px}
.kpi-sub{font-size:10px}
.action-main{font-size:11px}
.chip{font-size:10px;height:25px}
.tablink{font-size:11px;padding:0 13px}
.section-title{font-size:17px}
.section-sub{font-size:10px}
table{font-size:11px}
th{font-size:10px;padding:8px 7px}
td{padding:7px 7px}
.side-section-title{font-size:10px}
.daylink{font-size:11px;padding-top:7px;padding-bottom:7px}
.tree-year>summary{font-size:11px}
.tree-month>summary{font-size:11px}
.selected-day-card .date{font-size:14px}
.side-action{font-size:11px}

/* Données : banderoles par technicien */
.data-tech-block{
  margin:0 0 14px;
  border:1px solid #c7d5df;
  background:#fff;
  box-shadow:0 1px 3px rgba(18,47,73,.05)
}
.data-tech-banner{
  min-height:46px;
  background:linear-gradient(90deg,#214b70,#2b638f);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 11px;
  border-bottom:1px solid #153852
}
.data-tech-identity{display:flex;align-items:center;gap:8px;min-width:0}
.data-tech-icon{font-size:18px}
.data-tech-name{
  color:#fff;text-decoration:none;font-size:14px;font-weight:800;
  white-space:nowrap
}
.data-tech-name:hover{text-decoration:underline}
.data-tech-category,.data-tech-partner{
  font-size:9px;font-weight:800;padding:3px 7px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)
}
.data-tech-category{background:#3b7b69}
.data-tech-open{
  border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.09);
  color:#fff;padding:5px 9px;font-size:9px;font-weight:800;cursor:pointer
}
.data-tech-open:hover{background:rgba(255,255,255,.18)}
.data-tech-table-wrap{overflow:auto}
.data-tech-table th{background:#355f7f}
.data-tech-table tbody tr:nth-child(even) td{background:#f6f9fb}
.data-tech-table tbody tr:hover td{background:#edf5fa}
.amount-cell{font-weight:800;color:#163f5f}

/* Import modal fusionnée depuis STEP6C */
.import-modal-backdrop{
 position:fixed;inset:0;background:rgba(8,25,40,.58);z-index:4800;
 display:none;align-items:center;justify-content:center;padding:24px
}
.import-modal-backdrop.open{display:flex}
.import-modal-box{
 width:min(720px,94vw);background:#f4f7fa;border:1px solid #9eb2c3;
 box-shadow:0 22px 65px rgba(0,0,0,.38)
}
.import-modal-header{
 background:#fff;border-bottom:1px solid #ccd9e3;padding:16px 18px;
 display:flex;align-items:center;justify-content:space-between
}
.import-modal-title{font-size:21px;font-weight:800;color:#142d45}
.import-modal-sub{font-size:10px;color:#718497;margin-top:4px}
.import-modal-close{
 width:36px;height:34px;border:0;background:#cf4d55;color:#fff;
 font-weight:800;font-size:16px;cursor:pointer
}
.import-modal-body{padding:18px}
.import-dropzone{
 min-height:210px;background:#fff;border:2px dashed #aec0cf;
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 padding:22px;text-align:center
}
.import-icon{
 width:52px;height:52px;border-radius:50%;display:flex;align-items:center;
 justify-content:center;background:#e6f0f8;color:#2f6f9f;font-size:28px;font-weight:800
}
.import-drop-title{font-size:15px;font-weight:800;margin-top:12px}
.import-drop-sub{font-size:10px;color:#7b8d9d;margin-top:4px}
.import-file-btn{
 display:inline-block;margin-top:14px;background:#2f6f9f;color:#fff;
 padding:9px 16px;font-size:11px;font-weight:800;cursor:pointer
}
.import-file-name{font-size:10px;color:#586d80;margin-top:10px;min-height:14px}
.import-progress-wrap{
 display:none;margin-top:14px;background:#fff;border:1px solid #ccd9e3;padding:13px
}
.import-progress-wrap.visible{display:block}
.import-progress-labels{
 display:flex;justify-content:space-between;align-items:center;
 font-size:10px;font-weight:800;color:#40586e;margin-bottom:7px
}
.import-progress-track{height:14px;background:#dfe7ed;overflow:hidden;border:1px solid #cad6df}
.import-progress-bar{
 height:100%;width:0;background:linear-gradient(90deg,#2e6e9f,#3e9988);
 transition:width .25s ease
}
.import-progress-detail{font-size:9px;color:#758798;margin-top:7px}
.import-modal-footer{
 background:#fff;border-top:1px solid #ccd9e3;padding:10px 14px;
 display:flex;justify-content:flex-end;gap:8px
}
#importSubmitBtn:disabled,.import-modal-footer button:disabled{opacity:.5;cursor:not-allowed}

/* STEP8 — Référentiels + Primes */
.ref-columns{display:grid;grid-template-columns:minmax(520px,1fr) minmax(620px,1.25fr);gap:12px}
.ref-panel{border:1px solid #cad7e1;background:#fff;min-height:560px}
.ref-panel-title{padding:10px 12px;background:#274f72;color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em}
.ref-scroll{max-height:650px;overflow:auto}
.ref-inactive td{color:#8b98a4;background:#f1f3f5!important}
.ref-toggle-row td{padding:2px 7px 7px;background:#fff!important;text-align:right}
.ref-input,.ref-select{width:100%;border:1px solid #cbd7e0;padding:5px 6px;font-size:10px;background:#fff}
.mini-action{border:0;background:#2f6f9f;color:#fff;padding:5px 7px;font-size:9px;font-weight:800;cursor:pointer}
.mini-link{border:0;background:none;color:#6b7d8c;font-size:9px;text-decoration:underline;cursor:pointer}
.ref-tariff-note{padding:8px 10px;background:#fff8e9;color:#725522;font-size:9px;border-bottom:1px solid #ead7ac}
.ref-category-banner{padding:8px 10px;background:#e8f0f6;color:#244a6a;font-weight:800;font-size:11px;border-top:1px solid #cbd8e2}
.tariff-form{display:flex;gap:4px;align-items:center;justify-content:center}
.tariff-input{width:76px;border:1px solid #cbd7df;padding:5px;text-align:right;font-size:10px}
.tariff-save{border:0;background:#39826e;color:#fff;width:24px;height:24px;cursor:pointer;font-weight:800}
.prime-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.prime-summary>div{background:#fff;border:1px solid #cfdbe4;border-top:3px solid #6a54a4;padding:10px 12px}
.prime-summary span{display:block;font-size:9px;color:#72869a;font-weight:800;text-transform:uppercase}
.prime-summary strong{display:block;font-size:20px;margin-top:5px}
.prime-table .plus-cell{color:#23755c;font-weight:700}
.prime-table .minus-cell{color:#a34048;font-weight:700}
.prime-table .prime-ca{font-weight:800;color:#244f72}
.prime-table .prime-due{font-size:12px;font-weight:900;color:#5d3e83;background:#f4eef9}
.prime-scale{margin-top:10px;border:1px solid #d7d0e4;background:#faf8fc;padding:10px 12px;font-size:10px;color:#5d5470}
@media(max-width:1250px){.ref-columns{grid-template-columns:1fr}}

/* STEP8A — calibrage 2560×1440 + vraie fenêtre au-dessus */
@media (min-width:1800px){
  body{font-size:14px}
  .page{padding:20px 24px 32px}
  .day-title{font-size:28px}
  .day-sub{font-size:12px}
  .kpi-card{height:92px;padding:11px 14px}
  .kpi-lab{font-size:11px}
  .kpi-value{font-size:28px}
  .kpi-sub{font-size:11px}
  .action-strip{height:38px}
  .action-main{font-size:12px}
  .chip{font-size:11px;height:27px}
  .tabsbar{height:38px}
  .tablink{font-size:12px;padding:0 15px}
  .section-title{font-size:19px}
  .section-sub{font-size:11px}
  table{font-size:13px}
  th{font-size:12px;padding:9px 8px}
  td{padding:8px 8px}
  .data-tech-name{font-size:16px}
  .data-tech-category,.data-tech-partner{font-size:10px}
  .days-sidebar{width:215px;flex-basis:215px}
  .daylink{font-size:12px}
  .tree-year>summary,.tree-month>summary{font-size:12px}
  .side-action{font-size:12px}
  .selected-day-card .date{font-size:16px}
}

.tech-modal-backdrop{
  position:fixed!important;
  inset:0!important;
  display:none;
  align-items:center!important;
  justify-content:center!important;
  padding:28px!important;
  z-index:9999!important;
}
.tech-modal-backdrop.open{display:flex!important}
.tech-modal-box{
  position:relative!important;
  width:min(2100px,90vw)!important;
  height:min(1180px,88vh)!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  overflow:hidden!important;
}
.tech-modal-name{font-size:30px!important}
.tech-modal-meta{font-size:13px!important}
.tech-modal-kpi span{font-size:11px!important}
.tech-modal-kpi strong{font-size:24px!important}
.tech-modal-section-head{font-size:15px!important}
.tech-modal-table-wrap table{font-size:13px!important}
.tech-modal-table-wrap th{font-size:12px!important}
.tech-modal-table-wrap td{padding:9px 8px!important}

/* Warning articles manquants */
.warning-page-wrap{display:flex;justify-content:center;align-items:flex-start;padding-top:50px}
.warning-card{width:min(900px,90vw);background:#fff;border:1px solid #d6c5a2;box-shadow:0 14px 40px rgba(0,0,0,.16);padding:26px}
.warning-icon{font-size:46px;color:#d28c2e}
.warning-title{font-size:24px;font-weight:900;color:#563d1e;margin-top:6px}
.warning-sub{font-size:13px;color:#6b7782;margin-top:6px}
.warning-list{margin-top:18px;border:1px solid #ead8b4;background:#fffaf0;max-height:420px;overflow:auto}
.warning-item{padding:12px 14px;border-bottom:1px solid #ead8b4;font-size:14px}
.warning-item:last-child{border-bottom:0}
.warning-cat{display:inline-block;margin-left:8px;padding:2px 7px;background:#e7eff6;color:#28577e;font-size:10px;font-weight:800}
.warning-rows{font-size:11px;color:#7c6b52;margin-top:4px}
.warning-note{margin-top:16px;padding:12px;background:#f6f8fa;border:1px solid #d6dfe6;font-size:12px;line-height:1.45}
.warning-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

.tr-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.tr-kpi{background:#fff;border:1px solid #cdd9e2;border-top:4px solid #327bb4;padding:12px 14px}.tr-kpi span{display:block;text-transform:uppercase;font-size:11px;font-weight:800;color:#6f8294}.tr-kpi strong{display:block;font-size:28px;margin-top:5px}.tr-kpi small{font-size:10px;color:#7c8d9c}.tr-green{border-top-color:#319477}.tr-purple{border-top-color:#725ab2}.tr-orange{border-top-color:#d58225}.tr-red{border-top-color:#bb4a50}.tr-tools{display:flex;gap:8px;align-items:center;margin:8px 0}.tr-tools input{width:250px;padding:8px}.tr-btn{background:#28577e;color:#fff;border:0;padding:8px 12px;font-weight:800}.tr-rule{margin-left:auto;font-size:10px;color:#748697}.tr-ok td{background:#f3faf6!important}.tr-pending td{background:#fff9ef!important}.tr-warning td{background:#fff0f1!important}.tr-status{padding:4px 8px;font-size:11px;font-weight:800}.tr-bottom-actions{display:flex;gap:8px;margin-top:10px}.tr-action{border:0;color:#fff;padding:9px 12px;font-weight:800}.tr-action.green{background:#31836c}.tr-action.dark{background:#345a76}.tr-action.red{background:#bd4e55}.tr-correct-wrap{display:flex}.tr-correct-wrap input{width:120px;padding:8px}
.notify-head{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #cfdae3;padding:14px}.notify-counter{width:52px;height:52px;border-radius:50%;background:#d99031;color:white;font-size:24px;font-weight:900;display:flex;align-items:center;justify-content:center}.notify-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}.notify-item{display:grid;grid-template-columns:40px 1fr 110px 30px;align-items:center;background:#fff;border:1px solid #ccd8e2;border-left:4px solid #d08a32;padding:11px;text-decoration:none}.notify-danger{border-left-color:#c44f57}.notify-info{border-left-color:#3a7eae}.notify-copy{display:flex;flex-direction:column}.notify-copy strong{font-size:13px}.notify-copy span,.notify-date{font-size:11px;color:#718395}.notify-empty{padding:25px;background:#f1faf5;border:1px solid #c7e1d2;text-align:center;font-weight:800}

/* STEP9A — vérification import façon FIX11 */
.verify-overlay-card{
  width:min(1180px,92vw);margin:34px auto;background:#f4f6f8;
  border:1px solid #8899a7;box-shadow:0 15px 42px rgba(0,0,0,.18);
  padding:0 28px 24px
}
.verify-topline{height:4px;background:#326ca0;margin:0 -28px 22px}
.verify-title{font-size:27px;font-weight:900;color:#142a3f}
.verify-summary{font-size:12px;color:#62778a;margin-top:8px;margin-bottom:18px}
.verify-table-wrap{
  max-height:520px;overflow:auto;border:1px solid #8799a8;background:#fff
}
.verify-table{font-size:13px}
.verify-table th{font-size:12px;padding:10px 9px}
.verify-table td{padding:10px 9px}
.verify-table th:nth-child(1){width:150px}
.verify-table th:nth-child(2){width:210px}
.verify-note{
  margin-top:14px;background:#fff9eb;border:1px solid #e5d2a7;
  padding:10px 12px;font-size:12px;color:#705321
}
.verify-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}
.verify-actions form{margin:0}
.verify-btn{border:0;color:#fff;padding:12px 20px;font-size:13px;font-weight:800;cursor:pointer}
.verify-btn.cancel{background:#c95057}.verify-btn.continue{background:#ca8b31}

/* STEP9C — densité/lisibilité proche du FIX11 desktop sur 2560×1440 */
@media (min-width:1800px){
  body{font-size:15px}
  .topbar{height:62px}
  .brand-title{font-size:18px}
  .brand-sub,.user-mini{font-size:11px}
  .top-search input{font-size:12px;height:31px}
  .topbtn{font-size:11px;height:31px;padding-left:12px;padding-right:12px}

  .days-sidebar{width:225px;flex-basis:225px}
  .side-section-title{font-size:11px}
  .selected-day-card .lab{font-size:10px}
  .selected-day-card .date{font-size:17px}
  .side-action{font-size:12px;min-height:35px}
  .tree-year>summary,.tree-month>summary{font-size:12.5px}
  .daylink{font-size:12.5px;padding-top:8px;padding-bottom:8px}

  .page{padding:19px 22px 30px}
  .day-title{font-size:27px;line-height:1.15}
  .day-sub{font-size:12px;margin-top:5px}

  .kpi-grid{gap:10px}
  .kpi-card{height:97px;padding:12px 15px}
  .kpi-lab{font-size:11.5px}
  .kpi-value{font-size:29px;line-height:1.05}
  .kpi-sub{font-size:11px}

  .action-strip{height:40px;padding-left:10px}
  .action-main{font-size:12px}
  .chip{font-size:11.5px;height:28px;padding:0 10px}

  .tabsbar{height:41px}
  .tablink{font-size:12.5px;padding:0 16px}
  .section-title{font-size:19px;margin-top:14px}
  .section-sub{font-size:11.5px;margin-bottom:11px}

  .rank-podium{gap:10px}
  .podium{min-height:84px;padding:11px 13px}
  .podium .pos{font-size:11px}
  .podium .name{font-size:15px;margin-top:5px}
  .podium .small{font-size:10.5px;margin-top:4px}

  table{font-size:13.5px}
  th{font-size:12.5px;padding:9px 9px}
  td{padding:8px 9px;line-height:1.25}
  .techlink{font-size:inherit}
  .badge{font-size:10.5px}

  .data-tech-banner{min-height:50px;padding:9px 13px}
  .data-tech-name{font-size:16px}
  .data-tech-category,.data-tech-partner{font-size:10.5px}
  .data-tech-open{font-size:10.5px;padding:6px 10px}
}

/* Message d'import lisible côté utilisateur */
.import-error-card{
  width:min(900px,92vw);margin:48px auto;background:#fff;
  border:1px solid #d9b8ba;border-left:5px solid #bd4d54;
  box-shadow:0 12px 35px rgba(0,0,0,.12);
  padding:24px;display:grid;grid-template-columns:58px 1fr;gap:16px
}
.import-error-icon{
  width:50px;height:50px;border-radius:50%;background:#c54d54;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900
}
.import-error-title{font-size:21px;font-weight:900;color:#562b2e}
.import-error-text{font-size:13px;color:#6b4648;margin-top:8px;word-break:break-word}
.import-error-help{font-size:11px;color:#748394;margin-top:8px}

.verify-btn:disabled{opacity:.65;cursor:wait}

/* STEP10 */
.clickable-intervention{cursor:pointer}
.clickable-intervention:hover td{background:#dfeef8!important}

.intervention-modal-box{
  width:min(1180px,88vw);max-height:86vh;background:#f4f7fa;
  border:1px solid #9eb2c3;box-shadow:0 24px 70px rgba(0,0,0,.4);overflow:auto
}
.intervention-modal-inner{background:#f4f7fa}
.intervention-edit-form{background:#fff}
.intervention-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}
.intervention-form-grid label{display:flex;flex-direction:column;gap:5px}
.intervention-form-grid label span{font-size:11px;font-weight:800;color:#536b80;text-transform:uppercase}
.intervention-form-grid input,.intervention-form-grid select,.intervention-form-grid textarea{
 border:1px solid #becbd5;background:#fff;padding:9px 10px;font-size:13px
}
.intervention-form-grid input:disabled{background:#eef2f5;color:#5a6b79}
.intervention-form-grid textarea{min-height:90px;resize:vertical}
.intervention-form-grid .span2{grid-column:1/-1}
.intervention-form-grid .check-label input{width:22px;height:22px}

.absence-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;min-height:590px}
.absence-panel{border:1px solid #bdcbd6;background:#fff;display:flex;flex-direction:column}
.absence-panel-head{min-height:46px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;font-size:13px}
.absence-panel.maladie .absence-panel-head{background:#fde7e9;color:#ad343c}
.absence-panel.conge .absence-panel-head{background:#fff1bd;color:#8c6416}
.absence-panel.accident .absence-panel-head{background:#fde5d7;color:#a5531c}
.absence-count{background:#fff;border:1px solid currentColor;padding:2px 7px}
.absence-panel-body{flex:1;overflow:auto}
.absence-table{font-size:11px}.absence-table th{font-size:10px}
.absence-empty{height:70px;text-align:left!important;font-weight:700;color:#526d83;background:#e4f0f8!important}

.ref-subtabs{display:flex;margin-top:12px;border-bottom:1px solid #aebcca;background:#eef2f5}
.ref-subtab{padding:9px 13px;text-decoration:none;color:#31495e;font-size:11px;font-weight:800;border:1px solid transparent;border-bottom:0}
.ref-subtab.active{background:#d8d5cb;border-color:#9e9a8f;color:#1c2f3e}
.ref-toolbar{display:flex;gap:6px;padding:9px;background:#fff;border:1px solid #bbc8d2;border-top:0}
.ref-toolbar span{background:#326b9d;color:#fff;padding:7px 13px;font-size:10px;font-weight:800}
.ref-toolbar span.danger{background:#c65057}
.ref-tech-columns,.ref-tariff-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.ref-desktop-panel{border:1px solid #8e9daa;background:#fff;min-height:520px}
.ref-desktop-title{padding:10px 12px;color:#fff;font-size:13px;font-weight:900}
.ref-desktop-title.fibre{background:#3477af}.ref-desktop-title.cuivre{background:#274f73}
.ref-desktop-panel table{font-size:11px}.ref-desktop-panel td{padding:5px 8px}
.ref-disabled{margin-top:9px;border:1px solid #97a8b5;background:#eef4f8}
.ref-disabled summary{padding:9px 11px;font-size:11px;font-weight:800;cursor:pointer}
.ref-cat-row{padding:8px 10px;font-size:11px;font-weight:900;background:#e6f1fa;color:#2c658e}
.ref-cat-row.cuivre{background:#fee9d2;color:#9b5a1a}
.tariff-desktop-table td{padding:4px 7px}
.tariff-inline-form{display:flex;justify-content:flex-end;gap:4px}
.tariff-inline-form input{width:82px;border:0;background:transparent;text-align:right;font-size:11px}
.tariff-inline-form button{border:0;background:#3b806b;color:#fff;width:25px;cursor:pointer}

@media(min-width:1800px){
 .absence-panel-head{font-size:14px}
 .absence-table{font-size:12.5px}.absence-table th{font-size:11.5px}
 .ref-subtab{font-size:12px}.ref-toolbar span{font-size:11px}
 .ref-desktop-panel table{font-size:12.5px}
}

/* STEP10B - force correct layouts after browser cache issues */
.absence-columns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.absence-panel{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:560px!important}
.absence-panel-body{flex:1!important;overflow:auto!important}
.ref-subtabs{display:flex!important;align-items:flex-end!important;margin-top:12px!important}
.ref-subtab{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:0 14px!important}
.ref-toolbar{display:flex!important;flex-wrap:wrap!important;gap:7px!important;min-height:44px!important;padding:8px!important}
.ref-toolbar span{display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:0 13px!important}
.ref-tech-columns,.ref-tariff-columns{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important}
.ref-desktop-panel{min-width:0!important;overflow:auto!important}.ref-desktop-panel table{width:100%!important}
.intervention-modal-box{width:min(1180px,88vw)!important;max-height:86vh!important}
.intervention-form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding:18px!important}
.intervention-form-grid label{display:flex!important;flex-direction:column!important;gap:5px!important}.intervention-form-grid .span2{grid-column:1/-1!important}

.nd-modal-box{width:min(1880px,92vw);height:min(1050px,88vh);background:#f4f7fa;border:1px solid #8fa2b2;box-shadow:0 24px 70px rgba(0,0,0,.42);overflow:hidden}
.nd-modal-inner{height:100%;display:flex;flex-direction:column;min-height:0}
.nd-modal-head{background:#fff;border-bottom:1px solid #cad6df;border-top:4px solid #2e6ca2;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.nd-modal-title{font-size:28px;font-weight:900;color:#142d45}.nd-modal-sub{font-size:11px;color:#758697;margin-top:4px}
.nd-kpis{display:grid;grid-template-columns:1.15fr 1.45fr 1.45fr 1fr 1.35fr 1.1fr;gap:8px;padding:12px 18px;background:#f2f6f9}
.nd-kpis>div{background:#fff;border:1px solid #cbd7e0;padding:11px 13px}.nd-kpis span{display:block;font-size:10px;text-transform:uppercase;color:#6c8194;font-weight:800}.nd-kpis strong{display:block;font-size:14px;margin-top:7px;color:#102c45}
.nd-history-panel{flex:1;min-height:0;margin:0 18px 12px;background:#fff;border:1px solid #bfcdd8;display:flex;flex-direction:column}
.nd-history-head{padding:12px 14px;border-bottom:1px solid #c9d5de;display:flex;justify-content:space-between}.nd-history-head strong{font-size:16px}.nd-history-head span{font-size:11px;color:#718395}
.nd-history-scroll{flex:1;min-height:0;overflow:auto}.nd-history-scroll table{width:100%;font-size:13px}.nd-history-row{cursor:pointer}.nd-history-row:hover td{background:#e9f3fa!important}.nd-history-row.selected td{background:#cfe4f4!important}
.nd-modal-footer{display:flex;gap:9px;align-items:center;background:#fff;border-top:1px solid #c9d5de;padding:11px 18px}.nd-footer-spacer{flex:1}.nd-modal-footer button:disabled{opacity:.45}

/* STEP10D — point discret article */
.article-ok-dot{
  border:0!important;
  background:transparent!important;
  color:#3b8a69!important;
  width:19px!important;
  height:19px!important;
  padding:0!important;
  font-size:10px!important;
  line-height:19px!important;
  cursor:pointer!important;
  opacity:.8;
}
.article-ok-dot:hover{opacity:1;transform:scale(1.12)}

/* Toast volante */
.floating-toast{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:15000;
  width:min(390px,calc(100vw - 40px));
  background:#fff;
  border:1px solid #c9d8d1;
  border-left:4px solid #3a896d;
  box-shadow:0 14px 38px rgba(11,35,54,.22);
  padding:13px 15px;
  display:flex;
  align-items:center;
  gap:11px;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;
}
.floating-toast.show{opacity:1;transform:translateY(0)}
.floating-toast.warning{border-color:#e3c88d;border-left-color:#d08a31}
.floating-toast-dot{
  width:9px;height:9px;border-radius:50%;background:#3a896d;flex:0 0 9px
}
.floating-toast.warning .floating-toast-dot{background:#d08a31}
.floating-toast-copy{display:flex;flex-direction:column;gap:3px}
.floating-toast-copy strong{font-size:13px;color:#18354b}
.floating-toast-copy span{font-size:11px;color:#687c8e}

/* Centre de notifications complet */
.notify-page-title-row{
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px
}
.notify-scope-actions{display:flex;gap:6px}
.notify-scope-btn{
  text-decoration:none;background:#e9eff4;color:#31516c;border:1px solid #c1cfda;
  padding:8px 12px;font-size:11px;font-weight:800
}
.notify-scope-btn.active{background:#285b83;color:#fff;border-color:#285b83}

.notify-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:12px}
.notify-kpi{
  background:#fff;border:1px solid #ccd8e1;border-top:3px solid #527693;padding:10px 12px
}
.notify-kpi span{display:block;font-size:10px;font-weight:800;color:#6b7f91;text-transform:uppercase}
.notify-kpi strong{display:block;font-size:24px;margin-top:4px;color:#17334a}
.notify-kpi.binome{border-top-color:#6855a1}
.notify-kpi.renfort{border-top-color:#7451a5}
.notify-kpi.absence{border-top-color:#c35158}
.notify-kpi.garantie{border-top-color:#d19132}

.notify-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  background:#edf3f7;border:1px solid #c8d5de;padding:9px 12px
}
.notify-toolbar-title{font-size:12px;font-weight:900;color:#24455f}
.notify-toolbar-help{font-size:10px;color:#718394}

.notify-list-full{gap:6px;margin-top:7px}
.notify-list-full .notify-item{
  grid-template-columns:40px minmax(0,1fr) 100px 110px 28px;
  min-height:58px;
  padding:9px 11px;
  transition:background .12s ease,border-color .12s ease
}
.notify-list-full .notify-item:hover{background:#f5f9fc;border-color:#9db4c5}
.notify-list-full .notify-icon{
  width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#e5edf3;color:#315671;font-size:10px;font-weight:900
}
.notify-type-binome .notify-icon{background:#ece7f6;color:#5d438e}
.notify-type-renfort .notify-icon{background:#ede6f7;color:#69449b}
.notify-type-absence .notify-icon{background:#f8e5e7;color:#a13f46}
.notify-type-garantie .notify-icon{background:#fff0d8;color:#98631e}
.notify-type-label{font-size:9px;font-weight:900;color:#728495;text-align:right}
.notify-arrow{font-size:18px;color:#526f84;text-align:right}
.notify-empty{
  min-height:180px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:5px!important
}
.notify-empty-dot{color:#3a896d;font-size:13px}
.notify-empty strong{font-size:15px}
.notify-empty span{font-size:11px;font-weight:400;color:#718596}

@media(min-width:1800px){
  .floating-toast{right:34px;bottom:34px}
  .notify-kpi strong{font-size:27px}
  .notify-list-full .notify-copy strong{font-size:13.5px}
  .notify-list-full .notify-copy span{font-size:11.5px}
}

/* STEP11 — fiche technicien complète */
.tech-sheet{height:100%;display:flex;flex-direction:column;min-height:0}
.tech-sheet-header{flex:0 0 auto}
.tech-sheet-head-actions{display:flex;align-items:center;gap:7px}
.tech-period-btn{
  border:1px solid #bac9d4;background:#edf3f7;color:#31536d;
  padding:7px 12px;font-size:11px;font-weight:800;cursor:pointer
}
.tech-period-btn.active{background:#2d638e;color:#fff;border-color:#2d638e}

.tech-sheet-summary{
  display:grid;grid-template-columns:210px 1fr;gap:10px;padding:10px 14px 0
}
.tech-rank-card,.tech-reliability-card{
  background:#fff;border:1px solid #cbd8e1;padding:11px 13px
}
.tech-rank-card span,.tech-rel-head span{
  display:block;font-size:10px;text-transform:uppercase;font-weight:800;color:#6d8192
}
.tech-rank-card strong{display:block;font-size:28px;color:#173952;margin-top:3px}
.tech-rank-card small,.tech-reliability-card small{font-size:10px;color:#738595}
.tech-rel-head{display:flex;align-items:center;justify-content:space-between}
.tech-rel-head strong{font-size:16px;color:#1d4c3d}
.tech-rel-track{height:12px;background:#e2e9ee;margin:10px 0 6px;overflow:hidden}
.tech-rel-fill{height:100%;background:#3b8b6f;min-width:2px}

.tech-sheet-kpis{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  padding:10px 14px!important;
  gap:8px!important;
}
.tech-sheet-kpis .tech-modal-kpi{min-width:0}
.tech-sheet-kpis .tech-modal-kpi strong{font-size:20px!important}

.tech-year-chart{
  margin:0 14px 10px;background:#fff;border:1px solid #c8d5de;flex:0 0 auto
}
.tech-month-bars{
  height:170px;display:grid;grid-template-columns:repeat(12,1fr);gap:6px;
  padding:10px 12px 8px;align-items:end
}
.tech-month-col{height:145px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.tech-month-value{height:18px;font-size:9px;color:#6a7d8e;white-space:nowrap}
.tech-month-bar-wrap{
  width:68%;height:104px;background:#edf2f5;display:flex;align-items:flex-end;overflow:hidden
}
.tech-month-bar{width:100%;background:#3674a4;min-height:0}
.tech-month-label{font-size:10px;font-weight:800;color:#536b7e;margin-top:5px}

.tech-sheet-grid{
  flex:1;min-height:0;grid-template-columns:minmax(0,2.15fr) minmax(360px,.85fr)!important
}
.tech-sheet-grid .tech-modal-section{min-height:0}
.tech-sheet-grid .tech-modal-table-wrap{height:100%;max-height:none!important}
.tech-row-click{cursor:pointer}
.tech-row-click:hover td{background:#e8f2f8!important}
.status-dot.ok{
  display:inline-block;width:8px;height:8px;border-radius:50%;background:#3b8b6f;vertical-align:middle
}
.tech-footer-note{margin-left:auto;font-size:10px;color:#758797}

@media(min-width:1800px){
  .tech-rank-card strong{font-size:32px}
  .tech-rel-head strong{font-size:18px}
  .tech-sheet-kpis .tech-modal-kpi strong{font-size:22px!important}
  .tech-month-bars{height:185px}
  .tech-month-col{height:160px}
  .tech-month-bar-wrap{height:116px}
}

/* STEP11A — Techniciens inclut binômes/renforts */
.tech-day-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px
}
.tech-day-card{
  background:#fff;border:1px solid #cbd7e0;border-top:3px solid #3978a6;
  padding:11px 12px;min-width:0
}
.tech-day-card.has-shared{border-top-color:#7453a2}
.tech-day-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tech-day-name{font-size:14px;font-weight:900;color:#163b58;text-decoration:none}
.tech-day-cat{font-size:9px;font-weight:800;background:#edf3f7;color:#4d6d84;padding:3px 7px}
.tech-day-presence{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.presence-pill{font-size:9px;font-weight:800;padding:3px 7px}
.presence-pill.normal{background:#e8f1f7;color:#326388}
.presence-pill.shared{background:#ece4f5;color:#674590}
.tech-shared-list{margin-top:8px;border-top:1px solid #e1d8eb;padding-top:6px}
.tech-shared-row{display:flex;align-items:center;gap:5px;font-size:9.5px;color:#64556f}
.shared-dot{width:6px;height:6px;border-radius:50%;background:#7956a5}

/* Données : recherche + filtres */
.data-filterbar{
  display:flex;align-items:center;gap:10px;background:#fff;
  border:1px solid #cad6df;padding:8px 10px;margin-bottom:10px
}
.data-filter-tabs{display:flex;gap:4px}
.data-filter{
  border:1px solid #b9c8d3;background:#edf3f7;color:#35546c;
  padding:7px 12px;font-size:10.5px;font-weight:800;cursor:pointer
}
.data-filter.active{background:#2e638e;color:#fff;border-color:#2e638e}
.data-filter.attention{border-color:#d0a04c}
.data-filter.attention.active{background:#c48629;border-color:#c48629}
.data-search-wrap{
  display:flex;align-items:center;gap:6px;flex:1;max-width:520px;
  border:1px solid #bfcdd7;background:#fff;padding:0 9px
}
.data-search-wrap span{font-size:15px;color:#6e8191}
.data-search-wrap input{
  width:100%;border:0;outline:0;padding:7px 4px;font-size:11px;background:transparent
}
.data-result-count{margin-left:auto;font-size:10px;color:#728696;font-weight:800}

/* Banderole violette partagé */
.data-tech-banner.shared-banner{
  background:linear-gradient(90deg,#5d437f,#7655a1)!important;
  border-bottom-color:#4f396d!important
}
.data-shared-badge{
  display:inline-flex;align-items:center;
  font-size:9px;font-weight:900;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;padding:3px 7px
}
.shared-only-block{border-color:#b7a4ca}
.shared-only-copy{
  padding:14px 16px;background:#faf7fd;color:#665773;font-size:10.5px
}

@media(min-width:1800px){
  .tech-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tech-day-name{font-size:15px}
  .data-filter{font-size:11.5px;padding:8px 14px}
  .data-search-wrap input{font-size:12px}
}
@media(max-width:1200px){
  .tech-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .data-filterbar{flex-wrap:wrap}
  .data-search-wrap{max-width:none}
}

/* STEP11B — base plus confortable, proche du ressenti navigateur 120% */
:root{--ui-scale:1}
@media (min-width:1500px){
  body{font-size:15px}
  .topbar{min-height:58px}
  .page{padding:20px 22px 30px}
  .day-title{font-size:28px}
  .tabsbar{height:42px}
  .tablink{font-size:12.5px}
  table{font-size:13.5px}
  th{font-size:12.5px}
  td{padding:8px 9px}
}
@media (min-width:2200px){
  body{font-size:16px}
  .topbar{min-height:62px}
  .day-title{font-size:30px}
  .kpi-value{font-size:31px}
  table{font-size:14.5px}
  th{font-size:13.5px}
  .tablink{font-size:13px}
}

/* petits écrans : garde la densité et permet le scroll */
@media (max-width:1200px){
  .topbar{flex-wrap:wrap;height:auto;min-height:54px;padding-bottom:6px}
  .top-search{order:3;width:100%;max-width:none}
  .page{padding:12px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tabsbar{overflow-x:auto;white-space:nowrap}
  .tablink{flex:0 0 auto}
  .tech-sheet-kpis{grid-template-columns:repeat(2,1fr)!important}
  .intervention-form-grid{grid-template-columns:1fr!important}
  .intervention-form-grid .span2{grid-column:1!important}
}
@media (max-width:760px){
  .days-sidebar{display:none}
  .kpi-grid{grid-template-columns:1fr}
  .action-strip{overflow-x:auto}
  .data-filterbar{align-items:stretch}
  .data-filter-tabs{overflow-x:auto}
  .article-edit-row{grid-template-columns:1fr 80px!important}
  .article-unit,.article-line-total,.article-remove-btn{grid-column:auto}
}

/* Éditeur articles */
.article-editor-section{margin:0 18px 14px;background:#fff;border:1px solid #c8d5df}
.article-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #d5dfe6}
.article-editor-head strong{display:block;font-size:13px;color:#24445d}
.article-editor-head span{display:block;font-size:10px;color:#758797;margin-top:2px}
.article-add-btn{border:0;background:#2e6c9e;color:#fff;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer}
.article-rows{padding:8px}
.article-edit-row{
  display:grid;grid-template-columns:minmax(180px,1.5fr) 90px 130px 140px 34px;
  gap:7px;align-items:center;padding:6px;border-bottom:1px solid #edf1f4
}
.article-edit-row:last-child{border-bottom:0}
.article-edit-row select,.article-edit-row input{width:100%;padding:7px;border:1px solid #c2cfd9;font-size:11px}
.article-unit,.article-line-total{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#697e90}
.article-unit strong,.article-line-total strong{font-size:11px;color:#263f53}
.article-remove-btn{border:0;background:#c6545b;color:#fff;width:30px;height:30px;cursor:pointer}
.intervention-bottom-grid{display:grid;grid-template-columns:160px 220px 1fr;gap:10px;padding:0 18px 14px}
.intervention-bottom-grid .span2{grid-column:1/-1;display:flex;flex-direction:column;gap:5px}
.intervention-bottom-grid textarea{min-height:80px;border:1px solid #c2cfd9;padding:8px}
.live-ca-card{background:#eef6f2;border:1px solid #c2ddd1;padding:9px 11px}
.live-ca-card span{display:block;font-size:9px;text-transform:uppercase;color:#617e70;font-weight:800}
.live-ca-card strong{display:block;font-size:19px;color:#2d6c54;margin-top:3px}
.live-ca-card small{font-size:9px;color:#70867a}

/* recherche live */
.live-search{position:relative}
.live-search-box{position:relative;flex:1}
.live-search-box input{width:100%}
.global-search-suggestions{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20000;
  background:#fff;border:1px solid #b9c9d5;box-shadow:0 12px 32px rgba(13,38,57,.22);
  display:none;max-height:520px;overflow:auto
}
.global-search-suggestions.open{display:block}
.search-suggestion{
  width:100%;border:0;border-bottom:1px solid #edf1f4;background:#fff;
  padding:9px 11px;text-align:left;cursor:pointer;display:grid;
  grid-template-columns:minmax(0,1fr) auto;gap:12px
}
.search-suggestion:hover{background:#eef5fa}
.search-suggestion-main{display:flex;flex-direction:column;gap:2px}
.search-suggestion-main strong{font-size:11.5px;color:#1e4b6a}
.search-suggestion-main span{font-size:10.5px;color:#5f7385}
.search-suggestion-meta{display:flex;align-items:center;gap:10px;font-size:9.5px;color:#718394;white-space:nowrap}
.search-empty{padding:14px;text-align:center;font-size:10.5px;color:#768797}

/* STEP11C — palette plus douce, proche du FIX11 historique */
:root{
  --fix11-navy:#244d70;
  --fix11-navy-dark:#1d3f5d;
  --fix11-blue:#315f83;
  --fix11-blue-soft:#dfeaf2;
  --fix11-blue-pale:#edf4f8;
  --fix11-purple:#65517d;
  --fix11-purple-dark:#55436b;
  --fix11-purple-soft:#e9e2ef;
  --fix11-border:#bccbd6;
  --fix11-text:#19354c;
}

/* Barre supérieure */
.topbar{
  background:var(--fix11-navy-dark)!important;
}
.brand-title,.brand-sub,.user-mini{color:#f5f8fa!important}
.topbtn{
  background:var(--fix11-blue)!important;
}
.topbtn.dark{
  background:var(--fix11-navy-dark)!important;
}

/* Sidebar */
.days-sidebar{
  background:#173550!important;
}
.selected-day-card{
  background:#214865!important;
}
.side-action{
  background:#28597d!important;
}
.tree-year>summary,.tree-month>summary{
  color:#dce8f0!important;
}
.daylink.active{
  background:#2f6185!important;
}

/* KPI / onglets */
.kpi-card{
  border-top-color:#4e7595!important;
}
.tabsbar{
  background:#eef3f6!important;
}
.tablink{
  color:#284c68!important;
}
.tablink.active{
  background:#fff!important;
  border-top-color:#446e91!important;
  color:#183b58!important;
}

/* En-têtes de tableaux */
table thead th,
.panel table thead th,
.data-tech-table thead th,
.ticket-table thead th,
.absence-table thead th,
.ref-desktop-panel table thead th,
.nd-history-scroll table thead th,
.tech-modal-table-wrap table thead th{
  background:var(--fix11-navy)!important;
  color:#fff!important;
}

/* Banderoles techniciens */
.data-tech-banner{
  background:var(--fix11-blue)!important;
  border-bottom-color:var(--fix11-navy-dark)!important;
}
.data-tech-banner.shared-banner{
  background:linear-gradient(90deg,var(--fix11-purple-dark),var(--fix11-purple))!important;
  border-bottom-color:#493a5d!important;
}
.data-tech-name,.data-tech-category,.data-tech-open{
  color:#fff!important;
}
.data-tech-open{
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
.data-shared-badge{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.20)!important;
}

/* Cartes techniciens */
.tech-day-card{
  border-top-color:#557b99!important;
}
.tech-day-card.has-shared{
  border-top-color:var(--fix11-purple)!important;
}
.presence-pill.normal{
  background:#e7f0f6!important;
  color:#355f7e!important;
}
.presence-pill.shared{
  background:var(--fix11-purple-soft)!important;
  color:#5e4974!important;
}

/* Boutons de filtre */
.data-filter{
  background:#edf3f7!important;
  color:#365874!important;
  border-color:#c2d0da!important;
}
.data-filter.active{
  background:#466f91!important;
  border-color:#466f91!important;
  color:#fff!important;
}
.data-filter.attention.active{
  background:#b8843f!important;
  border-color:#b8843f!important;
}

/* Référentiels */
.ref-desktop-title.fibre{
  background:#3d6f96!important;
}
.ref-desktop-title.cuivre{
  background:#5c7182!important;
}
.ref-subtab.active{
  background:#dfe6eb!important;
  color:#1f415d!important;
}
.ref-toolbar span{
  background:#416f93!important;
}

/* Binômes / renforts */
.shared-only-copy{
  background:#f5f1f7!important;
  color:#655870!important;
}
.shared-dot{
  background:#725a89!important;
}
.notify-kpi.binome,.notify-kpi.renfort{
  border-top-color:#6f5a84!important;
}
.notify-type-binome .notify-icon,
.notify-type-renfort .notify-icon{
  background:#ece6f1!important;
  color:#5f4b73!important;
}

/* Dossier ND / modales */
.nd-modal-head{
  border-top-color:#416f93!important;
}
.tech-period-btn.active{
  background:#456f91!important;
  border-color:#456f91!important;
}
.tech-month-bar{
  background:#507b9c!important;
}
.tech-rel-fill{
  background:#4d806d!important;
}

/* Recherche live */
.search-suggestion:hover{
  background:#eef4f7!important;
}
.search-suggestion-main strong{
  color:#284f6d!important;
}

/* Toasts plus sobres */
.floating-toast{
  border-left-color:#4c806e!important;
}
.floating-toast-dot{
  background:#4c806e!important;
}

/* Alternance très légère des lignes, moins agressive */
tbody tr:nth-child(even) td{
  background:#f5f8fa;
}
tbody tr:nth-child(odd) td{
  background:#fff;
}

/* Ne pas écraser les couleurs d'alerte utiles */
.badge.bad,
.tr-warning td,
.notify-danger{
  /* les états d'erreur restent volontairement visibles */
}

/* Grand écran : contraste encore un peu adouci */
@media(min-width:1800px){
  .page{background:#f1f4f6!important}
  .panel,.tech-modal-section,.nd-history-panel,.ref-desktop-panel{
    box-shadow:none!important;
  }
}

/* Petit écran */
@media(max-width:1200px){
  .data-tech-banner{
    background:#3f6f93!important;
  }
  .data-tech-banner.shared-banner{
    background:#625077!important;
  }
}

/* STEP11D — recherche Données stricte ligne par ligne */
.data-row[style*="display: none"]{display:none!important}
.data-filter-block{transition:none}
.data-result-count{
  min-width:110px;
  text-align:right;
}

/* STEP11E — renfort/binôme ponctuel au niveau de la ligne */
.shared-intervention-row td,
.shared-helper-row td{
  background:#eee7f4!important;
  color:#4f405d!important;
  border-top:1px solid #d3c4df!important;
  border-bottom:1px solid #d3c4df!important;
}
.shared-intervention-row:hover td,
.shared-helper-row:hover td{
  background:#e5d9ee!important;
}
.row-share-tag{
  display:inline-flex;
  margin-left:6px;
  padding:2px 5px;
  border-radius:2px;
  background:#6a527f;
  color:#fff;
  font-size:8px;
  font-weight:900;
  vertical-align:middle;
}
.row-share-note{
  margin-top:3px;
  font-size:9px;
  font-weight:800;
  color:#6b527d;
}
.shared-helper-row .amount-cell,
.shared-intervention-row .amount-cell{
  font-weight:900;
  color:#4d3c5b!important;
}

/* Un technicien avec renfort associé garde son bandeau normal.
   Le violet de bandeau est réservé au "à associer". */
.data-tech-banner.shared-banner{
  background:linear-gradient(90deg,#65517d,#6e5984)!important;
}

/* STEP12 — UX consolidation */

/* Techniciens en 2 colonnes */
.tech-columns-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tech-column-panel{border:1px solid #c7d1d9;background:#fff;min-height:480px}
.tech-column-title{padding:10px 12px;font-size:13px;font-weight:900;color:#fff;background:#526b7e}
.tech-column-title.fibre{background:#526f86}
.tech-column-title.cuivre{background:#6d665f}
.tech-column-body{padding:9px;display:flex;flex-direction:column;gap:7px}
.tech-day-card{padding:13px 14px!important;cursor:pointer}
.tech-day-name{font-size:15px!important}
.tech-day-presence{margin-top:8px}

/* Absence create */
.absence-create-form{
  display:grid;grid-template-columns:minmax(180px,1.3fr) 170px 150px 150px 130px auto;
  gap:8px;align-items:center;background:#f7f8f9;border:1px solid #ccd4da;padding:10px;margin-bottom:12px
}
.absence-create-form select,.absence-create-form input{
  height:34px;border:1px solid #c3ccd3;background:#fff;padding:0 8px;font-size:11px
}

/* Referentiel dbl-click affordance */
.ref-desktop-panel tbody tr{cursor:default}
.ref-desktop-panel tbody tr:hover td{background:#eef2f4!important}

/* Article history modal */
.article-history-modal-box{
  width:min(1800px,94vw);height:min(980px,90vh);background:#eef1f3;
  border:1px solid #aeb9c1;box-shadow:0 22px 65px rgba(0,0,0,.28);overflow:auto
}
.article-history-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:12px}
.article-history-kpis>div{background:#fff;border:1px solid #cbd3d9;padding:11px}
.article-history-kpis span{display:block;font-size:9px;text-transform:uppercase;color:#72808a;font-weight:800}
.article-history-kpis strong{display:block;font-size:20px;color:#2e414f;margin-top:4px}
.article-history-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 12px 12px}
.article-history-panel{background:#fff;border:1px solid #c7d0d6;min-width:0}
.article-history-panel-head{display:flex;justify-content:space-between;padding:11px 13px;color:#fff;background:#526f86}
.article-history-panel-head.sogetrel{background:#5f7b6f}
.article-history-subhead{padding:9px 11px;font-size:11px;font-weight:900;border-top:1px solid #d5dce1;background:#f5f7f8}
.article-history-scroll{max-height:390px;overflow:auto}
.article-history-edit{padding:10px;border-top:1px solid #d7dee3;background:#f8f9fa}
.article-history-edit form{display:grid;grid-template-columns:auto 100px auto 150px auto;gap:7px;align-items:center}
.article-history-edit input{height:32px;border:1px solid #c2ccd3;padding:0 7px}

/* Tickets actions on same row */
.tr-tools{flex-wrap:wrap}
.tr-correct-wrap{display:flex!important}
.tr-correct-wrap input{height:31px}
.tr-action{height:31px!important;padding:0 10px!important}
.tr-bottom-actions{display:none!important}

/* Toast centered and more visible */
.floating-toast{
  right:50%!important;
  bottom:34px!important;
  transform:translate(50%,20px)!important;
  width:min(520px,calc(100vw - 36px))!important;
  padding:16px 18px!important;
  border-radius:5px;
  box-shadow:0 16px 42px rgba(28,37,44,.25)!important;
}
.floating-toast.show{
  transform:translate(50%,0)!important;
}
.floating-toast-copy strong{font-size:14px!important}
.floating-toast-copy span{font-size:12px!important}

/* Softer, more neutral palette */
:root{
 --fix11-navy:#334d61;
 --fix11-navy-dark:#293f50;
 --fix11-blue:#49687f;
 --fix11-purple:#665d70;
 --fix11-purple-dark:#574f60;
}
.topbar{background:#2e475a!important}
.days-sidebar{background:#263f52!important}
.selected-day-card{background:#35566d!important}
.side-action{background:#41657e!important}
.data-tech-banner{background:#536f84!important}
.data-tech-banner.shared-banner{background:#62596d!important}
table thead th{background:#445f73!important}
.ref-desktop-title.fibre{background:#536f84!important}
.ref-desktop-title.cuivre{background:#726c66!important}
.tablink.active{border-top-color:#5f7789!important}
.page{background:#f3f5f6!important}

/* responsive */
@media(max-width:1100px){
  .tech-columns-two,.article-history-columns{grid-template-columns:1fr}
  .absence-create-form{grid-template-columns:1fr 1fr}
  .article-history-edit form{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .absence-create-form{grid-template-columns:1fr}
  .article-history-kpis{grid-template-columns:1fr 1fr}
}

/* STEP13 — vue annuelle + À traiter consolidé */
.annual-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}
.annual-year-select{display:flex;gap:5px}
.annual-year-select a{padding:8px 12px;text-decoration:none;background:#e7ecef;color:#425867;border:1px solid #c7d0d6;font-size:11px;font-weight:800}
.annual-year-select a.active{background:#4e687b;color:#fff;border-color:#4e687b}
.annual-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:12px}
.annual-kpis>div{background:#fff;border:1px solid #ccd4da;border-top:3px solid #647b8b;padding:11px 13px}
.annual-kpis span{display:block;font-size:9px;text-transform:uppercase;color:#74818a;font-weight:800}
.annual-kpis strong{display:block;margin-top:4px;font-size:23px;color:#2f4351}
.annual-months-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}
.annual-month-card{background:#fff;border:1px solid #cdd5db;padding:10px 11px}
.annual-month-head{display:flex;justify-content:space-between;align-items:center}
.annual-month-head strong{font-size:12px;color:#3b5161}.annual-month-head span{font-size:11px;color:#5e707d;font-weight:800}
.annual-month-bar{height:6px;background:#edf1f3;margin:8px 0}.annual-month-bar>div{height:100%;background:#6b8190}
.annual-month-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:9px;color:#75838d}
.annual-ranking-panel{background:#fff;border:1px solid #cbd4da;padding:10px}
.annual-ranking-table tbody tr{cursor:pointer}
.annual-ranking-table tbody tr:hover td{background:#eef2f4!important}

.chip-button{cursor:pointer}
.pending-inline-panel{display:none;background:#fff;border:1px solid #cbd3d9;border-top:0;margin:-1px 0 10px}
.pending-inline-panel.open{display:block}
.pending-inline-head{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;background:#f1f4f6;border-bottom:1px solid #d7dee3}
.pending-inline-head strong{font-size:11px;color:#3e5361}
.pending-inline-head a{font-size:9.5px;color:#536b7b;text-decoration:none}
.pending-inline-list{max-height:310px;overflow:auto}
.pending-inline-item{display:grid;grid-template-columns:90px 180px minmax(0,1fr) 100px 20px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #edf0f2;text-decoration:none;color:#435664;font-size:10px}
.pending-inline-item:hover{background:#f6f8f9}
.pending-type{font-size:8.5px;font-weight:900;color:#fff;background:#6f6478;padding:3px 6px;text-align:center}
.pending-title{font-weight:800}.pending-detail{color:#687986}.pending-date{text-align:right;color:#7a8790}
.pending-inline-empty{padding:18px;text-align:center;color:#78858d;font-size:10px}

@media(max-width:1200px){
  .annual-kpis{grid-template-columns:repeat(3,1fr)}
  .annual-months-grid{grid-template-columns:repeat(2,1fr)}
  .pending-inline-item{grid-template-columns:80px 1fr 90px 20px}
  .pending-detail{grid-column:2/4}
}
@media(max-width:700px){
  .annual-title-row{align-items:flex-start;flex-direction:column}
  .annual-kpis{grid-template-columns:1fr 1fr}
  .annual-months-grid{grid-template-columns:1fr}
}

/* STEP13A — FIX espace géant entre blocs techniciens dans Données */
.tab-content{
  min-height:0!important;
  height:auto!important;
}

.data-tech-block{
  display:block!important;
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 12px 0!important;
  padding:0!important;
  align-self:auto!important;
}

.data-tech-table-wrap{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

.data-tech-table{
  height:auto!important;
  min-height:0!important;
  margin:0!important;
}

.data-tech-table tbody{
  height:auto!important;
  min-height:0!important;
}

.data-tech-table tr,
.data-tech-table td{
  height:auto!important;
  min-height:0!important;
}

.data-tech-banner{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  margin:0!important;
}

.shared-only-block{
  height:auto!important;
  min-height:0!important;
  margin-bottom:12px!important;
}

/* Empêche les anciens styles flex/grid d'étirer les blocs verticalement */
section.tab-content:has(.data-tech-block){
  display:block!important;
  align-items:initial!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
}

/* Espacement régulier entre techniciens */
.data-tech-block + .data-tech-block{
  margin-top:12px!important;
}

/* Responsive : même comportement compact */
@media(max-width:1200px){
  .data-tech-block,
  .data-tech-table-wrap{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}

/* STEP13B — Absence modal façon FIX11 */
.absence-head-actions{display:flex;align-items:center;gap:7px}
.absence-plus{
  width:28px;height:28px;border:1px solid #9eb0bc;background:#fff;
  color:#31566f;font-size:17px;font-weight:800;cursor:pointer
}
.absence-plus:hover{background:#eef3f6}
.absence-modal-box{
  width:min(760px,92vw);background:#eef2f5;border:1px solid #aebbc5;
  box-shadow:0 20px 58px rgba(20,32,41,.28);overflow:hidden
}
.absence-modal-form{padding:16px 20px;background:#f6f8f9}
.absence-search-row,.absence-form-row{
  display:grid;grid-template-columns:125px minmax(0,1fr) auto;gap:10px;
  align-items:center;margin-bottom:11px
}
.absence-search-row label,.absence-form-row label{
  font-size:11px;font-weight:800;color:#344d5f
}
.absence-search-row input,.absence-form-row input,.absence-form-row select{
  height:34px;border:1px solid #b8c4cc;background:#fff;padding:0 8px;font-size:11px
}
.absence-period-fields{display:flex;align-items:center;gap:7px}
.absence-period-fields input{flex:1}
.absence-form-row small{font-size:9px;color:#71828e}
.absence-days-row strong{color:#3e7194;font-size:15px}
.absence-rule{
  margin:4px 0 14px 135px;color:#637987;font-size:10px;font-style:italic
}

/* Renfort ponctuel visible */
.shared-intervention-row td,.shared-helper-row td{
  background:#ece6f0!important;
  border-top:1px solid #cfc2d8!important;
  border-bottom:1px solid #cfc2d8!important;
}
.row-share-tag{background:#65556f!important}
.row-share-note{color:#65556f!important}

@media(max-width:700px){
 .absence-search-row,.absence-form-row{grid-template-columns:1fr}
 .absence-rule{margin-left:0}
 .absence-period-fields{flex-direction:column;align-items:stretch}
}

/* STEP13C — Données reconstruit en DOM valide */
.data-groups-container{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
}
.data-groups-container>.data-tech-block{
  display:block!important;
  float:none!important;
  position:static!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 12px 0!important;
  inset:auto!important;
  transform:none!important;
}
.data-groups-container>.data-tech-block:last-child{margin-bottom:0!important}
.data-groups-container .data-tech-table-wrap,
.data-groups-container .data-tech-table,
.data-groups-container .data-tech-table tbody{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.data-groups-container .data-tech-table-wrap{overflow-x:auto!important;overflow-y:visible!important}

/* STEP14 — lisibilité ciblée */

/* Ajouter une journée : caractères plus grands */
.import-modal-box{width:min(850px,92vw)!important}
.import-modal-title{font-size:26px!important}
.import-modal-sub{font-size:13px!important}
.import-drop-title{font-size:19px!important}
.import-drop-sub{font-size:13px!important}
.import-file-btn{font-size:14px!important;padding:11px 16px!important}
.import-file-name{font-size:13px!important}
.import-progress-labels{font-size:13px!important}
.import-progress-detail{font-size:12px!important}
.import-modal-footer .topbtn{font-size:13px!important;height:38px!important}

/* Association binôme/renfort : plus lisible */
.partage-panel{font-size:14px}
.partage-panel .panel-head{font-size:14px}
.partage-step-title{font-size:15px;font-weight:850;margin-bottom:9px;color:#334a5a}
.partage-tech-choice{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.partage-tech-choice .chip{font-size:13px!important;height:32px!important;padding:0 11px!important}
.partage-intervention-select{width:100%;padding:11px!important;margin-bottom:12px;font-size:14px!important}

/* Absence recherche live */
.absence-search-live{align-items:start!important}
.absence-search-box{position:relative}
.absence-tech-suggestions{
  position:absolute;left:0;right:0;top:38px;display:none;z-index:20;
  background:#fff;border:1px solid #b9c6cf;box-shadow:0 10px 25px rgba(20,35,45,.18);
  max-height:260px;overflow:auto
}
.absence-tech-suggestions.open{display:block}
.absence-tech-suggestions button{
  display:block;width:100%;border:0;border-bottom:1px solid #edf1f3;background:#fff;
  padding:10px 12px;text-align:left;font-size:13px;cursor:pointer;color:#334b5c
}
.absence-tech-suggestions button:hover{background:#eef3f6}
.absence-no-match{padding:12px;font-size:12px;color:#7c8991}
.absence-selected-tech{
  display:none;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;
  margin:0 0 13px 135px;padding:10px 12px;background:#e8eff3;border:1px solid #c2ced6
}
.absence-selected-tech.visible{display:grid}
.absence-selected-label{font-size:10px;text-transform:uppercase;color:#70818c;font-weight:800}
.absence-selected-tech strong{font-size:14px;color:#304d60}
.absence-selected-tech button{border:0;background:transparent;text-decoration:underline;color:#526c7d;cursor:pointer}

/* Fiche technicien : KPI supplémentaires */
.tech-sheet-kpis{grid-template-columns:repeat(7,minmax(0,1fr))!important;flex-wrap:wrap}
.tech-modal-kpi.soft-absence{background:#f6f1f1!important;border-top-color:#9a7e7e!important}
.tech-modal-kpi.soft-ticket{background:#f1f4f5!important;border-top-color:#6d838e!important}
.tech-absence-head{display:flex!important;justify-content:space-between!important;align-items:center!important}
.tech-absence-head select{font-size:10px;padding:4px 7px;border:1px solid #bcc8cf;background:#fff}

/* Date sidebar lisible */
.daylink{line-height:1.3!important}
.selected-day-card .date{font-size:14px!important}

/* Responsive */
@media(max-width:900px){
  .absence-selected-tech{margin-left:0;grid-template-columns:1fr}
  .tech-sheet-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .partage-tech-choice .chip{font-size:12px!important}
}
@media(max-width:620px){
  .tech-sheet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .import-modal-title{font-size:22px!important}
  .import-drop-title{font-size:17px!important}
}

/* STEP14A — palette moderne, plus vivante sans être agressive */
:root{
  --ui-navy:#244866;
  --ui-blue:#3f6f95;
  --ui-blue-soft:#eaf2f7;
  --ui-teal:#4f8b7d;
  --ui-purple:#766087;
  --ui-purple-soft:#eee8f2;
  --ui-orange:#b97a36;
  --ui-bg:#f4f7f9;
  --ui-border:#c9d4dc;
  --ui-text:#17384f;
}

body{background:var(--ui-bg)!important;color:var(--ui-text)}
.topbar{background:var(--ui-navy)!important}
.days-sidebar{background:#1f3f59!important}
.selected-day-card{background:#2c5573!important}
.side-action{background:#35688e!important}
.daylink.active{background:#39739c!important}

.data-tech-banner{
  background:#4f7896!important;
  border-bottom-color:#355a73!important;
}
.data-tech-banner.shared-banner{
  background:linear-gradient(90deg,#6d597b,#7b6589)!important;
}
table thead th,
.data-tech-table thead th{
  background:#315c7a!important;
}
.tabsbar{background:#edf3f7!important}
.tablink.active{
  color:#214b69!important;
  border-top-color:#3f789f!important;
}
.kpi-card{border-top-color:#4e86ad!important}
.kpi-card:nth-child(3){border-top-color:#4f8b7d!important}
.kpi-card:nth-child(4){border-top-color:#b97a36!important}
.kpi-card:nth-child(5){border-top-color:#647aa3!important}

/* lignes binôme/renfort */
.shared-intervention-row td,
.shared-helper-row td{
  background:#eee8f3!important;
  color:#46394f!important;
}
.row-share-tag{
  background:#705b80!important;
}

/* boutons plus actuels */
.topbtn,
.article-add-btn{
  background:#3d78a2!important;
}
.topbtn:hover,
.article-add-btn:hover{
  filter:brightness(.96);
}
.topbtn.red,.tech-modal-close,.article-remove-btn{
  background:#c65359!important;
}

/* éditeur intervention */
.intervention-modal-inner{
  background:#f8fafb!important;
}
.article-editor-section{
  border-color:#c7d5de!important;
  box-shadow:0 1px 0 rgba(22,56,79,.03);
}
.article-editor-head{
  background:#f1f6f9!important;
}
.article-edit-row{
  background:#fff;
}
.article-edit-row:hover{
  background:#f8fbfd;
}
.article-edit-row select,
.article-edit-row input{
  border-color:#b9cad5!important;
  background:#fff!important;
}
.live-ca-card{
  background:#eaf5f1!important;
  border-color:#bddbcf!important;
}
.live-ca-card strong{
  color:#2e735e!important;
}
.live-ca-card .failure-ca{
  color:#b8484e!important;
}
.potential-ca{
  margin-top:6px;
  padding-top:6px;
  border-top:1px solid #cfe1d9;
  font-size:9.5px;
  color:#6e8178;
}
.potential-ca strong{
  display:inline!important;
  font-size:10.5px!important;
  color:#4d655b!important;
}

/* erreurs/échecs restent lisibles mais pas criards */
.badge.bad{
  background:#f5dfe1!important;
  color:#a53d45!important;
}
.status-dot.ok{
  background:#398b70!important;
}

/* contraste général */
.panel,.data-tech-block,.annual-month-card,.tech-modal-section{
  border-color:#c8d4dc!important;
}
tbody tr:nth-child(even) td{background:#f4f7f9}
tbody tr:nth-child(odd) td{background:#fff}

/* STEP14B — palette proche FIX11 : douce, bleutée, boutons gris clair bord bleu */
:root{
  --soft-bg:#eef3f7;
  --soft-panel:#f8fafc;
  --soft-blue:#2f5f87;
  --soft-blue-2:#3d6f98;
  --soft-blue-dark:#214768;
  --soft-border:#9fb5c7;
  --soft-border-light:#cbd8e2;
  --soft-grey-btn:#eef1f3;
  --soft-text:#153754;
  --soft-purple:#6f5d7c;
}

body,
.page{
  background:var(--soft-bg)!important;
  color:var(--soft-text)!important;
}
.topbar{background:#285479!important}
.days-sidebar{background:#173a58!important}
.selected-day-card{background:#234d70!important}
.side-action{background:#2f6592!important}

.kpi-card,
.panel,
.data-tech-block,
.tech-modal-section,
.annual-month-card{
  background:#fbfcfd!important;
  border-color:#bdccd8!important;
}

.data-tech-banner{
  background:#527896!important;
}
.data-tech-banner.shared-banner{
  background:#6a5b76!important;
}
.data-tech-table thead th,
table thead th{
  background:#2f5e82!important;
}

.tabsbar{
  background:#e8eef3!important;
  border-color:#b9c9d5!important;
}
.tablink{
  background:#edf1f4!important;
  color:#244a68!important;
  border-color:#aabcc9!important;
}
.tablink.active{
  background:#f9fbfc!important;
  color:#173d5b!important;
  border-top:2px solid #2f6c9c!important;
}

/* boutons gris clair entourés de bleu */
.topbtn,
.tr-btn,
.data-filter,
.chip,
.ref-subtab,
.tech-period-btn{
  background:#edf1f4!important;
  color:#244b69!important;
  border:1px solid #6f92ad!important;
  box-shadow:none!important;
}
.topbtn:hover,
.tr-btn:hover,
.data-filter:hover,
.chip:hover,
.ref-subtab:hover,
.tech-period-btn:hover{
  background:#e3ebf1!important;
}
.topbtn.dark{
  background:#e1e7eb!important;
  color:#25465e!important;
  border-color:#70899c!important;
}
.data-filter.active,
.tech-period-btn.active,
.ref-subtab.active{
  background:#dce8f1!important;
  color:#163f60!important;
  border-color:#4d7da1!important;
}

/* bouton action principal garde un bleu doux */
.article-add-btn,
.import-file-btn{
  background:#3d7098!important;
  color:#fff!important;
  border:1px solid #315f82!important;
}

/* fond légèrement bleuté des modules */
.intervention-modal-inner,
.absence-modal-form,
.article-history-modal-box{
  background:#f2f6f9!important;
}
.article-editor-section,
.live-ca-card{
  background:#f8fbfc!important;
}
.live-ca-card{
  border-color:#b9d2c8!important;
}
.shared-intervention-row td,
.shared-helper-row td{
  background:#ece7f0!important;
}

/* moins de contraste dans les lignes */
tbody tr:nth-child(even) td{background:#f3f6f8!important}
tbody tr:nth-child(odd) td{background:#fbfcfd!important}
.shared-intervention-row td,
.shared-helper-row td{
  background:#eee8f2!important;
}

/* recherche / champs */
input,select,textarea{
  border-color:#b8c8d4!important;
}
.data-search-wrap,
.live-search-box{
  background:#fff!important;
  border-color:#aebfcb!important;
}

/* STEP14C */
.filter-hidden,.data-row.filter-hidden,.data-filter-block.filter-hidden{display:none!important}
.absence-search-box{position:relative!important;z-index:100!important}.absence-tech-suggestions{top:100%!important;margin-top:3px!important;z-index:100000!important}.absence-tech-suggestions.open{display:block!important}

/* STEP14D — alignement strict de l'onglet Données */
.data-tech-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}

.data-tech-table th,
.data-tech-table td{
  box-sizing:border-box!important;
  vertical-align:middle!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.data-tech-table .col-nd{width:17%!important;text-align:center!important}
.data-tech-table .col-client{width:22%!important;text-align:left!important}
.data-tech-table .col-ville{width:18%!important;text-align:center!important}
.data-tech-table .col-partenaire{width:11%!important;text-align:center!important}
.data-tech-table .col-actprod{width:12%!important;text-align:center!important}
.data-tech-table .col-articles{width:10%!important;text-align:left!important}
.data-tech-table .col-montant{width:7%!important;text-align:right!important}
.data-tech-table .col-echec{width:3%!important;text-align:center!important}

.nd-cell{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
}

.nd-value{
  display:inline-block!important;
  min-width:92px!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
}

.nd-badges{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:58px!important;
}

.row-share-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}

/* Le détail renfort reste sous le client mais n'influence plus les colonnes */
.row-share-note{
  display:block!important;
  margin-top:2px!important;
  font-size:8px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Alignement stable même à 120 % navigateur */
@media(max-width:1400px){
  .data-tech-table .col-nd{width:18%!important}
  .data-tech-table .col-client{width:21%!important}
  .data-tech-table .col-ville{width:18%!important}
  .data-tech-table .col-partenaire{width:11%!important}
  .data-tech-table .col-actprod{width:12%!important}
  .data-tech-table .col-articles{width:10%!important}
  .data-tech-table .col-montant{width:7%!important}
  .data-tech-table .col-echec{width:3%!important}
}

/* STEP14F — état partagé visible en permanence, pas seulement au survol */
.data-tech-table tbody tr.shared-intervention-row > td,
.data-tech-table tbody tr.shared-helper-row > td,
.data-tech-table tbody tr.shared-intervention-row:nth-child(odd) > td,
.data-tech-table tbody tr.shared-intervention-row:nth-child(even) > td,
.data-tech-table tbody tr.shared-helper-row:nth-child(odd) > td,
.data-tech-table tbody tr.shared-helper-row:nth-child(even) > td{
  background:#eee8f2!important;
  color:#46394f!important;
  border-top:1px solid #cdbfd7!important;
  border-bottom:1px solid #cdbfd7!important;
}

.data-tech-table tbody tr.shared-intervention-row:hover > td,
.data-tech-table tbody tr.shared-helper-row:hover > td{
  background:#e6ddeb!important;
}

/* À traiter : le masquage doit gagner sur toutes les anciennes règles */
#dataGroupsContainer .filter-hidden{
  display:none!important;
}
#dataGroupsContainer tr.filter-hidden{
  display:none!important;
}

/* STEP14G — données financières réservées SuperUser */
.financial-locked{
  display:inline-block;
  font-size:11px!important;
  font-weight:800!important;
  color:#61798b!important;
  letter-spacing:.01em;
}

/* STEP14H — recherche globale plus propre */
.top-search-modern{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:430px!important;
}

.top-search-field{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:330px!important;
  height:34px!important;
  padding:0 10px!important;
  background:#f8fafc!important;
  border:1px solid #91a9bb!important;
  border-radius:3px!important;
  box-shadow:inset 0 1px 2px rgba(20,52,77,.05)!important;
}

.top-search-field:focus-within{
  background:#fff!important;
  border-color:#5f86a4!important;
  box-shadow:0 0 0 2px rgba(69,111,143,.12)!important;
}

.top-search-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-right:7px!important;
  font-size:16px!important;
  color:#58758b!important;
}

.top-search-field input{
  width:100%!important;
  height:30px!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#243f53!important;
  font-size:12px!important;
}

.top-search-field input::placeholder{
  color:#7f919e!important;
}

.top-search-btn{
  height:34px!important;
  padding:0 15px!important;
  border:1px solid #6f8da4!important;
  border-radius:3px!important;
  background:#e8eef2!important;
  color:#244c69!important;
  font-size:11px!important;
  font-weight:800!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

.top-search-btn:hover{
  background:#dce7ee!important;
  border-color:#527b9a!important;
  color:#173e5c!important;
}

.global-search-suggestions{
  left:-1px!important;
  top:38px!important;
  width:430px!important;
  max-height:360px!important;
  border:1px solid #aabcc9!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(22,51,72,.20)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:100000!important;
}

.search-suggestion{
  width:100%!important;
  padding:9px 11px!important;
  border:0!important;
  border-bottom:1px solid #edf1f4!important;
  background:#fff!important;
  text-align:left!important;
  cursor:pointer!important;
}

.search-suggestion:hover{
  background:#eef4f8!important;
}

.search-suggestion-main,
.search-suggestion-meta{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}

.search-suggestion-main strong{
  min-width:95px!important;
  color:#214b69!important;
  font-size:11px!important;
}

.search-suggestion-main span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:11px!important;
  color:#334f63!important;
}

.search-suggestion-meta{
  margin-top:3px!important;
  padding-left:105px!important;
  font-size:9px!important;
  color:#708390!important;
}

.shared-list-row{
  cursor:default!important;
}
.shared-list-row:hover td{
  background:#f3f6f8!important;
}

/* bouton Tout consulter = accès centre notifications */
.notification-open-btn{
  font-weight:800!important;
}

/* STEP14I — détails renfort/binôme */
.row-share-note{
  margin-top:3px!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#655071!important;
}
.row-share-tag{
  font-size:9px!important;
  padding:2px 6px!important;
  font-weight:900!important;
}

/* Recherche techniciens */
.tech-search-toolbar{
  display:flex!important;align-items:center!important;gap:7px!important;
  width:min(520px,100%)!important;margin:10px 0 12px!important;padding:7px 9px!important;
  background:#f4f7f9!important;border:1px solid #b7c7d2!important;
}
.tech-search-icon{font-size:16px!important;color:#55778f!important}
.tech-search-toolbar input{
  flex:1!important;height:32px!important;padding:0 10px!important;font-size:12px!important;
  background:#fff!important;border:1px solid #aebfcb!important;
}
.tech-search-clear{
  height:32px!important;padding:0 12px!important;border:1px solid #7896ad!important;
  background:#e8eef2!important;color:#274d69!important;font-weight:800!important;cursor:pointer!important;
}

/* Absences : lisibilité + statuts */
.absence-toolbar{
  display:flex!important;align-items:center!important;gap:8px!important;
  margin:10px 0 12px!important;padding:8px 10px!important;
  background:#f1f5f8!important;border:1px solid #bdcbd6!important;
}
.absence-toolbar-label{font-size:11px!important;font-weight:900!important;color:#36566f!important}
.absence-toolbar select{min-width:210px!important;height:32px!important;font-size:11px!important;background:#fff!important}
.absence-panel-head{min-height:54px!important;padding:12px 14px!important;font-size:14px!important}
.absence-plus{width:31px!important;height:31px!important;font-size:17px!important;font-weight:900!important}
.absence-count{min-width:29px!important;height:29px!important;text-align:center!important;font-size:12px!important}
.absence-table{font-size:12px!important}
.absence-table th{font-size:11px!important;padding:8px 9px!important}
.absence-table td{padding:8px 9px!important}
.absence-data-row{cursor:pointer!important}
.absence-data-row:hover td{filter:brightness(.97)}
.absence-status-badge{
  display:inline-flex!important;align-items:center!important;min-height:22px!important;
  padding:2px 8px!important;border-radius:10px!important;font-size:9.5px!important;font-weight:900!important;
  background:#e6edf2!important;color:#40596d!important;
}
.absence-status-en-attente td{background:#fff8d9!important}
.absence-status-en-attente .absence-status-badge{background:#f7e8a9!important;color:#806015!important}
.absence-status-valide td{background:#edf7f2!important}
.absence-status-valide .absence-status-badge{background:#d8eee3!important;color:#34705b!important}
.absence-status-a-verifier td{background:#f4eef8!important}
.absence-status-a-verifier .absence-status-badge{background:#e4d9ec!important;color:#6b527b!important}
.absence-status-refuse td{background:#fae9ea!important}
.absence-status-refuse .absence-status-badge{background:#f2d6d9!important;color:#a34249!important}
.absence-status-termine td{background:#eef1f3!important;color:#6b7a85!important}

/* Modal absence légèrement agrandie */
.absence-modal-inner{font-size:12px!important}
.absence-modal-form{padding:18px 20px!important}
.absence-form-row label,.absence-search-row label{font-size:11px!important}
.absence-form-row input,.absence-form-row select,.absence-search-box input{
  min-height:34px!important;font-size:12px!important;
}
.absence-status-select{font-weight:800!important}

/* STEP14J — échelle visuelle globale +10 %
   Objectif : rendu navigateur 100 % ≈ ancien rendu navigateur 110 %. */

html{
  font-size:110%!important;
}

/* Les éléments à tailles fixes sont eux aussi légèrement augmentés */
body{
  line-height:1.1;
}

/* Barre supérieure */
.topbar{
  min-height:44px!important;
}
.topbtn,
.top-search-btn{
  min-height:36px!important;
}
.top-search-field{
  height:36px!important;
}
.top-search-field input{
  height:32px!important;
}

/* Sidebar */
.days-sidebar{
  font-size:1em!important;
}
.side-action{
  min-height:38px!important;
}
.selected-day-card{
  padding:12px!important;
}

/* Titres / onglets */
.hero h1,
.page-title,
.section-title{
  transform-origin:left center;
}
.tablink{
  padding:10px 14px!important;
  min-height:38px!important;
}

/* KPI */
.kpi-card{
  min-height:105px!important;
  padding:13px 15px!important;
}
.kpi-value{
  font-size:1.85em!important;
}
.kpi-lab{
  font-size:.82em!important;
}
.kpi-sub{
  font-size:.78em!important;
}

/* Chips / alertes */
.chip,
.action-main,
.data-filter,
.tr-btn,
.ref-subtab,
.tech-period-btn{
  min-height:34px!important;
  padding:6px 11px!important;
}

/* Tableaux */
table th,
table td{
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.data-tech-table th,
.data-tech-table td{
  padding-top:8px!important;
  padding-bottom:8px!important;
}
.data-tech-banner{
  min-height:45px!important;
  padding:10px 12px!important;
}

/* Champs */
input,
select,
textarea,
button{
  font-size:1em;
}
input,
select{
  min-height:34px;
}

/* Techniciens */
.tech-day-card{
  padding:12px 14px!important;
  min-height:54px!important;
}
.tech-search-toolbar{
  width:min(580px,100%)!important;
}

/* Modales */
.tech-modal-inner,
.intervention-modal-inner,
.absence-modal-inner,
.nd-modal-inner,
.article-history-modal-box{
  font-size:1em!important;
}
.tech-modal-name{
  font-size:1.55em!important;
}
.tech-modal-meta{
  font-size:.9em!important;
}

/* Badge renfort / binôme */
.row-share-tag{
  font-size:.82em!important;
  padding:3px 7px!important;
}
.row-share-note{
  font-size:.9em!important;
}

/* Absence */
.absence-panel-head{
  min-height:60px!important;
  font-size:1.15em!important;
}
.absence-table{
  font-size:1em!important;
}
.absence-table th,
.absence-table td{
  padding:9px 10px!important;
}
.absence-plus{
  width:34px!important;
  height:34px!important;
}
.absence-count{
  min-width:32px!important;
  height:32px!important;
}
.absence-status-badge{
  font-size:.82em!important;
  padding:3px 9px!important;
}

/* Association à traiter synthétique */
.shared-pending-row > td{
  background:#f3edf6!important;
  border-top:1px solid #cfbfd7!important;
  border-bottom:1px solid #cfbfd7!important;
}
.pending-dot{
  display:inline-block!important;
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:#b18442!important;
}

/* Responsive : on conserve la hausse, mais sans forcer le débordement */
@media(max-width:1400px){
  html{font-size:106%!important}
  .top-search-modern{min-width:360px!important}
  .top-search-field{width:270px!important}
}

@media(max-width:1100px){
  html{font-size:102%!important}
  .top-search-modern{min-width:300px!important}
  .top-search-field{width:220px!important}
}

@media(max-width:800px){
  html{font-size:100%!important}
}

/* STEP15A — fiche technicien : raccourcis absence */
.tech-kpi-action{
  position:relative!important;
}
.tech-kpi-action-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.tech-kpi-action-head button{
  width:25px!important;
  height:25px!important;
  min-height:25px!important;
  padding:0!important;
  border:1px solid #7898af!important;
  background:#eef3f6!important;
  color:#285474!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.tech-kpi-action-head button:hover{
  background:#dce9f1!important;
}
.tech-ticket-link{
  cursor:pointer!important;
}
.tech-ticket-link:hover{
  border-color:#8d7da2!important;
  background:#f3eef6!important;
}
.tech-absence-row{
  cursor:pointer!important;
}
.tech-absence-row:hover td{
  background:#eaf2f7!important;
}

/* Centre notifications filtrable */
.notify-toolbar-advanced{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
.notify-filter-zone{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.notify-filter-buttons{
  display:flex!important;
  gap:5px!important;
  flex-wrap:wrap!important;
}
.notify-filter-btn{
  min-height:32px!important;
  padding:5px 10px!important;
  border:1px solid #839eb2!important;
  background:#edf2f5!important;
  color:#284f6b!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.notify-filter-btn:hover,
.notify-filter-btn.active{
  background:#dce8f0!important;
  border-color:#527c9c!important;
  color:#173f5d!important;
}
.notify-search{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:260px!important;
  height:34px!important;
  padding:0 9px!important;
  background:#fff!important;
  border:1px solid #a8bac7!important;
}
.notify-search span{
  color:#57758b!important;
}
.notify-search input{
  flex:1!important;
  min-height:28px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
}
.notify-filter-empty{
  margin-top:12px!important;
}

/* STEP15B */
.absence-plus,.absence-count{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border-radius:4px!important;box-sizing:border-box!important;font-weight:900!important}
.absence-plus{background:#f7fbfd!important;border:1px solid #86a5ba!important;color:#23516f!important;font-size:19px!important}
.absence-count{background:rgba(255,255,255,.72)!important;border:1px solid currentColor!important;font-size:13px!important}
.absence-modal-box{width:min(820px,92vw)!important;max-width:820px!important}
.absence-modal-inner{font-size:14px!important}.absence-modal-header{padding:20px 22px!important}.absence-modal-form-premium{padding:20px 22px!important}
.absence-form-row,.absence-search-row{grid-template-columns:125px 1fr!important;gap:12px!important;margin-bottom:12px!important}
.absence-form-row label,.absence-search-row label{font-size:12px!important;font-weight:800!important}
.absence-form-row input,.absence-form-row select,.absence-search-box input{min-height:40px!important;font-size:13px!important;padding:6px 10px!important}
.absence-selected-tech{min-height:46px!important;padding:10px 12px!important}.absence-modal-form .tech-modal-footer button{min-height:40px!important;padding:8px 16px!important}
.global-search-suggestions{width:620px!important;max-height:520px!important}
.search-project-result{display:block!important;padding:11px 13px!important}
.search-result-top{display:flex!important;justify-content:space-between!important;gap:10px!important}
.search-date-badge{padding:4px 8px!important;background:#e9f0f5!important;border:1px solid #b8c9d5!important;color:#355b75!important;font-size:10px!important;font-weight:900!important}
.search-nd{font-size:11px!important;color:#163e5b!important}.search-result-client{margin:6px 0!important;font-size:13px!important;font-weight:900!important;color:#183f5c!important}
.search-result-grid{display:grid!important;grid-template-columns:1.2fr 1fr .8fr .8fr!important;gap:8px!important}
.search-result-grid span{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;font-size:10px!important;color:#536b7d!important}
.search-result-grid b{font-size:8px!important;text-transform:uppercase!important;color:#8193a0!important}
.search-result-bottom{margin-top:7px!important;padding-top:6px!important;border-top:1px dashed #d7e0e6!important;display:flex!important;justify-content:space-between!important;gap:10px!important;font-size:10px!important;color:#5d7282!important}
.pending-only-row,.absence-pending-row,.shared-list-row{cursor:pointer!important}.pending-only-row:hover td,.absence-pending-row:hover td{background:#e9e0ef!important}
.pending-absence-action{border:1px solid #d4b9bd!important}.absence-action-banner{background:#805e69!important}.absence-import-badge{background:#f0dfe4!important;color:#6e4350!important}
@media(max-width:1200px){.global-search-suggestions{width:min(620px,82vw)!important}.search-result-grid{grid-template-columns:1fr 1fr!important}.absence-modal-box{width:94vw!important}}

/* STEP15C — Techniciens : roster complet + suggestions */
.tech-search-zone{
  position:relative!important;
  width:min(620px,100%)!important;
  margin:10px 0 14px!important;
}
.tech-search-toolbar-live{
  width:100%!important;
  margin:0!important;
}
.tech-day-suggestions{
  display:none;
  position:absolute!important;
  z-index:80!important;
  top:calc(100% + 4px)!important;
  left:0!important;
  right:0!important;
  max-height:310px!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #9fb4c3!important;
  box-shadow:0 10px 26px rgba(26,54,75,.16)!important;
}
.tech-day-suggestions.open{display:block!important}
.tech-suggestion-item{
  width:100%!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:8px 12px!important;
  border:0!important;
  border-bottom:1px solid #e1e8ed!important;
  background:#fff!important;
  color:#244b68!important;
  text-align:left!important;
  cursor:pointer!important;
}
.tech-suggestion-item:hover{background:#edf4f8!important}
.tech-suggestion-name{font-weight:900!important;font-size:12px!important}
.tech-suggestion-cat{
  padding:3px 7px!important;
  background:#edf2f5!important;
  border:1px solid #c2d0da!important;
  font-size:9px!important;
  font-weight:900!important;
  color:#587188!important;
}
.tech-suggestion-empty{
  padding:12px!important;
  color:#718795!important;
  font-size:11px!important;
}
.tech-day-card.has-absence{
  border-left:4px solid #c58d54!important;
}
.presence-pill.absence{
  background:#f4e9dc!important;
  border-color:#d6b38b!important;
  color:#80582e!important;
}
.presence-pill.absence.congé,
.presence-pill.absence.conge{
  background:#fff2c9!important;
  border-color:#d9bd64!important;
  color:#765f17!important;
}
.presence-pill.absence.maladie{
  background:#f7e1e3!important;
  border-color:#d4a2a7!important;
  color:#8b434a!important;
}
.presence-pill.absence.accident-du-travail{
  background:#f5e3d7!important;
  border-color:#d2a17e!important;
  color:#8a5030!important;
}
.presence-pill.neutral{
  background:#edf1f3!important;
  border-color:#cbd5db!important;
  color:#72828d!important;
}
.tech-search-hit{
  outline:3px solid rgba(62,125,163,.28)!important;
  box-shadow:0 0 0 5px rgba(62,125,163,.09)!important;
}
.tech-column-empty-filter{
  opacity:.35!important;
}

/* STEP15E — Vue annuelle */
.annual-kpis-expanded{
  grid-template-columns:repeat(9,minmax(105px,1fr))!important;
}
.annual-section-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:18px 0 8px!important;
}
.annual-month-card{
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease!important;
}
.annual-month-clickable{
  cursor:pointer!important;
}
.annual-month-clickable:hover{
  transform:translateY(-2px)!important;
  border-color:#7f9db2!important;
  box-shadow:0 5px 15px rgba(30,62,83,.10)!important;
}
.annual-month-empty{
  opacity:.58!important;
}
.annual-month-ca{
  margin:8px 0 5px!important;
  font-size:16px!important;
  font-weight:900!important;
  color:#234d69!important;
}
.annual-month-meta-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5px 10px!important;
}
.annual-month-meta-grid span{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}
.annual-ranking-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:15px!important;
  margin-bottom:10px!important;
  flex-wrap:wrap!important;
}
.annual-tech-search{
  width:min(360px,100%)!important;
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:0 10px!important;
  background:#fff!important;
  border:1px solid #a9bbc8!important;
}
.annual-tech-search span{color:#58758b!important}
.annual-tech-search input{
  flex:1!important;
  min-height:32px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
}
.annual-table-wrap{
  width:100%!important;
  overflow-x:auto!important;
}
.annual-ranking-table th,
.annual-ranking-table td{
  white-space:nowrap!important;
  padding:8px 10px!important;
}
.annual-tech-row{
  cursor:pointer!important;
}
.annual-tech-row:hover td{
  background:#edf4f8!important;
}
.annual-search-empty{
  padding:20px!important;
  text-align:center!important;
  color:#718491!important;
  background:#f5f8fa!important;
  border:1px solid #cfdae2!important;
}

@media(max-width:1600px){
  .annual-kpis-expanded{grid-template-columns:repeat(5,1fr)!important}
}
@media(max-width:1000px){
  .annual-kpis-expanded{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:700px){
  .annual-kpis-expanded{grid-template-columns:repeat(2,1fr)!important}
  .annual-month-meta-grid{grid-template-columns:1fr!important}
}

/* STEP15F — compteurs bandeaux Techniciens */
.tech-column-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.tech-column-count{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  padding:3px 8px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:3px!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  text-transform:none!important;
}

/* Recherche Techniciens : zone de suggestion clairement visible */
.tech-search-zone{
  z-index:50!important;
}
.tech-day-suggestions{
  z-index:300!important;
}
.tech-search-toolbar-live input{
  font-size:12px!important;
}

/* Tickets resto — rendre la correction manuelle compréhensible */
.tr-correction-group{
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:3px 4px 3px 8px!important;
  background:#eef3f6!important;
  border:1px solid #b9c8d2!important;
}
.tr-correction-label{
  color:#536d80!important;
  font-size:9px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.tr-correction-group input{
  width:82px!important;
  min-width:82px!important;
  height:31px!important;
  padding:0 7px!important;
  border:1px solid #9fb3c1!important;
  background:#fff!important;
  font-size:11px!important;
}
.tr-correction-group .tr-action{
  white-space:nowrap!important;
}
@media(max-width:1200px){
  .tr-correction-group{
    width:100%!important;
    justify-content:flex-start!important;
  }
}

/* STEP15G — Absence Employé : lisibilité + statut verrouillé */
.absence-modal-inner{
  font-size:15px!important;
}
.absence-modal-header h2{
  font-size:1.65em!important;
}
.absence-modal-sub{
  font-size:.92em!important;
}
.absence-form-row label,
.absence-search-row label{
  font-size:13px!important;
}
.absence-form-row input,
.absence-form-row select,
.absence-search-box input{
  min-height:43px!important;
  font-size:14px!important;
}
.absence-selected-tech{
  font-size:13px!important;
}
.absence-rule,
.absence-form-row small{
  font-size:11px!important;
}
.absence-status-locked{
  min-height:43px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:7px 11px!important;
  background:#fff7d9!important;
  border:1px solid #d9bf73!important;
  color:#725b19!important;
}
.absence-status-dot{
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:#c79935!important;
  flex:0 0 auto!important;
}
.absence-status-locked strong{
  font-size:13px!important;
}
.absence-status-locked small{
  margin-left:auto!important;
  color:#806c35!important;
  font-size:10px!important;
}

/* Fiche technicien — historique BINÔME / RENFORT */
.tech-shared-history-row td{
  background:#f2edf5!important;
  border-top:1px solid #d5c8dd!important;
  border-bottom:1px solid #d5c8dd!important;
}
.tech-shared-history-row:hover td{
  background:#e9e0ef!important;
}
.tech-history-share-badge{
  display:inline-flex!important;
  align-items:center!important;
  margin-left:6px!important;
  padding:2px 6px!important;
  border-radius:2px!important;
  background:#6c5a7c!important;
  color:#fff!important;
  font-size:8px!important;
  font-weight:900!important;
}
.tech-history-share-badge.renfort{
  background:#725b83!important;
}
.tech-history-share-badge.principal{
  background:#75677f!important;
}
.tech-history-share-note,
.tech-history-ca-note{
  display:block!important;
  margin-top:3px!important;
  font-size:9px!important;
  font-weight:800!important;
  color:#665370!important;
}
.tech-modal-kpi small{
  display:block!important;
  margin-top:4px!important;
  font-size:9px!important;
  color:#71828e!important;
}

/* STEP15H — Tickets remis : ligne complète en vert doux */
.ticket-complete-row td{
  background:#e8f5ed!important;
  border-top:1px solid #c3e2cf!important;
  border-bottom:1px solid #c3e2cf!important;
}
.ticket-complete-row:hover td{
  background:#ddf0e5!important;
}
.ticket-complete-row .techlink{
  color:#27664d!important;
}

/* Diagnostic 60+ */
.diagnostic-page{padding:4px 0 20px!important}
.diagnostic-head{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;
  gap:14px!important;margin-bottom:14px!important;flex-wrap:wrap!important;
}
.diag-refresh{
  min-height:34px!important;display:inline-flex!important;align-items:center!important;
  padding:6px 12px!important;background:#e8eef2!important;border:1px solid #7997ac!important;
  color:#284e69!important;text-decoration:none!important;font-weight:900!important;
}
.diag-kpis{
  display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:10px!important;margin-bottom:14px!important;
}
.diag-kpi{
  min-height:82px!important;padding:12px 14px!important;background:#fff!important;border:1px solid #bdccd6!important;
  border-top:3px solid #71889a!important;
}
.diag-kpi span{display:block!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;color:#657b8b!important}
.diag-kpi strong{display:block!important;margin-top:7px!important;font-size:22px!important;color:#143d59!important}
.diag-kpi.ok{border-top-color:#4e9679!important}
.diag-kpi.warning{border-top-color:#c18e3e!important}
.diag-kpi.error{border-top-color:#c85f67!important}
.diag-kpi.score{border-top-color:#4c7da0!important}
.diag-toolbar{
  display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;
  padding:9px!important;background:#eef3f6!important;border:1px solid #bdcbd5!important;margin-bottom:10px!important;
}
.diag-filter{
  min-height:34px!important;padding:5px 11px!important;background:#fff!important;border:1px solid #8ea5b5!important;
  color:#34576f!important;font-weight:900!important;cursor:pointer!important;
}
.diag-filter.active{background:#dce8f0!important;border-color:#527b99!important;color:#173f5b!important}
.diag-toolbar input{
  min-width:300px!important;height:34px!important;margin-left:5px!important;padding:0 10px!important;border:1px solid #9eb1bf!important;background:#fff!important;
}
.diag-list{border:1px solid #b9c8d2!important;background:#fff!important}
.diag-category{
  padding:9px 12px!important;background:#2f5d7d!important;color:#fff!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;
}
.diag-row{
  display:grid!important;grid-template-columns:36px minmax(240px,1fr) minmax(320px,1.6fr) 95px!important;
  align-items:center!important;min-height:42px!important;border-bottom:1px solid #e0e7ec!important;
}
.diag-row:nth-of-type(even){background:#f7f9fa!important}
.diag-state{text-align:center!important;font-size:12px!important}
.diag-state.ok{color:#3d8a6d!important}.diag-state.warning{color:#b67e28!important}.diag-state.error{color:#bd4b54!important}
.diag-name{padding:7px 10px!important;font-weight:900!important;color:#274c66!important}
.diag-detail{padding:7px 10px!important;color:#536b7b!important}
.diag-badge{
  justify-self:center!important;padding:3px 7px!important;border-radius:10px!important;font-size:8px!important;font-weight:900!important;
}
.diag-badge.ok{background:#dcefe6!important;color:#31705a!important}
.diag-badge.warning{background:#f5e7c8!important;color:#84601e!important}
.diag-badge.error{background:#f4dadd!important;color:#9b3d45!important}
@media(max-width:1100px){
  .diag-kpis{grid-template-columns:repeat(2,1fr)!important}
  .diag-row{grid-template-columns:30px 1fr 1.4fr 85px!important}
}


/* STEP15I — typographie globale Inter / lisibilité */
:root{
  --font-ui: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea,
table{
  font-family:var(--font-ui)!important;
  font-synthesis:none!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
  text-rendering:optimizeLegibility!important;
}

body{
  font-weight:400!important;
  letter-spacing:0!important;
}

.day-title,
.section-title,
.tech-modal-title,
.annual-title-row .day-title,
h1,h2,h3{
  font-family:var(--font-ui)!important;
  font-weight:700!important;
  letter-spacing:-0.015em!important;
}

.day-sub,
.section-sub,
.tech-modal-sub,
small{
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:1.42!important;
}

.tabs a,
.tabs button,
.side-action,
.topbar button,
.topbar a,
.chip,
.data-filter,
.tr-action,
.diag-filter{
  font-weight:600!important;
  letter-spacing:-0.005em!important;
}

table th,
.data-tech-table th,
.annual-ranking-table th,
.tech-modal-table th{
  font-weight:600!important;
  letter-spacing:-0.005em!important;
}

table td,
.data-tech-table td,
.annual-ranking-table td,
.tech-modal-table td{
  font-weight:400!important;
  line-height:1.36!important;
}

.amount-cell,
.kpi strong,
.day-kpis strong,
.annual-kpis strong,
.tech-modal-kpi strong,
.diag-kpi strong{
  font-weight:700!important;
}

.data-tech-name,
.tech-day-name,
.techlink,
.annual-tech-row strong{
  font-weight:600!important;
}

.badge,
.presence-pill,
.row-share-tag,
.tech-history-share-badge{
  font-weight:600!important;
}

/* Évite l'effet "écrasé" sur les petits textes */
.topbar,
.sidebar,
.tabs,
.action-strip,
.data-tech-banner,
.tech-column-title{
  line-height:1.32!important;
}

/* Fiche technicien : score et libellés plus naturels */
.reliability-score,
.tech-reliability-value{
  font-weight:700!important;
  letter-spacing:-0.01em!important;
}

/* STEP15J — Tickets resto : une ligne à jour doit se voir immédiatement, sans survol */
#ticketTable tbody tr.ticket-complete-row > td,
#ticketTable tbody tr.ticket-complete-row:nth-child(odd) > td,
#ticketTable tbody tr.ticket-complete-row:nth-child(even) > td{
  background:#c9ead3!important;
  border-top:1px solid #87c79b!important;
  border-bottom:1px solid #87c79b!important;
  color:#164d32!important;
}
#ticketTable tbody tr.ticket-complete-row > td:first-child{
  border-left:4px solid #2f8f59!important;
}
#ticketTable tbody tr.ticket-complete-row:hover > td{
  background:#b7e1c4!important;
}
#ticketTable tbody tr.ticket-complete-row .techlink,
#ticketTable tbody tr.ticket-complete-row strong{
  color:#145637!important;
  font-weight:800!important;
}
#ticketTable tbody tr.ticket-complete-row .tr-status.ok{
  background:#e7f7ec!important;
  color:#17633d!important;
  border:1px solid #72b98a!important;
  font-weight:900!important;
}

/* STEP15K — Centre À traiter */
.pending-center{padding-bottom:24px}
.pending-center-title{margin-bottom:12px}
.pending-progress-card{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 14px;margin-bottom:10px;background:#f7f1e4;border:1px solid #d8b874;border-left:4px solid #ba8730}
.pending-progress-card span{display:block;font-size:10px;color:#7a6946}
.pending-progress-card strong{display:block;margin-top:3px;font-size:15px;color:#483b24}
.pending-progress-copy{font-size:11px;color:#75684d}
.pending-all-clear{min-height:72px;display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:12px 16px;background:#dff1e6;border:1px solid #9fc9af;border-left:5px solid #4a9568}
.pending-all-clear-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#3f8a60;color:#fff;font-size:20px;font-weight:700}
.pending-all-clear strong{display:block;font-size:16px;color:#275c41}
.pending-all-clear span{display:block;margin-top:3px;color:#577464;font-size:11px}
.pending-kpis{grid-template-columns:repeat(6,minmax(120px,1fr))!important}
.pending-kpis .notify-kpi{text-align:left;cursor:pointer;font-family:inherit;transition:transform .1s ease,box-shadow .1s ease}
.pending-kpis .notify-kpi:hover,.pending-kpis .notify-kpi.active{transform:translateY(-1px);box-shadow:0 4px 11px rgba(35,68,90,.10)}
.pending-kpis .notify-kpi.ticket{border-top-color:#5a8b70!important}
.pending-toolbar{margin-top:11px}
.pending-table-wrap{border:1px solid #bdccd6;background:#fff;margin-top:8px}
.pending-table-head,.pending-action-row{display:grid;grid-template-columns:180px 185px minmax(260px,1.2fr) minmax(260px,1.4fr);align-items:center}
.pending-table-head{min-height:37px;background:#2d5877;color:#fff;font-size:10px;font-weight:600}
.pending-table-head>div{padding:8px 10px}
.pending-action-row{min-height:62px;border-bottom:1px solid #dfe7ec;transition:background .1s ease}
.pending-action-row:nth-child(even){background:#f7f9fa}
.pending-action-row:hover{background:#edf4f8}
.pending-action-row>div{padding:8px 10px}
.pending-type-cell{display:flex;align-items:center;gap:9px}
.pending-type-icon{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:3px;background:#6c7d8b;color:#fff;font-size:11px;font-weight:700}
.pending-type-cell strong{display:block;font-size:11px;color:#24465f}
.pending-type-cell small{display:block;margin-top:2px;font-size:9px;color:#788a98}
.pending-type-binome .pending-type-icon{background:#567c95}
.pending-type-renfort .pending-type-icon{background:#756188}
.pending-type-absence .pending-type-icon{background:#b06b65}
.pending-type-garantie .pending-type-icon{background:#5f839b}
.pending-type-ticket .pending-type-icon{background:#4f8a6c}
.pending-date-cell strong{display:block;font-size:10px;color:#334f63}
.pending-date-cell small{display:block;margin-top:2px;font-size:9px;color:#82909b}
.pending-subject-cell{font-size:11px;font-weight:600;color:#274d67}
.pending-reason-cell{font-size:10px;color:#647785}
.pending-action-cell{text-align:right}
.pending-action-btn{min-height:31px;display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;background:#e7eef3;border:1px solid #6e8da3;color:#244c68;text-decoration:none;font-size:10px;font-weight:600;cursor:pointer}
.pending-action-btn:hover{background:#dbe8f0}
.pending-empty-table{padding:24px;text-align:center;color:#748693;background:#f8fafb;font-size:11px}
.ticket-target-row td{background:#fff1c9!important;border-top:2px solid #c99a3e!important;border-bottom:2px solid #c99a3e!important}
@media(max-width:1450px){
  .pending-kpis{grid-template-columns:repeat(3,1fr)!important}
  .pending-table-head,.pending-action-row{grid-template-columns:155px 165px minmax(220px,1fr) minmax(220px,1.2fr)}
}
@media(max-width:1000px){
  .pending-table-wrap{overflow-x:auto}
  .pending-table-head,.pending-action-row{min-width:860px}
  .pending-kpis{grid-template-columns:repeat(2,1fr)!important}
}

/* STEP15L — diagnostic : filtres / recherche */
.diag-results-meta{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:26px;
  margin:-2px 0 5px;
  color:#6b7e8c;
  font-size:10px;
}
.diag-results-meta strong{
  color:#2d5672;
  font-weight:700;
}
.diag-filter-empty{
  padding:22px;
  text-align:center;
  color:#718492;
  background:#f6f9fb;
  border:1px solid #c8d4dc;
  border-top:0;
  font-size:11px;
}
.diag-row[hidden],
.diag-category[hidden]{
  display:none!important;
}

/* STEP15M — verrou de réimport */
.import-duplicate-page{max-width:850px;margin:35px auto;padding:0 15px}
.import-duplicate-card{background:#fff;border:1px solid #bdccd6;padding:28px 30px;box-shadow:0 8px 25px rgba(32,58,76,.08)}
.import-duplicate-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:13px;border-radius:50%;background:#c98b39;color:#fff;font-size:24px;font-weight:700}
.import-duplicate-file{display:inline-block;margin-top:15px;padding:7px 10px;background:#edf3f6;border:1px solid #c7d4dc;color:#365b72;font-size:11px;font-weight:600}
.import-duplicate-alert{margin-top:16px;padding:15px;background:#fff5df;border:1px solid #e0bd77;border-left:5px solid #c58b32;color:#5e4b28}
.import-duplicate-alert>strong{font-size:13px}
.import-duplicate-alert p{margin:10px 0 0;font-size:10px;line-height:1.5;color:#756548}
.import-duplicate-dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.import-duplicate-dates span{padding:5px 8px;background:#fff;border:1px solid #d8bb82;font-size:10px;font-weight:600;color:#6b5125}
.import-duplicate-missing{margin-top:10px;padding:10px 12px;background:#f8e7e4;border:1px solid #d8aaa3;color:#784841;font-size:10px}
.import-duplicate-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.import-duplicate-choice>div{padding:12px;background:#f5f8fa;border:1px solid #d2dde4}
.import-duplicate-choice strong{display:block;font-size:11px;color:#294e67}
.import-duplicate-choice span{display:block;margin-top:4px;font-size:9px;line-height:1.45;color:#71818c}
.import-duplicate-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.import-duplicate-actions form{margin:0}
.import-duplicate-cancel,.import-duplicate-replace{min-height:36px;padding:7px 14px;font-family:inherit;font-size:10px;font-weight:600;cursor:pointer}
.import-duplicate-cancel{background:#eef3f6;border:1px solid #879dab;color:#36576b}
.import-duplicate-replace{background:#a96632;border:1px solid #8d542b;color:#fff}
.import-duplicate-replace:hover{background:#925729}
@media(max-width:700px){.import-duplicate-choice{grid-template-columns:1fr}.import-duplicate-actions{flex-direction:column}.import-duplicate-actions button{width:100%}}

/* STEP15N — Centre À traiter : lisibilité renforcée */
.pending-center .day-title{font-size:24px!important;line-height:1.18!important}
.pending-center .day-sub{font-size:11.5px!important;line-height:1.5!important}
.pending-progress-card span{font-size:11px!important}
.pending-progress-card strong{font-size:16px!important}
.pending-progress-copy{font-size:11.5px!important}
.pending-kpis .notify-kpi span{font-size:10.5px!important}
.pending-kpis .notify-kpi strong{font-size:22px!important}
.notify-toolbar-title{font-size:12px!important}
.notify-toolbar-help{font-size:10.5px!important}
.notify-filter-btn{font-size:10.5px!important;min-height:34px!important;padding:6px 10px!important}
.notify-search input{font-size:10.5px!important;height:34px!important}
.pending-table-head{font-size:11px!important;min-height:40px!important}
.pending-action-row{min-height:69px!important}
.pending-type-cell strong{font-size:12px!important}
.pending-type-cell small{font-size:10px!important;line-height:1.35!important}
.pending-date-cell strong{font-size:11px!important}
.pending-date-cell small{font-size:9.5px!important}
.pending-subject-cell{font-size:12px!important}
.pending-reason-cell{font-size:11px!important;line-height:1.4!important}
.pending-action-btn{font-size:10.5px!important;min-height:34px!important;padding:6px 11px!important}
.pending-type-icon{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:12px!important}

/* Rappels visuels de portée */
.notify-scope-btn{font-size:10.5px!important;min-height:34px!important;padding:6px 10px!important}

/* STEP15P — vue annuelle / RC fonctionnelle */
.annual-help-badge{
  display:inline-flex;min-width:24px;justify-content:center;
  padding:2px 6px;border-radius:10px;background:#eee7f3;color:#665075;
  font-size:9px;font-weight:700;
}
.annual-reliability{
  display:inline-flex;min-width:64px;justify-content:center;
  padding:3px 7px;border-radius:10px;font-size:9px;font-weight:700;
}
.annual-reliability.good{background:#ddefe5;color:#2e7054}
.annual-reliability.mid{background:#f4e8c9;color:#806121}
.annual-reliability.low{background:#f2dadd;color:#9c4149}
.release-rc-badge{
  display:inline-flex;align-items:center;margin-left:7px;padding:2px 6px;
  border:1px solid #8ba8ba;background:#e8f0f5;color:#365c74;
  font-size:8px;font-weight:700;vertical-align:middle;
}

/* STEP16G — fiche technicien mensuelle */
.tech-month-panel{margin-top:16px;border:1px solid #b9c9d3;background:#f8fafb}
.tech-month-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#e8f0f5;border-bottom:1px solid #c7d4dc}
.tech-month-title{font-size:14px;font-weight:700;color:#274d67}
.tech-month-sub{margin-top:2px;font-size:10px;color:#728592}
.tech-month-select{min-width:130px;height:34px;padding:0 9px;border:1px solid #88a1b2;background:#fff;color:#284d66;font-size:11px;font-weight:600}
.tech-month-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#cbd7df;border-bottom:1px solid #cbd7df}
.tech-month-kpis>div{padding:10px 12px;background:#fff}
.tech-month-kpis span{display:block;font-size:9px;color:#728491}
.tech-month-kpis strong{display:block;margin-top:4px;font-size:14px;color:#244c66}
.tech-month-days{padding:10px}
.tech-month-day{margin-bottom:8px;border:1px solid #c2d0d9;background:#fff}
.tech-month-daybar{width:100%;display:grid;grid-template-columns:28px 1fr 120px 100px;align-items:center;gap:8px;min-height:42px;padding:7px 10px;border:0;background:#dfeaf1;color:#294e67;text-align:left;cursor:pointer}
.tech-month-daybar strong{font-size:11px}
.tech-month-daybar span{font-size:9px;color:#6b7f8e}
.tech-month-daybar b{text-align:right;font-size:10px}
.tech-month-chevron{font-size:11px;transition:transform .12s ease}
.tech-month-day.collapsed .tech-month-chevron{transform:rotate(-90deg)}
.tech-month-day.collapsed .tech-month-daybody{display:none}
.tech-month-daybody{padding:4px 8px}
.tech-month-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:6px 4px;border-bottom:1px solid #edf1f4}
.tech-month-item:last-child{border-bottom:0}
.tech-month-item-main{display:grid;grid-template-columns:85px 100px minmax(120px,1fr) minmax(100px,1fr);align-items:center;gap:8px;min-width:0}
.tech-month-item-main strong{font-size:10px;color:#244c66}
.tech-month-item-main span{font-size:9px;color:#617684;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tech-month-item-meta{display:flex;align-items:center;gap:8px;white-space:nowrap}
.tech-month-item-meta span{font-size:9px;color:#6a7e8d}
.tech-month-item-meta strong{font-size:10px;color:#244c66}
.tech-month-share{display:inline-flex!important;width:max-content;padding:3px 6px;border-radius:9px;font-size:8px!important;font-weight:700}
.tech-month-share.renfort{background:#eee3f4;color:#6f527e}
.tech-month-share.binome{background:#e0edf5;color:#3f6883}
.tech-month-fail{padding:2px 6px;border-radius:8px;background:#f4dcde;color:#9d4249!important;font-weight:700}
.tech-month-empty{padding:20px;text-align:center;color:#788a96;font-size:10px}
@media(max-width:1100px){
  .tech-month-kpis{grid-template-columns:repeat(2,1fr)}
  .tech-month-daybar{grid-template-columns:24px 1fr 90px 80px}
  .tech-month-item{align-items:flex-start;flex-direction:column}
  .tech-month-item-main{grid-template-columns:70px 90px 1fr 1fr;width:100%}
}

/* STEP16G final — fiche technicien mensuelle regroupée */
.tech-period-select{
  height:31px;min-width:112px;padding:0 8px;border:1px solid #8ca5b5;
  background:#fff;color:#2b526b;font-size:10px;font-weight:600;
}
.tech-day-groups{padding:8px 0}
.tech-day-group{margin-bottom:8px;border:1px solid #c2d0d9;background:#fff}
.tech-day-band{
  width:100%;min-height:42px;display:grid;
  grid-template-columns:26px minmax(180px,1fr) 100px 100px;
  align-items:center;gap:8px;padding:7px 10px;border:0;
  background:#dfeaf1;color:#294e67;text-align:left;cursor:pointer;
}
.tech-day-band strong{font-size:11px}
.tech-day-band span{font-size:9px;color:#6d808e}
.tech-day-band b{text-align:right;font-size:10px}
.tech-day-arrow{transition:transform .12s ease}
.tech-day-group.collapsed .tech-day-arrow{transform:rotate(-90deg)}
.tech-day-group.collapsed .tech-day-content{display:none}
.tech-day-content{padding:4px 6px 6px}
.tech-month-empty{padding:24px;text-align:center;color:#788a96;font-size:10px}
@media(max-width:1000px){
  .tech-day-band{grid-template-columns:24px 1fr 80px 75px}
}

/* STEP16H — sélecteur mois fiche technicien */
.tech-period-select{
  min-width:125px!important;
  font-size:10.5px!important;
}

/* STEP16L MICROFIX — harmonisation Techniciens */
.tech-day-name{font-size:16px!important;line-height:1.35!important}
.tech-day-cat{font-size:10px!important}
.tech-day-presence,.presence-pill{font-size:11px!important}
.tech-column-title{font-size:14px!important}

/* STEP16L — historique global Absences dans la fiche technicien */
.tech-absence-history{padding:8px 10px!important;max-height:390px!important;overflow:auto!important}
.tech-absence-item{border:1px solid #d9e1e6;border-radius:6px;background:#fff;margin:0 0 7px;overflow:hidden}
.tech-absence-item[hidden]{display:none!important}
.tech-absence-item summary{cursor:pointer;display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(90px,.8fr) minmax(90px,.7fr);gap:10px;align-items:center;padding:10px 12px;list-style:none;font-size:12px}
.tech-absence-item summary::-webkit-details-marker{display:none}
.tech-absence-item summary:before{content:'▸';color:#557084;font-weight:900;margin-right:4px;position:absolute}
.tech-absence-item[open] summary:before{content:'▾'}
.tech-absence-period{font-weight:700;color:#234b67;padding-left:16px}
.tech-absence-type{font-weight:600;color:#536d7f}
.tech-absence-status{justify-self:end;font-weight:700;background:#edf2f5;padding:4px 7px;border-radius:4px;color:#466173}
.tech-absence-detail{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px 10px 28px;border-top:1px solid #e5eaed;background:#f8fafb;font-size:11px;color:#6a7b86}
.tech-absence-edit{border:1px solid #9cafbb;background:#fff;color:#345a72;font-weight:700;padding:5px 9px;border-radius:4px;cursor:pointer}
.tech-absence-empty{padding:24px;text-align:center;color:#788893}

/* STEP16L — prime : total compact + détail des paliers */
.prime-breakdown{position:relative;display:inline-block;text-align:left;min-width:112px}
.prime-breakdown summary{cursor:pointer;list-style:none;display:flex;justify-content:center;gap:7px;align-items:center;font-weight:800;color:#244f69;border:1px solid #b7c7d1;background:#f7fafc;padding:6px 9px;border-radius:5px}
.prime-breakdown summary::-webkit-details-marker{display:none}
.prime-breakdown-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:80;width:300px;background:#fff;border:1px solid #cfd9df;box-shadow:0 8px 22px rgba(31,52,66,.16);padding:10px;border-radius:6px}
.prime-breakdown-title{font-size:11px;font-weight:800;color:#496779;margin-bottom:6px;text-transform:uppercase}
.prime-breakdown-line,.prime-breakdown-total{display:flex;justify-content:space-between;gap:14px;padding:6px 2px;font-size:11px;border-top:1px solid #edf1f3}
.prime-breakdown-line:first-of-type{border-top:0}
.prime-breakdown-total{font-size:12px;font-weight:800;border-top:2px solid #cbd6dc;margin-top:3px;padding-top:8px}
.prime-zero{color:#81909a;font-weight:600}
.ticket-tech-name{font-weight:600;color:#274e68}


/* STEP16M — absences groupées par statut */
.absence-status-band td{padding:0!important;border-top:8px solid #f5f7f9!important;background:#f5f7f9!important}
.absence-status-band td>span{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;background:#dfe8ee;color:#31566f;font-size:10px;font-weight:900;letter-spacing:.35px}
.absence-status-band td>strong{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:28px;padding:5px 8px;background:#edf2f5;color:#557084;font-size:10px}
.absence-status-band[data-phase="attente"] td>span{background:#f6e8bd;color:#7a5b17}
.absence-status-band[data-phase="encours"] td>span{background:#dbeee4;color:#376c56}
.absence-status-band[data-phase="termine"] td>span{background:#e5e8eb;color:#5e6b74}


/* STEP16N — absence status accordions */
.absence-status-band td{
  padding:9px 8px 4px!important;
  border:0!important;
  background:transparent!important;
}
.absence-status-toggle{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 10px;
  border:1px solid #d8e2e8;
  border-radius:10px;
  background:linear-gradient(180deg,#f8fafb 0%,#eef3f6 100%);
  box-shadow:0 1px 2px rgba(29,55,74,.06), inset 0 1px 0 rgba(255,255,255,.85);
  color:#37576c;
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:transform .12s ease, box-shadow .16s ease, border-color .16s ease;
}
.absence-status-band:hover .absence-status-toggle{
  border-color:#b9cbd6;
  box-shadow:0 3px 9px rgba(29,55,74,.10);
  transform:translateY(-1px);
}
.absence-status-chevron{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px rgba(49,86,111,.12);
  font-size:18px;
  line-height:1;
  font-weight:900;
  transform:rotate(0deg);
  transition:transform .18s ease;
}
.absence-status-band[aria-expanded="false"] .absence-status-chevron{transform:rotate(-90deg)}
.absence-status-label{
  flex:1;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.48px;
}
.absence-status-count{
  min-width:27px;
  height:23px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(49,86,111,.13);
  font-size:10px;
  font-weight:900;
}
.absence-status-band[data-phase="attente"] .absence-status-toggle{
  background:linear-gradient(180deg,#fff7dd 0%,#f7e9b9 100%);
  border-color:#ead89c;
  color:#785a13;
}
.absence-status-band[data-phase="encours"] .absence-status-toggle{
  background:linear-gradient(180deg,#edf9f3 0%,#dcefe5 100%);
  border-color:#c6e3d3;
  color:#356a53;
}
.absence-status-band[data-phase="termine"] .absence-status-toggle{
  background:linear-gradient(180deg,#f5f7f8 0%,#e7ecef 100%);
  border-color:#d5dde2;
  color:#536671;
}
.absence-data-row td{transition:background-color .12s ease}

/* STEP16O — Primes : progression vers le prochain palier */
.prime-table-progress{min-width:1320px}
.prime-progress-head{min-width:230px}
.prime-progress-cell{min-width:230px;text-align:left!important;padding:8px 12px!important}
.prime-progress-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;color:#294d66;font-size:10.5px}
.prime-progress-top strong{font-size:11.5px;color:#173f5a}
.prime-progress-top span{font-weight:900;color:#356f96}
.prime-progress-track{height:9px;overflow:hidden;border-radius:999px;background:#e2e9ee;box-shadow:inset 0 1px 2px rgba(31,55,70,.12)}
.prime-progress-fill{display:block;height:100%;min-width:0;border-radius:inherit;background:linear-gradient(90deg,#4c86b4 0%,#69a8d2 100%);transition:width .25s ease}
.prime-progress-caption{margin-top:5px;font-size:9.5px;color:#718492;font-weight:600;white-space:nowrap}
.prime-breakdown{min-width:104px}
.prime-breakdown-menu{width:330px}
.prime-tier-row{padding:7px 2px;border-top:1px solid #edf1f3}
.prime-tier-row:first-of-type{border-top:0}
.prime-tier-main{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10.5px;color:#4b6576}
.prime-tier-main strong{color:#284f69}
.prime-tier-track{height:5px;margin-top:5px;border-radius:999px;overflow:hidden;background:#e5ebef}
.prime-tier-track span{display:block;height:100%;border-radius:inherit;background:#9eb8c9}
.prime-tier-row small{display:block;text-align:right;margin-top:3px;color:#80909a;font-size:9px;font-weight:700}
.prime-tier-row.is-reached .prime-tier-main span,.prime-tier-row.is-reached small{color:#2c7559;font-weight:800}
.prime-tier-row.is-reached .prime-tier-track span{background:#55a47e}
.prime-earned-title{margin-top:7px;padding-top:8px;border-top:2px solid #dbe3e8}

/* STEP16P — garde-fou date JOURNEE unique à l'import */
.date-conflict-card{max-width:1050px;margin:24px auto}.date-conflict-topline{background:#b54249!important}
.date-conflict-callout{margin:16px 0;padding:14px 16px;border:1px solid #efc6c9;border-left:5px solid #b54249;background:#fff4f5;color:#693338;font-size:12px;line-height:1.55}
.date-conflict-counts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.date-conflict-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;border:1px solid #ccd8e1;background:#f3f6f8;color:#435b6e}.date-conflict-pill.reference{background:#edf8f2;border-color:#acd7bf;color:#27754d}.date-conflict-pill.error{background:#fff0f1;border-color:#efb8bc;color:#a33c43}.date-conflict-note{border-left:4px solid #b54249}.date-conflict-back{display:inline-flex;align-items:center;text-decoration:none;justify-content:center}

.readonly-banner{margin:0 0 12px;padding:9px 12px;border:1px solid #d5e1e8;background:#f6f9fb;color:#587080;font-size:10.5px;font-weight:700;border-radius:7px}
.readonly-editor form{pointer-events:none;opacity:.58}.readonly-editor button,.readonly-editor select,.readonly-editor input{cursor:not-allowed}

.tech-personal-tabs{display:flex;gap:7px;margin:14px 0 8px}.tech-personal-tab{border:1px solid #cbd9e2;background:#fff;padding:8px 13px;border-radius:8px;font-weight:700;cursor:pointer}.tech-personal-tab.active{background:#17384d;color:#fff;border-color:#17384d}.tech-personal-panel{margin-top:0}


/* STEP17G.2 — Portail technicien premium */
.tech-portal{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;max-width:1480px;margin:0 auto;padding:6px 4px 28px}
.tech-hero-premium{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid #dbe6ed;border-radius:14px;background:linear-gradient(135deg,#ffffff 0%,#f6fafc 100%);box-shadow:0 8px 26px rgba(36,67,86,.07);margin-bottom:14px}
.tech-hero-main{display:flex;align-items:center;gap:16px;min-width:0}
.tech-avatar{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#173f58;color:#fff;font-size:18px;font-weight:800;letter-spacing:.4px;box-shadow:0 7px 18px rgba(23,63,88,.18);flex:0 0 auto}
.tech-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.35px;color:#6a8799;margin-bottom:4px}
.tech-hero-premium h1{margin:0;color:#17384d;font-size:27px;line-height:1.08;font-weight:800}
.tech-hero-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.tech-pill,.tech-readonly-badge,.tech-count-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750;line-height:1;background:#e6f3ee;color:#247258}
.tech-pill-soft{background:#eef4f7;color:#577386}
.tech-hero-note{display:flex;align-items:center;gap:9px;background:#f2f7fa;border:1px solid #dde8ee;border-radius:11px;padding:10px 13px;color:#3b5d71;flex:0 0 auto}
.tech-hero-note strong{display:block;font-size:11px}.tech-hero-note small{display:block;color:#7690a0;font-size:9px;margin-top:2px}.tech-lock{font-size:13px;color:#46a57e}

.tech-nav-premium{display:flex;gap:4px;padding:5px;border:1px solid #d9e4ea;background:#f6f9fb;border-radius:11px;margin:0 0 14px;overflow-x:auto}
.tech-nav-item{appearance:none;border:0;background:transparent;color:#5c7688;padding:9px 14px;border-radius:8px;font:700 10.5px/1 "Inter","Segoe UI",Arial,sans-serif;cursor:pointer;white-space:nowrap;transition:.15s ease}
.tech-nav-item:hover{background:#eaf1f5;color:#24485e}.tech-nav-item.active{background:#173f58;color:#fff;box-shadow:0 4px 11px rgba(23,63,88,.16)}
.tech-section{animation:techFade .16s ease}@keyframes techFade{from{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:none}}

.tech-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.tech-kpi-card{min-height:92px;display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid #dce7ed;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(31,59,76,.05)}
.tech-kpi-icon{width:37px;height:37px;border-radius:10px;background:#edf5f8;color:#28566f;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex:0 0 auto}
.tech-kpi-copy{min-width:0}.tech-kpi-copy span{display:block;color:#728c9c;font-size:10px;font-weight:700;margin-bottom:4px}.tech-kpi-copy strong{display:block;color:#17384d;font-size:21px;line-height:1.06;font-weight:800;white-space:nowrap}.tech-kpi-copy small{display:block;color:#91a5b1;font-size:9px;margin-top:5px}
.tech-kpi-highlight{background:linear-gradient(135deg,#f4fbf8,#fff);border-color:#cde8db}.tech-kpi-success{border-color:#cde8db}.tech-kpi-warning{border-color:#eedfba;background:#fffaf0}

.tech-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);gap:14px}
.tech-card-premium{background:#fff;border:1px solid #dae5eb;border-radius:13px;padding:18px;box-shadow:0 6px 20px rgba(31,59,76,.055);overflow:hidden}
.tech-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.tech-card-head h2{margin:2px 0 0;color:#17384d;font-size:16px;font-weight:800}.tech-card-head p{margin:5px 0 0;color:#8197a5;font-size:10px}.tech-card-kicker{display:block;color:#7290a1;font-size:9px;font-weight:800;letter-spacing:1px}
.tech-link-btn{border:0;background:transparent;color:#2c6888;font:750 10px "Inter","Segoe UI",Arial,sans-serif;cursor:pointer;padding:4px 0}
.tech-count-badge,.tech-readonly-badge{background:#edf4f7;color:#5a7485}.tech-readonly-badge{padding:6px 10px}

.tech-table-wrap{overflow:auto;border:1px solid #e2eaef;border-radius:9px}.tech-table-premium{width:100%;border-collapse:separate;border-spacing:0;font-size:10px;background:#fff}.tech-table-premium th{background:#f1f6f8;color:#637d8e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;padding:9px 10px;border-bottom:1px solid #dce6eb;white-space:nowrap}.tech-table-premium td{padding:9px 10px;border-bottom:1px solid #edf2f5;color:#415e70;text-align:center;vertical-align:middle}.tech-table-premium tbody tr:last-child td{border-bottom:0}.tech-table-premium tbody tr:hover td{background:#fafcfd}.tech-table-premium .left{text-align:left}.tech-table-premium strong{color:#1d4359}.tech-money{font-weight:800;color:#246c55!important;white-space:nowrap}.tech-articles{max-width:370px;white-space:normal}.tech-empty{padding:20px;text-align:center;color:#91a4af;font-size:10px}.tech-empty-large{border:1px dashed #d8e4ea;border-radius:10px;background:#fafcfd;margin-top:8px}

.tech-status-list{display:flex;flex-direction:column;border:1px solid #e2eaef;border-radius:10px;overflow:hidden}.tech-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-bottom:1px solid #e9f0f3;font-size:10px}.tech-status-row:last-child{border-bottom:0}.tech-status-row span{color:#728a99}.tech-status-row strong{color:#24495f;font-size:11px}.tech-ok{color:#2b8b67!important}.tech-warn{color:#b27b20!important}.tech-card-actions{display:flex;gap:8px;margin-top:12px}.tech-secondary-btn,.tech-primary-btn{border:1px solid #cfdee6;border-radius:8px;background:#f8fbfc;color:#365c72;padding:8px 11px;font:750 10px "Inter","Segoe UI",Arial,sans-serif;cursor:pointer}.tech-secondary-btn:hover{background:#eef5f8}.tech-primary-btn{background:#173f58;border-color:#173f58;color:#fff;padding:9px 14px}.tech-primary-btn:hover{background:#21526d}

.tech-absence-layout{display:grid;grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr);gap:14px}
.tech-form-premium{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tech-field{display:flex;flex-direction:column;gap:5px}.tech-field-wide{grid-column:1/-1}.tech-field label{font-size:9.5px;font-weight:750;color:#647f90}.tech-field input,.tech-field select,.tech-field textarea{width:100%;box-sizing:border-box;border:1px solid #cfdde5;border-radius:8px;background:#fbfdfe;padding:9px 10px;color:#294d62;font:500 10.5px "Inter","Segoe UI",Arial,sans-serif;outline:none}.tech-field input:focus,.tech-field select:focus,.tech-field textarea:focus{border-color:#6ba0bc;box-shadow:0 0 0 3px rgba(64,130,165,.10);background:#fff}.tech-field textarea{resize:vertical;min-height:82px}.tech-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:1px}

.tech-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:999px;background:#eef4f7;color:#536f80;font-size:9px;font-weight:750;white-space:nowrap}.tech-status-ok{background:#e9f6f0;color:#2b7d60}.tech-status-warn{background:#fff3d8;color:#9c6d18}.tech-status-pending{background:#eef3fa;color:#4b6d95}

.tech-prime-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.tech-prime-progress{border:1px solid #dde7ec;border-radius:11px;padding:15px;background:#fafcfd;margin-top:4px}.tech-prime-progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.tech-prime-progress-head span{display:block;color:#728b9b;font-size:9px}.tech-prime-progress-head strong{display:block;color:#274c62;font-size:11px;margin-top:3px}.tech-prime-progress-head b{color:#173f58;font-size:19px}.tech-progress-track{height:10px;border-radius:999px;background:#e7eef2;overflow:hidden;margin:12px 0 8px}.tech-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b839f,#4ea77e)}.tech-progress-foot{display:flex;justify-content:space-between;gap:10px;color:#8297a4;font-size:9px}.tech-prime-adjustments{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.tech-prime-adjustments div{display:flex;align-items:center;justify-content:space-between;border:1px solid #e1e9ee;border-radius:9px;padding:10px 11px;background:#fff}.tech-prime-adjustments span{color:#78909f;font-size:9px}.tech-prime-adjustments strong{color:#31586e;font-size:10px}
.tech-ticket-detail{margin-top:5px}

@media(max-width:1050px){
  .tech-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tech-dashboard-grid,.tech-absence-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
  .tech-portal{padding:3px 0 20px}.tech-hero-premium{padding:18px;align-items:flex-start}.tech-hero-note{display:none}.tech-avatar{width:46px;height:46px}.tech-hero-premium h1{font-size:21px}
  .tech-kpi-grid,.tech-prime-kpis{grid-template-columns:1fr}.tech-kpi-card{min-height:78px}
  .tech-nav-item{padding:9px 11px}.tech-card-premium{padding:13px}.tech-form-premium{grid-template-columns:1fr}.tech-field-wide,.tech-form-actions{grid-column:1}
  .tech-prime-adjustments{grid-template-columns:1fr}.tech-progress-foot{flex-direction:column;gap:3px}
}

/* STEP17G.4 — mobile compact + staged absence approval */
.absence-review-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #dbe6ed;border-radius:10px;background:#f7fafc;margin-bottom:12px}
.absence-review-banner span{display:block;color:#78909f;font-size:9px}.absence-review-banner strong{display:block;color:#173f58;font-size:14px;margin-top:2px}.absence-review-stage{padding:5px 8px!important;border-radius:999px;background:#fff1cf;color:#956617!important;font-weight:800}
.absence-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.absence-review-grid>div{padding:10px 11px;border:1px solid #e1e9ee;border-radius:9px;background:#fff}.absence-review-grid .wide{grid-column:1/-1}.absence-review-grid span{display:block;color:#8095a3;font-size:9px}.absence-review-grid strong{display:block;color:#2c5066;font-size:10.5px;margin-top:3px}
.absence-flow-note{margin-top:11px;padding:10px 12px;border-radius:9px;background:#eef6fa;color:#486a7e;font-size:10px;line-height:1.45}.absence-decision-footer{gap:8px}.absence-approve-btn{background:#2c8a68!important;border-color:#2c8a68!important}.absence-refuse-btn{background:#c95c62!important;border-color:#c95c62!important}.absence-waiting-role{font-size:10px;color:#718896}
@media(max-width:820px){
  .topbar{min-height:auto!important;height:auto!important;flex-wrap:wrap!important;gap:7px!important;padding:8px 10px!important}
  .topbar .brand-wrap{flex:1 1 100%!important}.topbar .brandline{flex-wrap:wrap!important;gap:6px!important}.topbar .brand{font-size:17px!important}.topbar .project-meta{font-size:9px!important}
  .topbar .version,.topbar .beta,.topbar .release-rc-badge{font-size:8.5px!important}.topbar .user-mini{margin-left:0!important;font-size:10px!important}.topbar .topbtn{min-height:36px!important;padding:7px 11px!important}
  .content-area{height:auto!important;min-height:calc(100vh - 110px)!important}.page{padding:10px!important}
  .tech-portal{padding:0 0 18px!important}.tech-hero-premium{padding:14px!important;margin-bottom:9px!important}.tech-avatar{width:44px!important;height:44px!important;border-radius:11px!important}.tech-hero-premium h1{font-size:20px!important}.tech-eyebrow{font-size:8.5px!important}.tech-hero-meta{margin-top:6px!important}.tech-pill{padding:4px 7px!important;font-size:8.5px!important}
  .tech-nav-premium{margin-bottom:10px!important;scrollbar-width:none}.tech-nav-premium::-webkit-scrollbar{display:none}.tech-nav-item{padding:9px 11px!important;font-size:10px!important}
  .tech-card-premium{padding:12px!important;border-radius:11px!important}.tech-card-head{margin-bottom:9px!important}.tech-card-head h2{font-size:15px!important}.tech-card-head p{font-size:9.5px!important;margin-top:3px!important}
  .tech-absence-layout{gap:10px!important}.tech-form-premium{grid-template-columns:1fr 1fr!important;gap:8px!important}.tech-field-wide{grid-column:1/-1!important}.tech-field{gap:3px!important}.tech-field label{font-size:9px!important}.tech-field input,.tech-field select,.tech-field textarea{padding:7px 8px!important;min-height:38px!important;border-radius:7px!important;font-size:10px!important}.tech-field textarea{min-height:54px!important;height:54px!important}.tech-form-actions{grid-column:1/-1!important;margin-top:0!important}.tech-primary-btn{width:100%!important;min-height:40px!important;font-size:10.5px!important}
  .tech-table-premium th,.tech-table-premium td{padding:7px 8px!important}.tech-kpi-grid{gap:8px!important}
  .absence-review-grid{grid-template-columns:1fr!important}.absence-review-grid .wide{grid-column:1!important}.absence-decision-footer{flex-wrap:wrap!important}.absence-decision-footer .topbtn{flex:1 1 30%!important}
}
@media(max-width:390px){
  .tech-form-premium{grid-template-columns:1fr!important}.tech-field-wide,.tech-form-actions{grid-column:1!important}
}

/* STEP17G.5 — vraie vue mobile native */
.tech-mobile-intervention-list,.tech-mobile-absence-list,.tech-mobile-ticket-detail,.tech-mobile-new-absence,.tech-mobile-sheet-close{display:none}

@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden}
  .content-area,.page,.tech-portal,.tech-section,.tech-card-premium{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:hidden!important}
  .page{padding:8px!important}
  .tech-portal{padding:0 0 16px!important}
  .tech-hero-premium{padding:12px!important;min-width:0!important}
  .tech-hero-main{min-width:0!important;gap:10px!important}
  .tech-avatar{flex:0 0 42px!important;width:42px!important;height:42px!important}
  .tech-hero-premium h1{font-size:19px!important;white-space:normal!important}
  .tech-hero-meta{gap:5px!important}
  .tech-nav-premium{width:100%!important;box-sizing:border-box!important;display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding:4px!important}
  .tech-nav-item{flex:0 0 auto!important;scroll-snap-align:start!important}
  .tech-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .tech-kpi-card{min-height:76px!important;padding:10px!important;gap:8px!important}
  .tech-kpi-icon{width:30px!important;height:30px!important;font-size:13px!important}
  .tech-kpi-copy strong{font-size:17px!important;white-space:normal!important}
  .tech-kpi-copy span{font-size:9px!important}.tech-kpi-copy small{font-size:8px!important}
  .tech-dashboard-grid{display:block!important}
  .tech-dashboard-grid>.tech-card-premium{margin-bottom:9px!important}
  .tech-desktop-table{display:none!important}
  .tech-mobile-intervention-list,.tech-mobile-absence-list,.tech-mobile-ticket-detail{display:grid!important;gap:7px!important}
  .tech-mobile-intervention-card,.tech-mobile-absence-card{border:1px solid #e0e9ee;border-radius:9px;background:#fbfdfe;padding:10px 11px;box-sizing:border-box;min-width:0}
  .tech-mobile-intervention-top,.tech-mobile-absence-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
  .tech-mobile-intervention-top strong,.tech-mobile-absence-top strong{font-size:11px;color:#21485f}
  .tech-mobile-intervention-top span{font-size:11px;font-weight:800;color:#2a7d61;white-space:nowrap}
  .tech-mobile-intervention-meta{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#7f95a3;font-size:9px}
  .tech-mobile-client{margin-top:7px;font-size:10px;color:#415e70;font-weight:650}
  .tech-mobile-articles{margin-top:6px;padding-top:6px;border-top:1px dashed #dfe8ed;color:#6d8594;font-size:9px;line-height:1.35;overflow-wrap:anywhere}
  .tech-mobile-absence-dates{margin-top:6px;font-size:9px;color:#6f8796}
  .tech-mobile-absence-comment{margin-top:6px;font-size:9px;color:#596f7d}
  .tech-mobile-ticket-detail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tech-mobile-ticket-detail>div{border:1px solid #e0e9ee;border-radius:9px;background:#fbfdfe;padding:10px}
  .tech-mobile-ticket-detail span{display:block;color:#8094a1;font-size:8.5px}.tech-mobile-ticket-detail strong{display:block;color:#234b61;font-size:13px;margin-top:3px}
  .tech-card-head{align-items:center!important}.tech-card-head p{display:none!important}
  .tech-count-badge,.tech-readonly-badge{font-size:8px!important}
  .tech-status-list{font-size:9px!important}
  .tech-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .tech-secondary-btn{width:100%!important}
  .tech-prime-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tech-prime-kpis .tech-kpi-highlight{grid-column:1/-1!important}
  .tech-prime-adjustments{grid-template-columns:1fr!important}
  .tech-progress-foot{display:grid!important;grid-template-columns:1fr 1fr!important;font-size:8px!important}
  .tech-progress-foot span:last-child{grid-column:1/-1}
  .tech-absence-layout{display:block!important}
  .tech-mobile-new-absence{display:block!important;width:100%;border:0;border-radius:9px;background:#173f58;color:#fff;padding:11px 12px;font:800 11px "Inter","Segoe UI",Arial,sans-serif;margin:0 0 9px}
  .tech-absence-form-card{display:none!important}
  .tech-absence-form-card.mobile-open{display:block!important;position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;width:auto!important;max-height:calc(100vh - 90px)!important;overflow-y:auto!important;z-index:9999!important;box-shadow:0 18px 60px rgba(16,42,57,.32)!important;border-radius:14px!important}
  body.tech-sheet-open:before{content:"";position:fixed;inset:0;background:rgba(13,35,48,.46);z-index:9998}
  .tech-mobile-sheet-close{display:block!important;position:absolute;right:10px;top:10px;width:32px;height:32px;border:0;border-radius:50%;background:#eef3f6;color:#35566a;font-weight:800;z-index:2}
  .tech-absence-form-card .tech-card-head{padding-right:38px!important}
  .tech-form-premium{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .tech-field-wide{grid-column:1/-1!important}
  .tech-field textarea{height:48px!important;min-height:48px!important}
  .tech-form-actions{grid-column:1/-1!important}
}
@media(max-width:390px){
  .tech-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tech-kpi-icon{display:none!important}
  .tech-kpi-card{min-height:70px!important}
  .tech-form-premium{grid-template-columns:1fr 1fr!important}
}

/* STEP17G.6 — lisibilité desktop + interventions groupées par date */
.tech-day-accordion{display:flex;flex-direction:column;gap:9px}
.tech-day-group{border:1px solid #dce7ed;border-radius:10px;background:#fff;overflow:hidden}
.tech-day-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;background:#f7fafc;user-select:none}
.tech-day-summary::-webkit-details-marker{display:none}.tech-day-summary-main{display:flex;align-items:center;gap:10px;min-width:0}
.tech-day-chevron{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#e8f1f5;color:#35617a;font-size:17px;font-weight:800;transition:transform .15s ease;flex:0 0 auto}
.tech-day-group[open] .tech-day-chevron{transform:rotate(90deg)}
.tech-day-summary strong{display:block;color:#1e4358;font-size:12px;font-weight:800;text-transform:capitalize}
.tech-day-summary small{display:block;color:#8399a6;font-size:9.5px;margin-top:2px}
.tech-day-total{font-size:12px;font-weight:800;color:#28755b;white-space:nowrap}
.tech-day-content{padding:10px;background:#fff}

@media(min-width:821px){
  .tech-portal{font-size:12px}
  .tech-eyebrow{font-size:11px}.tech-hero-premium h1{font-size:29px}
  .tech-pill,.tech-readonly-badge,.tech-count-badge{font-size:11px}
  .tech-nav-item{font-size:12px;padding:10px 16px}
  .tech-kpi-copy span{font-size:11px}.tech-kpi-copy strong{font-size:23px}.tech-kpi-copy small{font-size:10px}
  .tech-card-kicker{font-size:10px}.tech-card-head h2{font-size:18px}.tech-card-head p{font-size:11px}
  .tech-table-premium{font-size:11.5px}.tech-table-premium th{font-size:10px}.tech-table-premium td{font-size:11.5px}
  .tech-status-row{font-size:11px}.tech-status-row strong{font-size:12px}
  .tech-secondary-btn,.tech-primary-btn,.tech-link-btn{font-size:11px}
  .tech-field label{font-size:10.5px}.tech-field input,.tech-field select,.tech-field textarea{font-size:11.5px}
  .tech-day-summary strong{font-size:13.5px}.tech-day-summary small{font-size:10.5px}.tech-day-total{font-size:13px}
}
@media(max-width:820px){
  .tech-day-accordion{gap:7px}
  .tech-day-summary{padding:10px 11px}
  .tech-day-summary strong{font-size:11px}
  .tech-day-summary small{font-size:8.5px}
  .tech-day-total{font-size:10.5px}
  .tech-day-content{padding:7px}
}

/* STEP17G.7 — périodes mensuelles + dates françaises + détail tickets */
.tech-period-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-2px 0 12px;padding:10px 12px;border:1px solid #d9e5eb;border-radius:10px;background:#f8fbfc}
.tech-period-label{display:block;color:#7b93a2;font-size:9px;font-weight:800;letter-spacing:.9px}.tech-period-bar strong{display:block;color:#244b61;font-size:12px;margin-top:2px}.tech-period-select{border:1px solid #cfdde5;border-radius:8px;background:#fff;color:#365b70;padding:8px 10px;font:700 10.5px "Inter","Segoe UI",Arial,sans-serif}
.tech-ticket-days{margin-top:10px;border:1px solid #e0e9ee;border-radius:10px;background:#fbfdfe;padding:11px}.tech-ticket-days-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tech-ticket-days-head span{color:#6f8796;font-size:9.5px;font-weight:750}.tech-ticket-days-head strong{color:#21475d;font-size:10.5px}.tech-ticket-day-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.tech-ticket-day-list span{display:inline-flex;padding:6px 8px;border-radius:999px;background:#edf4f7;color:#4c6c7f;font-size:9px;font-weight:700}
@media(min-width:821px){
 .tech-period-label{font-size:10px}.tech-period-bar strong{font-size:13px}.tech-period-select{font-size:11.5px}
 .tech-ticket-days-head span{font-size:10.5px}.tech-ticket-days-head strong{font-size:11.5px}.tech-ticket-day-list span{font-size:10px}
}
@media(max-width:820px){
 .tech-period-bar{padding:9px 10px;margin-bottom:9px}.tech-period-select{max-width:52%;font-size:9.5px;padding:7px 8px}
 .tech-ticket-day-list{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tech-ticket-day-list span{justify-content:center;text-align:center;font-size:8.5px}
}

/* STEP17G.8 — alignement lisibilité portail technicien sur dashboard */
@media(min-width:821px){
  .tech-portal{font-size:13px}
  .tech-eyebrow{font-size:12px}
  .tech-hero-premium h1{font-size:31px}
  .tech-pill,.tech-readonly-badge,.tech-count-badge{font-size:12px;padding:6px 10px}
  .tech-hero-note strong{font-size:12px}.tech-hero-note small{font-size:10px}

  .tech-nav-item{font-size:13px;padding:11px 17px}
  .tech-period-label{font-size:11px}
  .tech-period-bar strong{font-size:14px}
  .tech-period-select{font-size:12.5px;padding:9px 11px}

  .tech-kpi-copy span{font-size:12px}
  .tech-kpi-copy strong{font-size:25px}
  .tech-kpi-copy small{font-size:11px}
  .tech-kpi-icon{font-size:17px}

  .tech-card-kicker{font-size:11px}
  .tech-card-head h2{font-size:20px}
  .tech-card-head p{font-size:12px}
  .tech-link-btn{font-size:12px}

  .tech-table-premium{font-size:12.5px}
  .tech-table-premium th{font-size:11px;padding:10px 11px}
  .tech-table-premium td{font-size:12.5px;padding:10px 11px}

  .tech-status-row{font-size:12px}
  .tech-status-row strong{font-size:13px}
  .tech-secondary-btn,.tech-primary-btn{font-size:12px;padding:9px 13px}

  .tech-field label{font-size:11.5px}
  .tech-field input,.tech-field select,.tech-field textarea{font-size:12.5px}

  .tech-day-summary strong{font-size:15px}
  .tech-day-summary small{font-size:11.5px}
  .tech-day-total{font-size:14px}

  .tech-ticket-days-head span{font-size:11.5px}
  .tech-ticket-days-head strong{font-size:12.5px}
  .tech-ticket-day-list span{font-size:11px;padding:7px 9px}

  .tech-prime-progress-head span{font-size:10.5px}
  .tech-prime-progress-head strong{font-size:12.5px}
  .tech-prime-progress-head b{font-size:20px}
  .tech-progress-foot{font-size:10.5px}
  .tech-prime-adjustments span{font-size:10.5px}
  .tech-prime-adjustments strong{font-size:11.5px}
}

/* STEP17H.3 — absences technicien : historique pleine largeur en lecture seule */
@media(min-width:821px){
  .tech-absence-layout.tech-absence-readonly{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .tech-absence-layout.tech-absence-readonly > .tech-card-premium{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
}


/* STEP17H.10 — envoi rapide d'un mail à un technicien */
.send-topbtn{white-space:nowrap;font-weight:800}
.send-message-backdrop{position:fixed;inset:0;z-index:12000;background:rgba(10,34,49,.46);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px)}
.send-message-backdrop.open{display:flex}
.send-message-modal{width:min(650px,96vw);background:#fff;border:1px solid #d6e3ea;border-radius:15px;box-shadow:0 24px 70px rgba(14,49,68,.24);overflow:hidden}
.send-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:19px 21px 16px;border-bottom:1px solid #e3edf2;background:#f8fbfc}
.send-message-title{font-size:19px;font-weight:900;color:#204960}.send-message-sub{margin-top:4px;font-size:11.5px;line-height:1.45;color:#718894}
.send-message-close{border:0;background:#e9f1f5;color:#496a7b;width:32px;height:32px;border-radius:8px;cursor:pointer;font-weight:900}.send-message-close:hover{background:#dce9ef}
.send-message-body{padding:18px 21px}.send-message-field{display:block;margin-bottom:14px}.send-message-field>span{display:block;margin-bottom:6px;font-size:11.5px;font-weight:850;color:#496a7b}
.send-message-field select,.send-message-field textarea{width:100%;box-sizing:border-box;border:1px solid #bfd2dc;border-radius:9px;background:#fff;padding:10px 11px;font:600 13px Inter,"Segoe UI",Arial,sans-serif;color:#203f50;outline:none}.send-message-field textarea{resize:vertical;min-height:150px;line-height:1.48}.send-message-field select:focus,.send-message-field textarea:focus{border-color:#4d86a6;box-shadow:0 0 0 3px rgba(77,134,166,.12)}
.send-message-email{margin:-5px 0 15px;padding:8px 10px;border-radius:8px;background:#f3f8fa;color:#5b7482;font-size:11.5px}.send-message-status{min-height:18px;font-size:11.5px;font-weight:700;color:#607985}.send-message-status.success{color:#19734a}.send-message-status.error{color:#b33b3b}.send-message-status.warning{color:#9a6a14}
.send-message-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 21px 18px;border-top:1px solid #e7eef2;background:#fbfcfd}.send-message-actions button{border-radius:9px;padding:9px 16px;font:800 12px Inter,"Segoe UI",Arial,sans-serif;cursor:pointer}.send-message-cancel{border:1px solid #c9d9e1;background:#fff;color:#526c7a}.send-message-submit{border:1px solid #285f80;background:#2e6789;color:#fff}.send-message-submit:hover{background:#255a78}.send-message-submit:disabled{opacity:.55;cursor:wait}
@media(max-width:820px){.send-message-backdrop{padding:10px}.send-message-modal{width:100%}.send-message-head,.send-message-body,.send-message-actions{padding-left:15px;padding-right:15px}.send-message-field textarea{min-height:130px}}
/* STEP17H.12 — centre de communication */
.send-message-modal-pro{width:min(760px,96vw)}
.send-message-field input[type=text],.send-message-field input[type=search],.send-message-field>input{width:100%;box-sizing:border-box;border:1px solid #bfd2dc;border-radius:9px;background:#fff;padding:10px 11px;font:600 13px Inter,"Segoe UI",Arial,sans-serif;color:#203f50;outline:none}
.send-message-field>span em{float:right;font-style:normal;color:#2e6789;font-weight:800}.send-tech-search{margin-bottom:8px}.send-tech-toolbar{display:flex;gap:7px;margin-bottom:7px}.send-tech-toolbar button{border:1px solid #d0dfe6;background:#f7fafb;color:#466777;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}.send-tech-list{max-height:190px;overflow:auto;border:1px solid #dbe7ed;border-radius:9px;background:#fbfcfd;padding:4px}.send-tech-row{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:7px;cursor:pointer}.send-tech-row:hover{background:#eef5f8}.send-tech-row input{accent-color:#2e6789}.send-tech-row span{display:flex;flex-direction:column}.send-tech-row b{font-size:12px;color:#274c60}.send-tech-row small{font-size:10.5px;color:#7a909c;margin-top:2px}.send-tech-empty{padding:15px;text-align:center;color:#8197a2;font-size:11px}.send-variable-help{margin:-4px 0 14px;font-size:10.5px;color:#718894}.send-variable-help code{display:inline-block;background:#edf4f7;color:#315f77;border-radius:5px;padding:3px 5px;margin:2px}.send-important-check{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:10px 12px;border:1px solid #eadcc6;background:#fffaf2;border-radius:9px;margin-bottom:13px}.send-important-check input{grid-row:1/3;accent-color:#b56a17}.send-important-check span{font-size:11.5px;font-weight:850;color:#79511d}.send-important-check small{font-size:10px;color:#96744c}

/* STEP17H.14 — destinataires repliables et sélection massive */
.send-recipient-field{margin-bottom:14px}
.send-recipient-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #bfd2dc;border-radius:10px;background:#f8fbfc;padding:10px 12px;cursor:pointer;text-align:left;color:#294e62}
.send-recipient-toggle:hover,.send-recipient-toggle.open{border-color:#6f9db6;background:#f3f8fa}
.send-recipient-toggle>span:first-child{display:flex;flex-direction:column;gap:2px}.send-recipient-toggle b{font-size:11.5px}.send-recipient-toggle small{font-size:10.5px;font-weight:700;color:#718995}
.send-recipient-chevron{font-size:19px;font-weight:900;transition:transform .16s}.send-recipient-toggle.open .send-recipient-chevron{transform:rotate(180deg)}
.send-recipient-panel{display:none;margin-top:7px;padding:9px;border:1px solid #dbe7ed;border-radius:10px;background:#fbfcfd}.send-recipient-panel.open{display:block}
.send-recipient-panel .send-tech-list{max-height:220px;background:#fff}

/* STEP18C — finitions Données / À traiter / Binômes */
.nd-inline-link{
  border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:800;
  cursor:pointer;text-decoration:underline;text-decoration-color:rgba(30,64,175,.28);
  text-underline-offset:2px;
}
.nd-inline-link:hover{text-decoration-color:currentColor}
.split-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;
  padding:0 7px;margin-left:6px;border-radius:999px;background:rgba(15,23,42,.08);
  font-size:11px;font-weight:800;vertical-align:middle;
}

/* STEP18D — Référentiels / tarifs */
.ref-tariff-search{
  display:flex;align-items:center;gap:8px;margin:10px 0 12px;padding:9px 11px;
  border:1px solid rgba(15,23,42,.10);border-radius:10px;background:#fff;
}
.ref-tariff-search input{
  flex:1;min-width:180px;border:0;outline:0;background:transparent;font:inherit;
}
.ref-tariff-search strong{
  font-size:11px;color:#64748b;white-space:nowrap;
}
.ref-toolbar-informative{flex-wrap:wrap}
.readonly-inline{
  display:inline-flex;align-items:center;min-height:32px;color:#64748b;font-size:12px;font-weight:600;
}

/* STEP18E — Primes / Tickets / Absences */
.prime-tools{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;
}
.prime-tools .data-search-wrap{max-width:420px;flex:1}
.prime-tools>strong,.tr-inline-count{
  font-size:11px;color:#64748b;font-weight:700;white-space:nowrap;
}

/* STEP18F — passe visuelle globale / cohérence FIX11 Web */
:where(button,a,input,select,textarea):focus-visible{
  outline:2px solid rgba(46,103,137,.72);
  outline-offset:2px;
}
.tab-content table tbody tr{
  transition:background-color .12s ease, box-shadow .12s ease;
}
.tab-content table tbody tr[ondblclick]:hover,
.clickable-intervention:hover,
.shared-list-row:hover{
  background:#f4f8fa;
}
.techlink,.data-tech-name,.nd-inline-link{cursor:pointer}
.tabsbar{
  scrollbar-width:thin;
  overscroll-behavior-x:contain;
}
.action-strip{
  box-shadow:0 5px 18px rgba(27,62,82,.06);
}
.section-title{
  letter-spacing:-.01em;
}
.panel,.split-panel,.ref-desktop-panel,.absence-panel{
  box-shadow:0 5px 18px rgba(31,70,91,.045);
}
.data-search-wrap:focus-within,.ref-tariff-search:focus-within,
.tech-search-toolbar:focus-within{
  border-color:#6d9bb4;
  box-shadow:0 0 0 3px rgba(77,134,166,.10);
}
input:disabled,select:disabled,textarea:disabled{
  cursor:not-allowed;
  opacity:.72;
}
@media(max-width:1050px){
  .tabsbar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .tabsbar .tablink{flex:0 0 auto}
  .action-strip{overflow-x:auto;flex-wrap:nowrap}
  .action-strip>*{flex:0 0 auto}
}
@media(max-width:820px){
  .prime-tools{align-items:stretch;flex-direction:column}
  .prime-tools .data-search-wrap{max-width:none}
  .ref-tariff-search{flex-wrap:wrap}
  .ref-tariff-search input{min-width:140px}
}

/* STEP19B.4.0.8 — mobile width safety */
@media(max-width:820px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .page,.content-area{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
}

/* STEP19B.4.0.9 — repère visuel environnement DEV */
.dev-environment-banner{
  position:relative;z-index:1200;display:flex;align-items:center;justify-content:center;
  gap:10px;min-height:32px;padding:6px 14px;box-sizing:border-box;
  background:#fff3cd;border-bottom:1px solid #e5c45b;color:#694f00;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.01em;text-align:center
}
.dev-environment-banner strong{font-size:11.5px;font-weight:900}
.dev-environment-banner span{opacity:.82;font-weight:700}
@media(max-width:820px){
  .dev-environment-banner{min-height:30px;padding:5px 8px;gap:6px;flex-wrap:wrap;font-size:9.5px;line-height:1.2}
  .dev-environment-banner strong{font-size:10px}
}

/* STEP21C.0.40 — single application scroll + stock French inventory date */
@media (min-width:821px){
  html, body{overflow:hidden!important;}
  .workspace{overflow:hidden!important;}
  .content-area{overflow:auto!important;min-height:0!important;}
}

/* STEP21C.0.41 — fiche technicien allégée pour Employé technique */
.tech-sheet-grid.tech-sheet-grid-single{
  grid-template-columns:minmax(0,1fr)!important;
}
.tech-sheet-grid.tech-sheet-grid-single > .tech-modal-side{
  width:100%!important;
  max-width:none!important;
}

/* STEP21C.0.42 — annuaire Employé technique : une fiche technicien unique */
.te-tech-name-link{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
}
.te-tech-name-link strong{color:#1d4258!important;}
.te-tech-name-link:hover strong{text-decoration:underline!important;}

/* STEP21C.0.43 — fiche Employé technique compacte : véhicule + matériel uniquement */
.tech-modal-box.tech-modal-box-compact{
  width:min(1180px,88vw)!important;
  height:auto!important;
  max-height:82vh!important;
  min-height:0!important;
}
.tech-modal-box.tech-modal-box-compact .tech-modal-inner{
  height:auto!important;
  max-height:82vh!important;
}
.tech-modal-box.tech-modal-box-compact .tech-modal-header{
  min-height:62px!important;
  padding:11px 14px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-modal-name{font-size:24px!important;}
.tech-modal-box.tech-modal-box-compact .tech-vehicle-link-zone{margin:10px 12px!important;}
.tech-modal-box.tech-modal-box-compact .tech-material-zone{margin:10px 12px 12px!important;}
.tech-modal-box.tech-modal-box-compact .tech-modal-footer{
  min-height:48px!important;
  padding:8px 12px!important;
}
@media(max-width:820px){
  .tech-modal-box.tech-modal-box-compact{
    width:calc(100vw - 16px)!important;
    max-height:calc(100vh - 24px)!important;
  }
}

/* STEP21C.0.45 — lisibilité Employé technique (~122 %) + ouverture sans flash */
.tech-modal-backdrop.loading-silent{display:none!important;}

.tech-modal-box.tech-modal-box-compact .tech-sheet-technical{
  font-size:122%!important;
}
.tech-modal-box.tech-modal-box-compact .tech-modal-name{
  font-size:29px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-modal-meta{
  font-size:14px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-vehicle-link-main span,
.tech-modal-box.tech-modal-box-compact .tech-material-head span{
  font-size:11px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-vehicle-link-main strong,
.tech-modal-box.tech-modal-box-compact .tech-material-head strong{
  font-size:15.5px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-vehicle-link-main small,
.tech-modal-box.tech-modal-box-compact .tech-material-head-actions small,
.tech-modal-box.tech-modal-box-compact .tech-material-head-actions a{
  font-size:11.5px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-material-card-title{
  font-size:13px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-material-row b,
.tech-modal-box.tech-modal-box-compact .tech-material-move b,
.tech-modal-box.tech-modal-box-compact .tech-material-row>strong{
  font-size:12.8px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-material-row small,
.tech-modal-box.tech-modal-box-compact .tech-material-move small,
.tech-modal-box.tech-modal-box-compact .tech-material-empty,
.tech-modal-box.tech-modal-box-compact .tech-material-more{
  font-size:10.8px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-material-card{
  padding:11px 13px!important;
}
.tech-modal-box.tech-modal-box-compact .tech-material-row,
.tech-modal-box.tech-modal-box-compact .tech-material-move{
  padding:9px 0!important;
}

/* STEP21C.0.46 — Stock polish / kits */
.stock-kit-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.stock-kit-actions button.secondary{background:#fff!important;color:#315d76!important;border:1px solid #c9d8e1!important}
.stock-empty-state{min-height:58px;display:flex;align-items:center;padding:12px 14px!important;color:#718894!important;background:#f8fbfc!important;border:1px dashed #d5e1e7!important;border-radius:8px!important}
.tech-material-head-actions .tech-stock-open{background:#2f6f93!important;color:#fff!important;border-color:#2f6f93!important}

/* STEP21C.0.48 — kits attribués / correction de dotation */
.tech-assigned-kits-zone{margin:10px 12px 14px;border:1px solid #d9e5eb;border-radius:11px;background:#fbfdfe;overflow:hidden}
.tech-assigned-kits-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;background:#f2f7f9;border-bottom:1px solid #dce7ed}
.tech-assigned-kits-head span{display:block;font-size:9px;letter-spacing:.05em;font-weight:900;color:#78909c}
.tech-assigned-kits-head strong{display:block;margin-top:2px;font-size:13px;color:#244f66}
.tech-assigned-kits-head>small{font-size:10px;color:#718894;font-weight:800}
.tech-assigned-kits-list{padding:5px 10px}
.tech-assigned-kit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 3px;border-bottom:1px solid #edf2f4}
.tech-assigned-kit-row:last-child{border-bottom:0}.tech-assigned-kit-row.cancelled{opacity:.62}
.tech-assigned-kit-row span{min-width:0}.tech-assigned-kit-row b{display:block;font-size:11px;color:#315c71}.tech-assigned-kit-row small{display:block;margin-top:2px;font-size:9px;color:#8295a0}
.tech-assigned-kit-row button{border:1px solid #c8d8e0;background:#fff;color:#315f78;border-radius:7px;padding:6px 9px;font-size:9.5px;font-weight:850;cursor:pointer}
.tech-assigned-kit-empty{padding:12px 13px!important}
.assigned-kit-popup-bg{position:fixed;inset:0;background:rgba(15,36,49,.46);z-index:12050;display:none;align-items:center;justify-content:center;padding:20px}
.assigned-kit-popup-bg.open{display:flex}.assigned-kit-popup{width:min(620px,94vw);max-height:78vh;background:#fff;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:auto}
.assigned-kit-popup-head{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #dfe8ec}.assigned-kit-popup-head span{font-size:9px;font-weight:900;color:#78919d;letter-spacing:.05em}.assigned-kit-popup-head h3{margin:2px 0;font-size:19px;color:#244f66}.assigned-kit-popup-head p{margin:0;font-size:10px;color:#768d99}.assigned-kit-popup-head>button{border:0;background:#cf4d55;color:#fff;width:32px;height:32px;border-radius:7px;font-size:18px;cursor:pointer}
.assigned-kit-popup-body{padding:7px 15px}.assigned-kit-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 1px;border-bottom:1px solid #edf2f4}.assigned-kit-line b{display:block;font-size:11.5px;color:#315d72}.assigned-kit-line small{display:block;margin-top:2px;font-size:9.5px;color:#8396a1}.assigned-kit-line strong{font-size:12px;color:#2f6b51}
.assigned-kit-correction{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px 15px;background:#f7fafb;border-top:1px solid #dfe8ec}.assigned-kit-reassign{display:flex;align-items:flex-end;gap:7px;flex:1}.assigned-kit-reassign label{display:none}.assigned-kit-reassign select{flex:1;min-width:200px;padding:8px 9px;border:1px solid #c7d6de;border-radius:7px;background:#fff;font-size:10.5px}.assigned-kit-correction button{border:0;border-radius:7px;padding:8px 10px;font-size:10px;font-weight:850;cursor:pointer;background:#356d8b;color:#fff}.assigned-kit-correction button.danger{background:#b95056}
.tech-modal-box.tech-modal-box-compact .tech-assigned-kits-head strong{font-size:15.5px!important}.tech-modal-box.tech-modal-box-compact .tech-assigned-kit-row b{font-size:13px!important}.tech-modal-box.tech-modal-box-compact .tech-assigned-kit-row small{font-size:10.8px!important}.tech-modal-box.tech-modal-box-compact .tech-assigned-kit-row button{font-size:11px!important}

/* STEP21C.0.50 — État du stock : liste complète avec scroll interne */
.stock-state-panel .stock-state-preview{
  max-height:260px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
.stock-state-panel .stock-state-preview::-webkit-scrollbar{width:9px}
.stock-state-panel .stock-state-preview::-webkit-scrollbar-thumb{
  background:#9fb3bf;
  border-radius:10px;
  border:2px solid #eef4f7;
}
.stock-state-panel .stock-state-preview::-webkit-scrollbar-track{
  background:#eef4f7;
}

/* STEP21C.0.52 — marge basse de la zone scrollable */
@media (min-width:821px){
  .content-area{
    padding-bottom:72px!important;
    box-sizing:border-box!important;
  }
}


/* STEP21D.0.2 — restauration de la cloche de notifications */
.top-notification-bell{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:36px;height:32px;flex:0 0 36px;margin-left:2px;
  border:1px solid #b9cad5;border-radius:8px;background:#f6fafc;
  color:#49697b;text-decoration:none;box-sizing:border-box;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.top-notification-bell:hover{background:#edf5f8;border-color:#91adbd;transform:translateY(-1px)}
.top-notification-icon{font-size:17px;line-height:1;filter:grayscale(1);opacity:.82}
.top-notification-bell.has-notifications{background:#fff8e9;border-color:#e0b45f;color:#8b5d17}
.top-notification-bell.has-notifications .top-notification-icon{filter:none;opacity:1}
.top-notification-badge{
  position:absolute;right:-6px;top:-7px;min-width:17px;height:17px;padding:0 4px;
  border-radius:999px;background:#cf4d55;color:#fff;border:2px solid #fff;
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  font:900 9px/1 Inter,Arial,sans-serif;box-shadow:0 1px 3px rgba(31,52,65,.2);
}
@media(max-width:760px){.top-notification-bell{width:34px;flex-basis:34px}.top-notification-badge{right:-4px}}

/* STEP21D.0.3 — cloche active : animation légère et non intrusive */
@keyframes notificationBellNudge{
  0%,82%,100%{transform:rotate(0deg)}
  86%{transform:rotate(-8deg)}
  90%{transform:rotate(7deg)}
  94%{transform:rotate(-4deg)}
  97%{transform:rotate(2deg)}
}
@keyframes notificationBadgePulse{
  0%,78%,100%{transform:scale(1);box-shadow:0 1px 3px rgba(31,52,65,.20)}
  86%{transform:scale(1.10);box-shadow:0 2px 7px rgba(207,77,85,.32)}
  94%{transform:scale(1.03);box-shadow:0 1px 4px rgba(207,77,85,.25)}
}
.top-notification-bell.has-notifications .top-notification-icon{
  display:inline-block;
  transform-origin:50% 8%;
  animation:notificationBellNudge 4.8s ease-in-out infinite;
}
.top-notification-bell.has-notifications .top-notification-badge{
  animation:notificationBadgePulse 4.8s ease-in-out infinite;
}
.top-notification-bell.has-notifications:hover .top-notification-icon,
.top-notification-bell.has-notifications:hover .top-notification-badge{
  animation-play-state:paused;
}
@media (prefers-reduced-motion:reduce){
  .top-notification-bell.has-notifications .top-notification-icon,
  .top-notification-bell.has-notifications .top-notification-badge{
    animation:none!important;
  }
}

/* STEP21D.0.4 — notification visible : balancement continu tant qu'il reste à traiter */
@keyframes notificationBellContinuousSwing{
  0%{transform:rotate(-7deg)}
  50%{transform:rotate(7deg)}
  100%{transform:rotate(-7deg)}
}
.top-notification-bell.has-notifications .top-notification-icon{
  display:inline-block;
  transform-origin:50% 8%;
  animation:notificationBellContinuousSwing .82s ease-in-out infinite!important;
}
.top-notification-bell.has-notifications .top-notification-badge{
  animation:notificationBadgePulse 2.2s ease-in-out infinite!important;
}
/* On garde l'animation même au survol : l'alerte reste volontairement visible. */
.top-notification-bell.has-notifications:hover .top-notification-icon,
.top-notification-bell.has-notifications:hover .top-notification-badge{
  animation-play-state:running!important;
}
@media (prefers-reduced-motion:reduce){
  .top-notification-bell.has-notifications .top-notification-icon,
  .top-notification-bell.has-notifications .top-notification-badge{
    animation:none!important;
  }
}

/* STEP21D.0.5 — bandeau À traiter très visible quand la journée contient des actions */
@keyframes pendingBannerGlow{
  0%,100%{
    box-shadow:0 0 0 1px rgba(255,183,0,.35),0 4px 18px rgba(214,116,0,.18);
    background-position:0% 50%;
  }
  50%{
    box-shadow:0 0 0 3px rgba(255,193,7,.28),0 6px 28px rgba(219,73,30,.32);
    background-position:100% 50%;
  }
}
@keyframes pendingLightningDance{
  0%,100%{transform:translateY(0) rotate(-8deg) scale(1)}
  50%{transform:translateY(-2px) rotate(8deg) scale(1.18)}
}
@keyframes pendingMainPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}
.action-strip.action-strip-alert{
  position:relative;
  overflow:visible!important;
  border:2px solid #f0a400!important;
  background:linear-gradient(100deg,#fff2b8,#ffd97a,#fff0c2,#ffd165)!important;
  background-size:260% 260%!important;
  animation:pendingBannerGlow 1.35s ease-in-out infinite;
}
.action-strip.action-strip-alert .action-main{
  color:#7a2f00!important;
  font-weight:950!important;
  letter-spacing:.02em;
  animation:pendingMainPulse 1.15s ease-in-out infinite;
}
.action-lightning{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#e77a00;
  font-size:18px;
  line-height:1;
  filter:drop-shadow(0 1px 2px rgba(120,56,0,.22));
  animation:pendingLightningDance .78s ease-in-out infinite;
}
.action-lightning-right{animation-delay:.18s}
.action-strip.action-strip-alert .chip{
  background:rgba(255,255,255,.94)!important;
  border-color:#a76720!important;
  color:#6c3d12!important;
  box-shadow:0 1px 4px rgba(112,57,12,.12);
}
.action-strip.action-strip-alert .notification-open-btn{
  background:#8b3f10!important;
  border-color:#8b3f10!important;
  color:#fff!important;
  font-weight:900!important;
}
@media(max-width:760px){
  .action-lightning{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  .action-strip.action-strip-alert,
  .action-strip.action-strip-alert .action-main,
  .action-lightning{
    animation:none!important;
  }
}

/* STEP22 — centre global de notifications */
.pending-date-group{margin:0 0 9px;border:1px solid #dce5ea;border-radius:9px;overflow:hidden;background:#fff}
.pending-date-group-head{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;background:#edf4f7;border-bottom:1px solid #d7e2e8}
.pending-date-group-head span{font-size:11px;font-weight:900;color:#365e72}
.pending-date-group-head strong{font-size:10px;color:#6e8490;background:#fff;border:1px solid #d5e0e6;border-radius:999px;padding:4px 7px}
.notify-kpi.stock{border-top-color:#d7922c}.notify-kpi.inventory{border-top-color:#7767a9}.notify-kpi.fleet{border-top-color:#477b91}
.pending-type-stock .pending-type-icon{background:#d7922c!important}
.pending-type-inventory .pending-type-icon{background:#7767a9!important}
.pending-type-fleet .pending-type-icon{background:#477b91!important}
.pending-date-cell small{font-weight:800;color:#a66b2d}
@media(max-width:850px){
  .notify-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pending-date-group-head{position:sticky;top:0;z-index:2}
}

.pending-date-type-summary{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;flex:1}
.pending-date-type-summary em{font-style:normal;font-size:8.5px;font-weight:850;padding:3px 6px;border-radius:999px;background:#fff;color:#637c89;border:1px solid #d6e1e6}
.pending-date-type-summary .summary-stock{color:#9b651f}.pending-date-type-summary .summary-inventory{color:#665391}.pending-date-type-summary .summary-fleet{color:#376b81}
.pending-date-cell small.age-old{color:#b56d21!important}.pending-date-cell small.age-critical{color:#b64242!important;font-weight:950!important}
.pending-date-cell small.age-today{color:#4a7b63!important}.pending-date-cell small.age-future{color:#597b91!important}
@media(max-width:700px){.pending-date-type-summary{display:none}}

/* STEP22.0.1 — double-clic sur une notification */
.pending-action-row{cursor:pointer}
.pending-action-row:hover{background:#f7fbfd}
.pending-action-row:active{background:#eef6f9}

/* STEP22.0.2 — priorité métier + section Global */
.pending-date-group[data-group-date="GLOBAL"]{
  border:2px solid #91adbb;
  background:#f7fbfd;
  box-shadow:0 7px 22px rgba(42,86,107,.08);
}
.pending-date-group[data-group-date="GLOBAL"] .pending-date-group-head{
  background:linear-gradient(90deg,#e5f1f6,#f4f9fb);
  border-bottom-color:#bed3dd;
}
.pending-date-group[data-group-date="GLOBAL"] .pending-date-group-head>span{
  color:#285f78;font-size:12px;
}
.pending-priority-badge{
  display:inline-flex;align-items:center;margin-top:4px;padding:2px 5px;
  border-radius:999px;font-style:normal;font-size:7.5px;font-weight:950;
  letter-spacing:.035em;border:1px solid transparent;
}
.pending-priority-badge.urgent{background:#fde8e9;color:#a7333b;border-color:#e9aeb2}
.pending-priority-badge.todo{background:#fff2d4;color:#8b601e;border-color:#e7c57b}
.pending-priority-badge.watch{background:#eaf3f7;color:#426d82;border-color:#bad1dc}
.pending-action-row.priority-urgent{
  border-left:4px solid #c7444c!important;
  background:#fffafb;
}
.pending-action-row.priority-todo{border-left:4px solid #d89a31!important}
.pending-action-row.priority-watch{border-left:4px solid #6f98aa!important}
.pending-action-row.priority-urgent:hover{background:#fff2f3!important}
.pending-action-row.priority-todo:hover{background:#fffaf0!important}
.pending-action-row.priority-watch:hover{background:#f3f8fa!important}

/* STEP23 — Fiche technicien 360° */
.tech360-overview{margin:12px 12px 8px;padding:12px 14px;border:1px solid #cfdce3;border-radius:12px;background:linear-gradient(135deg,#f8fbfc,#eef6f9);display:flex;align-items:center;justify-content:space-between;gap:16px}
.tech360-identity{display:flex;align-items:center;gap:11px;min-width:0}.tech360-avatar{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#315f77;color:#fff;font-size:16px;font-weight:900;letter-spacing:.03em;flex:0 0 44px}
.tech360-identity small{display:block;font-size:8.5px;font-weight:900;letter-spacing:.07em;color:#78909c}.tech360-identity strong{display:block;font-size:17px;color:#244f66;margin-top:1px}
.tech360-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.tech360-tags span{font-size:8.5px;font-weight:850;padding:3px 6px;border-radius:999px;background:#fff;border:1px solid #d4e0e6;color:#637d8b}.tech360-tags span.ok{color:#397457;border-color:#b9d9c7;background:#f0f8f3}.tech360-tags span.off{color:#9a4d4d;border-color:#e3bcbc;background:#fff2f2}
.tech360-glance{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:7px}.tech360-glance>div{padding:8px 10px;border:1px solid #dbe5ea;border-radius:9px;background:#fff}.tech360-glance small{display:block;font-size:8px;text-transform:uppercase;font-weight:850;color:#81939e}.tech360-glance strong{display:block;margin-top:3px;font-size:11.5px;color:#355d72}.tech360-glance>div.alert{border-color:#e0a8aa;background:#fff5f5}.tech360-glance>div.alert strong{color:#b33f46}
.tech360-nav{margin:0 12px 10px;display:flex;gap:5px;flex-wrap:wrap;padding:7px;border:1px solid #d8e3e8;border-radius:9px;background:#fff;position:sticky;top:0;z-index:8}.tech360-nav button{border:1px solid #d2dfe5;background:#f5f9fb;color:#3c6377;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:850;cursor:pointer}.tech360-nav button:hover{background:#eaf4f8}.tech360-nav button.has-alert{background:#fff0e4;border-color:#e4b078;color:#974f17}
.tech360-panel{margin:10px 12px 14px;border:1px solid #d8e3e8;border-radius:11px;background:#fff;overflow:hidden;scroll-margin-top:58px}.tech360-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f2f7f9;border-bottom:1px solid #dce6eb}.tech360-panel-head span{display:block;font-size:8.5px;font-weight:900;letter-spacing:.06em;color:#788f9b}.tech360-panel-head strong{display:block;margin-top:2px;font-size:12.5px;color:#315c71}.tech360-panel-head a,.tech360-panel-head button{border:1px solid #c9d9e1;background:#fff;color:#315f78;border-radius:7px;padding:6px 8px;text-decoration:none;font-size:9px;font-weight:850;cursor:pointer}
.tech360-alert-list{padding:5px 10px}.tech360-alert-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 5px;border-bottom:1px solid #edf2f4;cursor:pointer;border-left:4px solid transparent}.tech360-alert-row:last-child{border-bottom:0}.tech360-alert-row.priority-urgent{border-left-color:#c7444c;background:#fff9f9}.tech360-alert-row.priority-todo{border-left-color:#d89a31}.tech360-alert-row.priority-watch{border-left-color:#6f98aa}.tech360-alert-type{font-size:8px;font-weight:900;color:#5b7684}.tech360-alert-row b{display:block;font-size:10.5px;color:#355d72}.tech360-alert-row small{display:block;margin-top:2px;font-size:8.8px;color:#80939e}.tech360-alert-row em{font-style:normal;font-size:7.5px;font-weight:950;padding:3px 5px;border-radius:999px;background:#f3f6f8;color:#657e8a}

.tech360-empty{padding:13px;color:#7c929d;font-size:9.5px}
.tech360-timeline{padding:6px 12px 10px}.tech360-time-row{display:grid;grid-template-columns:90px 28px minmax(0,1fr);gap:8px;align-items:start;position:relative;padding:7px 0}.tech360-time-row:before{content:"";position:absolute;left:103px;top:0;bottom:0;width:1px;background:#e1e9ed}.tech360-time-date{font-size:8.8px;font-weight:800;color:#8497a1;text-align:right;padding-top:4px}.tech360-time-icon{z-index:1;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#edf4f7;border:2px solid #fff;box-shadow:0 0 0 1px #d4e1e7;font-size:8.5px;font-weight:900;color:#426b7e}.tech360-time-row small{display:block;font-size:7.8px;font-weight:900;color:#82949f;text-transform:uppercase}.tech360-time-row b{display:block;font-size:10.2px;color:#365f73;margin-top:1px}.tech360-time-row em{display:block;font-style:normal;font-size:8.7px;color:#7e919c;margin-top:1px}
#tech360-vehicle,#tech360-material,#tech360-kits,#tech360-activity,#tech360-absences{scroll-margin-top:58px}
@media(max-width:900px){.tech360-overview{align-items:flex-start;flex-direction:column}.tech360-glance{width:100%;grid-template-columns:repeat(2,1fr)}.tech360-nav{position:relative}.tech360-alert-row{grid-template-columns:62px 1fr}.tech360-alert-row em{grid-column:2;justify-self:start}.tech360-time-row{grid-template-columns:72px 25px 1fr}.tech360-time-row:before{left:84px}}

/* STEP23.0.2 — Cartographie techniciens V2 */
.tcarto{--tc-blue:#245f82;--tc-border:#d8e4ea}.tcarto-hero{margin-bottom:10px}
.tcarto-toolbar{display:flex;justify-content:flex-end;gap:9px;align-items:center;margin-bottom:8px}.tcarto-search{display:flex;align-items:center;gap:7px;width:min(360px,100%);background:#fff;border:1px solid #cfdde5;border-radius:8px;padding:0 9px}.tcarto-search span{color:#668495;font-size:15px}.tcarto-search input{border:0;outline:0;width:100%;padding:9px 2px;background:transparent;color:#315c72;font:700 11px Inter,Arial}
.tcarto-view-switch{display:flex}.tcarto-view-switch button{border:1px solid #cbdbe4;background:#fff;color:#466d82;padding:8px 10px;font:850 10px Inter;cursor:pointer}.tcarto-view-switch button:first-child{border-radius:7px 0 0 7px}.tcarto-view-switch button:last-child{border-radius:0 7px 7px 0}.tcarto-view-switch button.active{background:#205f87;color:#fff;border-color:#205f87}
.tcarto-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tcarto-filters button{border:1px solid #d6e2e8;background:#f6f9fb;color:#557486;border-radius:8px;padding:7px 9px;font:800 9.5px Inter;cursor:pointer}.tcarto-filters button b{margin-left:3px}.tcarto-filters button.active{background:#216b9b;color:#fff;border-color:#216b9b}.tcarto-sort{margin-left:auto;display:flex;align-items:center;gap:6px;color:#667f8d;font:800 9.5px Inter}.tcarto-sort select{border:1px solid #cbdce5;border-radius:7px;padding:7px 25px 7px 8px;background:#fff;color:#345f76;font:800 9.5px Inter}
.tcarto-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:10px}.tcarto-kpis>div{background:#fff;border:1px solid #dce6eb;border-radius:9px;padding:9px 11px;border-top:3px solid #7895a5}.tcarto-kpis>div.ok{border-top-color:#3c9a6d}.tcarto-kpis>div.warn{border-top-color:#d65353}.tcarto-kpis>div.vehicle{border-top-color:#df9c2c}.tcarto-kpis>div.absence{border-top-color:#7657b4}.tcarto-kpis small{display:block;color:#78909d;font-size:8.5px;font-weight:850}.tcarto-kpis strong{display:block;color:#244f67;font-size:18px;margin-top:2px}
.tcarto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.tcarto-card{background:#fff;border:1.5px solid #cfdde4;border-radius:10px;padding:10px 11px;box-shadow:0 2px 8px rgba(29,62,81,.025);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.tcarto-card:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(29,62,81,.08)}.tcarto-card.healthy{border-color:#5fbd87}.tcarto-card.warning{border-color:#e3a02c}.tcarto-card.danger{border-color:#d94b51;background:#fffafa}.tcarto-card.inactive{border-color:#aebbc2;background:#f7f8f9;opacity:.86}
.tcarto-card header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:center}.tcarto-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#195e92;color:#fff;font-size:11px;font-weight:900}.tcarto-name strong{display:block;color:#173f58;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcarto-name small{display:block;color:#78909d;font-size:8.8px;margin-top:1px}.tcarto-status{align-self:start;background:#e8f7ef;color:#34795a;border-radius:999px;padding:3px 5px;font-size:7.8px;font-weight:900}.tcarto-status.off{background:#eceff1;color:#75858d}
.tcarto-core,.tcarto-details{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px}.tcarto-core span,.tcarto-details span{font-size:9px;font-weight:780;color:#496d80}.tcarto-activity{padding:3px 5px;border-radius:5px;background:#e8f4fb!important;color:#286f9b!important}.tcarto-activity.cuivre{background:#fff0d7!important;color:#a36610!important}.tcarto-core .missing{background:#fff0f0;color:#b74348;padding:3px 5px;border-radius:5px}.tcarto-details .alert{color:#c33d43;font-weight:900}.tcarto-details.technical{border-top:1px solid #edf2f4;padding-top:7px}
.tcarto-absence{margin-top:7px;padding:4px 6px;border-radius:5px;background:#f5f8f9;color:#7b8f99;font-size:8.5px}.tcarto-absence.present{background:#e8f2ff;color:#326da0;font-weight:850}
.tcarto-card footer{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:9px;padding-top:7px;border-top:1px solid #edf2f4}.tcarto-card footer span{font-size:8.3px;color:#78909b}.tcarto-card footer b{color:#4b6d7f}.tcarto-card footer button{border:0;background:transparent;color:#2f6e91;font:900 8.5px Inter;cursor:pointer;white-space:nowrap}
.tcarto-legend{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;background:#fff;border:1px solid #dce6eb;border-radius:8px;color:#607d8c;font-size:8.8px;font-weight:750}.tcarto-legend span{display:flex;align-items:center;gap:4px}.tcarto-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.tcarto-legend i.green{background:#37a76b}.tcarto-legend i.orange{background:#e0a12d}.tcarto-legend i.red{background:#d94b51}.tcarto-legend i.grey{background:#99a8b0}.tcarto-legend em{margin-left:auto;font-style:normal;color:#477086}.tcarto-empty{display:none;text-align:center;padding:30px;color:#7c929d;background:#fff;border:1px dashed #cadbe3;border-radius:9px}
.tcarto-grid.list-view{grid-template-columns:1fr;gap:4px}.tcarto-grid.list-view .tcarto-card{display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(230px,1fr) minmax(180px,.8fr) minmax(230px,1fr);align-items:center;padding:7px 10px}.tcarto-grid.list-view .tcarto-card header{grid-template-columns:30px minmax(0,1fr) auto}.tcarto-grid.list-view .tcarto-avatar{width:30px;height:30px}.tcarto-grid.list-view .tcarto-core,.tcarto-grid.list-view .tcarto-details,.tcarto-grid.list-view .tcarto-card footer{margin:0;padding:0;border:0}.tcarto-grid.list-view .tcarto-absence{display:none}
.tcarto[data-mode="technical"] .tcarto-card{border-color:#cfdde4}.tcarto[data-mode="technical"] .tcarto-card.inactive{border-color:#aebbc2}.tcarto[data-mode="technical"] .tcarto-legend em{margin-left:auto}
@media(max-width:1180px){.tcarto-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tcarto-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.tcarto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tcarto-grid.list-view .tcarto-card{grid-template-columns:1fr 1fr}.tcarto-toolbar{align-items:stretch}.tcarto-sort{margin-left:0}}@media(max-width:560px){.tcarto-grid{grid-template-columns:1fr}.tcarto-kpis{grid-template-columns:repeat(2,1fr)}.tcarto-toolbar{flex-direction:column}.tcarto-search{width:100%}.tcarto-filters{align-items:stretch}.tcarto-sort{width:100%;justify-content:space-between}}

/* STEP23.0.3 — Fiche 360 : flux vertical propre + interventions dépliables */
.tech-modal-box{
  width:min(1900px,96vw)!important;
  height:min(1120px,92vh)!important;
  max-height:92vh!important;
}
.tech-modal-inner{
  height:100%!important;
  max-height:none!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:block!important;
  scrollbar-gutter:stable;
}
.tech-modal-header{
  position:sticky;
  top:0;
  z-index:30;
}
.tech360-nav{
  top:76px!important;
  z-index:25!important;
}
.tech-modal-grid{
  display:grid!important;
  grid-template-columns:minmax(0,3fr) minmax(330px,1fr)!important;
  flex:none!important;
  min-height:0!important;
  height:auto!important;
  align-items:start!important;
  padding:0 14px 12px!important;
}
.tech-modal-section{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  align-self:start!important;
}
.tech-modal-table-wrap{
  flex:none!important;
  min-height:0!important;
  overflow:auto!important;
}
#tech360-activity .tech-modal-table-wrap{
  max-height:430px!important;
}
#tech360-absences .tech-modal-table-wrap{
  max-height:430px!important;
}
.tech-day-groups{
  padding:8px!important;
}
.tech-day-group{
  border-radius:7px!important;
  overflow:hidden!important;
}
.tech-day-band{
  position:relative!important;
  z-index:1!important;
}
.tech-day-content{
  display:block;
  padding:5px 7px 7px!important;
  background:#fff!important;
}
.tech-day-content[hidden],
.tech-day-group.collapsed .tech-day-content{
  display:none!important;
}
.tech-day-group.collapsed .tech-day-arrow{
  transform:rotate(-90deg)!important;
}
.tech360-alert-panel{
  position:relative!important;
  float:none!important;
  clear:both!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
}
.tech360-timeline{
  max-height:360px;
  overflow:auto;
}
.tech-material-zone,
.tech-assigned-kits-zone,
.tech-vehicle-link-zone,
.tech360-overview,
.tech360-panel{
  flex:none!important;
}
.tech-modal-footer{
  position:relative!important;
  clear:both!important;
  margin-top:8px!important;
}
@media(max-width:1100px){
  .tech-modal-grid{
    grid-template-columns:1fr!important;
  }
  .tech-modal-side{
    max-height:none!important;
  }
  #tech360-activity .tech-modal-table-wrap,
  #tech360-absences .tech-modal-table-wrap{
    max-height:360px!important;
  }
}
@media(max-width:820px){
  .tech-modal-header{position:relative!important}
  .tech360-nav{position:relative!important;top:auto!important}
}

/* STEP23.0.4 — changement Mois / Année sans flash de la fiche */
.tech-modal-box.tech-period-updating .tech-modal-inner{
  opacity:.86;
  transition:opacity .08s linear;
  pointer-events:none;
}

/* STEP23.0.9 — ordre métier + logistique repliable en bas */
.tech360-logistics-zone{
  margin:14px 12px 16px;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.tech360-logistics-title{
  display:flex;align-items:end;justify-content:space-between;
  padding:3px 2px 5px;
}
.tech360-logistics-title span{display:block;font-size:8.5px;font-weight:950;letter-spacing:.07em;color:#80939e}
.tech360-logistics-title strong{display:block;margin-top:2px;font-size:12px;color:#315d73}
.tech360-fold{
  border:1px solid #d7e3e9;border-radius:10px;background:#fff;overflow:hidden;
  scroll-margin-top:58px;
}
.tech360-fold-head{
  width:100%;border:0;background:linear-gradient(135deg,#f7fafb,#eef5f8);
  display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:10px;align-items:center;
  padding:10px 12px;text-align:left;cursor:pointer;color:#315d72;
}
.tech360-fold-head:hover{background:#eaf4f8}
.tech360-fold-head div>span{display:block;font-size:8.5px;font-weight:950;letter-spacing:.05em;color:#78919e}
.tech360-fold-head div>strong{display:block;margin-top:2px;font-size:11.5px;color:#315c72}
.tech360-fold-meta{font-size:9px;font-weight:850;color:#78909d;white-space:nowrap}
.tech360-fold-arrow{font-size:13px;text-align:center;transition:transform .16s ease;color:#376a84}
.tech360-fold.open .tech360-fold-arrow{transform:rotate(180deg)}
.tech360-fold-body{padding:9px 10px 10px;border-top:1px solid #e1e9ed;background:#fff}
.tech360-fold-body[hidden]{display:none!important}
.tech360-fold-actions{display:flex;justify-content:flex-end;gap:6px;margin-bottom:8px}
.tech360-fold-actions a{font-size:9px;font-weight:900;text-decoration:none;color:#2d6b8c;background:#f5f9fb;border:1px solid #cfe0e8;padding:5px 8px;border-radius:7px}
.tech360-material-single{padding:4px 9px!important}
.tech360-logistics-zone .tech-vehicle-link-zone{margin:0}
.tech360-logistics-zone .tech-vehicle-link-card{margin:0}
.tech360-logistics-zone .tech-assigned-kits-list{padding:0}
.tech-sheet-summary + .tech-modal-kpis{margin-top:10px!important}
.tech-sheet-kpis + .tech-modal-grid{margin-top:10px!important}
@media(max-width:760px){
  .tech360-fold-head{grid-template-columns:minmax(0,1fr) 22px}
  .tech360-fold-meta{grid-column:1}
  .tech360-fold-arrow{grid-column:2;grid-row:1/3}
}

.tech360-fold-head div>span{text-transform:uppercase}

/* STEP23.0.11 — Pilotage : logistique visible mais strictement informative */
.tech-vehicle-link-card.pilotage-readonly{cursor:default!important}
.tech-vehicle-link-card.pilotage-readonly:hover{border-color:#d9e5eb!important;background:linear-gradient(135deg,#fbfdfe,#f3f8fb)!important}
/* STEP24EF.4 — intervention manuelle / historique */
.historical-info-banner{margin:14px 18px 0;padding:12px 14px;border:1px solid #d9c48a;background:#fff9e8;border-radius:10px;display:flex;flex-direction:column;gap:3px;color:#5c4b1d}.historical-info-banner span{font-size:11px;color:#756638}
.manual-source-card{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px dashed #c9b56e;background:#fffaf0;border-radius:10px}.manual-source-card>span{font-size:20px}.manual-source-card div{display:flex;flex-direction:column}.manual-source-card strong{font-size:12px;color:#55471e}.manual-source-card small{font-size:10px;color:#7b6d42;margin-top:2px}.historical-badge{background:#fff3c8!important;color:#755d13!important;border-color:#e8d487!important}
.guarantee-history-helper{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.2fr) auto;gap:12px;align-items:center;margin:12px 0;padding:12px 14px;background:#f8fbfd;border:1px solid #d8e4ea;border-radius:11px}.guarantee-history-helper>div{display:flex;flex-direction:column;gap:2px}.guarantee-history-helper strong{font-size:12px;color:#294c60}.guarantee-history-helper span{font-size:10px;color:#718995}.guarantee-history-helper select{height:36px;border:1px solid #c7d5dc;border-radius:7px;padding:0 9px;background:#fff;color:#385466}
@media(max-width:900px){.guarantee-history-helper{grid-template-columns:1fr}.guarantee-history-helper .topbtn{width:100%}}

.manual-badge{background:#eaf5ff!important;color:#245f8f!important;border-color:#a9d1ee!important}

/* STEP24EF6.7 — trace métier des carences de garantie dans Données */
.data-guarantee-events{padding:9px 10px 0;background:#fff7f0}
.data-guarantee-carence{
  display:flex;align-items:center;gap:11px;padding:10px 12px;margin-bottom:9px;
  border:1px solid #e2b78f;border-left:5px solid #c66a2b;background:#fff3e8;
  box-shadow:0 1px 2px rgba(92,46,12,.06)
}
.data-guarantee-carence-icon{font-size:22px;font-weight:900;color:#a64d17;line-height:1}
.data-guarantee-carence-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.data-guarantee-carence-copy strong{font-size:12px;color:#7d3511}
.data-guarantee-carence-copy span{font-size:11px;font-weight:700;color:#5f4636}
.data-guarantee-carence-copy small{font-size:10px;color:#816b5b}
.data-guarantee-carence-link{white-space:nowrap;text-decoration:none;font-size:10px;font-weight:800;color:#974411;border:1px solid #d6a47e;background:#fff;padding:6px 8px}
.data-guarantee-carence-link:hover{background:#fbe1cf}
.tech-modal-kpi.soft-carence{background:#fff4ec!important;border-top-color:#c66a2b!important}
.tech-modal-kpi.soft-carence strong{color:#9b4318!important}


/* STEP24EF6.8 — Garanties pilotables + fiche technicien sur 2 lignes max */
.guarantee-toolbar{display:flex;align-items:center;gap:8px;margin:10px 0 8px}
.guarantee-toolbar-label{font-size:10px;font-weight:800;color:#63798a;text-transform:uppercase}
.guarantee-toolbar select{height:32px;border:1px solid #c8d5de;background:#fff;color:#345064;padding:0 9px;font-size:11px}
.guarantee-status-band td{padding:0!important;border-bottom:0!important;background:transparent!important}
.guarantee-status-toggle{width:100%;border:0;display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;text-align:left;font:inherit}
.guarantee-status-chevron{font-size:14px;transition:transform .15s ease}
.guarantee-status-band[aria-expanded="false"] .guarantee-status-chevron{transform:rotate(-90deg)}
.guarantee-status-label{font-size:10px;font-weight:900;letter-spacing:.35px}
.guarantee-status-count{margin-left:auto;min-width:22px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,255,255,.78);font-size:10px;font-weight:900}
.guarantee-status-attente .guarantee-status-toggle{background:#fff4d8;color:#765b15;border-left:4px solid #d5a72a}
.guarantee-status-validee .guarantee-status-toggle{background:#eaf7ef;color:#286044;border-left:4px solid #4a9a70}
.guarantee-status-refusee .guarantee-status-toggle{background:#f1f3f5;color:#5d6872;border-left:4px solid #85919b}
.guarantee-row-validee td{background:#fbfffc}
.guarantee-row-refusee td{color:#6f7b84;background:#fbfcfd}
.tech-modal-kpi.soft-guarantee{background:#eef8f2!important;border-top-color:#4a9a70!important}
.tech-modal-kpi.soft-guarantee strong{color:#2f7050!important}
.tech-sheet-kpis .tech-modal-kpi{padding:9px 9px!important;min-height:68px!important}
.tech-sheet-kpis .tech-modal-kpi span{font-size:10px!important}
.tech-sheet-kpis .tech-modal-kpi small{font-size:9px!important}
@media(max-width:1250px){.tech-sheet-kpis{grid-template-columns:repeat(8,minmax(0,1fr))!important}}


/* STEP24EF.6.10 — Garanties façon Absences + fiche technicien 2 lignes max */
@media (min-width:1260px){
  .tech-sheet-kpis{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    gap:7px!important;
    padding:8px 6px!important;
  }
  .tech-sheet-kpis .tech-modal-kpi{
    min-height:64px!important;
    padding:8px 9px!important;
  }
  .tech-sheet-kpis .tech-modal-kpi strong{font-size:19px!important}
  .tech-sheet-kpis .tech-modal-kpi span{font-size:9px!important}
  .tech-sheet-kpis .tech-modal-kpi small{font-size:8px!important;margin-top:2px!important}
}
.guarantee-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.guarantee-panel{
  min-width:0;
  display:flex;
  flex-direction:column;
  border:1px solid #cbd7e0;
  background:#fff;
  overflow:hidden;
}
.guarantee-panel-head{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 12px;
  font-size:15px;
}
.guarantee-panel.attente .guarantee-panel-head{background:#fff1c9;color:#805d08}
.guarantee-panel.validee .guarantee-panel-head{background:#e8f6ee;color:#2f7050}
.guarantee-panel.refusee .guarantee-panel-head{background:#eef1f3;color:#596772}
.guarantee-panel-count{
  min-width:28px;height:28px;padding:0 7px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid currentColor;background:rgba(255,255,255,.55);
  font-weight:900;box-sizing:border-box;
}
.guarantee-panel-body{min-width:0;overflow-x:auto}
.guarantee-compact-table{width:100%;table-layout:fixed}
.guarantee-compact-table th:nth-child(1){width:16%}
.guarantee-compact-table th:nth-child(2){width:21%}
.guarantee-compact-table th:nth-child(3){width:24%}
.guarantee-compact-table th:nth-child(4){width:13%}
.guarantee-compact-table th:nth-child(5){width:26%}
.guarantee-compact-table td{vertical-align:middle;padding:8px 6px}
.guarantee-compact-table td strong,
.guarantee-compact-table td small{display:block}
.guarantee-compact-table td small{margin-top:3px;font-size:9px;color:#718392;line-height:1.25}
.guarantee-money{font-weight:900;white-space:nowrap}
.guarantee-decision-form{display:flex;gap:4px;align-items:center;justify-content:center}
.guarantee-decision-form select{min-width:0;max-width:125px;font-size:9px;padding:4px}
.guarantee-decision-form .topbtn{height:25px;padding:0 7px}
.guarantee-empty{height:74px;color:#7d8d98;text-align:center!important}
@media(max-width:1450px){
  .guarantee-columns{grid-template-columns:1fr}
}

.guarantee-panel-head{cursor:pointer}.guarantee-panel.collapsed .guarantee-panel-head{border-bottom:0}


/* STEP24EF.6.12 — décisions Garantie verrouillées après validation */
.guarantee-decision-locked-row{cursor:default}
.guarantee-decision-locked-row:hover td{background:#f8fbfd}
.guarantee-decision-locked{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:26px;padding:4px 9px;border-radius:13px;
  font-size:9px;font-weight:900;white-space:nowrap;
  border:1px solid #cbd8df;box-sizing:border-box;
}
.guarantee-decision-locked-validee{background:#dff2e7;color:#2d7551;border-color:#b9dfc9}
.guarantee-decision-locked-refusee{background:#edf0f2;color:#64717a;border-color:#d3dade}
.guarantee-decision-locked-row[title]{cursor:pointer}


/* STEP24EF.6.14 — navigation journée mobile */
.mobile-day-nav{display:none}
@media(max-width:900px){
  .mobile-day-nav{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:7px;
    align-items:center;
    margin:10px 0 12px;
    width:100%;
  }
  .mobile-day-arrow{
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #b9cbd8;
    background:#fff;
    color:#214e6c;
    text-decoration:none;
    font-size:27px;
    font-weight:800;
    border-radius:7px;
    box-sizing:border-box;
  }
  .mobile-day-arrow.disabled{opacity:.35;pointer-events:none}
  .mobile-day-select-wrap{
    height:42px;
    display:flex;
    align-items:center;
    gap:7px;
    border:1px solid #b9cbd8;
    background:#fff;
    border-radius:7px;
    padding:0 8px;
    min-width:0;
    box-sizing:border-box;
  }
  .mobile-day-calendar{font-size:15px;flex:0 0 auto}
  .mobile-day-select{
    width:100%;
    min-width:0;
    height:38px;
    border:0;
    outline:0;
    background:transparent;
    color:#173f5b;
    font-size:14px;
    font-weight:800;
  }
}


/* STEP24EF.6.17 — requalification Binôme -> Renfort */
.share-type-backdrop{
  position:fixed;inset:0;z-index:12000;background:rgba(12,35,51,.48);
  display:none;align-items:center;justify-content:center;padding:18px;
}
.share-type-backdrop.open{display:flex}
.share-type-modal{
  width:min(560px,100%);background:#fff;border:1px solid #b9cbd8;
  box-shadow:0 18px 55px rgba(0,0,0,.28);border-radius:9px;overflow:hidden;
}
.share-type-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 16px;background:#edf4f8;border-bottom:1px solid #cbd9e2;
}
.share-type-head>div{display:flex;flex-direction:column;gap:3px}
.share-type-head strong{font-size:17px;color:#183e59}
.share-type-head span{font-size:11px;color:#708492}
.share-type-head button{border:0;background:transparent;font-size:18px;cursor:pointer;color:#5f7280}
.share-type-body{padding:16px;color:#324f63;font-size:12px;line-height:1.5}
.share-type-current{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;border:1px solid #d7e1e7;background:#f8fbfd;margin-bottom:12px;
}
.share-type-current span{font-size:10px;color:#718592;text-transform:uppercase;font-weight:800}
.share-type-current strong{color:#23597c}
.share-type-warning{
  padding:9px 11px;background:#f4ecfb;border-left:3px solid #8965a6;color:#5f4972;
}
.share-type-actions{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;padding:12px 16px;
  border-top:1px solid #d9e2e8;background:#fbfcfd;
}
.share-type-actions form{margin:0;display:flex;align-items:center}
.share-type-btn{
  height:38px;min-height:38px;padding:0 13px;border-radius:6px;border:1px solid #9fb5c4;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  font-weight:800;font-size:11px;cursor:pointer;box-sizing:border-box;white-space:nowrap;
}
.share-type-btn.secondary{background:#fff;color:#31536a}
.share-type-btn.primary{background:#76508f;color:#fff;border-color:#76508f}
.share-type-btn.danger{background:#c94f49;color:#fff;border-color:#b7433e;box-shadow:0 2px 5px rgba(134,48,43,.18)}
.share-type-btn.danger:hover{background:#b8423d;border-color:#a83a35;box-shadow:0 3px 8px rgba(134,48,43,.24)}
.share-type-btn.danger:active{transform:translateY(1px);box-shadow:0 1px 3px rgba(134,48,43,.18)}
.share-type-dismiss-form{margin-left:auto!important}


/* STEP24EF.6.20 — type Binôme/Renfort modifiable à volonté */
.shared-modify-type-btn{
  min-height:25px;padding:0 9px;border:1px solid #a9bdca;border-radius:4px;
  background:#fff;color:#31566f;font-size:9px;font-weight:900;cursor:pointer;
}
.shared-modify-type-btn:hover{background:#eef5f8}
.share-type-choice-form{display:flex;align-items:center;gap:7px}
.share-type-choice-label{
  display:block;font-size:0;line-height:0;color:#617886;text-transform:uppercase;margin:0;
}
.share-type-choice-label select{
  min-width:112px;height:38px;border:1px solid #9fb5c4;border-radius:6px;
  background:#fff;color:#284c64;font-size:11px;font-weight:800;padding:0 8px;line-height:normal;
}
@media(max-width:640px){
  .share-type-actions{align-items:stretch;flex-direction:column}
  .share-type-actions form,.share-type-btn,.share-type-choice-label,.share-type-choice-label select{width:100%}
  .share-type-dismiss-form{margin-left:0!important}
}


/* STEP24EF.6.41 — longues journées : rendu différé des blocs Données hors écran. */
.data-lazy-block{
  content-visibility:auto;
  contain-intrinsic-size:auto 260px;
}

/* STEP24EF.6.45 — troisième colonne Associations potentielles */
.split.split-three{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.split-head.potential{background:#fff3cd;border-bottom:1px solid #ead28a}
.potential-panel{min-width:0}
.potential-share-table td{vertical-align:top}
.potential-comment{display:inline-block;margin-top:5px;font-size:10px;color:#516474;max-width:260px;word-break:break-word}
.potential-match{display:inline-block;margin-top:5px;font-size:10px;color:#355e4a}
.potential-share-form select{width:100%;max-width:220px;padding:6px;border:1px solid #b7c7d4;background:#fff}
.potential-actions{display:flex;gap:5px;margin-top:5px;flex-wrap:wrap}
.potential-ignore-form{margin-top:5px}
.potential-ignore-btn{border:1px solid #c5cdd4;background:#fff;color:#596773;padding:5px 8px;font-weight:700;cursor:pointer}
.badge.warn{background:#fff0bd;color:#825900}
@media(max-width:1250px){
  .split.split-three{grid-template-columns:1fr}
}

.potential-action-btn{border:1px solid #9fb3c4;background:#f7fbfe;color:#294f6c;padding:5px 8px;font-weight:700;cursor:pointer}

/* STEP24EF.6.50 — action destructive volontairement identifiable */
.side-action.danger{color:#a12626;border-color:#e2b7b7;background:#fff7f7}
.side-action.danger:hover{background:#ffecec;border-color:#c96d6d;color:#7e1717}


/* STEP24EF.6.50.4 — matérialisation des ND déjà visités */
.nd-passage-tag{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 7px;border-radius:999px;border:1px solid #e6a23c;background:#fff3d6;color:#9a5700;font-size:9px;font-weight:850;letter-spacing:.01em;box-shadow:0 1px 2px rgba(154,87,0,.10)}
/* STEP24EF.6.50.7 — support tickets + repères de semaines */
.week-marker{margin:8px 8px 4px;display:flex;align-items:center;gap:7px;color:#52778b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}.week-marker:before,.week-marker:after{content:"";height:1px;background:#d7e4ea;flex:1}.week-marker span{white-space:nowrap;background:#eef5f8;border:1px solid #d4e4eb;border-radius:999px;padding:3px 7px}
.support-ticket-topbtn{position:relative;display:flex;align-items:center;gap:6px;text-decoration:none}.support-ticket-topbtn.has-open-tickets{border-color:#e2a43c;background:#fff7e8;color:#80520a;animation:supportTicketPulse 1.35s ease-in-out infinite}.support-ticket-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d86d22;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.support-ticket-modal{position:fixed;inset:0;z-index:12000;background:rgba(15,38,51,.52);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px}.support-ticket-modal.open{display:flex}.support-ticket-card{width:min(610px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid #d9e7ed;border-radius:20px;box-shadow:0 28px 80px rgba(9,35,49,.28);padding:0}.support-ticket-head{display:flex;justify-content:space-between;gap:18px;padding:24px 26px 20px;background:linear-gradient(135deg,#173f56,#216b8f);color:#fff;border-radius:19px 19px 0 0}.support-ticket-head h2{margin:5px 0 6px;font-size:22px}.support-ticket-head p{margin:0;color:#d7e8f0;font-size:12px;line-height:1.5}.support-ticket-kicker{font-size:9px;font-weight:900;letter-spacing:1.4px;color:#a9d6e8}.support-ticket-close{border:0;background:rgba(255,255,255,.12);color:#fff;width:34px;height:34px;border-radius:10px;cursor:pointer;font-weight:900}.support-ticket-card form{padding:22px 26px 24px}.support-ticket-card label{display:block;color:#3c5c6d;font-size:11px;font-weight:850;margin:0 0 14px}.support-ticket-card input,.support-ticket-card select,.support-ticket-card textarea{box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #cbdde5;border-radius:10px;background:#fbfdfe;padding:11px 12px;color:#173f56;font:inherit;font-weight:600;outline:none}.support-ticket-card input:focus,.support-ticket-card select:focus,.support-ticket-card textarea:focus{border-color:#4d91b2;box-shadow:0 0 0 3px rgba(77,145,178,.12)}.support-ticket-card textarea{resize:vertical;min-height:130px}.support-ticket-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.support-ticket-cancel,.support-ticket-submit{border:0;border-radius:10px;padding:10px 15px;font-weight:900;cursor:pointer}.support-ticket-cancel{background:#edf3f6;color:#476575}.support-ticket-submit{background:#176f9f;color:#fff}.support-ticket-submit:disabled{opacity:.55;cursor:wait}.support-ticket-result{min-height:0;font-size:11px}.support-ticket-result.success,.support-ticket-result.error{padding:11px 13px;border-radius:10px;display:flex;flex-direction:column;gap:3px}.support-ticket-result.success{background:#eef9f3;border:1px solid #bce0ca;color:#286244}.support-ticket-result.error{background:#fff1ef;border:1px solid #efc0b9;color:#a4453c}@keyframes supportTicketPulse{0%,100%{box-shadow:0 0 0 0 rgba(216,109,34,.08)}50%{box-shadow:0 0 0 5px rgba(216,109,34,.16)}}
.support-page{max-width:1100px;margin:0 auto}.support-headline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.support-headline h1{margin:0;color:#173f56;font-size:25px}.support-headline p{margin:5px 0 0;color:#698795;font-size:12px}.support-new-btn{border:0;background:#176f9f;color:#fff;border-radius:10px;padding:10px 14px;font-weight:900;cursor:pointer}.support-filter-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.support-filter-row a{padding:7px 10px;border-radius:999px;background:#edf4f7;color:#42677a;text-decoration:none;font-size:10px;font-weight:850;border:1px solid #d8e5ea}.support-filter-row a.active{background:#173f56;color:#fff;border-color:#173f56}.support-ticket-admin-card{background:#fff;border:1px solid #dce8ed;border-radius:15px;padding:16px 18px;margin-bottom:12px;box-shadow:0 5px 18px rgba(23,63,86,.05)}.support-ticket-admin-card.is-new{border-left:4px solid #df8b2e}.support-ticket-admin-card.is-progress{border-left:4px solid #3183ab}.support-ticket-admin-card.is-resolved{border-left:4px solid #4b9c6c;opacity:.86}.support-admin-top{display:flex;justify-content:space-between;gap:14px}.support-admin-no{font-weight:950;color:#173f56}.support-admin-meta{font-size:10px;color:#78909c;margin-top:3px}.support-status-pill{font-size:9px;font-weight:900;border-radius:999px;padding:5px 8px;background:#edf3f6;color:#4f6c7a;height:fit-content}.support-ticket-admin-card h3{margin:12px 0 6px;color:#203f50;font-size:16px}.support-ticket-desc{white-space:pre-wrap;color:#486675;font-size:12px;line-height:1.55;background:#f7fafb;padding:10px 12px;border-radius:10px}.support-admin-form{display:grid;grid-template-columns:150px 1fr auto;gap:8px;margin-top:12px;align-items:end}.support-admin-form label{font-size:9px;font-weight:900;color:#6f8793}.support-admin-form select,.support-admin-form input{width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #cfdee5;border-radius:8px;padding:8px}.support-admin-form button{border:0;border-radius:9px;background:#173f56;color:#fff;padding:9px 12px;font-weight:900;cursor:pointer}.support-history{margin-top:10px;font-size:10px;color:#728994}.support-history summary{cursor:pointer;font-weight:850;color:#527184}.support-history-line{margin-top:5px;padding-left:9px;border-left:2px solid #dce8ed}@media(max-width:800px){.support-admin-form{grid-template-columns:1fr}.support-ticket-head{padding:20px}.support-ticket-card form{padding:18px}.support-headline{flex-direction:column}}

/* STEP24EF.6.50.8 — pièces jointes tickets support */
.support-ticket-files>span{font-weight:700;color:#8aa0ab;font-size:9px;margin-left:5px}.support-ticket-files input[type=file]{padding:9px;background:#f7fafb;cursor:pointer}.support-ticket-files small{display:block;margin-top:6px;color:#8196a1;font-size:9.5px;font-weight:650;line-height:1.4}.support-attachments{margin-top:10px;padding:11px 12px;border:1px solid #dce8ed;border-radius:11px;background:#fbfdfe}.support-attachments-title{font-size:10px;font-weight:900;color:#4c6d7d;margin-bottom:8px}.support-attachments-grid{display:flex;flex-wrap:wrap;gap:8px}.support-attachment{display:flex;align-items:center;gap:8px;min-width:180px;max-width:310px;padding:8px 10px;border-radius:9px;border:1px solid #d6e4ea;background:#fff;text-decoration:none;color:#315568}.support-attachment:hover{border-color:#75a9bf;background:#f2f9fc}.support-attachment-icon{font-size:18px}.support-attachment span:last-child{min-width:0}.support-attachment strong{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-attachment small{display:block;margin-top:2px;color:#8499a4;font-size:8.5px}
.support-attachment.is-image{display:grid;grid-template-columns:72px minmax(0,1fr);min-width:240px}.support-attachment-preview{width:72px;height:54px;object-fit:cover;border-radius:7px;background:#edf3f6;border:1px solid #e1ebef}


/* STEP24EF.6.50.10 — tickets compacts + détail modal + barre d'avancement */
.support-ticket-group{margin:0 0 12px;border:1px solid #d8e6ec;border-radius:14px;background:#f8fbfc;overflow:hidden}.support-ticket-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;cursor:pointer;color:#234f66;font-size:11px;font-weight:950;list-style:none}.support-ticket-group>summary::-webkit-details-marker{display:none}.support-ticket-group>summary:before{content:'▶';font-size:9px;transition:transform .16s ease}.support-ticket-group[open]>summary:before{transform:rotate(90deg)}.support-ticket-group>summary span{flex:1}.support-ticket-group>summary b{min-width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e6f0f4;color:#315f75;font-size:10px}.support-ticket-list{padding:0 9px 9px}.support-ticket-row{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(160px,1fr) minmax(280px,1.6fr) auto auto;align-items:center;gap:12px;background:#fff;border:1px solid #dce8ed;border-left:4px solid #df8b2e;border-radius:11px;padding:10px 12px;margin-top:7px;cursor:default;box-shadow:0 2px 9px rgba(23,63,86,.04);transition:.14s ease}.support-ticket-row:hover{border-color:#bcd3dd;box-shadow:0 5px 15px rgba(23,63,86,.08);transform:translateY(-1px)}.support-ticket-row.is-progress{border-left-color:#3183ab}.support-ticket-row.is-resolved{border-left-color:#4b9c6c;opacity:.9}.support-ticket-row-main{min-width:0}.support-ticket-row-main strong{display:block;color:#173f56;font-size:12px}.support-ticket-row-main span{display:block;margin-top:2px;color:#385e71;font-size:11px;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-ticket-row-meta{color:#8296a0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-open-ticket-btn{border:0;border-radius:8px;background:#edf4f7;color:#315e73;padding:7px 9px;font-size:9px;font-weight:900;cursor:pointer}.support-open-ticket-btn:hover{background:#dfeef4}.support-ticket-mini-progress,.support-progress-large{display:flex;align-items:center;min-width:0}.support-ticket-mini-progress .step,.support-progress-large .step{display:flex;align-items:center;gap:4px;white-space:nowrap;color:#91a3ac;font-size:8px;font-weight:850}.support-ticket-mini-progress .step i{width:9px;height:9px;border-radius:999px;background:#d7e1e5;box-shadow:0 0 0 2px #fff,0 0 0 3px #d7e1e5}.support-ticket-mini-progress .step.done{color:#356c83}.support-ticket-mini-progress .step.done i{background:#2c83aa;box-shadow:0 0 0 2px #fff,0 0 0 3px #2c83aa}.support-ticket-mini-progress .line,.support-progress-large .line{height:2px;min-width:20px;flex:1;background:#dbe5e9;margin:0 6px}.support-ticket-mini-progress .line.done,.support-progress-large .line.done{background:#2c83aa}.support-detail-modal{position:fixed;inset:0;z-index:13000;background:rgba(12,31,42,.58);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:24px}.support-detail-modal.open{display:flex}.support-detail-card{width:min(860px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid #d9e7ed;border-radius:20px;box-shadow:0 30px 90px rgba(7,27,39,.34)}.support-detail-head{display:flex;justify-content:space-between;gap:18px;padding:22px 25px 19px;background:linear-gradient(135deg,#173f56,#216b8f);color:#fff;border-radius:19px 19px 0 0}.support-detail-head h2{margin:5px 0 5px;font-size:21px}.support-detail-head p{margin:0;color:#d7e8f0;font-size:10px}.support-detail-body{padding:20px 24px 24px}.support-progress-large{margin-bottom:18px;padding:14px 16px;border:1px solid #dce8ed;border-radius:12px;background:#f8fbfc}.support-progress-large .step{font-size:10px}.support-progress-large .step i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#dbe5e9;color:#78909b;font-style:normal;font-weight:950}.support-progress-large .step.done{color:#285d74}.support-progress-large .step.done i{background:#2c83aa;color:#fff}.support-progress-large .line{height:4px;min-width:42px;margin:0 10px;border-radius:999px}.support-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.support-detail-grid>div{padding:10px 12px;border:1px solid #dce8ed;border-radius:10px;background:#fbfdfe}.support-detail-grid span{display:block;color:#869aa4;font-size:8px;font-weight:900;text-transform:uppercase}.support-detail-grid strong{display:block;margin-top:3px;color:#294f63;font-size:11px}.support-detail-body h3{margin:14px 0 7px;color:#2f5365;font-size:11px}.support-resolution{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:11px 12px;border-radius:10px;background:#eef8f2;border:1px solid #cce7d6;color:#326147;font-size:10px}.support-detail-form{margin-top:16px}.modal-open{overflow:hidden}@media(max-width:900px){.support-ticket-row{grid-template-columns:1fr auto}.support-ticket-row-meta,.support-ticket-mini-progress{grid-column:1/-1}.support-ticket-row .support-status-pill{grid-column:2}.support-open-ticket-btn{grid-column:2}.support-detail-grid{grid-template-columns:1fr}.support-progress-large .step span{display:none}.support-progress-large .line{min-width:20px}.support-detail-modal{padding:10px}.support-detail-body{padding:16px}.support-detail-head{padding:18px}}
/* STEP24EF.6.50.11 — Salesforce-like clickable support ticket path */
.support-path{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;margin-bottom:18px;padding:14px 16px;border:1px solid #dce8ed;border-radius:13px;background:#f8fbfc}.support-path-step{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#8da0aa;font-size:10px;font-weight:900;padding:4px 2px;cursor:pointer;transition:.15s ease}.support-path-step i{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:999px;background:#dbe5e9;color:#718791;font-style:normal;font-weight:950;transition:.15s ease}.support-path-step:not(:disabled):hover i{transform:scale(1.08);box-shadow:0 0 0 4px rgba(44,131,170,.10)}.support-path-step.done{color:#315f75}.support-path-step.done i{background:#2c83aa;color:#fff}.support-path-step.current{color:#173f56}.support-path-step.current i{box-shadow:0 0 0 4px rgba(44,131,170,.16)}.support-path-step:disabled{cursor:default;opacity:1}.support-path-line{height:4px;margin:0 10px;border-radius:999px;background:#dbe5e9;transition:.22s ease}.support-path-line.done{background:#2c83aa}.support-stage-panel{padding:13px 14px;border:1px solid #dce8ed;border-radius:11px;background:#fbfdfe}.support-stage-panel label{display:block;color:#3c5c6d;font-size:10px;font-weight:850}.support-stage-panel input{box-sizing:border-box;width:100%;margin-top:5px;border:1px solid #cbdde5;border-radius:9px;padding:9px 10px;background:#fff;color:#173f56}.support-stage-hint{display:block;margin-top:8px;color:#8197a2;font-size:9px}.support-stage-result{margin-top:8px;font-size:10px;font-weight:800}.support-stage-result.busy{color:#55717f}.support-stage-result.success{color:#35704d}.support-stage-result.error{color:#a4453c}.support-reopen-btn{margin-top:10px;border:1px solid #bcd3dd;border-radius:9px;background:#edf5f8;color:#315e73;padding:9px 12px;font-size:10px;font-weight:900;cursor:pointer}.support-reopen-btn:hover{background:#e1f0f5}@media(max-width:700px){.support-path{grid-template-columns:auto 1fr auto 1fr auto;padding:11px 9px}.support-path-step span{display:none}.support-path-line{margin:0 5px}}


/* STEP24EF.6.50.14 — semaines pliables intégrées au thème bleu de la sidebar */
.week-block{margin:7px 6px 4px;border:1px solid #294f6e;border-radius:8px;background:#1d4162;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.03) inset}
.week-block>.week-marker{margin:0;padding:6px 8px;display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none;list-style:none;color:#c6d7e3;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;background:#244d6e;transition:background .14s ease,color .14s ease}
.week-block>.week-marker::-webkit-details-marker{display:none}
.week-block>.week-marker:before{content:"";height:1px;background:#50708a;flex:1;opacity:.75}
.week-block>.week-marker span{white-space:nowrap;background:#1d4162;border:1px solid #3c6483;color:#e2edf4;border-radius:999px;padding:3px 7px}
.week-block>.week-marker:hover{background:#2a587d;color:#fff}
.week-block .week-chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#163956;border:1px solid #3b6483;color:#dceaf2;font-size:13px;line-height:1;transition:transform .16s ease,background .14s ease}
.week-block>.week-marker:hover .week-chevron{background:#315f80}
.week-block[open] .week-chevron{transform:rotate(0deg)}
.week-block:not([open]) .week-chevron{transform:rotate(-90deg)}
.week-days{padding:3px 2px 5px;background:#1d4162}
.week-block .daylink{margin-left:2px;margin-right:2px;color:#a9bece}
.week-block .daylink:hover,.week-block .daylink.active{background:#39739c!important;color:#fff}

/* STEP24EF.6.50.14 — repère semaine blanc, contenu toujours intégré au thème bleu */
.week-block>.week-marker:before{background:rgba(255,255,255,.62);opacity:1}
.week-block>.week-marker span{background:#fff;border:1px solid rgba(255,255,255,.9);color:#1d4162;box-shadow:0 1px 3px rgba(7,31,51,.18);font-weight:900}
.week-block .week-chevron{background:#fff;border-color:rgba(255,255,255,.9);color:#1d4162;box-shadow:0 1px 3px rgba(7,31,51,.16)}
.week-block>.week-marker:hover .week-chevron{background:#f2f7fa;color:#163956}
/* STEP24EF.6.50.15 — Centre global des garanties */
.guarantee-center{max-width:1450px;margin:0 auto;padding:20px 22px 44px}.gc-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;background:linear-gradient(135deg,#0d3156,#164d7e);color:#fff;border-radius:18px;padding:22px 26px;box-shadow:0 12px 30px #0b29452b}.gc-kicker{font-size:11px;font-weight:900;letter-spacing:1.4px;opacity:.72}.gc-hero h1{margin:4px 0 5px;font-size:28px}.gc-hero p{margin:0;opacity:.82}.gc-period label{display:grid;gap:5px;font-size:11px;font-weight:800;text-transform:uppercase}.gc-period select{min-width:190px;border:1px solid #ffffff4a;background:#fff;color:#17324d;border-radius:10px;padding:10px 12px;font-weight:800}.gc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.gc-kpi{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:15px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;box-shadow:0 4px 14px #17324d0c}.gc-kpi span{font-weight:800}.gc-kpi strong{font-size:27px}.gc-kpi small{grid-column:1/3;color:#6f7f8f}.gc-kpi.pending{border-top:4px solid #e5a42a}.gc-kpi.valid{border-top:4px solid #2b9b69}.gc-kpi.refused{border-top:4px solid #8b98a5}.gc-kpi.total{border-top:4px solid #2469a3}.gc-toolbar{display:flex;align-items:center;gap:16px;margin:14px 0}.gc-toolbar input{flex:1;max-width:430px;border:1px solid #ccd9e5;border-radius:10px;padding:11px 13px}.gc-toolbar span{font-size:12px;color:#748494}.gc-group{background:#fff;border:1px solid #dce5ed;border-radius:14px;margin:10px 0;overflow:hidden}.gc-group summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:900;display:flex;justify-content:space-between;background:#f7f9fb}.gc-group summary::-webkit-details-marker{display:none}.gc-group summary b{background:#e7edf3;border-radius:99px;min-width:28px;text-align:center;padding:3px 8px}.gc-list{padding:7px}.gc-row{display:grid;grid-template-columns:170px 1fr 32px 1fr 100px 160px;gap:12px;align-items:center;padding:11px 12px;border-radius:10px;border-bottom:1px solid #edf1f4;cursor:pointer}.gc-row:hover{background:#f2f7fb}.gc-row>div:not(.gc-arrow){display:flex;flex-direction:column}.gc-row small,.gc-row span{font-size:11px;color:#738292}.gc-id strong{color:#194f7e}.gc-arrow{text-align:center;font-size:20px;color:#93a3b1}.gc-amount{font-weight:900;text-align:right}.gc-status{padding:6px 9px!important;border-radius:99px;text-align:center;font-weight:800!important}.gc-status.attente{background:#fff2cf;color:#8a5d00}.gc-status.validee{background:#ddf4e8;color:#187047}.gc-status.refusee{background:#edf0f3;color:#56616b}.gc-empty{text-align:center;padding:28px;color:#7d8b98}.gc-modal{display:none;position:fixed;inset:0;z-index:15000;background:#07192a99;backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px}.gc-modal.open{display:flex}.gc-modal-card{position:relative;width:min(760px,96vw);background:#fff;border-radius:18px;padding:25px;box-shadow:0 25px 80px #0005}.gc-close{position:absolute;right:16px;top:14px;border:0;background:#eef2f5;border-radius:50%;width:34px;height:34px;cursor:pointer}.gc-modal-card h2{font-size:25px;margin:3px 0 16px}.gc-timeline{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;background:#f5f8fb;border-radius:14px;padding:17px}.gc-timeline>div{display:grid;gap:3px}.gc-timeline i{width:27px;height:27px;border-radius:50%;background:#174f7e;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900}.gc-timeline em{text-align:center;font-size:25px;font-style:normal;color:#7d91a2}.gc-timeline small{font-weight:900;color:#718292;margin-top:4px}.gc-case-meta{display:flex;gap:10px;margin:12px 0}.gc-case-meta span{background:#eef4f8;border-radius:9px;padding:9px 12px}.gc-note{display:grid;gap:5px;font-weight:800}.gc-note textarea{border:1px solid #ccd8e2;border-radius:9px;padding:10px;resize:vertical}.gc-path{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:15px;border-radius:10px;overflow:hidden;border:1px solid #b9c9d6}.gc-path button{border:0;border-right:1px solid #b9c9d6;padding:11px;background:#f3f6f8;font-weight:800;cursor:pointer}.gc-path button:last-child{border-right:0}.gc-path button.active{background:#175487;color:#fff}.gc-read-status{margin-top:15px;padding:10px;border-radius:9px;background:#eef3f6;font-weight:900;text-align:center}.gc-warning{background:#fff2cf;color:#785000;padding:10px 12px;border-radius:9px;margin-bottom:12px;font-weight:700}.gc-modal-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.gc-modal-foot a{color:#175487;font-weight:800}.gc-modal-foot button{border:0;background:#173d60;color:#fff;border-radius:9px;padding:9px 15px;font-weight:800;cursor:pointer}.guarantee-center-topbtn{text-decoration:none;display:flex;align-items:center}.gc-group[data-phase="attente"] summary{border-left:4px solid #e5a42a}.gc-group[data-phase="validee"] summary{border-left:4px solid #2b9b69}.gc-group[data-phase="refusee"] summary{border-left:4px solid #8b98a5}@media(max-width:950px){.gc-kpis{grid-template-columns:1fr 1fr}.gc-row{grid-template-columns:140px 1fr 25px 1fr}.gc-amount,.gc-row>div:last-child{grid-column:auto}.gc-hero{align-items:stretch;flex-direction:column}}@media(max-width:650px){.gc-kpis{grid-template-columns:1fr}.gc-row{grid-template-columns:1fr 1fr}.gc-arrow{display:none}.gc-timeline{grid-template-columns:1fr}.gc-timeline em{transform:rotate(90deg)}.gc-period select{width:100%}}
.tree-month-dashboard{color:inherit;text-decoration:none;font:inherit}.tree-month-dashboard:hover{text-decoration:underline;text-underline-offset:2px}

/* STEP24EF.6.50.17 — sidebar journées sans vibration au survol
   Réserve la place de la scrollbar et verrouille la géométrie des liens. */
.days-sidebar{
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
}
.week-block .daylink,
.daylink{
  box-sizing:border-box!important;
  max-width:100%!important;
  border:0!important;
  outline-offset:-1px;
  transform:none!important;
  transition:background-color .10s ease,color .10s ease!important;
}
.week-block .daylink:hover,
.week-block .daylink:focus-visible,
.daylink:hover,
.daylink:focus-visible{
  transform:none!important;
}


/* STEP24EF.6.50.18 — transition journée stable, sans flash ni vibration. */
.content-area{
  scrollbar-gutter:stable!important;
  contain:layout paint;
}
.content-area.threeT-day-switching{
  pointer-events:none;
}
.content-area.threeT-day-switching>.page{
  opacity:.985;
}
.daylink{
  min-height:28px!important;
  line-height:16px!important;
}
.daylink:hover,.daylink.active{
  padding-top:6px!important;
  padding-bottom:6px!important;
  font-weight:inherit!important;
}

/* STEP24EF.6.50.21 — Activité technicien compacte */
.tech-activity-compact{padding:9px;background:#f7fafc}
.tech-activity-compact-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 9px;color:#244b62}.tech-activity-compact-head strong{font-size:12px}.tech-activity-compact-head span{font-size:10px;color:#78909e}
.tech-day-tiles{display:grid;grid-template-columns:repeat(6,minmax(78px,1fr));gap:7px;margin-bottom:10px}
.tech-day-tile{border:1px solid #d6e2e9;border-radius:9px;background:#fff;padding:8px 7px;min-height:82px;cursor:pointer;text-align:left;display:flex;flex-direction:column;transition:.12s ease;color:#25485d}.tech-day-tile:hover{border-color:#7ea9c2;box-shadow:0 3px 10px rgba(27,72,98,.10)}.tech-day-tile.active{border:2px solid #2c86bd;background:#edf7fd;padding:7px 6px}.tech-day-tile strong{font-size:18px;line-height:1}.tech-day-tile span{font-size:9px;font-weight:800;text-transform:uppercase;margin-top:3px}.tech-day-tile small{font-size:10px;margin-top:6px}.tech-day-tile em{font-style:normal;font-size:9px;font-weight:800;margin-top:3px;color:#c44848}.tech-day-tile em.is-ok{color:#27935a;font-size:13px}.tech-day-more{align-items:center;justify-content:center;text-align:center;background:#eef3f6}.tech-day-more strong{letter-spacing:3px}.tech-day-more span{margin-top:5px}.tech-day-more small{margin-top:2px}
.tech-compact-day-detail{border:1px solid #d7e3e9;border-radius:9px;background:#fff;overflow:hidden}.tech-compact-day-detail.hidden{display:none}.tech-compact-detail-head{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-bottom:1px solid #e1eaef;background:#f8fbfc;color:#244b62}.tech-compact-detail-head strong{font-size:12px;text-transform:capitalize}.tech-compact-detail-head span{font-size:10px}
.tech-days-popup[hidden]{display:none!important}.tech-days-popup{position:fixed;inset:0;z-index:10080;background:rgba(12,35,49,.42);display:flex;align-items:center;justify-content:center;padding:20px}.tech-days-popup-card{width:min(650px,92vw);max-height:80vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 22px 60px rgba(8,30,43,.28);padding:14px}.tech-days-popup-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tech-days-popup-head div{display:flex;flex-direction:column}.tech-days-popup-head strong{font-size:15px;color:#1d465e}.tech-days-popup-head small{color:#78909e;margin-top:2px}.tech-days-popup-head button{border:0;background:#edf3f6;border-radius:8px;width:30px;height:30px;font-size:20px;cursor:pointer;color:#315a70}.tech-days-popup-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.tech-popup-day{border:1px solid #d7e3e9;border-radius:9px;background:#f9fbfc;padding:9px;text-align:left;cursor:pointer;display:flex;flex-direction:column}.tech-popup-day:hover{border-color:#2c86bd;background:#edf7fd}.tech-popup-day strong{font-size:17px;color:#214b63}.tech-popup-day span{font-size:9px;font-weight:800;text-transform:uppercase}.tech-popup-day small{font-size:9px;margin-top:4px}.tech-popup-day em{font-style:normal;font-size:9px;font-weight:800;color:#c44848;margin-top:3px}.tech-popup-day em.ok{color:#27935a;font-size:12px}
@media(max-width:900px){.tech-day-tiles{grid-template-columns:repeat(3,1fr)}.tech-days-popup-grid{grid-template-columns:repeat(3,1fr)}.tech-activity-compact-head{align-items:flex-start;flex-direction:column;gap:2px}}

/* STEP24EF.6.50.24 — icônes SVG topbar fiables quel que soit le rendu emoji */
.topbtn-svg-icon{width:14px;height:14px;display:inline-block;vertical-align:-2px;margin-right:5px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.guarantee-center-topbtn,.admin-topbtn{display:inline-flex!important;align-items:center;gap:2px}

.data-tech-day-ca{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;background:#fff;color:#214b70;border:1px solid rgba(255,255,255,.92);font-size:10.5px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 1px 2px rgba(14,39,63,.18)}

/* STEP24EF.6.50.29 — CA quotidien + lecture financière portail technicien */
.tech-day-tile-ca{display:block;margin-top:3px;color:#16864b;font-size:12px;font-weight:800;line-height:1.05;white-space:nowrap}
.tech-popup-day .tech-day-tile-ca{color:#16864b;font-size:11px;font-weight:800}
.tech-kpi-copy strong.tech-money-positive{color:#16864b}
.tech-kpi-copy strong.tech-money-total{color:#7b3fc6}
.tech-kpi-copy strong.tech-money-negative{color:#c83b35}

/* STEP24EF.6.50.32 — CA journée en banderole lisible dans les tuiles activité */
.tech-day-tile .tech-day-tile-ca{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:5px;
  padding:4px 8px;
  border:1px solid #b9dfc9;
  border-radius:999px;
  background:#fff;
  color:#16864b;
  font-size:11px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 1px 3px rgba(22,134,75,.10);
}
.tech-day-tile.active .tech-day-tile-ca{border-color:#8bc9a7;background:#fff}
.tech-popup-day .tech-day-tile-ca{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:5px;
  padding:4px 8px;
  border:1px solid #b9dfc9;
  border-radius:999px;
  background:#fff;
  color:#16864b;
  font-size:10.5px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

/* STEP24EF.6.50.35 — détail garanties/carences technicien */
.tech-kpi-clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.tech-kpi-clickable:hover,.tech-kpi-clickable:focus{transform:translateY(-1px);box-shadow:0 8px 22px rgba(31,59,76,.11);border-color:#b9d2df;outline:none}.tech-money-modal-backdrop{position:fixed;inset:0;z-index:3000;background:rgba(16,39,53,.48);align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.tech-money-modal{width:min(1040px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(10,32,45,.28);border:1px solid #d8e5eb}.tech-money-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;border-bottom:1px solid #e1e9ed;background:#f7fafb;position:sticky;top:0;z-index:2}.tech-money-modal-head h2{margin:2px 0 2px;color:#17384d}.tech-money-modal-head p{margin:0;color:#728c9c}.tech-money-modal-close{width:38px;height:38px;border:0;border-radius:9px;background:#c5525a;color:#fff;font-size:26px;line-height:1;cursor:pointer}.tech-money-detail-panel{padding:18px 20px}.tech-money-detail-panel .tech-table-premium td,.tech-money-detail-panel .tech-table-premium th{white-space:nowrap}@media(max-width:700px){.tech-money-modal-backdrop{padding:8px}.tech-money-modal{width:100%;max-height:94vh;border-radius:12px}.tech-money-detail-panel{padding:10px}.tech-money-modal-head{padding:13px 14px}}

/* STEP24EF.6.50.36 — interventions en renfort visibles dans le portail technicien */
.tech-renfort-badge{display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border-radius:999px;background:#75618f;color:#fff;font-size:9px;font-style:normal;font-weight:850;letter-spacing:.3px;vertical-align:middle}.tech-renfort-with{display:block;margin-top:2px;color:#75618f;font-size:10px;font-weight:700}.tech-mobile-intervention-card .tech-renfort-with{margin-top:4px}

/* STEP24EF.6.50.38 — fiche technicien annuelle compacte par mois */
.tech-month-tiles{grid-template-columns:repeat(6,minmax(92px,1fr))}
.tech-month-tile strong{font-size:16px;text-transform:capitalize}.tech-month-tile>span:not(.tech-day-tile-ca){text-transform:capitalize}.tech-months-popup-grid{grid-template-columns:repeat(4,1fr)}.tech-popup-month span{text-transform:capitalize}
@media(max-width:900px){.tech-month-tiles{grid-template-columns:repeat(3,1fr)}.tech-months-popup-grid{grid-template-columns:repeat(3,1fr)}}

/* STEP24EF.6.50.43 — ciblage d'une intervention depuis une contestation */
.clickable-intervention.intervention-deeplink-target td{
  background:#fff2b8!important;
  box-shadow:inset 0 2px 0 #e0a100,inset 0 -2px 0 #e0a100;
}
.clickable-intervention.intervention-deeplink-target td:first-child{box-shadow:inset 3px 0 0 #e0a100,inset 0 2px 0 #e0a100,inset 0 -2px 0 #e0a100}
.clickable-intervention.intervention-deeplink-target td:last-child{box-shadow:inset -3px 0 0 #e0a100,inset 0 2px 0 #e0a100,inset 0 -2px 0 #e0a100}
.clickable-intervention.intervention-deeplink-target{animation:threeTInterventionTargetPulse .75s ease-in-out 0s 4}
@keyframes threeTInterventionTargetPulse{0%,100%{filter:none}50%{filter:brightness(.94)}}

/* STEP24EF.6.50.51 — synthèse Carnet après import */
.daybook-import-summary{margin:10px 0 12px;padding:11px 13px;border:1px solid #cfe1e8;border-radius:11px;background:#f7fbfd;display:grid;gap:7px;color:#345c70}.daybook-import-summary>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.daybook-import-summary>div:first-child span{font-size:11px;color:#79909c}.daybook-import-chips{display:flex;flex-wrap:wrap;gap:6px}.daybook-import-chips span{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:850}.daybook-import-chips .ok{background:#e7f5ec;color:#2d7554}.daybook-import-chips .warn{background:#fff0e7;color:#a45b2d}.daybook-import-chips .muted{background:#edf2f4;color:#687e89}.daybook-import-chips .wait{background:#fff7dd;color:#8b6b16}.daybook-import-summary small{color:#6e8794}

/* STEP24EF.6.50.64 UControl license dialog */
.uc-license-dialog{
  width:min(560px,calc(100vw - 32px));
  max-width:560px;
  border:0;
  border-radius:14px;
  padding:0;
  overflow:hidden;
  background:#fff;
  color:#17384c;
  box-shadow:0 24px 80px rgba(8,30,44,.34);
}
.uc-license-dialog::backdrop{
  background:rgba(7,24,35,.58);
  backdrop-filter:blur(1px);
}
.uc-license-dialog-form{margin:0;padding:0;background:#fff}
.uc-license-dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px 14px;
  border-bottom:1px solid #e2eaee;
  background:#f8fbfc;
}
.uc-license-dialog-head small{
  display:block;
  margin-bottom:3px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  color:#6e8795;
}
.uc-license-dialog-head h3{
  margin:0;
  font-size:19px;
  line-height:1.2;
  color:#153d55;
}
.uc-license-dialog-close{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#6f8794;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.uc-license-dialog-close:hover{background:#eaf1f4;color:#274e63}
.uc-license-dialog-body{padding:17px 18px 4px}
.uc-license-dialog-warning{
  margin-bottom:14px;
  padding:11px 12px;
  border:1px solid #edd59a;
  border-radius:9px;
  background:#fff8e8;
}
.uc-license-dialog-warning-label{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#816d3e;
}
.uc-license-dialog-warning code{
  display:block;
  margin:0 0 5px;
  font-size:11px;
  color:#3f5561;
  word-break:break-all;
}
.uc-license-dialog-warning small{
  display:block;
  color:#74633b;
  font-size:11px;
  line-height:1.4;
}
.uc-license-dialog-field{
  display:block;
  margin:0 0 13px;
}
.uc-license-dialog-field>span{
  display:block;
  margin-bottom:5px;
  font-size:11px;
  font-weight:900;
  color:#5d7685;
}
.uc-license-dialog-field input{
  width:100%;
  box-sizing:border-box;
  min-height:40px;
  padding:9px 10px;
  border:1px solid #c7d6df;
  border-radius:8px;
  background:#fff;
  color:#17384c;
  font:inherit;
}
.uc-license-dialog-field input:focus{
  outline:0;
  border-color:#2e86b5;
  box-shadow:0 0 0 3px rgba(46,134,181,.12);
}
.uc-license-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:14px 18px 17px;
  border-top:1px solid #edf2f4;
  background:#fbfcfd;
}
@media(max-width:600px){
  .uc-license-dialog{width:calc(100vw - 20px)}
  .uc-license-dialog-actions{flex-direction:column-reverse}
  .uc-license-dialog-actions .admin-btn{width:100%}
}
/* END STEP24EF.6.50.64 */

@keyframes notificationPollPulse{0%{transform:scale(1)}35%{transform:scale(1.12)}100%{transform:scale(1)}}
.top-notification-bell.notification-poll-change{animation:notificationPollPulse .8s ease}


/* STEP24EF.6.50.74 — Carnets stable AJAX */
.carnet-tab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.carnet-tab-head h2{margin:0;color:#193f55}.carnet-tab-head p{margin:3px 0 0;color:#718793;font-size:12px}
.carnet-kpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:10px 0 14px}
.carnet-kpi{border:1px solid #dbe6eb;border-radius:9px;background:#fff;padding:10px}.carnet-kpi span{display:block;font-size:10px;font-weight:800;color:#6b8290;text-transform:uppercase}.carnet-kpi strong{display:block;margin-top:4px;font-size:18px;color:#22495f}
.carnet-kpi.warn{background:#fff8ea}.carnet-kpi.bad{background:#fff0ee}.carnet-kpi.ok{background:#edf9f1}
.carnet-table-wrap{border:1px solid #d8e4ea;border-radius:9px;overflow:hidden;background:#fff}
.carnet-table{width:100%;border-collapse:collapse;font-size:12px}.carnet-table th{background:#315f79;color:#fff;padding:8px;text-align:center}.carnet-table th.left,.carnet-table td.left{text-align:left}.carnet-table td{padding:8px;border-top:1px solid #e8eef1;text-align:center}.carnet-table tr.active{background:#eef7fc}.carnet-table tr:hover{background:#f7fafc}
.carnet-state{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900;background:#eef3f5;color:#456371}.carnet-state.pending,.carnet-state.in_review{background:#fff0d7;color:#8f600b}.carnet-state.tech_action,.carnet-state.tech_replied{background:#ffe8e5;color:#a23a31}.carnet-state.ready_validation,.carnet-state.controlled{background:#e6f7ec;color:#217044}
.carnet-examine{display:inline-block;border:1px solid #2f6d8e;border-radius:7px;padding:5px 8px;color:#2f6d8e;text-decoration:none;font-weight:800;background:#fff}
.carnet-detail{margin-top:14px;border:1px solid #cfdee6;border-radius:10px;background:#fff;overflow:hidden}.carnet-detail-head{padding:12px 14px;border-bottom:1px solid #e2ebef;display:flex;justify-content:space-between;gap:12px;align-items:center}.carnet-detail-head h3{margin:0;color:#234b61}.carnet-detail-body{padding:14px}
.carnet-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.carnet-chip{padding:6px 8px;border-radius:8px;background:#f0f5f7;font-size:11px;font-weight:800}.carnet-chip.ok{background:#e7f7ec;color:#267145}.carnet-chip.bad{background:#ffe9e7;color:#9a342b}
.carnet-issue{border:1px solid #e1eaee;border-radius:9px;padding:10px 12px;margin:8px 0}.carnet-issue.bad{border-color:#efbbb5;background:#fff9f8}.carnet-diff{display:grid;grid-template-columns:110px 1fr 25px 1fr;gap:8px;align-items:center;margin-top:6px;font-size:11px}.carnet-diff b{color:#617987}.carnet-diff .arrow{text-align:center;color:#91a2aa}.carnet-link{font-size:11px;font-weight:800;color:#2e7094;text-decoration:none}
.carnet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.carnet-actions form{border:1px solid #dce6eb;border-radius:9px;padding:10px}.carnet-actions textarea{width:100%;box-sizing:border-box;min-height:70px;border:1px solid #cbdbe3;border-radius:7px;padding:8px;margin-bottom:8px}.carnet-btn{border:0;border-radius:7px;padding:8px 10px;font-weight:800;color:#fff;background:#2e6f91;cursor:pointer}.carnet-btn.ok{background:#328453}.carnet-btn.warn{background:#d5781d}
.carnet-empty{padding:24px;text-align:center;color:#738995}
@media(max-width:900px){.carnet-kpis{grid-template-columns:1fr 1fr}.carnet-actions{grid-template-columns:1fr}.carnet-diff{grid-template-columns:1fr}.carnet-diff .arrow{display:none}.carnet-table-wrap{overflow:auto}}
/* END STEP24EF.6.50.74 */


/* STEP24EF.6.50.74 — anti-tremblement onglet Carnets */
.tab-content .carnet-table-wrap,
.tab-content .carnet-detail{
  contain:layout paint;
}



/* STEP24EF.6.50.86 — Centre À traiter en popup */
.notification-center-modal{
  position:fixed;inset:0;z-index:10070;display:none;align-items:center;justify-content:center;
  padding:28px;background:rgba(7,24,37,.58)
}
.notification-center-modal.open{display:flex}
.notification-center-card{
  width:min(1380px,calc(100vw - 56px));height:min(88vh,920px);
  display:flex;flex-direction:column;overflow:hidden;background:#f5f9fb;
  border:1px solid #c8d8e2;border-radius:18px;box-shadow:0 30px 90px rgba(8,29,43,.34)
}
.notification-center-modal-head{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:15px 18px;background:#173f58;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)
}
.notification-center-modal-head>div{display:flex;flex-direction:column;gap:2px}
.notification-center-modal-head span{font-size:9px;font-weight:850;letter-spacing:.12em;opacity:.7}
.notification-center-modal-head strong{font-size:18px}
.notification-center-close{
  width:36px;height:36px;border:0;border-radius:10px;background:rgba(255,255,255,.12);
  color:#fff;font-size:18px;font-weight:800;cursor:pointer
}
.notification-center-close:hover{background:rgba(255,255,255,.2)}
.notification-center-modal-body{flex:1;min-height:0;overflow:auto;padding:18px 20px 24px}
.notification-center-modal-body .pending-center{max-width:none;margin:0}
.notification-center-modal-body.loading{}
.notification-center-loading,.notification-center-error{
  display:flex;min-height:240px;align-items:center;justify-content:center;text-align:center;
  color:#607b8b;font-size:14px;font-weight:750
}
@media(max-width:900px){
  .notification-center-modal{padding:10px}
  .notification-center-card{width:calc(100vw - 20px);height:calc(100vh - 20px);border-radius:13px}
  .notification-center-modal-body{padding:12px}
}

/* STEP24EF.6.50.90 — groupes Absences compacts */
.absence-more-row td{padding:0!important;background:#f8fbfd!important}
.absence-more-btn{width:100%;border:0;background:#f8fbfd;color:#5d7484;font-size:11px;font-weight:850;padding:10px 12px;cursor:pointer}
.absence-more-btn:hover{background:#edf4f8;color:#285f80}
.absence-group-backdrop{position:fixed;inset:0;z-index:4900;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(8,25,40,.52)}
.absence-group-backdrop.open{display:flex}
.absence-group-modal{width:min(980px,92vw);height:min(760px,86vh);display:flex;flex-direction:column;background:#f4f7fa;border:1px solid #9eb2c3;box-shadow:0 24px 70px rgba(0,0,0,.34)}
.absence-group-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:#173f58;color:#fff}
.absence-group-head>div{display:flex;flex-direction:column;gap:2px}
.absence-group-head span{font-size:9px;letter-spacing:.12em;font-weight:850;opacity:.72}
.absence-group-head strong{font-size:17px}
.absence-group-head button{width:34px;height:34px;border:0;background:rgba(255,255,255,.13);color:#fff;font-size:17px;cursor:pointer}
.absence-group-body{flex:1;min-height:0;overflow:auto;padding:14px}
.absence-group-table{width:100%;background:#fff}
.absence-group-table .absence-data-row{cursor:default}
.absence-group-table .absence-data-row[ondblclick]{cursor:pointer}
.absence-group-table .absence-data-row:hover td{background:#eef5f9!important}


/* STEP24EF.6.50.92 — lisibilité validation Absence */
.absence-review-form{padding:20px 22px 18px!important}
.absence-review-banner{
  padding:15px 16px!important;
  border-color:#cfdde7!important;
  background:linear-gradient(180deg,#fbfdff,#f4f8fb)!important;
  box-shadow:0 1px 0 rgba(21,62,88,.04);
  margin-bottom:14px!important
}
.absence-review-person{min-width:0}
.absence-review-eyebrow{
  font-size:9px!important;font-weight:850!important;letter-spacing:.08em;
  text-transform:uppercase;color:#78909f!important
}
.absence-review-person strong{font-size:17px!important;color:#143b56!important;margin-top:3px!important}
.absence-review-person small{display:block;margin-top:3px;color:#78909f;font-size:10px;font-weight:650}
.absence-review-stage{
  flex:0 0 auto;padding:7px 10px!important;font-size:10px!important;
  border:1px solid #eed998;background:#fff3cf!important;color:#886018!important
}
.absence-review-grid{gap:11px!important}
.absence-review-grid .absence-review-card{
  min-height:64px;padding:12px 13px!important;border-color:#d7e3eb!important;
  box-shadow:0 1px 0 rgba(22,56,78,.03)
}
.absence-review-grid .absence-review-card>span{
  font-size:9px!important;font-weight:800;letter-spacing:.04em;text-transform:uppercase
}
.absence-review-grid .absence-review-card>strong{
  font-size:12px!important;line-height:1.35;color:#173f58!important;margin-top:5px!important
}
.absence-review-grid .absence-review-card>small{
  display:block;margin-top:4px;color:#6f8797;font-size:10px;font-weight:700
}
.absence-review-comment strong{font-weight:650!important}
.absence-flow-note{
  margin-top:14px!important;padding:12px 14px!important;font-size:10.5px!important;
  line-height:1.5!important;border:1px solid #d8e7ef
}
.absence-decision-footer{
  margin-top:14px!important;padding-top:12px!important;border-top:1px solid #d9e3ea!important;
  display:flex!important;justify-content:flex-end!important;align-items:center!important
}
.absence-decision-footer .topbtn{
  min-width:88px;min-height:38px;font-size:10.5px!important;font-weight:850!important
}
.absence-approve-btn{min-width:98px!important}
.absence-refuse-btn{min-width:98px!important}


/* STEP24EF.6.50.94 — Données : anti-scintillement pendant le scroll */
.data-groups-container{
  background:#eef4f8;
}
.data-groups-container>.data-tech-block{
  position:relative!important;
  background:#fff!important;
  isolation:isolate;
  contain:paint;
  transform:translateZ(0)!important;
  backface-visibility:hidden;
}
.data-groups-container>.data-tech-block>.data-tech-banner{
  position:relative;
  z-index:3;
  margin-bottom:0!important;
  transform:translateZ(0);
  backface-visibility:hidden;
  will-change:transform;
}
.data-groups-container>.data-tech-block>.data-tech-table-wrap{
  position:relative;
  z-index:2;
  margin-top:-1px!important;
  background:#fff;
  transform:translateZ(0);
  backface-visibility:hidden;
  will-change:transform;
}
.data-groups-container>.data-tech-block>.data-tech-table-wrap>.data-tech-table{
  margin-top:0!important;
  border-top:0!important;
  background:#fff;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.data-groups-container>.data-tech-block>.data-tech-table-wrap>.data-tech-table thead{
  transform:translateZ(0);
  backface-visibility:hidden;
}


/* STEP24EF.6.50.95 — popup Absences premium */
.absence-more-row{cursor:default}
.absence-more-btn{
  position:relative;
  padding:12px 14px!important;
  font-size:11px!important;
  letter-spacing:.01em;
  border-top:1px dashed #d5e2ea!important
}
.absence-more-btn:after{
  content:"Double-clique";
  margin-left:8px;
  padding:2px 6px;
  border-radius:999px;
  background:#e8f1f6;
  color:#5e7788;
  font-size:8px;
  font-weight:850;
  text-transform:uppercase
}
.absence-group-modal{
  width:min(1080px,94vw)!important;
  height:min(780px,88vh)!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#f5f8fa!important;
  border:1px solid #b6c9d6!important;
  box-shadow:0 30px 90px rgba(6,30,46,.34)!important
}
.absence-group-head{
  padding:16px 18px!important;
  background:linear-gradient(135deg,#173f58,#255d7d)!important
}
.absence-group-title-wrap strong{font-size:19px!important;letter-spacing:-.01em}
.absence-group-title-wrap small{
  display:block;margin-top:4px;color:#c7d8e3;font-size:10px;font-weight:650
}
.absence-group-close{
  width:38px!important;height:38px!important;border-radius:10px!important;
  background:rgba(255,255,255,.13)!important
}
.absence-group-summary{
  display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:8px;
  padding:11px 14px;background:#eaf1f5;border-bottom:1px solid #d4e0e8
}
.absence-group-summary>div{
  padding:8px 10px;background:#fff;border:1px solid #d3e0e8;border-radius:9px
}
.absence-group-summary span{
  display:block;font-size:8px;font-weight:850;color:#7b909e;text-transform:uppercase;letter-spacing:.06em
}
.absence-group-summary strong{display:block;margin-top:2px;color:#173f58;font-size:13px}
.absence-group-body{padding:14px 16px 18px!important;background:#f7fafc}
.absence-group-table{
  border:1px solid #c9d9e4!important;box-shadow:0 4px 18px rgba(17,54,78,.06)
}
.absence-group-table thead th{
  position:sticky;top:0;z-index:2;background:#285d7d!important;color:#fff!important
}
.absence-group-table .absence-group-clone:hover td{background:#e8f2f8!important}

/* STEP24EF.6.50.101 — KPI Prime harmonisé 3T */
.tech-modal-kpi.tech-prime-kpi{min-width:180px;background:linear-gradient(180deg,#f8fbfd,#edf4f8);border-color:#c7d7e2}
.tech-prime-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tech-prime-kpi-head>span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#58758a}
.tech-prime-kpi-head>em{font-style:normal;font-size:9px;font-weight:900;color:#b07a18;background:#fff4d8;border:1px solid #ecd79e;border-radius:999px;padding:2px 6px}
.tech-modal-kpi.tech-prime-kpi>strong{display:block;margin-top:5px;color:#173f58;font-size:20px}
.tech-prime-kpi-track{height:7px;margin:8px 0 5px;border-radius:999px;background:#d9e5ec;overflow:hidden}
.tech-prime-kpi-track>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f6282,#4f88aa)}
.tech-modal-kpi.tech-prime-kpi>small{display:block;color:#6d8291;font-size:8.5px;font-weight:700;white-space:normal;line-height:1.25}

/* STEP24EF.6.50.101 — coque instantanée fiche technicien */
.tech-modal-skeleton{padding:22px;min-height:430px;background:#f7fafc}
.tech-skel-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #dbe5eb}
.tech-skel-head>i{width:54px;height:54px;border-radius:14px;background:#dbe7ee;display:block}
.tech-skel-head>div{display:flex;flex-direction:column;gap:8px;flex:1}
.tech-skel-head b{display:block;width:220px;max-width:55%;height:18px;border-radius:7px;background:#d3e1e9}
.tech-skel-head span{display:block;width:150px;max-width:38%;height:10px;border-radius:6px;background:#e0e9ee}
.tech-skel-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}
.tech-skel-kpis i{display:block;height:76px;border-radius:10px;background:#e1eaf0}
.tech-skel-line{height:42px;margin-top:10px;border-radius:9px;background:#e5edf2}
.tech-skel-line.wide{height:110px}
.tech-modal-skeleton i,.tech-modal-skeleton b,.tech-modal-skeleton span,.tech-skel-line{
  animation:techSkeletonPulse 1.05s ease-in-out infinite alternate
}
@keyframes techSkeletonPulse{from{opacity:.58}to{opacity:1}}


/* STEP24EF.6.50.104 — KPI journée compacts + Échecs / Absences */
.kpis.kpis-day-compact{
  grid-template-columns:repeat(7,minmax(108px,1fr));
  gap:6px;
}
.kpis-day-compact .kpi-card{
  height:66px;
  padding:7px 9px;
  border-top-width:3px;
}
.kpis-day-compact .kpi-lab{font-size:8px}
.kpis-day-compact .kpi-value{font-size:19px;margin-top:4px;line-height:1.05}
.kpis-day-compact .kpi-sub{font-size:8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpis-day-compact .kpi-alert{border-top-color:#c95d5d}
.kpis-day-compact .kpi-absence{border-top-color:#b37a3e}
@media(max-width:1250px){
  .kpis.kpis-day-compact{grid-template-columns:repeat(4,minmax(120px,1fr))}
}
@media(max-width:760px){
  .kpis.kpis-day-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* STEP24EF.6.50.107 — RGPD 1/4 */
.rgpd-topbtn{text-decoration:none;display:flex;align-items:center}
.rgpd-page{padding:18px;max-width:1180px;margin:0 auto}
.rgpd-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px;border:1px solid #d8e5ec;border-radius:14px;background:#f8fbfd;margin-bottom:14px}
.rgpd-kicker{font-size:9px;font-weight:900;letter-spacing:.08em;color:#58758a}.rgpd-hero h1{margin:5px 0 7px;color:#173f58}.rgpd-hero p{margin:0;max-width:760px;color:#607b8c;line-height:1.5}
.rgpd-step{white-space:nowrap;background:#e9f2f7;border:1px solid #cfdee7;border-radius:999px;padding:6px 10px;color:#315f79;font-size:9px;font-weight:900}
.rgpd-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rgpd-card{background:#fff;border:1px solid #dce6ec;border-radius:12px;padding:16px}.rgpd-card h2{margin:0 0 8px;color:#244f68;font-size:14px}.rgpd-card p{margin:6px 0;color:#637d8c;font-size:10.5px;line-height:1.55}
.rgpd-note{margin-top:10px;padding:12px 14px;border-radius:10px;background:#fff8e7;border:1px solid #ead9aa;color:#755e29;font-size:10px}
@media(max-width:800px){.rgpd-grid{grid-template-columns:1fr}.rgpd-hero{flex-direction:column}}


/* STEP24EF.6.50.108 — topbar icons harmonisés */
.topbar .topbtn-iconized{
  display:flex;
  align-items:center;
  gap:6px;
  text-decoration:none;
}
.topbar .topbtn-svg-icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.topbar .send-topbtn .icon-mail{color:#2c78ad}
.topbar .guarantee-center-topbtn .icon-guarantee{color:#2f7f9b}
.topbar .admin-topbtn .icon-admin{color:#6a5aa7}
.topbar .rgpd-topbtn .icon-rgpd{color:#26856d}
.topbar .security-topbtn .icon-security{color:#b27819}
.topbar .support-ticket-topbtn{color:#244f68}
.topbar .topbtn-iconized:hover .topbtn-svg-icon{
  transform:translateY(-1px) scale(1.04);
}
.topbar .topbtn-svg-icon{
  transition:transform .12s ease,color .12s ease;
}


/* STEP24EF.6.50.109 — topbar hover cohérent + navigation utilitaire */
.topbar .support-ticket-topbtn .icon-ticket{color:#17839b}
.topbar .topbtn-iconized{
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;
}
.topbar .topbtn-iconized:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 8px rgba(20,55,78,.14);
  border-color:#9bb8c9;
  background:#f7fbfd;
}
.topbar .support-ticket-topbtn:hover .icon-ticket{
  transform:translateY(-1px) scale(1.04);
}


/* STEP24EF.6.50.110 — RGPD 2/4 : inventaire & rétention */
.rgpd-section{margin:12px 0;padding:16px;background:#fff;border:1px solid #dbe6ec;border-radius:12px}
.rgpd-section-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:12px}
.rgpd-section-head h2{margin:3px 0 4px;color:#244f68;font-size:15px}
.rgpd-section-head p{margin:0;color:#6d8493;font-size:10px;line-height:1.5}
.rgpd-count-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:7px}
.rgpd-count-card{padding:10px 11px;border:1px solid #dce7ed;border-radius:9px;background:#f8fbfd}
.rgpd-count-card span{display:block;color:#738997;font-size:8.5px;font-weight:800;text-transform:uppercase}
.rgpd-count-card strong{display:block;margin-top:4px;color:#173f58;font-size:18px}
.rgpd-retention-table-wrap{overflow:auto;border:1px solid #dce6ec;border-radius:9px}
.rgpd-retention-table{width:100%;border-collapse:collapse;font-size:9.5px}
.rgpd-retention-table th{padding:8px;background:#285d7d;color:#fff;text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.rgpd-retention-table td{padding:9px 8px;border-bottom:1px solid #e7eef2;color:#5f7787;vertical-align:top;line-height:1.4}
.rgpd-retention-table td strong{color:#244f68}
.rgpd-mode{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}
.rgpd-mode.auto{background:#e5f4ec;color:#2f7655;border:1px solid #c9e5d5}
.rgpd-mode.manual{background:#fff4db;color:#8a6725;border:1px solid #ead9a9}
.rgpd-maintenance-list{display:flex;flex-direction:column;border:1px solid #dce6ec;border-radius:9px;overflow:hidden}
.rgpd-maintenance-row{display:grid;grid-template-columns:150px 140px 100px 1fr;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid #e8eef2;font-size:9px}
.rgpd-maintenance-row:last-child{border-bottom:0}.rgpd-maintenance-row>span{color:#738997}.rgpd-maintenance-row>strong{color:#244f68}.rgpd-maintenance-row>em{font-style:normal;font-weight:850;color:#55778a}.rgpd-maintenance-row>small{color:#8397a3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rgpd-empty{padding:14px;border:1px dashed #cedde5;border-radius:9px;color:#8195a2;text-align:center;font-size:9.5px}
.rgpd-note-blue{background:#eef6fa;border-color:#cee0e9;color:#4b7185}
@media(max-width:1050px){.rgpd-count-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.rgpd-count-grid{grid-template-columns:repeat(2,1fr)}.rgpd-maintenance-row{grid-template-columns:1fr 1fr}.rgpd-maintenance-row>small{grid-column:1/-1}}


/* STEP24EF.6.50.111 — RGPD 3/4 : droits des personnes */
.rgpd-request-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 14px;padding:12px;border:1px solid #dbe6ec;border-radius:10px;background:#f8fbfd}
.rgpd-request-form label>span{display:block;margin-bottom:4px;font-size:8.5px;font-weight:850;text-transform:uppercase;color:#6e8695}
.rgpd-request-form select,.rgpd-request-form textarea{width:100%;box-sizing:border-box;border:1px solid #cddde5;border-radius:7px;padding:8px;background:#fff;color:#31566b;font:600 10px Inter}
.rgpd-request-form .wide{grid-column:1/-1}.rgpd-request-actions{display:flex;justify-content:flex-end}
.rgpd-rights-table-wrap{overflow:auto;border:1px solid #dce6ec;border-radius:9px}
.rgpd-rights-table{width:100%;border-collapse:collapse;font-size:9px}
.rgpd-rights-table th{background:#285d7d;color:#fff;padding:7px 8px;text-align:left;font-size:8px;text-transform:uppercase}
.rgpd-rights-table td{padding:8px;border-bottom:1px solid #e7eef2;vertical-align:top;color:#607989}
.rgpd-rights-table td>strong{display:block;color:#244f68}.rgpd-rights-table td>small{display:block;margin-top:2px;color:#8598a4}
.rgpd-request-status{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}
.rgpd-request-status.received{background:#fff3d4;color:#8a651e}.rgpd-request-status.in_review{background:#e6f0f8;color:#315f80}
.rgpd-request-status.completed{background:#e4f3eb;color:#327255}.rgpd-request-status.refused{background:#f8e6e7;color:#94484e}
.rgpd-request-tools{min-width:380px}.rgpd-request-tools>a,.rgpd-request-tools>button{display:inline-flex;margin-right:5px}
.rgpd-request-tools form{display:grid;grid-template-columns:115px 1fr auto;gap:5px;margin-top:6px}
.rgpd-request-tools select,.rgpd-request-tools input,.rgpd-request-tools button{min-height:28px;border:1px solid #ccdce5;background:#fff;border-radius:5px;padding:4px 6px;font-size:8.5px}
.rgpd-request-tools button{cursor:pointer;background:#edf4f8;color:#31566b;font-weight:800}
.rgpd-export-btn{text-decoration:none!important}
.rgpd-success,.rgpd-error{padding:8px 10px;border-radius:8px;font-size:9.5px;margin:7px 0}.rgpd-success{background:#e7f5ed;color:#347457;border:1px solid #cde6d8}.rgpd-error{background:#fae8e8;color:#984b50;border:1px solid #eccdce}
.privacy-events-backdrop{display:none;position:fixed;inset:0;z-index:10050;background:rgba(18,42,57,.46);align-items:center;justify-content:center;padding:30px}
.privacy-events-backdrop.open{display:flex}.privacy-events-card{position:relative;width:min(760px,92vw);max-height:80vh;overflow:auto;background:#fff;border-radius:13px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:20px}
.privacy-events-close{position:absolute;right:12px;top:12px;border:0;background:#ca5b61;color:white;width:30px;height:30px;border-radius:7px;cursor:pointer}
.privacy-event-popup h2{margin:0;color:#173f58}.privacy-event-popup>p{color:#78909d}.privacy-event-list{margin-top:12px;border:1px solid #dce6ec;border-radius:9px;overflow:hidden}
.privacy-event-list>div{display:grid;grid-template-columns:100px 150px 120px 1fr;gap:8px;padding:9px;border-bottom:1px solid #e7eef2;font-size:9px}.privacy-event-list>div:last-child{border-bottom:0}.privacy-event-list strong{color:#244f68}.privacy-event-list span,.privacy-event-list em{color:#738997;font-style:normal}.privacy-event-list p{margin:0;color:#5f7787}
@media(max-width:800px){.rgpd-request-form{grid-template-columns:1fr}.rgpd-request-form .wide{grid-column:1}.rgpd-request-tools{min-width:300px}.privacy-event-list>div{grid-template-columns:1fr 1fr}.privacy-event-list p{grid-column:1/-1}}

/* STEP24EF.6.50.115 — RGPD lisibilité équivalente ~115 % Chrome */
.rgpd-page{max-width:1380px;font-size:115%}
.rgpd-page .rgpd-kicker{font-size:10px}.rgpd-page .rgpd-hero h1{font-size:23px}.rgpd-page .rgpd-hero p{font-size:12px}
.rgpd-page .rgpd-step{font-size:10px}.rgpd-page .rgpd-card h2,.rgpd-page .rgpd-section-head h2{font-size:15px}
.rgpd-page .rgpd-card p,.rgpd-page .rgpd-section-head p,.rgpd-page .rgpd-note{font-size:11px}
.rgpd-page .rgpd-count-card span{font-size:9px}.rgpd-page .rgpd-count-card strong{font-size:19px}
.rgpd-page .rgpd-retention-table,.rgpd-page .rgpd-rights-table{font-size:10px}
.rgpd-page .rgpd-retention-table th,.rgpd-page .rgpd-rights-table th{font-size:9px}
.rgpd-page .rgpd-request-form label>span{font-size:9.5px}.rgpd-page .rgpd-request-form select,.rgpd-page .rgpd-request-form textarea{font-size:11px}
.rgpd-page .rgpd-maintenance-row,.rgpd-page .rgpd-request-tools select,.rgpd-page .rgpd-request-tools input,.rgpd-page .rgpd-request-tools button{font-size:9.5px}
.rgpd-final-section{border-top:3px solid #2c7b91}.rgpd-pdf-btn{text-decoration:none;align-self:center;white-space:nowrap}
.rgpd-register-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.rgpd-register-card{border:1px solid #d9e5eb;border-radius:10px;padding:12px;background:#f9fbfc}
.rgpd-register-card h3{margin:0 0 8px;color:#1d526f;font-size:13px}.rgpd-register-card p{margin:5px 0;color:#627c8b;font-size:10px;line-height:1.45}.rgpd-register-card p strong{display:block;color:#315d75;font-size:8.5px;text-transform:uppercase}
.rgpd-checklist{display:flex;flex-direction:column;gap:6px}.rgpd-check-row{display:grid;grid-template-columns:28px 1fr 80px;gap:8px;align-items:center;border:1px solid #dbe6ec;border-radius:9px;padding:9px}
.rgpd-check-row>span{display:flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;font-weight:900}.rgpd-check-row strong{color:#31566b;font-size:10.5px}.rgpd-check-row p{margin:2px 0 0;color:#748b98;font-size:9.5px}.rgpd-check-row em{font-style:normal;font-size:9px;font-weight:900;text-align:right}
.rgpd-check-row.implemented>span{background:#e3f3ea;color:#2d7653}.rgpd-check-row.implemented>em{color:#2d7653}.rgpd-check-row.pending>span{background:#fff0cf;color:#92691e}.rgpd-check-row.pending>em{color:#92691e}
.rgpd-breach-form{display:grid;grid-template-columns:2fr 1fr 1.4fr 1fr 1fr;gap:8px;padding:12px;background:#f8fbfd;border:1px solid #dbe6ec;border-radius:10px;margin-bottom:12px}
.rgpd-breach-form .wide{grid-column:1/-1}.rgpd-breach-form label>span{display:block;margin-bottom:4px;color:#6d8493;font-size:9px;font-weight:850;text-transform:uppercase}.rgpd-breach-form input,.rgpd-breach-form select,.rgpd-breach-form textarea{box-sizing:border-box;width:100%;padding:7px;border:1px solid #ccdde5;border-radius:6px;font-size:10px}
.rgpd-breach-list{display:flex;flex-direction:column;gap:8px}.rgpd-breach-card{border:1px solid #dbe6ec;border-left:4px solid #7693a3;border-radius:9px;padding:10px}.rgpd-breach-card.risk{border-left-color:#d08c28}.rgpd-breach-card.high{border-left-color:#c65055}
.rgpd-breach-title{display:flex;justify-content:space-between;gap:12px;color:#31566b;font-size:10.5px}.rgpd-breach-card>p{color:#718996;font-size:9.5px}.rgpd-breach-flags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.rgpd-breach-flags span{padding:3px 6px;background:#eef4f7;border-radius:999px;font-size:8.5px;color:#587487}
.rgpd-breach-card form{display:grid;grid-template-columns:100px 120px 145px 1fr auto;gap:6px;align-items:center}.rgpd-breach-card form input,.rgpd-breach-card form select,.rgpd-breach-card form button{min-height:28px;border:1px solid #ccdce5;border-radius:5px;padding:4px 6px;font-size:9px}.rgpd-breach-card form label{font-size:9px;color:#5d7888}
@media(max-width:1000px){.rgpd-register-grid{grid-template-columns:1fr}.rgpd-breach-form{grid-template-columns:1fr 1fr}.rgpd-breach-form .wide{grid-column:1/-1}.rgpd-breach-card form{grid-template-columns:1fr 1fr}.rgpd-breach-card form input{grid-column:1/-1}}


/* STEP24EF.6.50.113 — demandes RGPD dans Centre À traiter */
.notify-kpi.rgpd{border-top-color:#27856d!important}
.pending-type-rgpd{border-left-color:#27856d!important}
.summary-rgpd{color:#27856d!important}
.privacy-request-action-backdrop{display:none;position:fixed;inset:0;z-index:11050;background:rgba(17,40,54,.5);align-items:center;justify-content:center;padding:28px}
.privacy-request-action-backdrop.open{display:flex}
.privacy-request-action-card{width:min(830px,94vw);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.privacy-request-action-loading{padding:45px;text-align:center;color:#748b98;font-size:12px}
.privacy-request-modal-sheet{font-size:115%}
.privacy-request-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:18px 20px;background:#f4f9fb;border-bottom:1px solid #d9e6ec}
.privacy-request-modal-head span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#26856d}.privacy-request-modal-head h2{margin:4px 0;color:#173f58;font-size:18px}.privacy-request-modal-head p{margin:0;color:#708997;font-size:10px}
.privacy-request-modal-head button{border:0;background:#c85b61;color:#fff;width:30px;height:30px;border-radius:7px;cursor:pointer}
.privacy-request-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 20px 8px}.privacy-request-modal-grid>div{border:1px solid #dce7ed;border-radius:8px;padding:9px;background:#fbfcfd}.privacy-request-modal-grid .wide{grid-column:1/-1}.privacy-request-modal-grid span,.privacy-request-modal-form label>span{display:block;font-size:8.5px;text-transform:uppercase;font-weight:850;color:#748b98}.privacy-request-modal-grid strong{display:block;margin-top:4px;color:#31566b}.privacy-request-modal-grid p{margin:4px 0;color:#607989}
.privacy-request-export{display:inline-flex;margin:3px 20px 8px;text-decoration:none}
.privacy-request-modal-form{display:grid;grid-template-columns:180px 1fr;gap:9px;padding:10px 20px 16px}.privacy-request-modal-form .wide{grid-column:2}.privacy-request-modal-form select,.privacy-request-modal-form textarea{width:100%;box-sizing:border-box;border:1px solid #ccdce5;border-radius:7px;padding:8px;font:600 10px Inter}.privacy-request-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px}
.privacy-request-modal-events{border-top:1px solid #dfe9ee;padding:14px 20px 20px}.privacy-request-modal-events h3{margin:0 0 8px;color:#31566b}.privacy-request-modal-events>div{display:grid;grid-template-columns:100px 145px 120px 1fr;gap:7px;padding:7px;border-bottom:1px solid #edf2f5;font-size:9px}.privacy-request-modal-events strong{color:#31566b}.privacy-request-modal-events span,.privacy-request-modal-events em{color:#7a909d;font-style:normal}.privacy-request-modal-events p{margin:0;color:#607989}
@media(max-width:700px){.privacy-request-modal-form{grid-template-columns:1fr}.privacy-request-modal-form .wide{grid-column:1}.privacy-request-modal-events>div{grid-template-columns:1fr 1fr}.privacy-request-modal-events p{grid-column:1/-1}}

/* STEP24EF.6.50.114 — RGPD 4.1 gouvernance */
.rgpd-config-form{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px;border:1px solid #dce7ed;border-radius:10px;background:#f9fbfc}
.rgpd-config-form .wide{grid-column:1/-1}.rgpd-config-form label>span{display:block;margin-bottom:4px;font-size:9px;font-weight:850;text-transform:uppercase;color:#718896}
.rgpd-config-form input,.rgpd-config-form select,.rgpd-config-form textarea,.rgpd-processor-form input,.rgpd-processor-form select{box-sizing:border-box;width:100%;border:1px solid #ccdce5;border-radius:6px;padding:7px;font-size:10px;background:#fff}
.rgpd-subtitle{margin:15px 0 7px;color:#31566b}.rgpd-processor-form{display:grid;grid-template-columns:1fr 1fr 1.4fr .7fr 1fr .7fr 1.2fr 1fr auto;gap:5px;align-items:center}
.rgpd-inline-check{display:flex;align-items:center;gap:4px;font-size:9px;color:#5e7787}.rgpd-inline-check input{width:auto}
.rgpd-processors{margin-top:8px}.rgpd-processors>div{display:grid;grid-template-columns:180px 1fr auto;gap:8px;padding:7px;border-bottom:1px solid #e4edf1;font-size:9.5px}.rgpd-processors strong{color:#31566b}.rgpd-processors span{color:#718895}.rgpd-processors button{border:0;background:#f7e7e8;color:#994b50;border-radius:5px;padding:4px 7px;cursor:pointer}
.rgpd-retention-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.rgpd-retention-detail-grid article{border:1px solid #dce7ed;border-radius:9px;padding:10px;background:#fafcfd}.rgpd-retention-detail-grid h3{margin:0 0 7px;color:#31566b;font-size:11px}.rgpd-retention-detail-grid p{margin:4px 0;color:#687f8d;font-size:9.5px}.rgpd-retention-detail-grid p strong{display:inline-block;min-width:85px;color:#31566b}.rgpd-retention-detail-grid small{display:block;margin-top:6px;color:#8799a3}
@media(max-width:1000px){.rgpd-processor-form{grid-template-columns:1fr 1fr}.rgpd-retention-detail-grid{grid-template-columns:1fr}}
/* STEP24EF.6.50.116 — architecture RGPD réelle */
.rgpd-architecture-note{border:1px solid #cfe2e8;border-left:4px solid #2b7d73;border-radius:7px;background:#f4faf9;padding:9px 11px;color:#55717f;font-size:9.5px}
.rgpd-architecture-note strong{color:#2b625c}

/* STEP24EF.6.50.117 — Dossier RGPD V2 */
.rgpd-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.rgpd-status-row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;border:1px solid #dce7ed;border-radius:8px;padding:9px;background:#fafcfd}
.rgpd-status-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:900}
.rgpd-status-row.implemented .rgpd-status-icon,.rgpd-status-row.validated .rgpd-status-icon{background:#e4f4ee;color:#277a62}
.rgpd-status-row.pending .rgpd-status-icon{background:#fff1d9;color:#9a6817}
.rgpd-status-row strong{color:#31566b;font-size:10px}.rgpd-status-row em{font-style:normal;font-size:9px;color:#728996}
.rgpd-validation-pill{display:inline-block;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:850}
.rgpd-validation-pill.pending{background:#fff1d9;color:#966719}
@media(max-width:900px){.rgpd-status-grid{grid-template-columns:1fr}}

/* STEP24EF.6.50.119 — module RGPD en sous-pages */
.rgpd-module-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:12px;align-items:start}
.rgpd-side-nav{position:sticky;top:8px;display:flex;flex-direction:column;gap:5px;padding:9px;border:1px solid #d8e5ec;border-radius:11px;background:#f8fbfd}
.rgpd-side-nav button{border:1px solid transparent;background:transparent;color:#547184;border-radius:7px;padding:9px 10px;text-align:left;font-size:10px;font-weight:800;cursor:pointer;transition:.12s ease}
.rgpd-side-nav button:hover{background:#eef5f8;border-color:#d7e5eb;color:#315d75}
.rgpd-side-nav button.active{background:#285d7d;color:#fff;border-color:#285d7d;box-shadow:0 2px 7px rgba(34,79,106,.18)}
.rgpd-module-main{min-width:0}
.rgpd-module-main>[hidden]{display:none!important}
.rgpd-module-main>.rgpd-section:first-child{margin-top:0}
@media(max-width:900px){
  .rgpd-module-layout{grid-template-columns:1fr}
  .rgpd-side-nav{position:static;display:flex;flex-direction:row;overflow:auto;white-space:nowrap}
  .rgpd-side-nav button{flex:0 0 auto}
}


/* STEP24EF.6.50.120 — popup Journal RGPD globale au module */
.rgpd-module-main > .privacy-events-backdrop[data-rgpd-global="1"]{
  /* L'affichage reste piloté par .open ; jamais par une sous-page RGPD. */
}
.rgpd-module-main > .privacy-events-backdrop[data-rgpd-global="1"].open{
  display:flex!important;
}


/* STEP24EF.6.50.121 — états visuels du registre des violations */
.rgpd-breach-card.status-closed{
  border-left-color:#3c8b6a;
  background:#f5faf7;
  opacity:.92;
}
.rgpd-breach-card.status-contained{
  border-left-color:#c58a2c;
  background:#fffaf0;
}
.rgpd-breach-card.status-open{
  background:#fff;
}
.rgpd-breach-title-right{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.rgpd-breach-status-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 7px;
  font-size:8px;
  font-weight:950;
  letter-spacing:.03em;
}
.rgpd-breach-status-badge.open{
  background:#fde9e9;
  color:#a4464b;
  border:1px solid #efcfd1;
}
.rgpd-breach-status-badge.contained{
  background:#fff0d4;
  color:#91651d;
  border:1px solid #ecd59f;
}
.rgpd-breach-status-badge.closed{
  background:#e3f3ea;
  color:#2e7356;
  border:1px solid #c7e3d3;
}
.rgpd-breach-closed-line{
  margin:7px 0 2px;
  padding:6px 8px;
  border-radius:7px;
  background:#e9f5ee;
  color:#347459;
  font-size:9px;
  font-weight:850;
}

/* STEP24EF.6.50.123 — finalisation conformité */
.rgpd-finalisation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.rgpd-final-card{border:1px solid #d9e5eb;border-radius:10px;background:#fbfdfe;padding:11px}
.rgpd-final-card.sensitive{border-left:4px solid #c27a43}
.rgpd-final-card.verified{border-left:4px solid #3b896a;background:#f7fbf8}
.rgpd-final-card h3{margin:0 0 5px;color:#285d7d;font-size:12px}
.rgpd-final-card p,.rgpd-final-card li{font-size:9px;color:#607a89;line-height:1.4}
.rgpd-final-card label{display:block;margin-top:7px;font-size:8px;font-weight:850;color:#4c6878}
.rgpd-final-card input,.rgpd-final-card select,.rgpd-final-card textarea{width:100%;box-sizing:border-box;margin-top:3px}
.rgpd-final-card textarea{min-height:54px;resize:vertical}
.rgpd-finalisation-actions{display:flex;justify-content:flex-end;margin-top:9px}
@media(max-width:900px){.rgpd-finalisation-grid{grid-template-columns:1fr}}


/* STEP24EF.6.50.124 — lisibilité RGPD renforcée */
.rgpd-page{
  max-width:1480px;
  font-size:122%;
}
.rgpd-page .rgpd-hero{
  padding:20px 22px;
}
.rgpd-page .rgpd-hero h1{
  font-size:26px;
  line-height:1.15;
}
.rgpd-page .rgpd-hero p{
  font-size:12.5px;
  line-height:1.5;
}
.rgpd-page .rgpd-kicker{
  font-size:10.5px;
}
.rgpd-side-nav{
  width:auto;
  padding:11px;
  gap:6px;
}
.rgpd-side-nav button{
  padding:11px 12px;
  font-size:11.5px;
  line-height:1.25;
}
.rgpd-page .rgpd-section{
  padding:18px;
}
.rgpd-page .rgpd-section-head h2{
  font-size:17px;
  line-height:1.25;
}
.rgpd-page .rgpd-section-head p{
  font-size:11.5px;
  line-height:1.5;
}
.rgpd-page .rgpd-card h2{
  font-size:16px;
}
.rgpd-page .rgpd-card p,
.rgpd-page .rgpd-note{
  font-size:11px;
  line-height:1.5;
}

/* Finalisation : rendre les 4 cartes réellement confortables */
.rgpd-finalisation-grid{
  gap:12px;
}
.rgpd-final-card{
  padding:14px;
}
.rgpd-final-card h3{
  font-size:14px;
  margin-bottom:7px;
}
.rgpd-final-card p,
.rgpd-final-card li{
  font-size:10.5px;
  line-height:1.5;
}
.rgpd-final-card label{
  margin-top:9px;
  font-size:9.5px;
}
.rgpd-final-card input,
.rgpd-final-card select,
.rgpd-final-card textarea{
  min-height:36px;
  padding:8px 9px;
  font-size:11px;
}
.rgpd-final-card textarea{
  min-height:72px;
}
.rgpd-finalisation-actions .topbtn{
  min-height:36px;
  padding:8px 13px;
  font-size:10.5px;
}

/* Etat conformité */
.rgpd-status-row{
  padding:11px;
  gap:10px;
}
.rgpd-status-row strong{
  font-size:11px;
}
.rgpd-status-row em{
  font-size:10px;
}

/* Tables RGPD */
.rgpd-page .rgpd-retention-table,
.rgpd-page .rgpd-rights-table{
  font-size:11px;
}
.rgpd-page .rgpd-retention-table th,
.rgpd-page .rgpd-rights-table th{
  font-size:9.5px;
  padding:9px;
}
.rgpd-page .rgpd-retention-table td,
.rgpd-page .rgpd-rights-table td{
  padding:10px 9px;
}

/* Architecture / gouvernance */
.rgpd-config-form label>span{
  font-size:10px;
}
.rgpd-config-form input,
.rgpd-config-form select,
.rgpd-config-form textarea,
.rgpd-processor-form input,
.rgpd-processor-form select{
  min-height:35px;
  font-size:11px;
  padding:8px;
}

/* Demandes et incidents */
.rgpd-request-form label>span{
  font-size:10px;
}
.rgpd-request-form select,
.rgpd-request-form textarea{
  font-size:11px;
}
.rgpd-breach-form label>span{
  font-size:10px;
}
.rgpd-breach-form input,
.rgpd-breach-form select,
.rgpd-breach-form textarea{
  font-size:11px;
}
.rgpd-breach-title{
  font-size:11.5px;
}
.rgpd-breach-card>p{
  font-size:10.5px;
}

/* Popup demande RGPD alignée */
.privacy-request-modal-sheet{
  font-size:120%;
}


/* STEP24EF.6.50.125 — validation indépendante des points critiques */
.rgpd-final-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.rgpd-final-card-head h3{
  margin:0;
}
.rgpd-final-state{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:8.5px;
  font-weight:900;
  white-space:nowrap;
}
.rgpd-final-state.pending{
  background:#fff0d5;
  color:#96681c;
  border:1px solid #ead39f;
}
.rgpd-final-state.review{
  background:#e9f1f7;
  color:#386882;
  border:1px solid #d0e0e9;
}
.rgpd-final-state.technical{
  background:#eaf2fb;
  color:#33668d;
  border:1px solid #cbdeee;
}
.rgpd-final-state.validated{
  background:#e4f4eb;
  color:#2f7657;
  border:1px solid #c7e5d4;
}
.rgpd-final-card.validated{
  border-left:4px solid #3d8b69!important;
  background:#f6fbf8;
}
.rgpd-final-item-form{
  display:flex;
  flex-direction:column;
}
.rgpd-final-item-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  margin-top:9px;
}
.rgpd-final-item-actions .topbtn.success{
  background:#2f8a65;
  border-color:#2f8a65;
  color:#fff;
}
.rgpd-final-item-actions .topbtn.success:hover{
  background:#287657;
}

/* STEP24EF.6.50.126 — checklist finale alimentée par les validations */
.rgpd-compliance-conclusion{margin:0 0 12px;padding:13px 15px;border-radius:10px;border:1px solid #d8e5eb}
.rgpd-compliance-conclusion strong{display:block;font-size:14px;margin-bottom:4px}
.rgpd-compliance-conclusion span{font-size:10.5px;font-weight:800}
.rgpd-compliance-conclusion p{margin:5px 0 0;font-size:10.5px}
.rgpd-compliance-conclusion.complete{background:#eef8f2;border-color:#bfdfcd;color:#2d7254}
.rgpd-compliance-conclusion.pending{background:#fff8eb;border-color:#ead7ae;color:#846126}

/* STEP24EF.6.50.127 — UControl updater local */
.uc-update-box{margin:14px 0;padding:14px;border:1px solid #d7e5ec;border-radius:11px;background:#f8fbfd}
.uc-update-box.available{border-left:4px solid #2785b8;background:#f5fbfe}
.uc-update-box-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.uc-update-kicker{font-size:8px;font-weight:950;letter-spacing:.08em;color:#6b8493}
.uc-update-box h3{margin:4px 0 4px;color:#173f58}.uc-update-box p{margin:0;color:#6f8796;font-size:10px}
.uc-update-pill{border-radius:999px;padding:4px 8px;background:#e8f4fb;color:#2579a7;font-size:8px;font-weight:900}.uc-update-pill.ok{background:#e7f5ed;color:#2d7a58}
.uc-update-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.uc-update-meta-grid>div{padding:9px;border:1px solid #dce8ee;border-radius:8px;background:#fff}.uc-update-meta-grid span{display:block;font-size:8px;color:#778e9b;font-weight:800}.uc-update-meta-grid strong{display:block;margin-top:4px;font-size:10px;color:#254d64;word-break:break-word}
.uc-update-warning{margin:10px 0;padding:9px;border-radius:8px;background:#fff8e8;border:1px solid #ecdba9;color:#7c6327;font-size:9px;line-height:1.45}
.uc-update-agent-state{margin-top:10px;padding:9px;border-radius:8px;background:#eef5f8}.uc-update-agent-state span,.uc-update-agent-state small{display:block;font-size:8px;color:#708895}.uc-update-agent-state strong{display:block;margin:2px 0;color:#244d65}
@media(max-width:800px){.uc-update-meta-grid{grid-template-columns:1fr}}


/* STEP24EF.6.50.129 — alignement horizontal de la colonne Journées
   Tous les blocs de premier niveau utilisent désormais exactement le même
   retrait gauche/droite. Cela aligne Date sélectionnée, actions et arbre projet. */
.days-sidebar{
  box-sizing:border-box;
}
.days-sidebar .selected-day-card,
.days-sidebar .side-action,
.days-sidebar > .tree-year{
  box-sizing:border-box;
  width:auto;
  margin-left:7px;
  margin-right:7px;
}
.days-sidebar > .tree-year{
  margin-top:5px;
}
/* Le contenu imbriqué (mois / semaines / jours) reste volontairement en retrait. */
.days-sidebar .tree-year > summary{
  box-sizing:border-box;
}

/* STEP24EF.6.50.131 — bouton MAJ global + confirmation */
.update-topbtn{position:relative;background:#edf5f9!important;color:#315f78!important;border:1px solid #bcd3df!important}
.update-topbtn:hover{background:#e2f0f6!important}
.update-topbtn.has-update{background:#fff4d9!important;color:#7b5a17!important;border-color:#e3bd62!important}
.icon-update{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.update-topbtn-count{position:absolute;right:-5px;top:-6px;min-width:17px;height:17px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:#df4f55;color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:950;line-height:1}

.three-t-update-modal{position:fixed;inset:0;z-index:10080;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(11,33,49,.58);backdrop-filter:blur(2px)}
.three-t-update-modal.open{display:flex}
.three-t-update-card{width:min(640px,96vw);background:#fff;border:1px solid #cbdce5;border-radius:15px;box-shadow:0 24px 70px rgba(9,37,54,.28);overflow:hidden}
.three-t-update-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:19px 21px 16px;background:linear-gradient(125deg,#f8fcfe,#eaf6fb);border-bottom:1px solid #dce9ef}
.three-t-update-kicker{font-size:8px;font-weight:950;letter-spacing:.09em;color:#708997}
.three-t-update-head h2{margin:4px 0 4px;color:#123d57;font-size:19px}
.three-t-update-head p{margin:0;color:#718795;font-size:10px}
.three-t-update-close{width:32px;height:32px;border:0;border-radius:8px;background:#d44f56;color:#fff;font-weight:900;cursor:pointer}
.three-t-update-body{padding:17px 21px}
.three-t-update-versions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.three-t-update-versions>div{padding:10px 11px;border:1px solid #dce7ed;border-radius:9px;background:#f9fbfc}
.three-t-update-versions>div.target{border-color:#b9d9e8;background:#f0f8fc}
.three-t-update-versions span{display:block;font-size:8px;color:#7b909c;font-weight:850;text-transform:uppercase}
.three-t-update-versions strong{display:block;margin-top:4px;color:#244d64;font-size:10px;word-break:break-word}
.three-t-update-notes{margin-top:11px;padding:11px;border-radius:9px;background:#f5f8fa;border:1px solid #e0e8ec}
.three-t-update-notes strong{font-size:9px;color:#416276}.three-t-update-notes p{margin:5px 0 0;color:#687e8b;font-size:10px;line-height:1.45}
.three-t-update-warning{margin-top:12px;padding:12px 13px;border:1px solid #e7c978;border-left:4px solid #d4a83a;border-radius:9px;background:#fff8e6;color:#6d5722}
.three-t-update-warning strong{font-size:11px}.three-t-update-warning p{margin:6px 0 0;font-size:9.5px;line-height:1.5}
.three-t-update-flow{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:13px;padding:9px;border-radius:8px;background:#eef6fa;color:#41697f;font-size:9px;font-weight:800}
.three-t-update-flow b{color:#86a8b9}
.three-t-update-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:13px 21px 17px;border-top:1px solid #e4ecef;background:#fbfcfd}
.three-t-update-actions form{margin:0}
.three-t-update-cancel,.three-t-update-start{min-height:35px;border-radius:8px;padding:8px 13px;font-size:10px;font-weight:900;cursor:pointer}
.three-t-update-cancel{border:1px solid #b9ccd7;background:#fff;color:#49697a}
.three-t-update-start{border:1px solid #1978aa;background:#1978aa;color:#fff}
.three-t-update-start:disabled{opacity:.65;cursor:wait}
@media(max-width:650px){.three-t-update-versions{grid-template-columns:1fr}.three-t-update-flow{justify-content:flex-start}}


/* STEP24EF.6.50.135 — progression de mise à jour dans le popup */
.three-t-update-progress{margin-top:13px;padding:12px;border:1px solid #cfe0e8;border-radius:10px;background:#f8fbfd}
.three-t-update-progress[hidden]{display:none!important}
.three-t-update-progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.three-t-update-progress-head strong{font-size:10px;color:#244d64}.three-t-update-progress-head span{font-size:10px;font-weight:950;color:#2476a3}
.three-t-update-progress-track{height:10px;margin-top:8px;border-radius:999px;background:#e1ebf0;overflow:hidden;box-shadow:inset 0 1px 2px rgba(20,61,82,.08)}
.three-t-update-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#2b86b5,#36a3d7);transition:width .45s ease}
.three-t-update-progress p{margin:8px 0 0;color:#5f7887;font-size:9.5px;line-height:1.45}
.three-t-update-progress small{display:block;margin-top:5px;color:#8195a0;font-size:8.5px;line-height:1.4}
.three-t-update-progress[data-status="success"]{border-color:#b8ddc9;background:#f1faf5}.three-t-update-progress[data-status="success"] .three-t-update-progress-bar{background:#339568}
.three-t-update-progress[data-status="failed"],.three-t-update-progress[data-status="rolled_back"]{border-color:#efc3c3;background:#fff5f5}.three-t-update-progress[data-status="failed"] .three-t-update-progress-bar,.three-t-update-progress[data-status="rolled_back"] .three-t-update-progress-bar{background:#cf5c5c}


/* STEP24EF.6.50.141 — centrage des repères de la sidebar */
.days-sidebar > .side-section-title{
  text-align:center;
}
.days-sidebar > .tree-year > summary{
  text-align:center;
  display:block;
}


/* STEP24EF.6.50.152 — Fleet CSS extracted from Jinja */
/* STEP20C.0.2.1 — Hiérarchie visuelle Flotte */
.fleet-todo-card{
  border-color:#efcf91!important;
  background:linear-gradient(180deg,#fffaf0 0%,#fffdf8 100%)!important;
  box-shadow:inset 4px 0 0 #d99126;
}
.fleet-todo-head{
  padding-bottom:9px;
  border-bottom:1px solid #f1dfb8;
}
.fleet-todo-head strong{color:#7b4f0c!important}
.fleet-todo-head span{color:#8c7650!important}

.fleet-todo-row{
  background:#fffdfa!important;
}
.fleet-todo-row.critical{
  border-left:4px solid #b94742!important;
}
.fleet-todo-row.warning{
  border-left:4px solid #d49128!important;
}
.fleet-todo-row.info{
  border-left:4px solid #4f86a3!important;
}

.fleet-layout-modal > .fleet-card:first-child{
  border-color:#9fc2d6!important;
  background:linear-gradient(180deg,#f4f9fc 0%,#ffffff 38%)!important;
  box-shadow:inset 4px 0 0 #2f6f93;
}
.fleet-layout-modal > .fleet-card:first-child h3{
  color:#1e5d7f!important;
}
.fleet-layout-modal > .fleet-card:first-child .fleet-card-sub{
  color:#68889a!important;
}

.fleet-modal-hint{
  border-color:#d9e3e8!important;
  background:linear-gradient(180deg,#fbfdfe,#f7fafc)!important;
}

.fleet-new{
  background:#fbfcfd!important;
  border-color:#d6e0e6!important;
}
.fleet-new summary{
  color:#496a7c!important;
}

.fleet-kpi{
  background:#fff!important;
}

.fleet-field-error{display:block;min-height:13px;margin-top:3px;font-size:9.5px;font-weight:800;color:#bd302c}
.fleet-field.invalid input,.fleet-field.invalid select{border-color:#d94b46!important;box-shadow:0 0 0 2px rgba(217,75,70,.10)!important}
.fleet-create-general-error{display:none;margin:0 0 9px;padding:8px 10px;border-radius:7px;background:#fff0ef;border:1px solid #efc0bd;color:#b2342f;font-size:10.5px;font-weight:800}
.fleet-create-general-error:not(:empty){display:block}

/* STEP20C.0.1.2 — Parité typographique Flotte ↔ Données */
.fleet-native-title{font-size:22px!important;line-height:1.15}
.fleet-native-sub{font-size:12.5px!important;line-height:1.35}

.fleet-kpi{padding:13px 14px!important}
.fleet-kpi span{font-size:11.5px!important}
.fleet-kpi strong{font-size:22px!important}

.fleet-new summary{font-size:12px!important}
.fleet-card h3{font-size:15.5px!important}
.fleet-card-sub{font-size:12px!important}

.fleet-search{font-size:12.5px!important;padding:9px 10px!important}
.fleet-row{padding:11px 12px!important}
.fleet-row strong{font-size:14.5px!important}
.fleet-row small{font-size:11.5px!important;line-height:1.35}
.fleet-status{font-size:10.5px!important;padding:5px 8px!important}

.fleet-alerts-head strong{font-size:15.5px!important}
.fleet-alerts-head span{font-size:11.5px!important}
.fleet-alert-counts b{font-size:10.5px!important}
.fleet-alert-row{padding:10px 11px!important}
.fleet-alert-copy strong{font-size:13px!important}
.fleet-alert-copy small{font-size:11px!important;line-height:1.35}
.fleet-alert-open{font-size:10.5px!important}
.fleet-alert-empty{font-size:12px!important}

.fleet-field label{font-size:10.5px!important}
.fleet-field input,.fleet-field select,.fleet-field textarea{font-size:12.5px!important}
.fleet-btn{font-size:11.5px!important}
.fleet-history-row{font-size:11px!important}

.fleet-modal-hint strong{font-size:14px!important}
.fleet-modal-hint span{font-size:11.5px!important}

@media(max-width:850px){
  .fleet-native-title{font-size:20px!important}
  .fleet-alert-copy strong{font-size:12.5px!important}
  .fleet-alert-copy small{font-size:10.8px!important}
}

/* STEP20B.0.2 — Flotte : densité typographique alignée sur le dashboard */
.fleet-native-title{font-size:20px!important}
.fleet-native-sub{font-size:11.5px!important}
.fleet-kpi span{font-size:10.5px!important}.fleet-kpi strong{font-size:20px!important}
.fleet-card h3{font-size:14px!important}.fleet-card-sub{font-size:11px!important}
.fleet-row strong{font-size:13px!important}.fleet-row small{font-size:10.5px!important}
.fleet-status{font-size:9.5px!important}.fleet-search{font-size:11.5px!important}
.fleet-field label{font-size:10px!important}.fleet-field input,.fleet-field select,.fleet-field textarea{font-size:12px!important}
.fleet-btn,.fleet-new summary{font-size:11px!important}.fleet-history-row{font-size:10.5px!important}

/* STEP21A.0.6 — création véhicule en popup */
.fleet-create-launch{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:13px 14px;border:1px solid #d9e5eb;border-radius:11px;background:linear-gradient(135deg,#f9fcfd,#f4f9fb)}
.fleet-create-launch strong{display:block;color:#31596f;font-size:13px}.fleet-create-launch span{display:block;color:#7d929f;font-size:10.8px;margin-top:2px}
.fleet-create-btn{border:0;border-radius:9px;background:#1f6f98;color:#fff;padding:9px 13px;font:850 11.5px Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 4px 10px rgba(31,111,152,.16);white-space:nowrap}
.fleet-create-btn:hover{background:#195f82}
.fleet-create-backdrop{display:none;position:fixed;inset:0;z-index:1750;background:rgba(14,33,47,.50);backdrop-filter:blur(2px);align-items:center;justify-content:center;padding:20px}
.fleet-create-backdrop.open{display:flex}
.fleet-create-modal{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid #d4e1e9;border-radius:17px;box-shadow:0 28px 80px rgba(13,31,46,.30);animation:fleetCreatePop .16s ease-out}
@keyframes fleetCreatePop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.fleet-create-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:19px 21px 14px;border-bottom:1px solid #e7eef2}
.fleet-create-head h3{margin:0;font-size:18px;color:#173f58}.fleet-create-head p{margin:5px 0 0;font-size:11px;color:#758b99;line-height:1.4}
.fleet-create-x{border:0;background:#eef3f6;color:#496273;border-radius:9px;width:32px;height:32px;font-size:20px;cursor:pointer}
.fleet-create-body{padding:17px 21px}.fleet-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.fleet-create-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 21px 18px;border-top:1px solid #e7eef2;background:#f8fafb}
.fleet-create-actions button{border:0;border-radius:8px;padding:9px 13px;font:850 11px Inter;cursor:pointer}.fleet-create-cancel{background:#e9eef1;color:#4b6878}.fleet-create-submit{background:#1f6f98;color:#fff}
body.fleet-create-open{overflow:hidden}
@media(max-width:760px){.fleet-create-grid{grid-template-columns:1fr 1fr}.fleet-create-launch{align-items:stretch;flex-direction:column}.fleet-create-btn{width:100%}}
@media(max-width:520px){.fleet-create-backdrop{padding:0}.fleet-create-modal{width:100vw;max-height:100vh;border-radius:0}.fleet-create-grid{grid-template-columns:1fr}.fleet-create-actions{position:sticky;bottom:0}.fleet-field.wide{grid-column:1}}

/* STEP21B.0.4 — Flotte au niveau de confort 110% */
.fleet-native-sub{font-size:13.5px!important}
.fleet-kpi span{font-size:12.5px!important}
.fleet-new summary{font-size:13px!important}
.fleet-card h3{font-size:16.5px!important}
.fleet-card-sub{font-size:13px!important}
.fleet-search{font-size:13.5px!important}
.fleet-row strong{font-size:15.5px!important}
.fleet-row small{font-size:12.5px!important}
.fleet-status{font-size:11.5px!important}
.fleet-todo-head span{font-size:12.5px!important}
.fleet-todo-counters b{font-size:11.5px!important}
.fleet-todo-filter{font-size:11.5px!important}
.fleet-todo-meta{font-size:10.8px!important}
.fleet-todo-main strong{font-size:14px!important}
.fleet-todo-main small{font-size:12px!important}
.fleet-todo-action{font-size:11.5px!important}
.fleet-create-launch strong{font-size:14px!important}
.fleet-create-launch span{font-size:11.8px!important}
.fleet-create-btn{font-size:12.5px!important}
.fleet-create-head p{font-size:12px!important}
.fleet-create-actions button{font-size:12px!important}
.fleet-field label{font-size:11.5px!important}
.fleet-field input,.fleet-field select,.fleet-field textarea{font-size:13.5px!important}

.fleet-native{padding-top:2px}.fleet-native-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.fleet-native-title{font-size:18px;font-weight:900;color:#173f58}.fleet-native-sub{font-size:10.5px;color:#78909f;margin-top:3px}
.fleet-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.fleet-kpi{padding:11px 12px;border:1px solid #dce7ed;border-radius:10px;background:#fff}.fleet-kpi span{display:block;font-size:9.5px;color:#7a909e;font-weight:800}.fleet-kpi strong{display:block;margin-top:3px;font-size:19px;color:#173f58}.fleet-kpi.warn strong{color:#b06b15}.fleet-kpi.danger strong{color:#b64545}
.fleet-layout{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(520px,1.25fr);gap:12px}.fleet-card{background:#fff;border:1px solid #dce7ed;border-radius:11px;padding:13px}.fleet-card h3{margin:0 0 3px;color:#173f58}.fleet-card-sub{font-size:10px;color:#8196a3;margin-bottom:10px}.fleet-list{display:flex;flex-direction:column;gap:6px;max-height:65vh;overflow:auto}.fleet-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border:1px solid #e0e9ee;border-radius:8px;text-decoration:none;background:#fbfdfe}.fleet-row.active{background:#eef7fb;border-color:#83b6d1}.fleet-row strong{display:block;color:#214b63;font-size:12px}.fleet-row small{display:block;color:#7b909d;font-size:9.5px;margin-top:2px}.fleet-status{align-self:start;padding:4px 7px;border-radius:999px;background:#eef3f6;color:#567184;font-size:8.5px;font-weight:850}
.fleet-search{width:100%;box-sizing:border-box;padding:8px 9px;border:1px solid #cfdee7;border-radius:8px;margin-bottom:8px}.fleet-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.fleet-field label{display:block;font-size:9px;text-transform:uppercase;font-weight:850;color:#748b99;margin-bottom:3px}.fleet-field input,.fleet-field select,.fleet-field textarea{width:100%;box-sizing:border-box;border:1px solid #cfdee7;border-radius:8px;padding:8px;font:650 11px Inter,"Segoe UI",sans-serif}.fleet-field.wide{grid-column:1/-1}.fleet-field textarea{min-height:62px}.fleet-actions{grid-column:1/-1;display:flex;gap:7px;justify-content:flex-end}.fleet-btn{border:0;border-radius:8px;padding:8px 11px;background:#176f9f;color:#fff;font-size:10px;font-weight:850}.fleet-btn.danger{background:#fff0ef;color:#a53632}.fleet-expiries{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.fleet-expiry{padding:8px;border:1px solid #e1e9ed;border-radius:8px;background:#f7fafb}.fleet-expiry span{display:block;font-size:8.5px;color:#8396a0;font-weight:850}.fleet-expiry strong{display:block;font-size:10.5px;margin-top:3px;color:#365c70}.fleet-expiry.warning{background:#fff8ea}.fleet-expiry.danger,.fleet-expiry.expired{background:#fff0ef}.fleet-new{margin-bottom:10px;border:1px dashed #bfd1db;border-radius:9px;padding:10px;background:#f9fbfc}.fleet-new summary{cursor:pointer;font-size:10.5px;font-weight:850;color:#285f80}
.fleet-history{margin-top:12px}.fleet-history-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #edf2f5;font-size:9.5px;color:#607b89}
@media(max-width:1000px){.fleet-kpis{grid-template-columns:repeat(3,1fr)}.fleet-layout{grid-template-columns:1fr}.fleet-list{max-height:none}}@media(max-width:700px){.fleet-kpis{grid-template-columns:1fr 1fr}.fleet-form{grid-template-columns:1fr}.fleet-field.wide,.fleet-actions{grid-column:1}.fleet-expiries{grid-template-columns:1fr}}

.fleet-todo-card{margin:0 0 12px;background:#fff;border:1px solid #dce7ed;border-radius:12px;padding:14px}
.fleet-todo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fleet-todo-head strong{display:block;color:#173f58;font-size:15.5px}.fleet-todo-head span{display:block;margin-top:2px;color:#8195a1;font-size:11.5px}
.fleet-todo-counters{display:flex;gap:6px;flex-wrap:wrap}.fleet-todo-counters b{font-size:10.5px;padding:5px 8px;border-radius:7px;background:#edf4f7;color:#47697b}
.fleet-todo-counters .critical{background:#fbe9e8;color:#a33c38}.fleet-todo-counters .warning{background:#fff2d9;color:#986616}
.fleet-todo-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.fleet-todo-filter{border:1px solid #cddce5;background:#f8fbfc;color:#47697b;border-radius:8px;padding:7px 10px;font:800 10.5px Inter;cursor:pointer}.fleet-todo-filter.active{background:#245f80;color:#fff;border-color:#245f80}
.fleet-todo-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.fleet-todo-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;text-align:left;border:1px solid #e1e9ee;border-radius:9px;background:#fbfdfe;padding:10px 11px;font-family:inherit;cursor:pointer}.fleet-todo-row:hover{background:#f3f8fb}
.fleet-todo-dot{width:8px;height:8px;border-radius:50%;background:#6f9bb2}.fleet-todo-row.critical .fleet-todo-dot{background:#b74742}.fleet-todo-row.warning .fleet-todo-dot{background:#d49128}
.fleet-todo-meta{display:block;font-size:9.8px;font-weight:850;text-transform:uppercase;color:#7690a0}.fleet-todo-main strong{display:block;font-size:13px;color:#31586e;margin-top:2px}.fleet-todo-main small{display:block;font-size:11px;color:#81949f;margin-top:2px;line-height:1.35}.fleet-todo-action{font-size:10.5px;font-weight:850;color:#416f88;white-space:nowrap}.fleet-todo-empty{text-align:center;padding:14px;color:#4d7b69;font-size:12px;font-weight:700}
@media(max-width:850px){.fleet-todo-head{flex-direction:column}.fleet-todo-list{grid-template-columns:1fr}.fleet-todo-row{grid-template-columns:auto 1fr}.fleet-todo-action{grid-column:2}}

.fleet-vehicle-backdrop{display:none;position:fixed;inset:0;z-index:1600;background:rgba(18,39,53,.48);backdrop-filter:blur(2px);align-items:center;justify-content:center;padding:18px}.fleet-vehicle-backdrop.open{display:flex}.fleet-row{width:100%;text-align:left;cursor:pointer;font-family:inherit}.fleet-row:hover{border-color:#8bb8cf;background:#eef7fb}.fleet-layout-modal{grid-template-columns:minmax(380px,.85fr) minmax(320px,1.15fr)}
@media(max-width:850px){.fleet-vehicle-backdrop{padding:0}.fleet-layout-modal{grid-template-columns:1fr}}


/* STEP24EF.6.50.153 — Stock CSS extracted from Jinja with cache bust */
.stock-head2{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;margin-bottom:11px;border:1px solid #d7e5eb;border-radius:12px;background:linear-gradient(135deg,#f8fbfd,#eef6f8)}.stock-head2 h2{margin:0;color:#173f58;font-size:19px}.stock-head2 p{margin:4px 0 0;color:#78909e;font-size:12px}.stock-move-btn{border:0;background:#1f6f98;color:#fff;border-radius:9px;padding:10px 13px;font:850 12.5px Inter;cursor:pointer}
.stock-kpis2{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:11px}.stock-k2{background:#fff;border:1px solid #dce7ed;border-radius:10px;padding:12px 13px}.stock-k2 span{display:block;color:#78909e;font-size:11.5px;font-weight:800}.stock-k2 strong{display:block;color:#173f58;font-size:22px;margin-top:3px}.stock-k2.warn strong{color:#a36a18}.stock-k2.out strong{color:#a33f39}
.stock-section{background:#fff;border:1px solid #dce7ed;border-radius:11px;margin-bottom:11px;overflow:hidden}.stock-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;background:#f8fbfc;border-bottom:1px solid #e4ecef}.stock-section-head h3{margin:0;color:#31596f;font-size:15px}.stock-filter-tabs{display:flex;gap:5px;flex-wrap:wrap}.stock-filter-tabs button{border:1px solid #d3e0e6;background:#fff;color:#5e7988;border-radius:999px;padding:6px 9px;font:800 10.5px Inter;cursor:pointer}.stock-filter-tabs button.active{background:#173f58;color:#fff;border-color:#173f58}
.stock-moves{padding:7px}.stock-move-row{display:grid;grid-template-columns:58px minmax(0,1fr) 150px 120px;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #edf2f5}.stock-move-qty{font-size:15px;font-weight:900;text-align:center}.stock-move-qty.pos{color:#39765b}.stock-move-qty.neg{color:#a33f39}.stock-move-main strong{display:block;color:#294f64;font-size:13.5px}.stock-move-main small{display:block;color:#8498a3;font-size:10.8px;margin-top:2px}.stock-type{display:inline-block;padding:5px 7px;border-radius:999px;font-size:10.5px;font-weight:850;background:#eef4f7;color:#527383}.stock-type.entree,.stock-type.retour{background:#e9f5ee;color:#39765b}.stock-type.sortie{background:#eaf3f8;color:#346984}.stock-type.casse,.stock-type.perte{background:#fbe9e8;color:#a33f39}.stock-type.correction{background:#fff2d9;color:#966316}.stock-move-meta{text-align:right;color:#7c919d;font-size:10.5px}.stock-empty-move{padding:26px;text-align:center;color:#8297a2;font-size:12px}
.stock-current table{width:100%;border-collapse:collapse}.stock-current th{text-align:left;background:#f8fbfc;color:#688392;font-size:11px;padding:10px 11px;text-transform:uppercase}.stock-current td{border-top:1px solid #edf2f5;padding:10px 11px;color:#496b7d;font-size:12px}.stock-pill2{display:inline-block;padding:5px 7px;border-radius:999px;background:#eaf5ef;color:#39765b;font-size:10.5px;font-weight:850}.stock-pill2.bas{background:#fff2d9;color:#966316}.stock-pill2.rupture{background:#fbe9e8;color:#a33f39}
.move-bg{display:none;position:fixed;inset:0;z-index:1820;background:rgba(15,35,49,.5);backdrop-filter:blur(2px);align-items:center;justify-content:center;padding:18px}.move-bg.open{display:flex}.move-modal{width:min(650px,96vw);background:#fff;border-radius:15px}.move-head{display:flex;justify-content:space-between;padding:17px 19px;border-bottom:1px solid #e5edf1}.move-head h3{margin:0;color:#173f58;font-size:18px}.move-head p{margin:4px 0 0;color:#7d919d;font-size:11.5px}.move-x{border:0;background:#edf3f6;border-radius:8px;width:31px;height:31px;font-size:18px}.move-form{padding:16px 19px}.move-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.move-field label{display:block;color:#66808e;font-size:10.8px;font-weight:850;margin-bottom:4px}.move-field input,.move-field select,.move-field textarea{width:100%;box-sizing:border-box;border:1px solid #cedde5;border-radius:8px;padding:9px;font:650 12.5px Inter}.move-field.wide{grid-column:1/-1}
.move-article-picker{border:1px solid #dbe6eb;border-radius:10px;background:#f8fbfc;padding:10px}
.move-article-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin-bottom:8px}
.move-article-search input{width:100%;box-sizing:border-box;border:1px solid #c9dbe4;border-radius:8px;padding:9px 10px;font:650 12.5px Inter}
.move-search-btn,.move-search-reset{border:1px solid #bdd2de;border-radius:8px;padding:8px 10px;font:850 11.5px Inter;cursor:pointer}
.move-search-btn{background:#1f6f98;color:#fff;border-color:#1f6f98}.move-search-reset{background:#fff;color:#557689}
.move-article-result{min-height:15px;margin:0 0 5px;color:#78909e;font-size:10.5px;font-weight:700}
.move-article-picker select{min-height:42px}
.move-live-suggestions{display:none;margin:0 0 8px;border:1px solid #bfd3df;border-radius:9px;background:#fff;max-height:230px;overflow:auto;box-shadow:0 8px 20px rgba(31,65,85,.12)}
.move-live-suggestions.open{display:block}
.move-suggest-group{padding:6px 9px 4px;background:#f2f7f9;color:#527285;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;position:sticky;top:0}
.move-suggest-item{display:flex;justify-content:space-between;gap:10px;width:100%;border:0;border-top:1px solid #edf2f5;background:#fff;padding:9px 10px;text-align:left;cursor:pointer;font:700 12px Inter;color:#345b70}
.move-suggest-item:hover,.move-suggest-item.active{background:#eaf4f9}
.move-suggest-item small{color:#8094a0;font-size:10.5px;font-weight:650;white-space:nowrap}
.move-selected-article{display:none;margin:0 0 7px;padding:8px 10px;border-radius:8px;background:#eaf5ef;color:#356f56;font-size:11.5px;font-weight:850}
.move-selected-article.show{display:block}
.move-article-picker optgroup{font-weight:900;color:#315f76}.move-article-picker option{font-weight:600;color:#425f70;padding:3px}
.move-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 19px;border-top:1px solid #e5edf1;background:#f8fafb}.move-actions button{border:0;border-radius:8px;padding:9px 12px;font:850 11.5px Inter}.move-actions .primary{background:#1f6f98;color:#fff}

.inv-section,.inv-work{background:#fff;border:1px solid #dce7ed;border-radius:11px;margin-bottom:11px;overflow:hidden}.inv-work{border:2px solid #82adc1}.inv-head,.inv-work-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;background:#f8fbfc;border-bottom:1px solid #e4ecef}.inv-work-head{background:#eef7fa}.inv-head h3,.inv-work-head h3{margin:0;color:#31596f;font-size:15px}.inv-work-head p{margin:3px 0 0;color:#718b99;font-size:10.8px}.inv-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:9px}.inv-card{display:block;text-decoration:none;border:1px solid #dce7ed;border-radius:9px;padding:10px;color:#416579}.inv-card strong{display:block;color:#294f64;font-size:12.8px}.inv-card small{display:block;color:#8398a3;font-size:10.5px;margin-top:3px}.inv-status{float:right;padding:4px 6px;border-radius:999px;background:#fff2d9;color:#936113;font-size:9.5px;font-weight:900}.inv-status.done{background:#e9f5ee;color:#39765b}.inv-summary{display:flex;gap:6px;flex-wrap:wrap}.inv-chip{padding:6px 8px;border-radius:999px;background:#fff;color:#557485;font-size:10.5px;font-weight:850}.inv-table-wrap{overflow:auto}.inv-table{width:100%;border-collapse:collapse;min-width:760px}.inv-table th{text-align:left;background:#f8fbfc;color:#688392;font-size:10.5px;padding:9px}.inv-table td{border-top:1px solid #edf2f5;padding:8px 9px;font-size:11.8px;color:#496b7d}.inv-count{width:90px!important;text-align:center}.inv-note{min-width:180px}.inv-delta{font-weight:900}.inv-delta.plus{color:#39765b}.inv-delta.minus{color:#a33f39}.inv-actions{display:flex;justify-content:flex-end;gap:8px;padding:11px;border-top:1px solid #e5edf1;background:#f8fafb}.inv-actions button{border:0;border-radius:8px;padding:9px 12px;font:850 11.5px Inter}.inv-actions .save{background:#1f6f98;color:#fff}.inv-actions .final{background:#39765b;color:#fff}

.stock-feedback{display:flex;align-items:flex-start;gap:9px;margin:0 0 11px;padding:10px 12px;border-radius:9px;font-size:12px;font-weight:800;line-height:1.4}
.stock-feedback.error{background:#fff0ef;border:1px solid #efc4c0;color:#8f3f39}
.stock-feedback.success{background:#edf8f1;border:1px solid #c7e5d1;color:#356f56}
.stock-feedback .icon{font-size:15px;line-height:1.1}

.inv-card-wrap{position:relative}.inv-card-wrap .inv-card{height:100%;padding-right:88px}.inv-card-wrap form{position:absolute;right:8px;bottom:8px}.inv-delete{border:1px solid #efc8c4;background:#fff5f4;color:#9a4942;border-radius:7px;padding:5px 7px;font:800 9.8px Inter;cursor:pointer}.inv-delete:hover{background:#ffe9e7}
.inv-row-missing{background:#fff4f2!important}.inv-row-missing .inv-count{border-color:#d9786f!important;box-shadow:0 0 0 2px rgba(217,120,111,.12)}

.inv-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.inv-toolbar button{border:1px solid #cbdde7;background:#fff;color:#446d83;border-radius:7px;padding:6px 8px;font:800 10.5px Inter;cursor:pointer}
.inv-toolbar button:hover{background:#f3f8fb}
.inv-list.collapsed{display:none}
.inv-section.collapsed .inv-head{border-bottom:0}

.inv-details{border:1px solid #dce7ed;border-radius:9px;background:#fff;overflow:hidden}
.inv-details>summary{list-style:none;cursor:pointer}
.inv-details>summary::-webkit-details-marker{display:none}
.inv-details>summary:before{content:"▸";margin-right:7px;color:#668595;font-size:11px}
.inv-details[open]>summary:before{content:"▾"}
.inv-card-wrap .inv-card{height:auto;padding-right:88px}

.inv-list{display:block!important;padding:9px}.inv-year-block{margin-bottom:10px}.inv-year-title{font-size:16px;font-weight:900;color:#244f67;margin:2px 2px 7px}.inv-month-details{border:1px solid #dce7ed;border-radius:9px;background:#fff;margin-bottom:7px;overflow:hidden}.inv-month-details>summary{list-style:none;cursor:pointer;padding:9px 11px;background:#f5f9fb;color:#3c6479;font-size:12px;font-weight:900}.inv-month-details>summary::-webkit-details-marker{display:none}.inv-month-details>summary:before{content:"▸";margin-right:7px}.inv-month-details[open]>summary:before{content:"▾"}.inv-month-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:7px;padding:8px}.inv-open-card{width:100%;text-align:left;border:0;cursor:pointer;font-family:inherit}.inv-open-card:hover{background:#f2f8fb}
.inventory-modal-backdrop{display:none;position:fixed;inset:0;z-index:1850;background:rgba(18,39,53,.48);backdrop-filter:blur(2px);align-items:center;justify-content:center;padding:18px}.inventory-modal-backdrop.open{display:flex}
@media(max-width:720px){.inventory-modal-backdrop{padding:0}.inv-month-items{grid-template-columns:1fr}}
.inv-export{position:absolute;right:8px;top:8px;text-decoration:none;border:1px solid #cbdde7;background:#fff;color:#456d82;border-radius:7px;padding:5px 7px;font:800 9.8px Inter;z-index:2}

@media(max-width:760px){
  .stock-export-bar{align-items:stretch!important}.stock-export-bar form{width:100%;flex-wrap:wrap}.stock-export-bar input{flex:1;min-width:125px}
  .stock-head2 h2{font-size:20px}.stock-head2 p{font-size:12.5px}.stock-current td,.stock-move-main strong{font-size:13px}
}

.move-tech-search .move-search-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.move-tech-search .move-search-row input{flex:1;min-width:180px}
.move-tech-search .move-search-btn,.move-tech-search .move-search-reset{margin:0}
@media(max-width:760px){
  .move-tech-search .move-search-row{gap:8px}
}

.move-modal-premium{width:min(720px,96vw)}
.move-premium-form{padding:13px 15px 15px}
.move-step{border:1px solid #dce7ed;border-radius:11px;background:#fbfdfe;padding:11px;margin-bottom:10px}
.move-step-head{display:flex;align-items:center;gap:9px;margin-bottom:9px}.move-step-head>span{width:25px;height:25px;border-radius:8px;background:#245f7f;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}.move-step-head b{display:block;color:#254f66;font-size:12.5px}.move-step-head small{display:block;color:#8296a1;font-size:9.5px;margin-top:1px}
.move-smart-search{display:flex;align-items:center;gap:7px;border:1px solid #b8cfdb;background:#fff;border-radius:9px;padding:4px 5px 4px 9px}.move-smart-search:focus-within{border-color:#3d83a7;box-shadow:0 0 0 3px rgba(61,131,167,.12)}.move-search-icon{font-size:16px;color:#64879a}.move-smart-search input{flex:1;border:0!important;outline:0!important;box-shadow:none!important;padding:8px 2px!important;min-width:0;background:transparent;font:650 12.5px Inter}.move-search-reset.compact{border:1px solid #d1dfe6;background:#f6f9fa;color:#577789;border-radius:7px;padding:7px 9px;font:800 9.8px Inter;cursor:pointer}
.move-helper{color:#8196a1;font-size:9.5px;margin:5px 2px 0}.move-live-suggestions.premium{margin-top:6px;border-radius:9px;box-shadow:0 10px 25px rgba(22,55,74,.13)}
.move-native-select-hidden{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.move-selection-card{display:none;align-items:center;justify-content:space-between;gap:10px;border:1px solid #bcdcca;background:#edf8f1;border-radius:10px;padding:10px 11px;color:#316b4e}.move-selection-card.show{display:flex}.move-selection-card .selected-main{min-width:0}.move-selection-card .selected-check{display:flex;align-items:center;gap:8px}.move-selection-card .selected-check>span{width:25px;height:25px;border-radius:50%;background:#d5efdf;display:flex;align-items:center;justify-content:center;font-weight:900}.move-selection-card strong{display:block;font-size:12.2px;color:#2f674b}.move-selection-card small{display:block;margin-top:2px;color:#668d79;font-size:9.5px}.move-selection-card button{border:1px solid #bfd8c9;background:#fff;color:#46755d;border-radius:7px;padding:6px 8px;font:800 9.5px Inter;cursor:pointer}
.move-picker-area.is-selected{display:none}.move-grid-clean{gap:9px}.move-comment{margin-top:2px}.move-actions-premium{padding:12px 15px}
@media(max-width:620px){.move-modal-premium{width:100vw;max-height:100vh;border-radius:0}.move-step{padding:9px}.move-grid-clean{grid-template-columns:1fr}.move-selection-card{align-items:flex-start}}

.move-list-btn.compact{border:1px solid #a9c5d4;background:#edf6fa;color:#2d6683;border-radius:7px;padding:7px 9px;font:850 9.8px Inter;cursor:pointer;white-space:nowrap}
.move-list-btn.compact:hover{background:#e2f0f6}
.move-live-suggestions.premium.browse-all{max-height:250px;overflow:auto}
@media(max-width:620px){.move-list-btn.compact{padding:7px 8px}}

.stock-commandbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.stock-summary-line{display:flex;gap:5px;align-items:center;flex-wrap:wrap;color:#617d8d;font-size:11.5px}.stock-summary-line strong{color:#214e66;font-size:13px}.stock-summary-line .warn{color:#9b6b22;font-weight:850}.stock-summary-line .out{color:#a34843;font-weight:850}
.stock-tools-menu{position:relative}.stock-tools-menu summary{list-style:none;cursor:pointer;border:1px solid #cbdce5;background:#fff;color:#496b7d;border-radius:8px;padding:7px 9px;font:800 10.5px Inter}.stock-tools-menu summary::-webkit-details-marker{display:none}.stock-tools-pop{position:absolute;right:0;top:36px;z-index:20;min-width:330px;background:#fff;border:1px solid #d6e3e9;border-radius:10px;padding:9px;box-shadow:0 12px 28px rgba(27,58,77,.16);display:grid;gap:7px}.stock-tools-pop a,.stock-tools-pop button{border:1px solid #cbdce5;background:#f7fafb;color:#41697e;border-radius:7px;padding:7px 8px;text-decoration:none;font:800 10px Inter}.stock-tools-pop form{display:flex;gap:5px;align-items:center}.stock-tools-pop input{border:1px solid #cedde5;border-radius:7px;padding:6px;min-width:0}
.stock-searchbar{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #cbdce5;border-radius:9px;padding:4px 5px 4px 9px;margin-bottom:8px}.stock-searchbar input{flex:1;border:0;outline:0;padding:8px 2px;font:650 12px Inter}.stock-searchbar button{border:1px solid #d5e1e7;background:#f7fafb;color:#597889;border-radius:7px;padding:7px 9px;font:800 9.8px Inter}.stock-filter-tabs-main{margin-bottom:10px}
.stock-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:11px;align-items:start}.stock-panel{background:#fff;border:1px solid #dce7ed;border-radius:11px;overflow:hidden}.stock-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;background:#f8fbfc;border-bottom:1px solid #e3ecef}.stock-panel-head h3{margin:0;color:#31596f;font-size:14px}.stock-panel-head p{margin:2px 0 0;color:#8296a1;font-size:9.5px}.stock-panel-head>span{background:#edf4f7;color:#537487;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900}
.stock-movement-table-wrap,.stock-state-table-wrap{overflow:auto}.stock-movement-table,.stock-state-table{width:100%;border-collapse:collapse}.stock-movement-table th,.stock-state-table th{text-align:left;background:#2d6788;color:#fff;padding:8px 9px;font-size:9.5px;text-transform:uppercase}.stock-movement-table td,.stock-state-table td{border-top:1px solid #edf2f5;padding:8px 9px;color:#496b7d;font-size:10.8px}.stock-movement-table td small{display:block;color:#8a9da7;font-size:9px}.stock-move-table-row{cursor:pointer}.stock-move-table-row:hover,.stock-state-row:hover{background:#f4f9fb}.stock-table-qty{font-weight:900}.stock-table-qty.pos{color:#347451}.stock-table-qty.neg{color:#a74d45}
.stock-inventory-side{position:sticky;top:8px}.stock-inventory-compact-list{padding:6px}.stock-inventory-mini{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;padding:5px;border-bottom:1px solid #edf2f4}.stock-inventory-mini button{border:0;background:transparent;text-align:left;cursor:pointer;padding:3px}.stock-inventory-mini strong{display:block;color:#365f74;font-size:10.8px;margin-top:3px}.stock-inventory-mini small{display:block;color:#879aa4;font-size:8.9px}.stock-inventory-mini>a{border:1px solid #d3e0e6;border-radius:6px;padding:5px;color:#55798b;text-decoration:none;font-size:8.8px;font-weight:900}.stock-side-action{width:calc(100% - 12px);margin:6px;border:1px dashed #9fb9c6;background:#f8fbfc;color:#37647b;border-radius:8px;padding:8px;font:850 10.5px Inter}.stock-state-panel{margin-top:11px}
@media(max-width:950px){.stock-dashboard-grid{grid-template-columns:1fr}.stock-inventory-side{position:static}.stock-movement-table,.stock-state-table{min-width:760px}}@media(max-width:620px){.stock-commandbar{align-items:flex-start;flex-direction:column}}

/* STEP21C.0.33 — movement table correction + readability */
.stock-dashboard-grid{grid-template-columns:minmax(0,1fr) 320px!important;gap:13px!important}
.stock-panel-head{padding:12px 13px!important}
.stock-panel-head h3{font-size:15px!important}
.stock-panel-head p{font-size:10.2px!important;margin-top:3px!important}
.stock-panel-head>span{font-size:9.8px!important;padding:5px 8px!important}

.stock-movement-table{table-layout:fixed}
.stock-movement-table th{padding:9px 10px!important;font-size:10px!important}
.stock-movement-table td{padding:11px 10px!important;font-size:11.5px!important;line-height:1.25;vertical-align:middle!important}
.stock-movement-table th:nth-child(1){width:11%}
.stock-movement-table th:nth-child(2){width:22%}
.stock-movement-table th:nth-child(3){width:12%}
.stock-movement-table th:nth-child(4){width:8%}
.stock-movement-table th:nth-child(5){width:20%}
.stock-movement-table th:nth-child(6){width:27%}
.stock-movement-table td:nth-child(1),
.stock-movement-table td:nth-child(3),
.stock-movement-table td:nth-child(4){white-space:nowrap}
.stock-movement-table td:nth-child(2) strong{display:block;font-size:12px}
.stock-movement-table td:nth-child(2) small{font-size:9.8px!important;margin-top:3px}
.stock-movement-table td:nth-child(5){font-weight:750;color:#385f74}
.stock-movement-table td:nth-child(6){color:#718793}
.stock-move-table-row{display:table-row!important;height:48px}
.stock-move-table-row:hover{background:#f2f8fb!important}
.stock-table-qty{font-size:12.5px}
.stock-type{font-size:10.5px!important;padding:5px 8px!important}

.stock-summary-line{font-size:12px!important}
.stock-summary-line strong{font-size:14px!important}
.stock-searchbar input{font-size:12.5px!important;padding:9px 3px!important}
.stock-search-result-count{white-space:nowrap;color:#78909e;font-size:10.5px;font-weight:800;padding:0 4px}.stock-searchbar:focus-within{border-color:#7faec5;box-shadow:0 0 0 2px rgba(31,111,152,.08)}
.stock-filter-tabs-main button{font-size:10.8px!important;padding:7px 10px!important}

.stock-inventory-mini{padding:7px 6px!important}
.stock-inventory-mini strong{font-size:11.5px!important}
.stock-inventory-mini small{font-size:9.5px!important;line-height:1.25}
.stock-side-action{font-size:11px!important;padding:9px!important}

.stock-state-table th{font-size:10px!important;padding:9px 10px!important}
.stock-state-table td{font-size:11.3px!important;padding:10px!important}
@media(max-width:1100px){.stock-dashboard-grid{grid-template-columns:minmax(0,1fr) 290px!important}}
@media(max-width:950px){.stock-dashboard-grid{grid-template-columns:1fr!important}}

/* STEP21C.0.34 — compact stock preview + full popup + larger typography */
#stockMovementBg,.stock-panel,.stock-commandbar,.stock-searchbar,.stock-filter-tabs-main,.stock-tools-menu,.stock-state-modal-bg{font-size:1.08em}
.stock-summary-line{font-size:13px!important}.stock-summary-line strong{font-size:15px!important}
.stock-panel-head h3{font-size:16px!important}.stock-panel-head p{font-size:11px!important}
.stock-panel-head>span,.stock-state-head-actions>span{font-size:10.5px!important}
.stock-searchbar input{font-size:13.5px!important}.stock-searchbar button{font-size:10.5px!important}
.stock-filter-tabs-main button{font-size:11.5px!important;padding:8px 11px!important}
.stock-movement-table th,.stock-state-table th{font-size:10.8px!important}
.stock-movement-table td,.stock-state-table td{font-size:12.2px!important}
.stock-movement-table td small{font-size:10.3px!important}
.stock-type{font-size:11px!important}
.stock-inventory-mini strong{font-size:12px!important}.stock-inventory-mini small{font-size:10px!important}
.stock-side-action{font-size:11.5px!important}

.stock-state-head-actions{display:flex;align-items:center;gap:7px}
.stock-state-head-actions>span{background:#edf4f7;color:#537487;border-radius:999px;padding:5px 8px;font-weight:900}
.stock-state-open-btn{border:1px solid #b9d0dc;background:#eef6fa;color:#2e6987;border-radius:7px;padding:7px 9px;font:850 10.5px Inter;cursor:pointer}
.stock-state-open-btn:hover{background:#e2f0f6}
.stock-state-preview{padding:5px 10px}
.stock-state-preview-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 84px;gap:12px;align-items:center;padding:10px 3px;border-bottom:1px solid #edf2f4}
.stock-state-preview-row:last-child{border-bottom:0}
.stock-state-preview-main strong{display:block;color:#2d566c;font-size:13px}.stock-state-preview-main span{display:block;color:#496b7d;font-size:12px;margin-top:2px}.stock-state-preview-main small{display:block;color:#879aa4;font-size:10px;margin-top:2px}
.stock-state-preview-stock{text-align:right}.stock-state-preview-stock strong{display:block;color:#2c607a;font-size:13px}.stock-state-preview-stock small{display:block;color:#8b9ca5;font-size:9.8px;margin-top:2px}
.stock-state-more-btn{width:calc(100% - 20px);margin:0 10px 10px;border:1px dashed #aac0cb;background:#f8fbfc;color:#3f6a7f;border-radius:8px;padding:8px;font:850 10.8px Inter;cursor:pointer}
.stock-state-modal{width:min(1180px,96vw);max-height:90vh}
.stock-state-modal-body{padding:12px 14px;overflow:auto}
.stock-state-modal-search{display:flex;align-items:center;gap:7px;border:1px solid #cbdce5;border-radius:9px;background:#fff;padding:4px 5px 4px 9px;margin-bottom:10px}
.stock-state-modal-search input{flex:1;border:0;outline:0;padding:9px 3px;font:650 13px Inter}
.stock-state-modal-search button{border:1px solid #d5e1e7;background:#f7fafb;color:#597889;border-radius:7px;padding:7px 9px;font:800 10px Inter;cursor:pointer}
.stock-state-table-modal-wrap{max-height:58vh;overflow:auto;border:1px solid #dce7ed;border-radius:9px}
.stock-state-table-modal{min-width:900px}
.stock-state-table-modal thead th{position:sticky;top:0;z-index:2}
.stock-state-table-modal td{padding:11px 10px!important}
@media(max-width:760px){.stock-state-preview-row{grid-template-columns:minmax(0,1fr) 95px}.stock-state-preview-row>.stock-pill2{grid-column:1/-1;justify-self:start}.stock-state-modal{width:100vw;max-height:100vh;border-radius:0}}

.stock-panel-head-actions{display:flex;align-items:center;gap:7px}
.stock-panel-head-actions>span{background:#edf4f7;color:#537487;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}
.stock-history-open-btn{border:1px solid #b9d0dc;background:#eef6fa;color:#2e6987;border-radius:7px;padding:7px 9px;font:850 10.5px Inter;cursor:pointer}
.stock-history-open-btn:hover{background:#e2f0f6}

.stock-history-modal{width:min(1320px,97vw);max-height:92vh}
.stock-history-body{padding:13px 14px;overflow:auto}
.stock-history-filters{display:grid;grid-template-columns:130px 130px 1fr 1fr 150px 1.2fr auto;gap:8px;align-items:end;background:#f8fbfc;border:1px solid #dce7ed;border-radius:10px;padding:10px;margin-bottom:10px}
.stock-history-field,.stock-history-search{display:flex;flex-direction:column;gap:4px}
.stock-history-field label,.stock-history-search label{font-size:10px;font-weight:850;color:#5e7988}
.stock-history-field input,.stock-history-field select,.stock-history-search input{border:1px solid #c9dbe4;border-radius:8px;background:#fff;padding:8px 9px;font:650 11.5px Inter;color:#345d73;min-width:0}
.stock-history-reset-btn{border:1px solid #d4e0e6;background:#fff;color:#567487;border-radius:8px;padding:8px 10px;font:850 10.5px Inter;cursor:pointer}
.stock-history-summary{display:flex;align-items:baseline;gap:5px;margin:3px 2px 8px;color:#708995;font-size:10.5px}.stock-history-summary strong{font-size:14px;color:#2f6078}
.stock-history-table-wrap{max-height:58vh;overflow:auto;border:1px solid #dce7ed;border-radius:9px}
.stock-history-table{width:100%;border-collapse:collapse;min-width:980px;table-layout:fixed}
.stock-history-table th{position:sticky;top:0;z-index:2;text-align:left;background:#2d6788;color:#fff;padding:9px 10px;font-size:10.5px;text-transform:uppercase}
.stock-history-table td{border-top:1px solid #edf2f5;padding:10px;color:#496b7d;font-size:11.8px;vertical-align:middle}
.stock-history-table td small{display:block;color:#8a9da7;font-size:10px;margin-top:2px}
.stock-history-table tr:hover{background:#f3f9fb;cursor:pointer}
.stock-history-table th:nth-child(1){width:10%}.stock-history-table th:nth-child(2){width:19%}.stock-history-table th:nth-child(3){width:11%}.stock-history-table th:nth-child(4){width:7%}.stock-history-table th:nth-child(5){width:18%}.stock-history-table th:nth-child(6){width:25%}.stock-history-table th:nth-child(7){width:10%}
@media(max-width:1100px){.stock-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-history-reset-btn{grid-column:1/-1}}
@media(max-width:650px){.stock-history-modal{width:100vw;max-height:100vh;border-radius:0}.stock-history-filters{grid-template-columns:1fr}}

.stock-ops-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:10px 0}.stock-ops-kpis>div{background:#fff;border:1px solid #dce7ed;border-radius:11px;padding:11px 12px}.stock-ops-kpis small{display:block;color:#78909e;font-size:10px;font-weight:850}.stock-ops-kpis strong{display:block;color:#173f58;font-size:20px;margin:3px 0}.stock-ops-kpis span{display:block;color:#8aa0ab;font-size:10px}.stock-ops-kpis .needs-action{border-color:#efc785;background:#fffaf0}.stock-ops-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10px;margin:10px 0}.stock-reorder-list,.stock-top-list,.stock-kit-list{display:grid;gap:7px}.stock-reorder-list>div,.stock-top-list>div,.stock-kit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;background:#f8fbfc;border:1px solid #e7eef2;border-radius:9px}.stock-reorder-list span,.stock-top-list span,.stock-kit-row span{min-width:0}.stock-reorder-list b,.stock-top-list b,.stock-kit-row b{display:block;color:#294f64;font-size:11.5px}.stock-reorder-list small,.stock-top-list small,.stock-kit-row small{display:block;color:#7c929e;font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-reorder-list em{font-style:normal;font-size:10.5px;font-weight:900;padding:5px 7px;border-radius:999px;background:#fff1d7;color:#94611a}.stock-reorder-list em.rupture{background:#fbe9e8;color:#a33f39}.stock-mini-pdf,.stock-inline-more{font-size:10.5px;font-weight:850;color:#466d81;text-decoration:none}.stock-top-list strong{color:#173f58;font-size:13px}.stock-tech-picker{display:flex;gap:10px;padding:12px 13px 14px}.stock-tech-picker select{flex:1;min-width:0;border:1px solid #cadbe4;border-radius:9px;padding:10px 12px;background:#fff;color:#365d70}.stock-tech-picker button,.stock-kit-row button,.stock-kit-create-btn{border:0;border-radius:8px;padding:8px 10px;background:#173f58;color:#fff;font-weight:850;font-size:10.5px;cursor:pointer}.stock-kit-create-btn{background:#e9f1f5;color:#315d73}.stock-kit-modal{width:min(650px,94vw)}.stock-kit-modal .move-form>.move-field+.move-field{margin-top:10px}.stock-kit-lines{display:grid;gap:11px;margin-top:11px}.stock-kit-line{display:grid;grid-template-columns:1fr 90px;gap:10px}.stock-kit-line select,.stock-kit-line input{border:1px solid #cadbe4;border-radius:8px;padding:9px 10px;background:#fff}.stock-add-kit-line{margin-top:11px;border:1px dashed #b9cdd7;background:#f8fbfc;color:#426b7f;border-radius:8px;padding:8px;cursor:pointer}.stock-kit-warning{background:#fff7e9;border:1px solid #eed4a6;color:#805d23;padding:9px;border-radius:8px;font-size:11px}.stock-tech-modal-grid{display:grid}.stock-tech-kit-grid{grid-template-columns:.85fr 1.15fr}@media(max-width:900px){.stock-ops-kpis{grid-template-columns:repeat(2,1fr)}.stock-ops-grid,.stock-tech-kit-grid{grid-template-columns:1fr}}@media(max-width:560px){.stock-ops-kpis{grid-template-columns:1fr}.stock-tech-picker{flex-direction:column}.stock-kit-line{grid-template-columns:1fr 75px}}

.stock-articles-bg{display:none;position:fixed;inset:0;z-index:1900;background:rgba(15,35,49,.52);backdrop-filter:blur(2px);align-items:center;justify-content:center;padding:18px}
.stock-articles-bg.open{display:flex}
.stock-articles-modal{width:min(1180px,97vw);max-height:94vh;background:#fff;border-radius:15px;box-shadow:0 22px 70px rgba(0,0,0,.28);overflow:auto}
.stock-articles-shell-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#f5f9fb;border-bottom:1px solid #dfe9ee}
.stock-articles-shell-head strong{color:#173f58;font-size:15px}
.stock-articles-shell-head button{border:0;background:#e8f0f4;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:18px}
.stock-articles-content{padding:12px}
.stock-articles-content .article-head{margin-top:0}
.stock-articles-content .article-layout{grid-template-columns:minmax(0,1fr) 250px}
.stock-articles-content .category-panel{max-height:70vh;overflow:auto}
@media(max-width:900px){.stock-articles-modal{width:98vw;max-height:96vh}.stock-articles-content{padding:8px}.stock-articles-content .article-layout{grid-template-columns:1fr}}

/* STEP24EF.6.50.162 — une absence ouverte depuis la cloche doit rester
   au-dessus du Centre de notifications (10070), sans modifier les autres modals. */
#absenceModalBackdrop.tech-modal-backdrop{z-index:10090!important;}


/* STEP24EF.6.50.163 — Centre À traiter, design aligné sur Centre des garanties */
.notification-center-page{max-width:1450px;margin:0 auto;padding:20px 22px 44px}
.nc-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;background:linear-gradient(135deg,#0d3156,#164d7e);color:#fff;border-radius:18px;padding:22px 26px;box-shadow:0 12px 30px #0b29452b}
.nc-kicker{font-size:11px;font-weight:900;letter-spacing:1.4px;opacity:.72}
.nc-hero h1{margin:4px 0 5px;font-size:28px}
.nc-hero p{margin:0;opacity:.82}
.nc-scope{display:grid;gap:6px;min-width:260px}
.nc-scope>span{font-size:11px;font-weight:900;letter-spacing:.08em;opacity:.75}
.nc-scope-buttons{display:flex;gap:6px;background:#ffffff18;border:1px solid #ffffff25;border-radius:11px;padding:4px}
.nc-scope-buttons a{flex:1;text-align:center;text-decoration:none;color:#e9f3fb;border-radius:8px;padding:9px 11px;font-weight:850;font-size:12px}
.nc-scope-buttons a.active{background:#fff;color:#174f7e}
.nc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.nc-kpi{appearance:none;text-align:left;background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:15px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;box-shadow:0 4px 14px #17324d0c;cursor:pointer;color:#17324d}
.nc-kpi span{font-weight:850}.nc-kpi strong{font-size:27px}.nc-kpi small{grid-column:1/3;color:#6f7f8f}
.nc-kpi.total{border-top:4px solid #2469a3}.nc-kpi.absence{border-top:4px solid #dc6c64}.nc-kpi.garantie{border-top:4px solid #e5a42a}.nc-kpi.other{border-top:4px solid #7385a0}
.nc-kpi.active{box-shadow:0 0 0 2px #2c86bd2e,0 6px 18px #17324d12}
.nc-security{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff8f7;border:1px solid #efc7c2;border-radius:12px;padding:12px 15px;margin:12px 0}
.nc-security>div{display:flex;gap:10px;align-items:center}.nc-security span{font-weight:850;color:#a3433d}.nc-security a{font-weight:850;color:#a3433d;text-decoration:none}
.nc-toolbar{display:flex;align-items:center;gap:16px;margin:14px 0}
.nc-search-wrap{display:flex;align-items:center;gap:8px;flex:1;max-width:520px;border:1px solid #ccd9e5;border-radius:10px;background:#fff;padding:0 12px}
.nc-search-wrap span{color:#708497;font-size:18px}.nc-search-wrap input{width:100%;border:0;outline:0;background:transparent;padding:11px 0;font:inherit}
.nc-hint{font-size:12px;color:#748494}
.nc-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px;padding:9px;background:#f4f8fb;border:1px solid #dce6ee;border-radius:12px}
.nc-filters button{border:1px solid #cfdae4;background:#fff;color:#31536b;border-radius:9px;padding:8px 11px;font-weight:800;font-size:11px;cursor:pointer}
.nc-filters button:hover,.nc-filters button.active{background:#175487;color:#fff;border-color:#175487}
.nc-groups{display:grid;gap:10px}
.nc-group{background:#fff;border:1px solid #dce5ed;border-radius:14px;overflow:hidden}
.nc-group summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:900;display:flex;justify-content:space-between;background:#f7f9fb;border-left:4px solid #2b78ae}
.nc-group summary::-webkit-details-marker{display:none}.nc-group summary b{background:#e7edf3;border-radius:99px;min-width:28px;text-align:center;padding:3px 8px}
.nc-list{padding:7px}
.nc-row{display:grid;grid-template-columns:210px 155px minmax(200px,1.15fr) minmax(230px,1.3fr) 105px;gap:12px;align-items:center;padding:11px 12px;border-radius:10px;border-bottom:1px solid #edf1f4;cursor:pointer}
.nc-row:hover{background:#f2f7fb}
.nc-row small{font-size:10px;color:#8291a0;text-transform:uppercase;font-weight:800;letter-spacing:.03em}.nc-row strong{font-size:12px;color:#24465f}
.nc-type{display:flex;align-items:center;gap:10px}.nc-type>div,.nc-date,.nc-subject,.nc-reason{display:flex;flex-direction:column;gap:2px}
.nc-type-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#d9e9f4;color:#175487;font-weight:900}
.nc-type-absence .nc-type-icon,.nc-type-absence_conflict .nc-type-icon{background:#fde1df;color:#a53d38}
.nc-type-garantie .nc-type-icon{background:#fff0c9;color:#8a5d00}
.nc-type-ticket .nc-type-icon{background:#dff3e8;color:#1d704b}
.nc-type-renfort .nc-type-icon,.nc-type-binome .nc-type-icon{background:#eee8fb;color:#6750a4}
.nc-date span{font-size:10px;color:#9b6b2c}.nc-priority{text-align:center}.nc-priority span{display:inline-block;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:900;background:#eef2f5;color:#60707d}
.nc-priority span.urgent{background:#fde1df;color:#9d3833}.nc-priority span.todo{background:#fff0c9;color:#80600d}.nc-priority span.watch{background:#e4eef8;color:#315f82}
.nc-action{border:0;background:#e8f2f9;color:#175487;border-radius:9px;padding:8px 10px;font-weight:850;cursor:pointer}.nc-action:hover{background:#175487;color:#fff}
.nc-empty{min-height:150px;border:1px dashed #cad8e3;border-radius:14px;background:#f8fbfd;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#718394}
.nc-empty strong{font-size:17px;color:#31536b}
@media(max-width:1150px){.nc-row{grid-template-columns:180px 130px 1fr 1fr 90px}.nc-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.nc-hero{align-items:stretch;flex-direction:column}.nc-scope{min-width:0}.nc-kpis{grid-template-columns:1fr}.nc-row{grid-template-columns:1fr 1fr}.nc-reason,.nc-subject{grid-column:1/-1}.nc-priority{justify-self:start}.nc-toolbar{align-items:stretch;flex-direction:column}.nc-search-wrap{max-width:none}}

/* STEP24EF.6.50.164 — états vides / filtres Centre À traiter */
.nc-empty[style*="display:none"]{display:none!important;}


/* STEP24EF.6.50.166 — Absence depuis Centre À traiter : popup compact type garantie */
#absenceModalBackdrop.notification-action-modal{
  z-index:15000!important;
  background:rgba(7,25,42,.60)!important;
  backdrop-filter:blur(4px)!important;
  padding:20px!important;
}
#absenceModalBackdrop.notification-action-modal #absenceModalBox{
  width:min(820px,96vw)!important;
  height:auto!important;
  max-height:92vh!important;
  background:#fff!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:0 25px 80px rgba(0,0,0,.34)!important;
  overflow:auto!important;
}
#absenceModalBackdrop.notification-action-modal .absence-modal-inner{
  background:#fff!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
#absenceModalBackdrop.notification-action-modal .tech-modal-header{
  min-height:auto!important;
  padding:22px 24px 14px!important;
  border-bottom:0!important;
  background:#fff!important;
}
#absenceModalBackdrop.notification-action-modal .tech-modal-name{
  font-size:26px!important;
  color:#17324d!important;
}
#absenceModalBackdrop.notification-action-modal .tech-modal-meta{
  font-size:12px!important;
  color:#728394!important;
}
#absenceModalBackdrop.notification-action-modal .tech-modal-close{
  width:34px!important;height:34px!important;border-radius:50%!important;
  background:#eef2f5!important;color:#17324d!important;
}
#absenceModalBackdrop.notification-action-modal .absence-review-form,
#absenceModalBackdrop.notification-action-modal .absence-modal-form-premium{
  padding:0 24px 22px!important;
}
#absenceModalBackdrop.notification-action-modal .absence-review-banner{
  border-radius:14px!important;
  background:#f3f7fa!important;
  border:1px solid #e0e8ef!important;
}
#absenceModalBackdrop.notification-action-modal .absence-review-card,
#absenceModalBackdrop.notification-action-modal .absence-form-row,
#absenceModalBackdrop.notification-action-modal .absence-selected-tech{
  border-radius:11px!important;
}
#absenceModalBackdrop.notification-action-modal .tech-modal-footer{
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid #e6edf2!important;
}
#absenceModalBackdrop.notification-action-modal .tech-modal-footer .topbtn{
  min-width:120px!important;
  border-radius:10px!important;
  padding:10px 16px!important;
  font-size:13px!important;
}


/* STEP24EF.6.50.167 — Actions du Centre À traiter sans quitter le Centre */
.notification-guarantee-modal{z-index:15020!important}
.notification-guarantee-card{width:min(760px,96vw)!important}
.gc-notify-loading,.gc-notify-error{padding:38px;text-align:center;color:#6d7f8f;font-weight:800}
.gc-notify-case h2{font-size:25px;margin:3px 0 16px}

/* STEP24EF.6.50.168 — Centre À traiter : périmètre global uniquement */
.nc-scope-single{grid-template-columns:1fr!important;}
.nc-scope-single a{min-width:150px!important;}


/* STEP24EF.6.50.169 — Référentiels : navigation stable + tarifs compacts */
.ref-workspace{
  min-height:560px;
  overflow-anchor:none;
}

/* Recherche Articles & tarifs compacte, sans barre géante */
.ref-tariff-search{
  width:min(620px,100%)!important;
  min-height:34px!important;
  height:34px!important;
  box-sizing:border-box!important;
  padding:4px 8px!important;
  margin:8px 0 10px!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.ref-tariff-search>span{
  flex:0 0 auto!important;
  font-size:14px!important;
  line-height:1!important;
}
.ref-tariff-search input{
  flex:1 1 auto!important;
  min-width:0!important;
  height:26px!important;
  padding:0 4px!important;
  font-size:10.5px!important;
  line-height:26px!important;
}
.ref-tariff-search .tech-search-clear{
  flex:0 0 auto!important;
  min-height:26px!important;
  height:26px!important;
  padding:0 9px!important;
  font-size:10px!important;
  border-radius:7px!important;
}
.ref-tariff-search strong{
  flex:0 0 auto!important;
  min-width:58px!important;
  text-align:right!important;
  font-size:10px!important;
}

/* Articles/tarifs : lignes réellement compactes */
.ref-tariff-columns{
  align-items:start!important;
}
.ref-tariff-columns .ref-desktop-panel{
  min-height:0!important;
  overflow:visible!important;
}
.ref-tariff-columns .ref-desktop-title{
  padding:7px 10px!important;
  font-size:11.5px!important;
}
.ref-tariff-columns .ref-cat-row{
  min-height:26px!important;
  box-sizing:border-box!important;
  padding:5px 8px!important;
  font-size:10px!important;
  line-height:16px!important;
}
.ref-tariff-columns .tariff-desktop-table{
  border-collapse:collapse!important;
}
.ref-tariff-columns .tariff-desktop-table th{
  height:27px!important;
  padding:4px 7px!important;
  font-size:10px!important;
  line-height:16px!important;
}
.ref-tariff-columns .tariff-desktop-table td{
  height:29px!important;
  padding:2px 7px!important;
  font-size:10.5px!important;
  line-height:20px!important;
  vertical-align:middle!important;
}
.ref-tariff-columns .tariff-search-row{
  height:29px!important;
}
.ref-tariff-columns .tariff-inline-form{
  min-height:25px!important;
  height:25px!important;
  align-items:center!important;
  gap:3px!important;
}
.ref-tariff-columns .tariff-inline-form input{
  width:72px!important;
  height:23px!important;
  padding:0 4px!important;
  font-size:10.5px!important;
  line-height:23px!important;
}
.ref-tariff-columns .tariff-inline-form button{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  padding:0!important;
  line-height:22px!important;
  border-radius:5px!important;
}

/* STEP24EF.6.50.171 — Référentiels : aucun saut de viewport entre sous-vues */
.ref-subtabs,.ref-workspace{
  overflow-anchor:none!important;
}


/* STEP24EF.6.50.173 — Articles & tarifs : Fibre / Cuivre en cartes fermées */
.ref-tariff-columns .tariff-category-card{
  position:relative;
  margin:9px 8px 14px!important;
  border:1px solid #d9e4ec!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 2px 9px rgba(31,55,74,.055)!important;
}
.ref-tariff-columns .tariff-category-card + .tariff-category-card{
  margin-top:16px!important;
}
.ref-tariff-columns .tariff-category-card .ref-cat-row{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:31px!important;
  padding:6px 10px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #dfe8ee!important;
  border-radius:0!important;
  font-size:10.5px!important;
  letter-spacing:.055em!important;
  background:#f7fafc!important;
}
.ref-tariff-columns .tariff-category-card.tariff-category-fibre{
  border-top:3px solid #169d65!important;
}
.ref-tariff-columns .tariff-category-card.tariff-category-cuivre{
  border-top:3px solid #d68731!important;
}
.ref-tariff-columns .tariff-category-card.tariff-category-fibre .ref-cat-row{
  background:linear-gradient(90deg,rgba(22,157,101,.09),#f8fbfc 55%)!important;
}
.ref-tariff-columns .tariff-category-card.tariff-category-cuivre .ref-cat-row{
  background:linear-gradient(90deg,rgba(214,135,49,.11),#f8fbfc 55%)!important;
}
.ref-tariff-columns .tariff-category-dot{
  font-size:9px!important;
}
.ref-tariff-columns .tariff-category-fibre .tariff-category-dot{
  color:#169d65!important;
}
.ref-tariff-columns .tariff-category-cuivre .tariff-category-dot{
  color:#d68731!important;
}
.ref-tariff-columns .tariff-category-count{
  margin-left:auto!important;
  padding:2px 7px!important;
  border:1px solid #dce6ed!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#718291!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
.ref-tariff-columns .tariff-category-body{
  padding:0 7px 7px!important;
  background:#fff!important;
}
.ref-tariff-columns .tariff-category-body .tariff-desktop-table{
  margin:0!important;
  border:0!important;
  border-radius:0 0 8px 8px!important;
}
.ref-tariff-columns .tariff-category-body .tariff-desktop-table tr:last-child td{
  border-bottom:0!important;
}

/* STEP24EF.6.50.174 */
.diag-last-run{display:flex;align-items:center;gap:5px;margin-top:7px;color:#667b8c;font-size:10.5px;font-weight:650}.diag-last-run strong{color:#304b5f;font-weight:800}.diag-last-run-dot{color:#159b67;font-size:8px}.diag-last-run-duration{color:#8a9aa7;font-weight:700}.diagnostic-page{overflow-anchor:none!important}

/* STEP24EF.6.50.177 — Diagnostic : KPI Erreurs aligné avec les autres.
   La classe générique .error ajoutait margin/padding au KPI et le rétrécissait. */
.diag-kpis .diag-kpi.error{
  margin:0!important;
  padding:12px 14px!important;
  min-height:82px!important;
  height:auto!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  background:#fff!important;
  color:inherit!important;
}


/* STEP24EF.6.50.178 — Historique article : utilisations regroupées par date */
.article-history-date-groups{
  max-height:390px!important;
  overflow:auto!important;
  padding:6px 7px 8px!important;
  background:#f5f8fa!important;
}
.article-use-day{
  margin:0 0 7px!important;
  border:1px solid #d6e0e7!important;
  border-radius:9px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.article-use-day:last-child{margin-bottom:0!important}
.article-use-day summary{
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) auto 20px!important;
  gap:9px!important;
  align-items:center!important;
  list-style:none!important;
  cursor:pointer!important;
  padding:8px 10px!important;
  background:#eef4f7!important;
  color:#274b64!important;
  font-size:10.5px!important;
  font-weight:800!important;
  user-select:none!important;
}
.article-use-day summary::-webkit-details-marker{display:none!important}
.article-use-day[open] summary{
  background:#e5eef4!important;
  border-bottom:1px solid #d3dfe7!important;
}
.article-use-day-date{
  font-size:11px!important;
  font-weight:900!important;
}
.article-use-day-meta{
  color:#6d8190!important;
  font-size:9.5px!important;
  font-weight:750!important;
  white-space:nowrap!important;
}
.article-use-day-chevron{
  display:inline-block!important;
  text-align:center!important;
  transition:transform .16s ease!important;
  color:#61798b!important;
}
.article-use-day[open] .article-use-day-chevron{
  transform:rotate(180deg)!important;
}
.article-use-day-body{
  background:#fff!important;
}
.article-use-day-body table{
  margin:0!important;
}
.article-use-day-body thead th{
  position:sticky!important;
  top:0!important;
  z-index:1!important;
}
.article-use-empty{
  padding:18px!important;
  text-align:center!important;
  color:#81909b!important;
  font-size:10.5px!important;
}

/* Bas du popup : donner de la vraie place à "À partir de" */
.article-history-edit form{
  grid-template-columns:auto 105px auto minmax(190px,230px) minmax(105px,130px)!important;
  gap:8px!important;
}
.article-history-edit .article-history-month-input{
  width:100%!important;
  min-width:190px!important;
  box-sizing:border-box!important;
  font-size:11px!important;
}
.article-history-edit .article-history-price-input{
  width:105px!important;
  box-sizing:border-box!important;
}
.article-history-edit .topbtn{
  min-width:105px!important;
}
@media(max-width:1100px){
  .article-history-edit form{
    grid-template-columns:auto minmax(100px,1fr) auto minmax(190px,1.3fr)!important;
  }
  .article-history-edit .topbtn{
    grid-column:1/-1!important;
    justify-self:end!important;
  }
}


/* STEP24EF.6.50.182 — type d'absence visible sur les imports */
.nc-title-line,
.pending-title-line{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.absence-kind-badge{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 8px;
  border-radius:999px;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  white-space:nowrap;
  border:1px solid transparent;
}
.absence-kind-badge.conge{
  background:#fff2cc;
  color:#8a6400;
  border-color:#f2d978;
}
.absence-kind-badge.maladie{
  background:#e7f1fb;
  color:#285f8f;
  border-color:#bdd6ec;
}
.absence-kind-badge.accident{
  background:#fde4e1;
  color:#9b3e37;
  border-color:#efc1bc;
}
.absence-kind-badge.autre{
  background:#eef2f5;
  color:#5f6f7b;
  border-color:#d8e0e6;
}


/* STEP24EF.6.50.184 — identifiants métier des absences */
.absence-business-ref{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  padding:3px 7px;
  border-radius:7px;
  background:#eaf2f8;
  border:1px solid #cbdde9;
  color:#1d5b84;
  font-size:10px;
  font-weight:900;
  letter-spacing:.025em;
  font-variant-numeric:tabular-nums;
}
.absence-business-ref.modal-ref{
  min-width:0;
  padding:2px 6px;
  vertical-align:middle;
}


/* STEP24EF.6.50.185 — les badges type restent visibles à toutes les étapes du workflow */
.pending-title-line .absence-kind-badge,
.nc-title-line .absence-kind-badge{
  display:inline-flex!important;
}


/* STEP24EF.6.50.186 — circuit visuel de validation des absences */
.absence-review-progress{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  padding:14px 16px;
  border:1px solid #d5e2eb;
  border-radius:13px;
  background:#f7fafc;
}
.absence-review-progress-step{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:#7c91a0;
}
.absence-review-progress-step i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  border:2px solid #c7d5df;
  background:#fff;
  color:#7c91a0;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}
.absence-review-progress-step div{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.absence-review-progress-step strong{
  color:inherit;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
}
.absence-review-progress-step small{
  margin-top:2px;
  color:#7c91a0;
  font-size:9px;
  font-weight:700;
}
.absence-review-progress-step.done{
  color:#1f6a98;
}
.absence-review-progress-step.done i{
  border-color:#1f6a98;
  background:#1f6a98;
  color:#fff;
}
.absence-review-progress-step.current i{
  box-shadow:0 0 0 4px rgba(31,106,152,.12);
}
.absence-review-progress-step.current strong{
  color:#153f5d;
}
.absence-review-progress-line{
  height:3px;
  border-radius:999px;
  background:#d8e3ea;
}
.absence-review-progress-line.done{
  background:#1f6a98;
}
.absence-decision-footer .absence-refuse-btn,
.absence-decision-footer .absence-approve-btn{
  color:#fff!important;
}
.absence-decision-footer .absence-refuse-btn:hover,
.absence-decision-footer .absence-approve-btn:hover,
.absence-decision-footer .absence-refuse-btn:focus,
.absence-decision-footer .absence-approve-btn:focus{
  color:#fff!important;
}
@media(max-width:700px){
  .absence-review-progress{
    grid-template-columns:1fr;
    gap:7px;
  }
  .absence-review-progress-line{
    width:3px;
    height:18px;
    margin-left:14px;
  }
}


/* STEP24EF.6.50.189 — décision Garantie explicite */
.gc-decision-panel{
  margin-top:14px;
  padding:14px;
  border:1px solid #d6e2ea;
  border-radius:14px;
  background:#f8fbfd;
}
.gc-decision-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.gc-decision-head>div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.gc-decision-head small{
  font-size:9px;
  font-weight:900;
  color:#7890a1;
  letter-spacing:.07em;
}
.gc-decision-head>span{
  font-size:11px;
  color:#758797;
}
.gc-decision-current{
  display:inline-flex;
  width:max-content;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
}
.gc-decision-current.is-pending{background:#fff2cc;color:#805f00}
.gc-decision-current.is-valid{background:#dff3e8;color:#1d704b}
.gc-decision-current.is-rejected{background:#fde1df;color:#9d3833}
.gc-decision-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.gc-decision-btn{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:62px;
  padding:10px 13px;
  border:0;
  border-radius:11px;
  cursor:pointer;
  text-align:left;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(27,61,83,.10);
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
}
.gc-decision-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(27,61,83,.16);
  filter:brightness(1.02);
}
.gc-decision-btn.valid{background:#278864}
.gc-decision-btn.reject{background:#cf5a5e}
.gc-decision-btn>b{
  width:32px;height:32px;flex:0 0 32px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  font-size:17px;
  color:#fff;
}
.gc-decision-btn>span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.gc-decision-btn strong{
  font-size:13px;
  color:#fff!important;
}
.gc-decision-btn small{
  font-size:9.5px;
  color:rgba(255,255,255,.86)!important;
}
.gc-reset-decision{
  margin-top:10px;
  padding:0;
  border:0;
  background:transparent;
  color:#5d7486;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.gc-decision-panel.is-saving{
  opacity:.62;
  pointer-events:none;
}
.gc-decision-saved{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:74px;
}
.gc-decision-saved>b{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#278864;
  color:#fff;
  font-size:20px;
}
.gc-decision-saved>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.gc-decision-saved strong{
  color:#1d704b;
  font-size:14px;
}
.gc-decision-saved span{
  color:#748696;
  font-size:10px;
}
@media(max-width:650px){
  .gc-decision-head{align-items:flex-start;flex-direction:column}
  .gc-decision-actions{grid-template-columns:1fr}
}


/* STEP24EF.6.50.190 — harmonisation visuelle Garantie / Absence */
.gc-premium-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.gc-premium-ref{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:3px 7px;
  border-radius:7px;
  background:#e7f1f8;
  border:1px solid #c7dce9;
  color:#285f84;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.gc-premium-head h2{
  margin:4px 0 0;
  color:#173f5d;
  font-size:27px;
  line-height:1.05;
}
.gc-premium-sub{
  margin-top:4px;
  color:#718798;
  font-size:11px;
}
.gc-progress{
  display:grid;
  grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin:12px 0 14px;
  padding:14px 16px;
  border:1px solid #d5e2eb;
  border-radius:13px;
  background:#f4f8fb;
}
.gc-progress-step{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:#7c91a0;
}
.gc-progress-step i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  border:2px solid #c7d5df;
  background:#fff;
  color:#7c91a0;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}
.gc-progress-step div{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.gc-progress-step strong{
  color:inherit;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
}
.gc-progress-step small{
  margin-top:2px;
  color:#7c91a0;
  font-size:9px;
  font-weight:700;
}
.gc-progress-step.done{
  color:#1f6a98;
}
.gc-progress-step.done i{
  border-color:#1f6a98;
  background:#1f6a98;
  color:#fff;
}
.gc-progress-step.current i{
  box-shadow:0 0 0 4px rgba(31,106,152,.12);
}
.gc-progress-line{
  height:3px;
  border-radius:999px;
  background:#d8e3ea;
}
.gc-progress-line.done{
  background:#1f6a98;
}
.gc-summary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.gc-summary-card{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:86px;
  padding:13px 14px;
  border:1px solid #d6e2ea;
  border-radius:12px;
  background:#fff;
}
.gc-summary-card>span{
  color:#7890a1;
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
}
.gc-summary-card>strong{
  color:#183f5c;
  font-size:14px;
  line-height:1.25;
}
.gc-summary-card>small{
  color:#6f8495;
  font-size:10px;
  line-height:1.35;
}
.gc-summary-card.compact{
  min-height:58px;
}
.gc-summary-card.compact>strong{
  font-size:16px;
}
.gc-note-premium{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:2px;
}
.gc-note-premium>span{
  color:#38566c;
  font-size:10px;
  font-weight:900;
}
.gc-note-premium textarea{
  min-height:86px;
  padding:11px 12px;
  border:1px solid #bccfdd;
  border-radius:10px;
  background:#fff;
  color:#183f5c;
  font:inherit;
  resize:vertical;
}
.gc-modal-foot.premium{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e1e8ed;
}
.gc-modal-card,
.gc-notify-case{
  color:#173f5d;
}
@media(max-width:700px){
  .gc-progress{
    grid-template-columns:1fr;
    gap:7px;
  }
  .gc-progress-line{
    width:3px;
    height:18px;
    margin-left:14px;
  }
  .gc-summary-grid{
    grid-template-columns:1fr;
  }
}


/* STEP24EF.6.50.191 — Coffre-fort techniciens */
.vault-page{padding:2px 0 18px}
.vault-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px
}
.vault-security-pill{
  display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;
  background:#e7f2f8;border:1px solid #c7dce9;color:#286082;font-size:9px;font-weight:900;letter-spacing:.07em
}
.vault-shell{
  display:grid;grid-template-columns:minmax(250px,31%) minmax(0,69%);
  min-height:570px;border:1px solid #ccdce7;border-radius:14px;overflow:hidden;background:#fff;
  box-shadow:0 7px 22px rgba(29,67,93,.07)
}
.vault-tech-column{
  border-right:1px solid #d8e4ec;background:#f3f7fa;min-width:0
}
.vault-column-head{
  padding:14px;border-bottom:1px solid #d8e4ec;background:#edf4f8
}
.vault-column-head>div{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:9px
}
.vault-column-head span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#6e8799}
.vault-column-head strong{
  display:grid;place-items:center;min-width:27px;height:23px;padding:0 7px;border-radius:999px;
  background:#dbeaf3;color:#1d5e86;font-size:11px
}
.vault-column-head input{
  width:100%;box-sizing:border-box;height:36px;padding:0 11px;border:1px solid #c6d8e4;border-radius:9px;
  background:#fff;color:#294b61;outline:none
}
.vault-tech-list{padding:8px;max-height:510px;overflow:auto}
.vault-tech-card{
  width:100%;display:flex;align-items:center;gap:10px;padding:10px 9px;margin:0 0 5px;
  border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;text-align:left;
  transition:.12s ease;color:#24485f
}
.vault-tech-card:hover{background:#fff;border-color:#d5e2ea}
.vault-tech-card.active{background:#fff;border-color:#9fc4db;box-shadow:0 3px 10px rgba(31,94,134,.08)}
.vault-avatar{
  display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;
  background:#d9edf8;color:#17628f;font-size:11px;font-weight:900;text-transform:uppercase
}
.vault-tech-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.vault-tech-copy strong{font-size:11px;color:#183f5b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vault-tech-copy small{font-size:9px;color:#74899a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vault-tech-arrow{color:#7d95a6;font-size:20px}
.vault-doc-column{min-width:0;background:#f9fbfc}
.vault-doc-head{
  min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 17px;border-bottom:1px solid #d8e4ec;background:#fff
}
.vault-selected{display:flex;align-items:center;gap:11px}
.vault-selected-icon{
  display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#165f8c;color:#fff;font-size:17px
}
.vault-selected>div{display:flex;flex-direction:column}
.vault-selected span:not(.vault-selected-icon){font-size:8px;font-weight:900;letter-spacing:.07em;color:#7890a1}
.vault-selected strong{font-size:16px;color:#173e5b}
.vault-selected small{font-size:9px;color:#74899a;margin-top:2px}
.vault-ready-badge{
  padding:5px 9px;border-radius:999px;background:#dff3e8;color:#247252;font-size:9px;font-weight:900
}
.vault-ready-badge.read{background:#edf1f4;color:#687d8c}
.vault-doc-workspace{padding:18px}
.vault-folder-preview{
  display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #d6e3eb;border-radius:12px;background:#fff
}
.vault-folder-icon{font-size:25px}
.vault-folder-preview>div{display:flex;flex-direction:column;gap:3px}
.vault-folder-preview strong{font-size:12px;color:#183f5b}
.vault-folder-preview span{font-size:9px;color:#7890a1}
.vault-document-placeholder{
  min-height:350px;margin-top:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;
  padding:28px;text-align:center;border:1px dashed #bfd1dd;border-radius:13px;background:#f7fafc
}
.vault-placeholder-icon{font-size:34px;margin-bottom:8px}
.vault-document-placeholder strong{font-size:17px;color:#183f5b}
.vault-document-placeholder p{max-width:530px;margin:7px 0 13px;color:#718696;font-size:11px;line-height:1.5}
.vault-future-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px}
.vault-future-chips span{
  padding:5px 8px;border-radius:999px;background:#e8f1f7;border:1px solid #cfdee8;color:#4d6e83;font-size:9px;font-weight:800
}
.vault-document-placeholder>small{font-size:9px;color:#91a1ac}
.vault-empty-tech{padding:20px 10px;text-align:center;color:#7b909f;font-size:10px}
@media(max-width:850px){
  .vault-shell{grid-template-columns:1fr;min-height:0}
  .vault-tech-column{border-right:0;border-bottom:1px solid #d8e4ec}
  .vault-tech-list{max-height:235px}
  .vault-doc-head{align-items:flex-start}
}

/* STEP192 — le retour reste dans le popup Garantie */
.gc-return-popup-link{
  border:0;background:transparent;color:#1a5f8b;font-weight:900;text-decoration:underline;
  cursor:pointer;padding:8px 0;font:inherit
}
.gc-return-focus{animation:gcReturnFocus 1.15s ease}
@keyframes gcReturnFocus{
  0%,100%{box-shadow:none}
  35%{box-shadow:0 0 0 4px rgba(31,106,152,.18);border-color:#5d9fc7}
}


/* STEP24EF.6.50.193 — sidebar : suppression de l'ancienne bande blanche de scrollbar */
.days-sidebar{
  scrollbar-color:#4f7894 #173f5e!important;
}
.days-sidebar::-webkit-scrollbar{
  width:10px;
  background:#173f5e;
}
.days-sidebar::-webkit-scrollbar-track{
  background:#173f5e;
}
.days-sidebar::-webkit-scrollbar-thumb{
  background:#4f7894;
  border:2px solid #173f5e;
  border-radius:999px;
}
.days-sidebar::-webkit-scrollbar-corner{
  background:#173f5e;
}

/* STEP24EF.6.50.195 — jointure sidebar/contenu : aucune gouttière blanche */
.workspace{background:#eef3f6!important;gap:0!important}
.days-sidebar{background:var(--left)!important;border-right:0!important;margin-right:0!important}
.content-area{background:#eef3f6!important;margin-left:0!important;border-left:0!important;box-shadow:none!important}
@media (min-width:821px){
  .days-sidebar{scrollbar-width:thin;scrollbar-color:#4f7894 var(--left)!important}
}

/* STEP24EF.6.50.203 — Studio PDF fiche technicien */
.tech-export-pdf-btn{background:#245f89!important;color:#fff!important;border-color:#245f89!important}.tech-report-backdrop{display:none;position:fixed;inset:0;z-index:10070;background:rgba(17,43,58,.55);backdrop-filter:blur(2px);align-items:center;justify-content:center;padding:18px}.tech-report-backdrop.open{display:flex}.tech-report-box{width:min(1050px,96vw);max-height:94vh;overflow:auto;border-radius:17px;background:#f4f7f9;box-shadow:0 28px 90px rgba(15,39,54,.35)}.trm-shell{color:#365b6e}.trm-head{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;background:#fff;border-bottom:1px solid #d9e5eb}.trm-head small,.trm-preview>small,.trm-block>label{display:block;font-size:9px;letter-spacing:.08em;font-weight:900;color:#78909d}.trm-head h2{margin:4px 0;color:#173f58;font-size:19px}.trm-head p{margin:0;color:#7b919d;font-size:11px}.trm-head>button{border:0;background:#edf3f6;color:#557383;width:34px;height:34px;border-radius:9px;font-size:21px;cursor:pointer}.trm-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:13px 16px;background:#eef3f6;border-bottom:1px solid #d9e5eb}.trm-presets>button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px;border:1px solid #d7e3e9;border-radius:11px;background:#fff;color:#456779;cursor:pointer;text-align:left}.trm-presets>button.active{border-color:#4b88aa;box-shadow:0 0 0 2px rgba(75,136,170,.12);background:#f7fbfd}.trm-presets b{font-size:11px;color:#234f67}.trm-presets span{font-size:9px;color:#8398a3}.trm-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);gap:14px;padding:15px}.trm-config,.trm-preview{background:#fff;border:1px solid #d9e5eb;border-radius:13px;padding:15px}.trm-block{padding:0 0 15px;margin-bottom:15px;border-bottom:1px solid #edf2f4}.trm-block:last-child{margin-bottom:0}.trm-block>label{margin-bottom:8px}.trm-period-tabs{display:flex;gap:5px;margin-bottom:9px}.trm-period-tabs button{border:1px solid #d5e1e7;background:#f5f8fa;color:#607d8d;border-radius:8px;padding:7px 13px;font-size:10px;font-weight:850;cursor:pointer}.trm-period-tabs button.active{background:#245f89;color:#fff;border-color:#245f89}.trm-period-panel select,.trm-block>select,.trm-dates input{width:100%;box-sizing:border-box;border:1px solid #cfdee5;border-radius:9px;padding:9px;background:#fff;color:#365b6e;font-size:11px}.trm-period-panel.hidden{display:none}.trm-dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.trm-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trm-checks label{display:flex;align-items:flex-start;gap:8px;border:1px solid #dce7ed;border-radius:10px;padding:9px;cursor:pointer}.trm-checks input{margin-top:3px;accent-color:#245f89}.trm-checks b,.trm-checks small{display:block}.trm-checks b{font-size:10.5px;color:#315d74}.trm-checks small{font-size:9px;color:#8498a3;margin-top:2px}.trm-permission-note{padding:10px;border-radius:9px;background:#fff7e7;color:#80693d;font-size:9.5px;font-weight:750}.trm-preview{background:linear-gradient(145deg,#f9fcfd,#eef4f7)}.trm-paper{margin-top:10px;background:#fff;min-height:350px;border:1px solid #d8e3e8;border-radius:4px;padding:22px 18px;box-shadow:0 9px 24px rgba(37,74,94,.10)}.trm-paper-brand{font-size:7px;letter-spacing:.15em;font-weight:900;color:#6f8998}.trm-paper h3{margin:9px 0 2px;color:#173f58;font-size:16px}.trm-paper p{margin:0;color:#8095a0;font-size:8px}.trm-paper-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:17px 0}.trm-paper-kpis i{height:32px;background:#eaf2f6;border-radius:3px}.trm-paper-lines i{display:block;height:26px;margin:6px 0;border-radius:3px;background:#f1f5f7;border-left:3px solid #5d91ad}.trm-preview>p{font-size:9px;color:#7d929d;line-height:1.4}.trm-foot{display:flex;justify-content:flex-end;gap:8px;padding:13px 16px;background:#fff;border-top:1px solid #d9e5eb}.trm-foot button{border-radius:9px;padding:9px 15px;font-size:10px;font-weight:900;cursor:pointer}.trm-cancel{border:1px solid #d4e0e6;background:#fff;color:#607b89}.trm-generate{border:1px solid #245f89;background:#245f89;color:#fff}@media(max-width:780px){.trm-presets{grid-template-columns:1fr 1fr}.trm-body{grid-template-columns:1fr}.trm-preview{display:none}.trm-checks{grid-template-columns:1fr}.tech-report-backdrop{padding:5px}.tech-report-box{width:99vw;max-height:98vh}}
/* STEP24EF.6.50.204 — Report Studio polish */
.tech-export-pdf-btn:hover,.tech-export-pdf-btn:focus{background:#173f58!important;color:#fff!important;border-color:#173f58!important;box-shadow:0 5px 14px rgba(23,63,88,.22)!important}
.trm-paper-kpis>div{min-width:0;padding:7px 4px;background:#eaf2f6;border-radius:4px;text-align:center}.trm-paper-kpis b,.trm-paper-kpis span{display:block}.trm-paper-kpis b{font-size:10px;color:#173f58}.trm-paper-kpis span{margin-top:2px;font-size:6px;text-transform:uppercase;color:#78909d;font-weight:800}.trm-paper-lines .trm-preview-line{display:flex;align-items:center;gap:6px;min-height:27px;margin:6px 0;padding:0 7px;border-radius:3px;background:#f1f5f7;border-left:3px solid #5d91ad;font-size:7px;font-weight:800;color:#476878}.trm-paper-lines .trm-preview-line:before{content:'✓';color:#2d8d6b;font-weight:900}


/* STEP24EF.6.50.205 — Qualité + Satisfaction shell */
.satisfaction-page{padding:4px 0}.satisfaction-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.satisfaction-status-pill{padding:7px 10px;border-radius:999px;background:#eef6fa;border:1px solid #c9dce7;color:#52758a;font-size:9px;font-weight:900;letter-spacing:.04em}.satisfaction-shell{border:1px solid #d7e3ea;border-radius:14px;background:linear-gradient(145deg,#fff,#f6fafc);padding:28px;text-align:center;box-shadow:0 8px 24px rgba(24,64,88,.05)}.satisfaction-empty-icon{width:52px;height:52px;margin:0 auto 10px;display:grid;place-items:center;border-radius:15px;background:#e9f4f9;color:#26739b;font-size:30px}.satisfaction-shell>strong{display:block;color:#173f58;font-size:18px}.satisfaction-shell>p{max-width:680px;margin:7px auto 20px;color:#718795;font-size:11px}.satisfaction-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:760px;margin:0 auto 16px}.satisfaction-preview-grid>div{border:1px solid #dce7ed;border-radius:11px;background:#fff;padding:14px}.satisfaction-preview-grid span,.satisfaction-preview-grid small{display:block}.satisfaction-preview-grid span{font-size:9px;font-weight:900;color:#718997;text-transform:uppercase}.satisfaction-preview-grid b{display:block;margin:5px 0;color:#d5a52c;font-size:24px;letter-spacing:2px}.satisfaction-preview-grid small,.satisfaction-future-note{color:#8094a0;font-size:9px}.tech-quality-kpi{border-top-color:#7d68ad!important;background:#f7f4fb!important}.tech-quality-kpi strong{color:#665092!important}.tech-satisfaction-kpi{border-top-color:#d5a52c!important;background:#fffaf0!important}.tech-satisfaction-kpi strong{color:#8b6a16!important}.tech-kpi-stars{color:#d5a52c;font-size:13px;letter-spacing:1px;line-height:1}.tech-satisfaction-panel{grid-column:1/-1}.tech-satisfaction-empty{text-align:center;padding:18px;border:1px dashed #cadce6;border-radius:10px;background:#f9fcfd}.tech-satisfaction-stars{color:#d5a52c;font-size:26px;letter-spacing:3px}.tech-satisfaction-empty strong,.tech-satisfaction-empty span,.tech-satisfaction-empty small{display:block}.tech-satisfaction-empty strong{margin-top:4px;color:#173f58;font-size:17px}.tech-satisfaction-empty span{margin-top:3px;color:#607b8b;font-size:10px}.tech-satisfaction-empty small{margin-top:5px;color:#8295a0;font-size:9px}.tech-sheet-kpis{grid-template-columns:repeat(8,minmax(0,1fr))!important}
@media(max-width:820px){.satisfaction-head{align-items:flex-start;flex-direction:column}.satisfaction-preview-grid{grid-template-columns:1fr}.tech-sheet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* KPI fiche technicien : contrat UI = jamais plus de deux rangées. */
.tech-sheet-kpis{grid-template-columns:repeat(9,minmax(96px,1fr))!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
@media(max-width:820px){.tech-sheet-kpis{grid-template-columns:repeat(9,minmax(108px,1fr))!important}}

/* STEP24EF.6.50.206 — modules en construction + Comparaison */
.tabsbar .tablink.tab-under-construction{background:#c94f55!important;color:#fff!important;border-color:#b94349!important;font-weight:850;box-shadow:inset 0 -2px 0 rgba(92,20,25,.16)}
.tabsbar .tablink.tab-under-construction:hover,.tabsbar .tablink.tab-under-construction.active{background:#ad3940!important;color:#fff!important;border-color:#963139!important}
.construction-module{display:flex;align-items:flex-start;gap:16px;border:1px solid #e4c2c4;border-left:5px solid #c94f55;border-radius:14px;background:#fff;padding:22px;box-shadow:0 8px 24px rgba(32,63,82,.05)}
.construction-module-icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:14px;background:#fbeaec;font-size:25px}
.construction-badge{display:inline-flex;margin-top:12px;padding:6px 10px;border-radius:999px;background:#c94f55;color:#fff;font-size:9px;font-weight:900;letter-spacing:.05em}
.construction-module p{max-width:850px;margin:10px 0 0;color:#6d8391;font-size:11px;line-height:1.55}

/* STEP209 · modules en construction */
.construction-page{padding:18px 22px 24px;background:#fff;border:1px solid #f1d4d7;border-radius:12px}
.construction-page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.construction-hero{display:grid;grid-template-columns:minmax(220px,32%) 1fr;align-items:center;gap:34px;padding:18px 26px;border:1px solid #f0d2d5;border-radius:14px;background:linear-gradient(135deg,#fffafa 0%,#fff 68%)}
.construction-mascot-wrap{text-align:center}
.construction-mascot{display:block;width:min(100%,300px);height:auto;margin:auto;object-fit:contain}
.construction-status-pill{display:inline-flex;padding:7px 13px;border-radius:9px;background:#d5525c;color:#fff;font-size:12px;font-weight:900}
.construction-copy h2{margin:14px 0 8px;color:#173d5b;font-size:25px;line-height:1.18}
.construction-copy p{color:#6d8194;margin:0 0 12px}
.construction-feature-list{list-style:none;padding:0;margin:0;display:grid;gap:9px;color:#526f89}
.construction-feature-list li{font-weight:650}
.construction-preview-title{font-size:17px;font-weight:850;color:#173d5b;margin:20px 0 10px}
.construction-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.construction-preview-grid>div{display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center;padding:15px;border:1px solid #dce7ef;border-radius:12px;background:#fff}
.construction-preview-grid span{grid-row:1/3;font-size:25px}
.construction-preview-grid strong{color:#173d5b}
.construction-preview-grid small{color:#8092a2;margin-top:3px}
.construction-info{margin-top:16px;padding:12px 15px;border:1px solid #d9e7f5;border-radius:10px;background:#f7fbff;color:#67819a}
.construction-vault-banner{display:flex;align-items:center;gap:14px;margin:12px 0 16px;padding:10px 16px;border:1px solid #f0d2d5;border-radius:12px;background:#fffafa}
.construction-vault-banner img{width:92px;height:92px;object-fit:contain}
.construction-vault-banner div{display:grid;gap:3px}
.construction-vault-banner span{width:max-content;padding:4px 8px;border-radius:7px;background:#d5525c;color:#fff;font-size:10px;font-weight:900}
.construction-vault-banner strong{font-size:17px;color:#173d5b}
.construction-vault-banner small{color:#758a9b}
@media(max-width:760px){
 .construction-page{padding:12px}
 .construction-hero{grid-template-columns:1fr;gap:12px;padding:14px}
 .construction-mascot{width:min(70%,240px)}
 .construction-copy h2{font-size:20px}
 .construction-preview-grid{grid-template-columns:1fr}
 .construction-vault-banner img{width:70px;height:70px}
}

/* STEP24EF.6.50.210 · rappel de clôture et KPI vérification */
.tech-validation-reminder-backdrop{position:fixed;inset:0;z-index:20000;background:rgba(7,27,40,.68);display:flex;align-items:center;justify-content:center;padding:16px}
.tech-validation-reminder-modal{width:min(570px,96vw);background:#fff;border-radius:16px;padding:24px;box-shadow:0 28px 90px rgba(4,20,31,.38);text-align:center;border-top:5px solid #d39a24}
.tech-validation-reminder-icon{width:54px;height:54px;margin:-4px auto 9px;border-radius:50%;display:grid;place-items:center;background:#fff2d5;color:#9b6810;font-size:27px;font-weight:900}
.tech-validation-reminder-kicker{font-size:9px;font-weight:900;letter-spacing:.08em;color:#9b6810}
.tech-validation-reminder-modal h2{margin:6px 0 9px;color:#173f58;font-size:24px}
.tech-validation-reminder-modal p{margin:0;color:#536f80;font-size:12px;line-height:1.55}
.tech-validation-reminder-deadline{margin:15px 0 9px;padding:11px;border-radius:9px;background:#fff7e6;border:1px solid #efd9a5;color:#77551a;font-size:11px}
.tech-validation-reminder-modal>small{display:block;color:#8094a0;font-size:9px;line-height:1.5}
.tech-validation-reminder-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}
.tech-validation-reminder-actions a,.tech-validation-reminder-actions button{box-sizing:border-box;width:100%;min-height:42px;border-radius:9px;padding:11px 12px;font-weight:850;font-size:10px;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center}
.tech-validation-reminder-actions a{background:#eef4f7;border:1px solid #cbdbe3;color:#244f66}
.tech-validation-reminder-actions button{border:0;background:#287b5e;color:#fff}
.tech-validation-auto{background:#e8eef8!important;color:#526d98!important}
.tech-validation-discipline-kpi{border-top-color:#4f7697!important;background:#f4f8fb!important}
.tech-validation-discipline-kpi strong{color:#315d7c!important}
@media(max-width:560px){.tech-validation-reminder-actions{grid-template-columns:1fr}.tech-validation-reminder-modal h2{font-size:20px}}

/* STEP24EF.6.50.211 · fiche technicien : KPI max 2 lignes */
@media (min-width:900px){
  .tech-modal-kpis{
    display:grid!important;
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .tech-modal-kpi{
    min-width:0!important;
    min-height:58px!important;
    padding:7px 8px!important;
  }
  .tech-modal-kpi span{font-size:7px!important;line-height:1.05!important}
  .tech-modal-kpi strong{font-size:15px!important;line-height:1.05!important;margin-top:3px!important}
  .tech-modal-kpi small{font-size:6.5px!important;line-height:1.15!important}
}

/* STEP24EF.6.50.212 · détail de prime par palier */
.prime-tier-earned{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:10px;color:#617b8d}
.prime-tier-earned strong{color:#245b79;font-size:11px}
.prime-tier-row.is-reached .prime-tier-earned strong{color:#25835e}
.tech-prime-kpi-details{position:relative;overflow:visible!important}
.tech-prime-kpi-details>summary{list-style:none;cursor:pointer;display:block}
.tech-prime-kpi-details>summary::-webkit-details-marker{display:none}
.tech-prime-detail-pop{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:230px;padding:10px 12px;border:1px solid #cbdce6;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(19,53,73,.18)}
.tech-prime-detail-title{padding-bottom:7px;margin-bottom:4px;border-bottom:1px solid #e2ebf0;font-size:9px;font-weight:900;text-transform:uppercase;color:#61798a}
.tech-prime-detail-line,.tech-prime-detail-total{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:9px;color:#5b7282}
.tech-prime-detail-line strong{color:#245b79}
.tech-prime-detail-total{margin-top:3px;padding-top:8px;border-top:2px solid #d6e3ea;font-weight:900;color:#173f58}
.tech-prime-detail-total strong{font-size:11px!important;color:#173f58!important}

/* STEP24EF.6.50.213 · KPI Absences regroupé */
.tech-absence-combined-kpi{grid-column:span 2!important}
.tech-absence-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:5px}
.tech-absence-kpi-grid>div{min-width:0;padding:0 7px;border-right:1px solid #d9e2e7}
.tech-absence-kpi-grid>div:first-child{padding-left:0}
.tech-absence-kpi-grid>div:last-child{padding-right:0;border-right:0}
.tech-absence-kpi-label{display:flex;align-items:center;justify-content:space-between;gap:3px;color:#61788a;font-size:7px;font-weight:800;white-space:nowrap}
.tech-absence-kpi-label button{width:17px;height:17px;padding:0;border:1px solid #6f96ae;background:#fff;color:#245b79;font-size:12px;font-weight:900;line-height:15px;cursor:pointer}
.tech-absence-kpi-grid strong{display:block;margin-top:3px;font-size:15px!important;color:#173f58!important}
@media(max-width:899px){.tech-absence-combined-kpi{grid-column:1/-1!important}.tech-absence-kpi-label{font-size:8px}}

/* STEP24EF.6.50.214 · fiche technicien : 2 lignes KPI strictes + Absences compact */
@media (min-width:900px){
  .tech-modal-kpis.tech-sheet-kpis{
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
    gap:5px!important;
    align-items:stretch!important;
  }
  .tech-modal-kpis.tech-sheet-kpis>.tech-modal-kpi{
    grid-column:span 1!important;
    min-width:0!important;
    min-height:64px!important;
    padding:7px 8px!important;
  }
  .tech-modal-kpis.tech-sheet-kpis>.tech-absence-combined-kpi{
    grid-column:span 1!important;
    padding:7px 7px!important;
  }
  .tech-absence-combined-kpi>span{
    display:block;
    margin-bottom:5px;
  }
  .tech-absence-kpi-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3px!important;
    margin-top:0!important;
  }
  .tech-absence-kpi-grid>div{
    padding:0 3px!important;
    text-align:center!important;
    border-right:1px solid #d9e2e7!important;
  }
  .tech-absence-kpi-grid>div:first-child{padding-left:0!important}
  .tech-absence-kpi-grid>div:last-child{padding-right:0!important;border-right:0!important}
  .tech-absence-kpi-label{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:2px!important;
    font-size:5.8px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .tech-absence-kpi-label button{
    width:14px!important;
    height:14px!important;
    font-size:10px!important;
    line-height:12px!important;
  }
  .tech-absence-kpi-grid strong{
    margin-top:2px!important;
    font-size:13px!important;
    line-height:1!important;
  }
  /* Les cartes simples peuvent être plus étroites sans perdre d'information. */
  .tech-modal-kpis.tech-sheet-kpis>.soft-ticket,
  .tech-modal-kpis.tech-sheet-kpis>.soft-guarantee{
    padding-left:7px!important;
    padding-right:7px!important;
  }
}

/* STEP24EF.6.50.215 · prime transparente + KPI garantie/carence */
.tech-prime-detail-pop{width:300px!important}
.tech-prime-detail-section{margin:7px -2px 2px;padding:5px 2px 4px;border-bottom:1px solid #e1eaf0;color:#708695;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.tech-prime-detail-line.tech-prime-info strong{color:#2b755f}
.tech-prime-detail-line.tech-prime-minus strong{color:#b45537}
.tech-prime-detail-line.tech-prime-ca{margin-top:3px;padding-top:7px;border-top:1px solid #dce7ed;font-weight:900;color:#173f58}
.tech-prime-detail-line.tech-prime-ca strong{color:#173f58}
.tech-kpi-sep{font-style:normal;font-weight:500;color:#91a4af;margin:0 3px}
.soft-guarantee>strong,.soft-carence>strong{white-space:nowrap;font-size:14px!important}

/* STEP24EF.6.50.216 · popup Prime toujours au-dessus de la fiche */
.tech-prime-kpi-details{
  position:relative!important;
  overflow:visible!important;
  z-index:1;
}
.tech-prime-kpi-details[open]{
  z-index:500!important;
}
.tech-prime-kpi-details>summary{
  position:relative;
  z-index:2;
}
.tech-prime-detail-pop{
  position:absolute!important;
  z-index:9999!important;
  left:0!important;
  top:calc(100% + 5px)!important;
  width:320px!important;
  max-height:360px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#fff!important;
  border:1px solid #b9cfdb!important;
  border-radius:9px!important;
  box-shadow:0 12px 30px rgba(19,55,77,.22)!important;
}
.tech-modal-kpis.tech-sheet-kpis{
  overflow:visible!important;
}
.tech-sheet-main,
.tech-sheet-body,
.tech-modal-content,
.tech-modal-scroll{
  overflow:visible;
}
/* La fiche elle-même reste scrollable ; le détail ne doit pas être coupé par la zone KPI. */
.tech-modal{
  overflow:auto!important;
}

/* STEP24EF.6.50.217 · Fiabilité + Qualité côte à côte */
.tech-sheet-summary{
  grid-template-columns:210px minmax(0,1fr)!important;
}
.tech-indices-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-width:0;
  background:#fff;
  border:1px solid #bfd0da;
}
.tech-index-half{
  min-width:0;
  padding:12px 13px 10px;
}
.tech-index-half+.tech-index-half{
  border-left:1px solid #d5e0e6;
}
.tech-index-quality{
  background:#fbf9ff;
}
.tech-quality-track{
  height:12px;
  margin:12px 0 10px;
  background:#e6e8ef;
  overflow:hidden;
}
.tech-quality-fill{
  height:100%;
  background:#8265ad;
}
.tech-index-quality .tech-rel-head strong{
  color:#674c91;
}
@media(max-width:900px){
  .tech-sheet-summary{grid-template-columns:1fr!important}
  .tech-indices-card{grid-template-columns:1fr}
  .tech-index-half+.tech-index-half{border-left:0;border-top:1px solid #d5e0e6}
}

/* STEP24EF.6.50.218 · Absences replacées à droite de l'activité */
.tech-sheet-grid{
  display:grid!important;
  grid-template-columns:minmax(0,3fr) minmax(330px,1fr)!important;
  align-items:start!important;
  gap:10px!important;
}
#tech360-activity{
  grid-column:1!important;
  min-width:0!important;
}
#tech360-absences{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-self:stretch!important;
}
#tech360-absences .tech-modal-table-wrap{
  max-height:390px!important;
  overflow:auto!important;
}
.tech-satisfaction-panel{
  grid-column:1/-1!important;
}
@media(max-width:1100px){
  .tech-sheet-grid{grid-template-columns:1fr!important}
  #tech360-activity,#tech360-absences,.tech-satisfaction-panel{
    grid-column:1!important;
    grid-row:auto!important;
  }
}

/* STEP24EF.6.50.219 · lecture prime : brut / garanties / carences / ajustement / finale */
.tech-prime-detail-line.tech-prime-plus strong{color:#2b8a67}
.tech-prime-detail-line.tech-prime-modifier{
  margin-top:4px;padding-top:7px;border-top:1px dashed #cbd9e1;font-weight:850
}
.tech-prime-detail-line.tech-prime-modifier.is-positive strong{color:#21835f}
.tech-prime-detail-line.tech-prime-modifier.is-negative strong{color:#bf593b}
.tech-prime-detail-line.tech-prime-modifier:not(.is-positive):not(.is-negative) strong{color:#657c8b}
.tech-prime-detail-total.tech-prime-final{
  margin-top:7px;padding-top:9px;border-top:2px solid #234e69;font-size:12px
}
.tech-prime-detail-total.tech-prime-final strong{font-size:18px;color:#173f58}

/* STEP24EF.6.50.220 · correction structure DOM du bloc Absences */
.tech-sheet-grid > #tech360-absences{
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
  min-height:180px;
  background:#fff;
  border:1px solid #c8d8e2;
}
@media(max-width:1100px){
  .tech-sheet-grid > #tech360-absences{grid-column:1!important;grid-row:auto!important}
}

/* STEP24EF.6.50.221 · détail de prime lisible comme une fiche de calcul */
.prime-calc-menu{width:330px!important;max-width:min(330px,90vw)!important}
.prime-calc-section{
  margin-top:7px;padding:7px 0 4px;border-top:1px solid #d7e1e7;
  color:#60798a;font-size:10px;font-weight:900;text-transform:uppercase
}
.prime-calc-menu .prime-breakdown-line{padding:6px 0}
.prime-calc-plus strong{color:#238261!important}
.prime-calc-minus strong{color:#bd563d!important}
.prime-calc-ca{margin-top:3px;padding-top:8px!important;border-top:1px solid #b9cbd5}
.prime-calc-ca strong{font-size:16px;color:#173f58}
.prime-calc-modifier{
  margin-top:5px;padding-top:8px!important;border-top:1px dashed #b9cbd5;
  font-weight:850
}
.prime-calc-modifier.is-positive strong{color:#238261}
.prime-calc-modifier.is-negative strong{color:#bd563d}
.prime-calc-muted{color:#8093a0}
.prime-calc-final{
  margin-top:5px!important;padding-top:9px!important;border-top:2px solid #244f69!important
}
.prime-calc-final strong{font-size:18px!important;color:#173f58!important}
.prime-tiers-secondary{margin-top:9px;border-top:1px solid #d7e1e7;padding-top:7px}
.prime-tiers-secondary>summary{
  cursor:pointer;list-style:none;color:#245a7a;font-size:10px;font-weight:900;text-transform:uppercase
}
.prime-tiers-secondary>summary::-webkit-details-marker{display:none}
.prime-tiers-secondary>summary:after{content:" ▾"}
.prime-tiers-secondary[open]>summary:after{content:" ▴"}
.prime-tiers-secondary-body{padding-top:7px}

/* STEP24EF.6.50.223 — popup prime partagé onglet Primes / fiche technicien */
.prime-tech-cell{display:flex;align-items:center;gap:8px;justify-content:flex-start}.prime-detail-btn{border:1px solid #8eb0c5;background:#f7fbfd;color:#194e70;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:850;cursor:pointer}.prime-detail-btn:hover{background:#e8f3f9;border-color:#4f88aa}.tech-prime-kpi-details{cursor:default!important}.tech-prime-kpi-details:hover{box-shadow:inset 0 0 0 1px #7ca9c3}.prime-calc-backdrop{position:fixed;inset:0;z-index:12000;background:rgba(16,39,54,.62);display:none;align-items:center;justify-content:center;padding:24px}.prime-calc-backdrop.open{display:flex}.prime-calc-dialog{width:min(930px,96vw);max-height:94vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(8,31,45,.35);color:#163c57}.prime-calc-dialog-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:20px 24px 14px;background:#fff;border-bottom:1px solid #d9e5ec}.prime-calc-dialog-head h2{margin:0;font-size:27px;color:#092d4b}.prime-calc-dialog-head button{border:0;background:transparent;font-size:30px;color:#587286;cursor:pointer}.prime-calc-dialog #primeCalcDialogBody{padding:14px 22px 4px}.prime-calc-card{border:1px solid #cbdde8;border-radius:11px;padding:15px 16px;margin-bottom:14px;background:linear-gradient(180deg,#fff,#fbfdfe)}.prime-calc-card h3{margin:0 0 6px;font-size:15px;text-transform:uppercase;color:#173f61}.prime-calc-card>small{display:block;color:#657d8f;font-size:11px;margin-bottom:10px}.prime-base p,.prime-current p{display:flex;justify-content:space-between;gap:20px;margin:0;padding:8px 10px;border-top:1px solid #e3ebf0;font-size:14px}.prime-base p:first-child{border-top:0}.prime-base .plus b{color:#16714e}.prime-base .minus b{color:#d1453d}.prime-base .total{background:#edf6fc;font-size:17px;font-weight:900}.prime-tier-table-wrap{overflow:auto;border-radius:8px;border:1px solid #e1e9ee}.prime-tier-table{width:100%;border-collapse:collapse;font-size:12px}.prime-tier-table th{background:#edf4f8;color:#173f61;text-align:left;padding:10px}.prime-tier-table td{padding:9px 10px;border-top:1px solid #e3ebef}.prime-tier-table td:last-child{text-align:right}.prime-status{display:inline-block;padding:4px 9px;border-radius:999px;background:#edf1f4;color:#617687;font-weight:800}.prime-status.ok{background:#e4f5ec;color:#19704e}.prime-status.run{background:#fff0d3;color:#b36d00}.prime-current{display:grid;grid-template-columns:1.3fr .8fr;border:1px solid #f0c86d;background:#fffaf0;border-radius:9px;overflow:hidden}.prime-current-progress{padding:15px;border-left:1px solid #e3c275}.prime-current-progress>span{display:block;font-size:11px;color:#5d7281}.prime-current-progress>strong{display:block;font-size:27px;margin:7px 0;color:#153f62}.prime-current-progress>div{height:11px;background:#dce6eb;border-radius:99px;overflow:hidden}.prime-current-progress>div i{display:block;height:100%;background:#347ca8;border-radius:99px}.prime-current-progress>b{display:block;text-align:right;margin-top:6px}.prime-info{margin-top:10px;padding:10px 12px;border-radius:7px;background:#eaf4ff;color:#285b84;font-size:11px}.prime-final{padding:12px 14px;border:1px solid #a9ddc8;border-radius:8px;background:#eefaf5}.prime-final>span,.prime-final>b{font-size:13px}.prime-final>b{float:right}.prime-final>strong{display:flex;clear:both;justify-content:space-between;align-items:center;border-top:1px solid #a9ddc8;margin-top:11px;padding-top:11px;font-size:20px;color:#126148}.prime-final em{font-style:normal;font-size:28px}.prime-calc-dialog-foot{position:sticky;bottom:0;padding:10px 22px 18px;text-align:right;background:#fff}.prime-calc-dialog-foot button{padding:8px 20px;border:1px solid #376783;border-radius:6px;background:#f7fafc;color:#173f61;font-weight:850;cursor:pointer}@media(max-width:700px){.prime-calc-backdrop{padding:6px}.prime-calc-dialog{width:100%;max-height:98vh;border-radius:10px}.prime-calc-dialog-head{padding:14px}.prime-calc-dialog-head h2{font-size:21px}.prime-calc-dialog #primeCalcDialogBody{padding:10px}.prime-current{grid-template-columns:1fr}.prime-current-progress{border-left:0;border-top:1px solid #e3c275}.prime-tier-table{min-width:700px}}

/* STEP24EF.6.50.224 — Détail prime déplacé dans Prime due */
.prime-tech-cell{display:table-cell!important;position:static!important;background:transparent!important;}
.prime-tech-cell .techlink{display:inline!important;}
.prime-due{padding-left:10px!important;padding-right:10px!important;}
.prime-due-actions{display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;}
.prime-due-actions>strong{min-width:68px;text-align:right;color:#4d2677;}
.prime-due-actions .prime-detail-btn{flex:0 0 auto;padding:3px 8px;font-size:9px;line-height:1.2;}


/* STEP24EF.6.50.231-DAYBOOK-SUBMISSION-PILOTAGE-TRACE — CRUD articles référentiels */
.ref-article-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.ref-add-article-btn,.ref-manage-article-btn{border:1px solid #2e6f98;background:#245b7c;color:#fff;border-radius:5px;padding:8px 12px;font-weight:800;cursor:pointer}
.ref-manage-article-btn{background:#fff;color:#245b7c}
.ref-article-help{font-size:12px;color:#718392;margin-left:4px}
.ref-article-modal[hidden]{display:none!important}.ref-article-modal{position:fixed;inset:0;z-index:12000;background:rgba(9,32,48,.58);display:flex;align-items:center;justify-content:center;padding:24px}
.ref-article-card{width:min(720px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 65px rgba(0,0,0,.28);border:1px solid #cbdbe5}
.ref-article-manager-card{width:min(1050px,97vw)}
.ref-article-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #d9e4eb;background:#f7fbfd;position:sticky;top:0;z-index:2}
.ref-article-head strong{display:block;font-size:20px;color:#123d59}.ref-article-head small{display:block;color:#748794;margin-top:3px}
.ref-article-head button{border:0;background:#c94f57;color:#fff;width:34px;height:34px;border-radius:5px;font-size:20px;cursor:pointer}
.ref-article-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px}.ref-article-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:#526a7b}.ref-article-form .wide{grid-column:1/-1}
.ref-article-form input,.ref-article-form select,.ref-article-manage-row input{border:1px solid #bdced9;border-radius:5px;padding:9px;background:#fff;color:#163a51}
.ref-article-form-actions{display:flex;justify-content:flex-end;gap:8px}.ref-article-form-actions button,.ref-article-manage-row button{border:1px solid #27678e;background:#27678e;color:#fff;border-radius:5px;padding:8px 12px;font-weight:800;cursor:pointer}.ref-article-form-actions .secondary{background:#fff;color:#27678e}
.ref-article-manager-list{padding:12px 16px 20px}.ref-article-manage-row{display:grid;grid-template-columns:80px 100px 1fr 115px 105px;gap:10px;align-items:center;padding:9px;border-bottom:1px solid #e1e9ee}.ref-article-manage-row.inactive{opacity:.58;background:#f6f6f6}
.ref-article-cat{font-size:11px;font-weight:900;border-radius:12px;padding:4px 8px;text-align:center;background:#e9f4fa;color:#17658e}.ref-article-cat.cuivre{background:#fff0e5;color:#a95a1b}
.ref-active-toggle{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.ref-active-toggle input{width:auto}
@media(max-width:760px){.ref-article-form{grid-template-columns:1fr}.ref-article-form .wide{grid-column:auto}.ref-article-manage-row{grid-template-columns:70px 1fr}.ref-article-manage-row>input,.ref-active-toggle,.ref-article-manage-row>button{grid-column:1/-1}}

/* STEP24EF.6.50.231-DAYBOOK-SUBMISSION-PILOTAGE-TRACE — export mensuel des primes */
.prime-tools-right{display:flex;align-items:center;gap:12px}.prime-pdf-export-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid #245f89;border-radius:5px;background:#245f89;color:#fff!important;text-decoration:none;padding:7px 11px;font-size:10px;font-weight:900}.prime-pdf-export-btn:hover{background:#173f58;border-color:#173f58}.prime-breakdown[open]{z-index:20}


/* STEP24EF.6.50.227 — Référentiels CRUD + largeur + coffre soft-render */
.ref-workspace,.ref-tariff-columns,.ref-tariff-columns>.ref-desktop-panel{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.ref-tariff-columns{width:100%!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;overflow:hidden!important}
.ref-tariff-columns .tariff-desktop-table{width:100%!important;table-layout:fixed!important}
.ref-tariff-columns .tariff-desktop-table td,.ref-tariff-columns .tariff-desktop-table th{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ref-article-manager-list:empty::after{content:'Aucun article à afficher.';display:block;padding:28px;text-align:center;color:#718392}
.ref-article-manager-card{overflow-x:hidden!important}
.ref-article-manage-row{max-width:100%;box-sizing:border-box}


/* STEP24EF.6.50.229 — supprime la gouttière blanche à gauche du contenu.
   Le mode both-edges réservait volontairement une bande symétrique côté sidebar. */
.content-area{scrollbar-gutter:stable!important;}

/* STEP24EF.6.50.233 — file Carnets compacte + état carnet attendu */
.carnet-awaiting{margin:0 0 12px;padding:9px 12px;border:1px solid #d8e3e9;border-radius:9px;background:#f7fafb;display:flex;align-items:center;justify-content:space-between;gap:12px}
.carnet-awaiting>div{display:flex;align-items:center;gap:10px;min-width:0}.carnet-awaiting strong{color:#234b61}.carnet-awaiting span:not(.carnet-state){color:#6b8293;font-size:11px}
.carnet-issue.wait{border-color:#ead7a3;background:#fffaf0;color:#6d5a2e}


/* STEP24EF.6.50.235 — Carnets workflow complet */
.carnet-audit{margin-top:16px;border-top:1px solid #dbe6eb;padding-top:10px}
.carnet-audit>summary{cursor:pointer;color:#315f78;font-size:11px;font-weight:900}
.carnet-audit-list{margin-top:8px;border:1px solid #dfe8ed;border-radius:8px;overflow:hidden}
.carnet-audit-row{display:grid;grid-template-columns:150px 1fr 210px;gap:10px;padding:8px 10px;border-bottom:1px solid #edf2f4;font-size:11px;align-items:center}
.carnet-audit-row:last-child{border-bottom:0}.carnet-audit-row strong{color:#244f67}.carnet-audit-row span{color:#526e7e}.carnet-audit-row small{color:#82949e;text-align:right}
@media(max-width:850px){.carnet-audit-row{grid-template-columns:1fr}.carnet-audit-row small{text-align:left}}


/* STEP24EF.6.50.243 — progression Carnets + information technicien */
.carnet-progress{position:relative;margin:0 0 16px;padding:12px 14px 8px;border:1px solid #d7e3e9;border-radius:10px;background:#fbfdfe}
.carnet-progress-line{position:absolute;left:10%;right:10%;top:28px;height:4px;background:#dce6eb;border-radius:99px;overflow:hidden}.carnet-progress-line i{display:block;height:100%;background:#2e7b9f;border-radius:99px;transition:width .25s ease}
.carnet-progress-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.carnet-progress-steps>div{text-align:center;color:#8295a0;font-size:10px;font-weight:850}.carnet-progress-steps b{display:flex;width:26px;height:26px;margin:0 auto 6px;align-items:center;justify-content:center;border-radius:50%;border:2px solid #cbd8df;background:#fff;color:#78909d}.carnet-progress-steps .active{color:#244f67}.carnet-progress-steps .active b{border-color:#2e7b9f;color:#2e6f91}.carnet-progress-steps .done b{background:#2e7b9f;color:#fff}.daybook-pilotage-notif{margin:8px 0;border-left:4px solid #2e7b9f}.daybook-pilotage-notif.ok{border-left-color:#2b8a61;background:#eef9f3}


/* STEP24EF.6.50.283 — Pilotage mobile responsive pass */
@media(max-width:820px){
  html,body{overflow-x:hidden!important}
  body{font-size:14px}
  .workspace{display:block!important;height:auto!important;min-height:0!important}
  .days-sidebar{display:none!important}
  .content-area{display:block!important;width:100%!important;max-width:100%!important;overflow:visible!important}
  .page{min-width:0!important;width:100%!important;max-width:100%!important;padding:10px 8px 22px!important;box-sizing:border-box!important}

  /* En-tête Pilotage : compact, sans chevauchement */
  .topbar{height:auto!important;min-height:0!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;padding:10px 9px!important;box-sizing:border-box!important}
  .brand-wrap{min-width:0!important;width:100%!important}
  .brand{font-size:20px!important}
  .brandline{flex-wrap:wrap!important}
  .version{max-width:calc(100vw - 95px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .project-meta{font-size:10px!important}
  .topbar .topbtn,.topbar .notif,.topbar .user-mini{flex:0 0 auto!important}
  .topbar .topbtn{height:42px!important;padding:0 13px!important;font-size:12px!important}
  .topbar .notif{height:42px!important;min-width:48px!important}
  .topbar .user-mini{display:flex!important;align-items:center!important;min-height:42px!important;font-size:12px!important}
  .top-search{order:99!important;width:100%!important;margin:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}
  .top-search input{width:100%!important;min-width:0!important;height:42px!important;box-sizing:border-box!important;font-size:14px!important}
  .top-search button{height:42px!important}

  /* KPI réellement mobiles */
  .kpis,.kpis.kpis-day-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .kpi-card{width:auto!important;min-width:0!important;height:auto!important;min-height:92px!important;padding:10px!important;box-sizing:border-box!important}
  .kpi-value{font-size:25px!important}
  .kpi-sub{font-size:11px!important;line-height:1.3!important}

  /* À traiter et onglets : glissement horizontal tactile, jamais de chevauchement */
  .action-strip{height:auto!important;min-height:46px!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;display:flex!important;flex-wrap:nowrap!important;gap:6px!important;padding:5px!important;box-sizing:border-box!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .action-strip::-webkit-scrollbar,.tabsbar::-webkit-scrollbar{display:none}
  .action-strip>*{flex:0 0 auto!important}
  .action-main{font-size:13px!important;white-space:nowrap!important}
  .chip{height:34px!important;font-size:11px!important;padding:0 10px!important}
  .tabsbar{height:46px!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .tablink{flex:0 0 auto!important;height:44px!important;padding:0 14px!important;font-size:12px!important;scroll-snap-align:start}
  .tab-content{min-height:0!important;padding:10px!important;overflow:visible!important;box-sizing:border-box!important}

  /* Tables restent consultables sans élargir toute la page */
  .table-wrap,.data-table-wrap,.prime-table-wrap,.stock-table-wrap,.carnets-review-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}

  /* Poste Carnets = feuille plein écran mobile, UN seul scroll */
  #carnetReviewModal.carnet-control-overlay{
    padding:0!important;align-items:stretch!important;justify-content:stretch!important;
    overflow:hidden!important;background:#f4f8fb!important;backdrop-filter:none!important
  }
  #carnetReviewModal .carnet-control-desk{
    width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important
  }
  #carnetReviewModal .carnet-desk-head{
    position:sticky!important;top:0!important;z-index:20!important;padding:10px 12px!important;min-height:58px!important
  }
  #carnetReviewModal .carnet-desk-head h2{font-size:18px!important}
  #carnetReviewModal .carnet-desk-head small,#carnetReviewModal .carnet-desk-head p{font-size:9px!important}
  #carnetReviewModal .carnet-head-actions{gap:7px!important}
  #carnetReviewModal .carnet-desk-close{width:38px!important;height:38px!important;flex:0 0 38px!important}
  #carnetReviewModal .carnet-desk-workflow{padding:9px 5px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
  #carnetReviewModal .wf-step{font-size:8px!important}
  #carnetReviewModal .wf-step b{width:25px!important;height:25px!important}
  #carnetReviewModal .carnet-desk-gate{margin:8px!important;padding:9px!important;flex-direction:column!important;align-items:stretch!important}
  #carnetReviewModal .carnet-desk-body{display:block!important;min-height:0!important;overflow:visible!important;margin-top:6px!important}
  #carnetReviewModal .carnet-nd-rail{
    position:static!important;display:flex!important;gap:6px!important;width:100%!important;max-width:100%!important;
    overflow-x:auto!important;overflow-y:hidden!important;padding:8px!important;border-right:0!important;border-bottom:1px solid #cadbe5!important;
    box-sizing:border-box!important;-webkit-overflow-scrolling:touch
  }
  #carnetReviewModal .rail-title{flex:0 0 auto!important;min-width:95px!important}
  #carnetReviewModal .rail-nd{flex:0 0 150px!important;margin:0!important}
  #carnetReviewModal .carnet-compare-pane{overflow:visible!important;padding:9px 8px 90px!important}
  #carnetReviewModal .nd-control-card{scroll-margin-top:76px!important}
  #carnetReviewModal .carnet-control-grid{grid-template-columns:1fr!important}
  #carnetReviewModal .carnet-desk-footer{position:static!important}
  #carnetReviewModal .carnet-audit-row{grid-template-columns:1fr!important}
}
@media(max-width:430px){
  .topbar .topbtn{padding:0 10px!important;font-size:11px!important}
  .kpi-card{min-height:86px!important}
  #carnetReviewModal .carnet-desk-workflow{overflow-x:auto!important}
  #carnetReviewModal .wf-step span{font-size:7px!important}
}

/* STEP24EF.6.50.288 — Données: Quantité + Commentaires */
.data-tech-table .col-quantite{width:6%!important;text-align:center!important;white-space:nowrap}
.data-tech-table .col-commentaires{width:16%!important;text-align:left!important;white-space:normal;overflow-wrap:anywhere}
.data-tech-table .col-nd{width:14%!important}
.data-tech-table .col-client{width:16%!important}
.data-tech-table .col-ville{width:14%!important}
.data-tech-table .col-partenaire{width:8%!important}
.data-tech-table .col-actprod{width:9%!important}
.data-tech-table .col-articles{width:8%!important}
.data-tech-table .col-montant{width:6%!important}
.data-tech-table .col-echec{width:3%!important}

/* STEP24EF.6.50.301 — détail cumulatif de la prime finale */
.prime-final-breakdown{display:flex;flex-direction:column;gap:0}.prime-final-row{display:flex;justify-content:space-between;gap:20px;margin:0;padding:8px 2px;border-bottom:1px solid #d7ebe2;font-size:13px}.prime-final-row:last-child{border-bottom:0}.prime-final-row span{color:#35596b}.prime-final-row b{color:#173f58}.prime-final>strong{margin-top:10px}

/* STEP24EF.6.50.305 · portail technicien : détail CA primable + prime par paliers */
.tech-prime-kpis-detailed{grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(0,1.25fr)!important;align-items:stretch}
.tech-prime-breakdown-card{display:block!important;padding-bottom:10px!important}
.tech-prime-inline-detail{margin-top:11px;padding-top:8px;border-top:1px solid #dce7ed}
.tech-prime-inline-detail>div{display:flex;justify-content:space-between;gap:14px;padding:4px 0;color:#657d8d;font-size:9.5px;line-height:1.25}
.tech-prime-inline-detail>div b{color:#244e67;font-size:10px;white-space:nowrap}
.tech-prime-inline-detail>div.is-plus b{color:#16805b}
.tech-prime-inline-detail>div.is-minus b{color:#c7483f}
.tech-prime-inline-detail>div.is-total{margin-top:4px;padding-top:7px;border-top:1px solid #c8d9e3;color:#173f58;font-weight:900}
.tech-prime-inline-detail>div.is-total b{color:#173f58;font-size:11px}
@media(max-width:900px){.tech-prime-kpis-detailed{grid-template-columns:1fr!important}}
/* STEP24EF.6.50.309 — Layout labels & icons */
.layout-sort-item{grid-template-columns:30px minmax(0,1fr) auto 36px!important}.layout-edit-btn{width:32px;height:32px;border:1px solid #d3e1e8;border-radius:8px;background:#f7fbfd;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.layout-edit-btn:hover{background:#e8f4f9;border-color:#8ebbd0}.layout-editor-backdrop{display:none;position:fixed;inset:0;z-index:2400;background:rgba(18,39,53,.48);backdrop-filter:blur(3px);align-items:center;justify-content:center;padding:18px}.layout-editor-backdrop.open{display:flex}.layout-editor-modal{width:min(520px,96vw);background:#fff;border:1px solid #d6e4ea;border-radius:16px;padding:18px;box-shadow:0 24px 70px rgba(20,50,68,.24)}.layout-editor-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.layout-editor-head h3{margin:0;color:#244f66}.layout-editor-head p{margin:4px 0 12px;color:#78909c;font-size:11px}.layout-editor-close{border:0;background:#eef4f7;width:32px;height:32px;border-radius:9px;font-size:22px;color:#557584;cursor:pointer}.layout-editor-modal label{display:block;margin-top:12px;color:#526f7e;font-size:11px;font-weight:850}.layout-editor-modal label input{display:block;width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #cadce5;border-radius:9px;padding:10px 11px;font:650 13px Inter,"Segoe UI",Arial,sans-serif;color:#244f66}.layout-editor-key{margin-top:12px;padding:9px 10px;border-radius:8px;background:#f4f7f9;color:#718691;font-size:10px}.layout-editor-actions{display:flex;gap:8px;align-items:center;margin-top:18px;flex-wrap:wrap}.layout-editor-spacer{flex:1}.layout-item-icon{display:inline-block;min-width:20px;text-align:center}@media(max-width:700px){.layout-sort-item{grid-template-columns:28px minmax(0,1fr) 36px!important}.layout-sort-item small{display:none}}
/* STEP24EF.6.50.310 — Layout Lucide icon picker */
.layout-runtime-icon,.layout-item-icon,[data-layout-icon]{display:inline-flex;align-items:center;justify-content:center;vertical-align:-.18em}.layout-runtime-icon svg,.layout-item-icon svg{pointer-events:none}.layout-icon-picker{margin-top:12px;border:1px solid #d8e5ec;border-radius:12px;background:#f8fbfd;padding:11px}.layout-icon-picker-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.layout-icon-picker-top strong{font-size:11px;color:#244f66}.layout-icon-picker-top span{font-size:9px;color:#8297a4}.layout-icon-search{width:100%;box-sizing:border-box;border:1px solid #cbdde6;border-radius:9px;padding:9px 10px;background:#fff;color:#244f66}.layout-icon-categories{display:flex;gap:5px;overflow:auto;padding:8px 0 7px}.layout-icon-categories button{white-space:nowrap;border:1px solid #d8e4ea;border-radius:999px;background:#fff;padding:5px 8px;font-size:9px;font-weight:800;color:#607d8b;cursor:pointer}.layout-icon-categories button.active{background:#176f9f;color:#fff;border-color:#176f9f}.layout-icon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-height:245px;overflow:auto;padding:2px}.layout-icon-choice{min-width:0;border:1px solid #dce7ed;border-radius:9px;background:#fff;min-height:58px;padding:7px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#345d72;cursor:pointer}.layout-icon-choice:hover,.layout-icon-choice.selected{border-color:#6eacc9;background:#edf7fb}.layout-icon-choice small{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;color:#78909c}.layout-icon-empty{grid-column:1/-1;padding:20px;text-align:center;color:#78909c;font-size:10px}.layout-icon-picker-foot{margin-top:8px;color:#8297a4;font-size:8.5px}.layout-icon-picker-foot code{font-size:8px}.tech-kpi-icon svg{width:22px;height:22px}@media(max-width:700px){.layout-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* STEP24EF.6.50.311 — Layout final */
.layout-master-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:11px 13px;border:1px solid #d8e5ec;border-radius:11px;background:#f8fbfd;color:#607d8b;font-size:11px;font-weight:750}.layout-zone-reset{margin-top:8px;text-align:right}.layout-hidden-badge{display:none;padding:3px 6px;border-radius:999px;background:#eef1f3;color:#87949b;font-size:8px;font-weight:900;letter-spacing:.04em}.layout-sort-item.layout-item-hidden{opacity:.58}.layout-sort-item.layout-item-hidden .layout-hidden-badge{display:inline-flex}.layout-visible-toggle{display:grid!important;grid-template-columns:18px 1fr;column-gap:7px;align-items:center;margin-top:13px!important;padding:10px;border:1px solid #d7e5eb;border-radius:10px;background:#f8fbfd}.layout-visible-toggle input{width:16px!important;height:16px;margin:0!important}.layout-visible-toggle span{font-size:11px;color:#315a70}.layout-visible-toggle small{grid-column:2;color:#8196a2;font-size:9px;font-weight:600}@media(max-width:700px){.layout-master-actions{align-items:stretch;flex-direction:column}.layout-master-actions button{width:100%}}

/* STEP24EF.6.50.314 — Layout icon colors */
.layout-color-editor{margin-top:12px;border:1px solid #d8e5ec;border-radius:12px;background:#f8fbfd;padding:11px}.layout-color-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.layout-color-title strong{font-size:11px;color:#244f66}.layout-color-title span{font-size:9px;color:#78909c}.layout-color-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.layout-color-auto{height:28px;padding:0 10px;border:1px solid #d4e2e9;border-radius:8px;background:#fff;color:#607d8b;font-size:9px;font-weight:800;cursor:pointer}.layout-color-auto.active{outline:2px solid #176f9f;outline-offset:1px}.layout-color-swatches{display:flex;gap:6px;flex-wrap:wrap}.layout-color-swatch{width:26px;height:26px;border-radius:8px;border:2px solid #fff;background:var(--swatch);box-shadow:0 0 0 1px #cfdee5;cursor:pointer}.layout-color-swatch.active{box-shadow:0 0 0 2px #176f9f}.layout-color-custom{margin:0!important;display:flex!important;align-items:center;gap:5px!important;font-size:9px!important;font-weight:750!important}.layout-color-custom input{width:30px!important;height:28px!important;margin:0!important;padding:2px!important;border-radius:7px!important}.layout-color-custom span{white-space:nowrap}.layout-runtime-icon,.layout-item-icon,[data-layout-icon]{transition:color .15s ease}

/* STEP24EF.6.50.351 — Memo ND timeline */
.nd-memo-count{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:#e8f3f8;color:#176b93;font-size:10px;font-weight:850}.nd-memo-timeline{margin:12px 0 0;border:1px solid #cfe0e9;border-radius:10px;background:#f8fbfc;padding:12px}.nd-memo-timeline-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.nd-memo-timeline-head>div{display:flex;flex-direction:column}.nd-memo-timeline-head strong{color:#244f67}.nd-memo-timeline-head span{font-size:10.5px;color:#7d919c}.nd-memo-timeline-list{display:grid;gap:8px;max-height:245px;overflow:auto}.nd-timeline-item{display:grid;grid-template-columns:28px 1fr;gap:8px;background:#fff;border:1px solid #d9e6ec;border-radius:9px;padding:9px}.nd-timeline-item.pinned{border-color:#e2c66f;background:#fffdf4}.nd-timeline-dot{width:25px;height:25px;border-radius:50%;background:#e9f4f9;display:grid;place-items:center}.nd-timeline-top{display:flex;justify-content:space-between;gap:10px}.nd-timeline-top strong{font-size:12px;color:#285b74}.nd-timeline-top small,.nd-timeline-tags{font-size:10px;color:#82949d}.nd-timeline-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}.nd-timeline-tags span{background:#edf4f7;border-radius:999px;padding:2px 6px}.nd-timeline-body p{font-size:11px;color:#526f7e;white-space:pre-wrap;margin:6px 0}.nd-timeline-ack{margin-top:6px}.nd-ack-ok{font-size:10px;font-weight:750;color:#2d7656}.nd-pilotage-note{background:#fff;border:1px solid #d6e4eb;border-radius:9px;padding:9px;margin-bottom:9px}.nd-pilotage-note input,.nd-pilotage-note textarea{box-sizing:border-box;width:100%;border:1px solid #cadce5;border-radius:7px;padding:7px;margin-bottom:6px;font:inherit}.nd-pilotage-note textarea{min-height:64px;resize:vertical}.nd-pilotage-note>div{display:flex;justify-content:flex-end;gap:6px}.nd-memo-empty{padding:12px;text-align:center;color:#82949d;border:1px dashed #d5e3e9;border-radius:8px;background:#fff}

/* STEP24EF.6.50.367 — Centre À traiter : actions compactes (ex. Stock →). */
.pending-action-cell .pending-action-btn{
  max-width:100%;
  white-space:nowrap;
  line-height:1.05;
  border-radius:7px;
}

/* STEP24EF.6.50.368 — trace persistante des réponses Pilotage sur le parcours ND. */
.nd-timeline-replies{margin:8px 0 4px;padding:8px 9px;border:1px solid #d3e5ee;border-radius:8px;background:#f5fafc}.nd-timeline-replies>strong{font-size:10.5px;color:#176b93}.nd-timeline-reply{margin-top:6px;padding-left:8px;border-left:3px solid #2a88b2}.nd-timeline-reply span{font-size:9.5px;color:#718894;font-weight:750}.nd-timeline-reply p{margin:3px 0 0!important;font-size:10.5px!important;color:#456879!important}

/* STEP24EF.6.50.369 — Comparaison partenaire : fondation mensuelle persistante */
.cmp-page{display:flex;flex-direction:column;gap:14px;min-width:0;color:#16384f}
.cmp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:4px 0 0}
.cmp-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}.cmp-icon{width:44px;height:44px;border-radius:10px;background:linear-gradient(145deg,#173f59,#3c6f8e);color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 5px 16px rgba(20,57,82,.16)}
.cmp-head-actions{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;justify-content:flex-end}.cmp-month-picker{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;color:#698197}.cmp-month-picker select{height:37px;min-width:165px;border:1px solid #cbdbe5;border-radius:7px;background:#fff;padding:0 32px 0 10px;color:#183b54;font-weight:800}
.cmp-inline-form{margin:0}.cmp-hidden-form{display:none}.cmp-btn{height:37px;border-radius:7px;border:1px solid #bcd0dc;padding:0 14px;font-weight:800;cursor:pointer;transition:.14s ease;background:#fff;color:#1d5676;box-shadow:0 2px 5px rgba(25,61,82,.05)}.cmp-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(25,61,82,.1)}.cmp-btn.primary{background:#0b6f9c;border-color:#0b6f9c;color:#fff}.cmp-btn.secondary{background:#f8fbfd}.cmp-btn.big{height:42px;font-size:14px}.cmp-btn:disabled{opacity:.65;cursor:wait;transform:none}
.cmp-flash{border-radius:8px;padding:10px 13px;font-size:12px;font-weight:750}.cmp-flash.success{background:#ecf9f1;border:1px solid #bce8cc;color:#246842}.cmp-flash.error{background:#fff0f0;border:1px solid #f0c2c2;color:#9e3838}
.cmp-steps{display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr;align-items:center;border:1px solid #d4e1e8;border-radius:10px;background:#fff;padding:10px 12px;box-shadow:0 2px 9px rgba(30,72,95,.05)}.cmp-steps>i{text-align:center;color:#8ba1b0;font-size:21px;font-style:normal}.cmp-step{display:flex;gap:9px;align-items:center;min-width:0}.cmp-step>b{flex:0 0 27px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;border:2px solid #c3d2dc;color:#718998;background:#f7fafb;font-size:12px}.cmp-step span{display:flex;flex-direction:column;min-width:0}.cmp-step strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-step small{font-size:9px;color:#7890a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.cmp-step.done>b{background:#29ad72;border-color:#29ad72;color:#fff;box-shadow:0 0 0 4px #e5f7ef}.cmp-step.active>b{border-color:#2d72db;color:#2d72db;box-shadow:0 0 0 4px #e8f0fe}.cmp-step.muted{opacity:.62}
.cmp-onboarding,.cmp-empty{border:1px solid #d7e3e9;border-radius:12px;background:linear-gradient(135deg,#fff,#f7fbfd);padding:28px;min-height:220px}.cmp-onboarding{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);gap:28px;align-items:center}.cmp-eyebrow{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#0b7fab;background:#e7f5fb;padding:5px 8px;border-radius:999px}.cmp-onboarding h2,.cmp-empty h2{font-size:21px;margin:10px 0 7px;color:#173d58}.cmp-onboarding p,.cmp-empty p{color:#647f91;line-height:1.5;max-width:720px}.cmp-onboarding-card{background:#fff;border:1px solid #d4e4ec;border-radius:10px;padding:16px;display:grid;gap:9px;box-shadow:0 5px 18px rgba(25,66,91,.06)}.cmp-onboarding-card strong{margin-bottom:4px}.cmp-onboarding-card span{font-size:11px;color:#426377}.cmp-empty{text-align:center}.cmp-empty-icon{font-size:44px}
.cmp-kpis{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr)) minmax(205px,1.35fr);gap:10px}.cmp-kpi{position:relative;border:1px solid #d6e1e7;border-radius:9px;background:#fff;padding:14px 15px 12px;min-height:83px;overflow:hidden}.cmp-kpi:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:#85a2b4}.cmp-kpi.good:before{background:#28a76d}.cmp-kpi.warn:before{background:#e0a514}.cmp-kpi.partner:before{background:#547fe5}.cmp-kpi.internal:before{background:#ee8b2d}.cmp-kpi.money:before{background:#775bd9}.cmp-kpi span{font-size:10px;font-weight:800;color:#6f8899;text-transform:uppercase;letter-spacing:.03em}.cmp-kpi strong{display:block;font-size:24px;line-height:1.08;margin:5px 0;color:#173c56}.cmp-kpi small{font-size:9.5px;color:#7890a0;line-height:1.3}.cmp-kpi.money strong{font-size:18px}
.cmp-import-zone{border:1.5px dashed #94bfd4;border-radius:11px;background:#f4fbfe;padding:18px;display:flex;align-items:center;gap:14px}.cmp-import-icon{width:44px;height:44px;border-radius:50%;background:#dff2fa;color:#0a709d;display:grid;place-items:center;font-size:23px;font-weight:900}.cmp-import-zone>div:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.cmp-import-zone strong{font-size:13px}.cmp-import-zone span{font-size:10.5px;color:#648092}
.cmp-file-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #cfe5d8;background:#f5fbf7;border-radius:9px;padding:10px 13px}.cmp-file-strip>div{display:flex;align-items:center;gap:8px}.cmp-file-strip>div:last-child{flex-direction:column;align-items:flex-end;gap:1px}.cmp-file-strip small{font-size:9px;color:#759087}.cmp-file-strip strong{font-size:11px}.cmp-file-ok{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#31af73;color:#fff;font-weight:900}
.cmp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cmp-filter-tabs{display:flex;gap:5px;flex-wrap:wrap}.cmp-filter-tabs button{height:34px;border:1px solid #d1dfe7;border-radius:7px;background:#fff;color:#385b70;padding:0 10px;font-size:10px;font-weight:750;cursor:pointer}.cmp-filter-tabs button b{margin-left:3px;background:#eef4f7;padding:2px 5px;border-radius:999px}.cmp-filter-tabs button.active{background:#eaf5fb;border-color:#69afd0;color:#075f89}.cmp-search{height:34px;min-width:260px;border:1px solid #cbdbe4;border-radius:7px;background:#fff;display:flex;align-items:center;padding:0 9px;gap:6px}.cmp-search span{color:#7892a1}.cmp-search input{border:0;outline:0;width:100%;font-size:10px;color:#254b63;background:transparent}
.cmp-table-wrap{border:1px solid #d4e1e8;border-radius:9px;background:#fff;overflow:auto;max-height:480px}.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:10px}.cmp-table thead th{position:sticky;top:0;z-index:1;background:#eef5f8;color:#36576c;font-size:9px;text-transform:uppercase;letter-spacing:.02em;padding:9px 8px;border-bottom:1px solid #cfdee6;white-space:nowrap}.cmp-table td{padding:8px;border-bottom:1px solid #e8eff3;vertical-align:middle}.cmp-table tbody tr{cursor:default;transition:background .1s}.cmp-table tbody tr:hover{background:#f5fafc}.cmp-status{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:850;white-space:nowrap}.cmp-status.conforme{background:#e6f7ee;color:#26734e}.cmp-status.ecart_articles{background:#fff0ed;color:#b84b3c}.cmp-status.uniquement_partenaire{background:#eaf0ff;color:#3f66bd}.cmp-status.uniquement_3t{background:#fff2e5;color:#a96422}.cmp-articles{max-width:230px;color:#45687c}.cmp-money{font-weight:850;white-space:nowrap}.cmp-money.positive{color:#c23f3f}.cmp-money.negative{color:#b35d1d}.cmp-table-empty,.cmp-no-result{text-align:center;padding:24px!important;color:#78909e}.cmp-no-result{border:1px dashed #d4e2e9;border-radius:8px;background:#fafcfd}
.cmp-foundation-note{display:flex;align-items:center;gap:12px;border-radius:8px;background:#edf7fc;border:1px solid #cce6f2;padding:10px 12px}.cmp-foundation-note b{font-size:10px;color:#0d668c;white-space:nowrap}.cmp-foundation-note span{font-size:9.5px;color:#647f90}
@media(max-width:1250px){.cmp-kpis{grid-template-columns:repeat(3,1fr)}.cmp-steps{grid-template-columns:repeat(3,1fr);gap:8px}.cmp-steps>i{display:none}.cmp-head{flex-direction:column}.cmp-head-actions{justify-content:flex-start}.cmp-onboarding{grid-template-columns:1fr}.cmp-toolbar{flex-direction:column;align-items:stretch}.cmp-search{min-width:0}.cmp-kpi.money{grid-column:auto}}

/* STEP24EF.6.50.370 — Comparaison : moteur détaillé + panneau ND */
.cmp-kpis-v2{grid-template-columns:repeat(5,minmax(125px,1fr)) minmax(220px,1.35fr)}
.cmp-toolbar-v2{align-items:flex-start}.cmp-toolbar-v2 .cmp-filter-tabs{flex:1}.cmp-toolbar-v2 .cmp-search{margin-left:auto}
.cmp-workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:12px;align-items:start;min-width:0}
.cmp-table-wrap-v2{max-height:610px}.cmp-table tbody tr[data-row-index]{cursor:pointer}.cmp-table tbody tr[data-row-index].selected{background:#edf7fc;box-shadow:inset 3px 0 #2684b2}.cmp-table tbody tr[data-row-index].selected:hover{background:#edf7fc}
.cmp-row-summary{display:block;margin-top:3px;max-width:230px;color:#8498a4;font-size:8.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-detail-btn{height:28px;border:1px solid #c8dce7;border-radius:6px;background:#f8fbfd;color:#17678e;padding:0 9px;font-size:9px;font-weight:850;cursor:pointer}.cmp-detail-btn:hover{background:#eaf6fb;border-color:#7db4ce}
.cmp-status.ecart_quantite{background:#fff8dc;color:#9b7100}.cmp-status.ecart_montant{background:#ffeef0;color:#b13e51}
.cmp-detail-panel{position:sticky;top:10px;min-height:355px;max-height:610px;overflow:auto;border:1px solid #d4e2e9;border-radius:10px;background:#fff;box-shadow:0 4px 18px rgba(26,66,91,.06)}
.cmp-detail-empty{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;color:#7a909e}.cmp-detail-empty>div{font-size:34px;color:#6b9db7}.cmp-detail-empty strong{margin-top:8px;color:#335d73}.cmp-detail-empty span{font-size:10px;margin-top:4px}
.cmp-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 10px;border-bottom:1px solid #e3ecf0}.cmp-detail-head small{font-size:9px;color:#8397a3;text-transform:uppercase;font-weight:850}.cmp-detail-head h3{margin:3px 0 0;font-size:18px;color:#173f59}.cmp-detail-issue{margin:10px 12px 0;padding:9px 10px;border-radius:7px;background:#f5f9fb;color:#46697c;font-size:10px;font-weight:750}
.cmp-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.cmp-detail-meta>div{min-width:0;padding:8px;border:1px solid #e0e9ee;border-radius:7px;background:#fbfdfe}.cmp-detail-meta span,.cmp-detail-money span{display:block;color:#8297a3;font-size:8.5px;text-transform:uppercase;font-weight:800}.cmp-detail-meta strong{display:block;margin-top:3px;color:#294e63;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-detail-money{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 12px 12px}.cmp-detail-money>div{padding:9px;border-radius:7px;background:#f5f8fa;border:1px solid #e0e8ed}.cmp-detail-money strong{display:block;margin-top:4px;color:#244f66;font-size:12px}.cmp-detail-money .positive strong{color:#c03d45}.cmp-detail-money .negative strong{color:#b26720}
.cmp-detail-section{padding:0 12px 12px}.cmp-detail-section h4{margin:2px 0 7px;color:#345d72;font-size:11px}.cmp-detail-section table{width:100%;border-collapse:collapse;font-size:9px}.cmp-detail-section th{background:#edf4f7;color:#607b8a;text-align:left;padding:6px;border-bottom:1px solid #d4e1e7}.cmp-detail-section td{padding:6px;border-bottom:1px solid #e7eef2}.cmp-detail-section tr.quantite td:last-child span{color:#9b7100}.cmp-detail-section tr.uniquement_partenaire td:last-child span,.cmp-detail-section tr.uniquement_3t td:last-child span{color:#b84b3c}.cmp-detail-none{text-align:center;color:#8397a3!important;padding:14px!important}
.cmp-detail-actions{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:11px 12px;border-top:1px solid #e3ebef;background:#fafcfd}.cmp-detail-actions span{font-size:8.5px;color:#879aa5;text-align:right}
.cmp-engine-note{background:#f3f7ff;border-color:#d7e0f4}.cmp-engine-note b{color:#4964b0}
@media(max-width:1450px){.cmp-workspace{grid-template-columns:minmax(0,1fr) 330px}.cmp-kpis-v2{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.cmp-workspace{grid-template-columns:1fr}.cmp-detail-panel{position:static;max-height:none}.cmp-toolbar-v2 .cmp-search{margin-left:0}.cmp-kpis-v2{grid-template-columns:repeat(2,1fr)}}

/* STEP24EF.6.50.371 — Comparaison : bibliothèque globale + traitement persistant */
.cmp-back-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}.cmp-back-row>span{font-size:10px;font-weight:800;color:#7b919e}.cmp-back-btn{border:0;background:transparent;color:#17678e;font-size:10px;font-weight:850;cursor:pointer;padding:5px 0}.cmp-back-btn:hover{text-decoration:underline}
.cmp-library-head{margin-bottom:12px}.cmp-library-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.cmp-library-summary>div{background:#fff;border:1px solid #d5e2e9;border-radius:10px;padding:13px 14px}.cmp-library-summary span{display:block;color:#78909f;font-size:9px;font-weight:800;text-transform:uppercase}.cmp-library-summary strong{display:block;margin-top:5px;color:#173f59;font-size:22px}
.cmp-library-card{border:1px solid #d6e2e8;border-radius:11px;background:#fff;overflow:hidden}.cmp-library-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border-bottom:1px solid #e3ecef;background:#f8fbfc}.cmp-library-card-head>div{display:flex;flex-direction:column;gap:2px}.cmp-library-card-head strong{font-size:12px;color:#284e65}.cmp-library-card-head span{font-size:9px;color:#7a919f}.cmp-library-table-wrap{max-height:520px;border:0;border-radius:0}.cmp-library-table tbody tr{cursor:pointer}.cmp-library-table td:first-child strong,.cmp-library-table td:nth-child(3) strong,.cmp-library-table td:nth-child(4) strong,.cmp-library-table td:nth-child(7) strong{display:block;color:#294f65}.cmp-library-table td small{display:block;margin-top:2px;color:#879aa5;font-size:8.5px}.cmp-library-actions{display:flex;gap:5px;white-space:nowrap}.cmp-detail-btn.primary{background:#0c729e;color:#fff;border-color:#0c729e}.cmp-warn-text{color:#c56b16}
.cmp-run-stage{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:8.5px;font-weight:850;white-space:nowrap}.cmp-run-stage.waiting_import{background:#f1f4f6;color:#667d8a}.cmp-run-stage.treatment{background:#fff2dd;color:#a56b05}.cmp-run-stage.ready{background:#e8f7ef;color:#26724d}.cmp-run-stage.closed{background:#e6f0ff;color:#3a64b2}.cmp-run-stage.prepared{background:#eef3fb;color:#536e9c}
.cmp-kpi-button{width:100%;font-family:inherit;text-align:left;cursor:pointer}.cmp-kpi-button:hover{background:#f8fcfe;border-color:#9ec5d8}.cmp-file-clickable{cursor:pointer}.cmp-file-clickable:hover{border-color:#8bbbd0;background:#f2fbfe}
.cmp-treatment-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:8.5px;font-weight:850;white-space:nowrap;background:#f2f5f7;color:#627985}.cmp-treatment-badge.a_traiter{background:#fff2dc;color:#a46a06}.cmp-treatment-badge.corrige_3t{background:#e7f7ef;color:#26724d}.cmp-treatment-badge.valide_partenaire{background:#e9f1ff;color:#4167b5}.cmp-treatment-badge.justifie{background:#f1ecff;color:#7055aa}.cmp-treatment-badge.ok{background:#e7f7ef;color:#26724d}
.cmp-treatment-box{margin:0 12px 12px;padding:11px;border:1px solid #d7e5eb;border-radius:8px;background:#f9fcfd}.cmp-treatment-box h4{margin:0 0 9px;color:#2f5970;font-size:11px}.cmp-treatment-box label{display:block;margin:8px 0 0;color:#6e8795;font-size:8.5px;font-weight:800;text-transform:uppercase}.cmp-treatment-box select,.cmp-treatment-box textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #cbdde6;border-radius:7px;background:#fff;color:#294e63;font:inherit;font-size:10px}.cmp-treatment-box select{height:34px;padding:0 8px}.cmp-treatment-box textarea{min-height:72px;resize:vertical;padding:8px}.cmp-treatment-box>.cmp-btn{margin-top:9px;width:100%}.cmp-treatment-auto{margin:0 12px 12px;padding:10px;border:1px solid #cfe7d9;border-radius:8px;background:#f1faf5;color:#317250;font-size:10px;font-weight:750}.cmp-treatment-feedback{margin-top:7px;font-size:9px}.cmp-treatment-feedback.error{color:#b23f3f}.cmp-treatment-history{margin-top:11px;border-top:1px solid #e1eaee;padding-top:9px}.cmp-treatment-history h5{margin:0 0 7px;color:#526f80;font-size:9px;text-transform:uppercase}.cmp-treatment-history-row{padding:7px 0;border-bottom:1px solid #e9eff2}.cmp-treatment-history-row:last-child{border-bottom:0}.cmp-treatment-history-row>div{display:flex;justify-content:space-between;gap:8px}.cmp-treatment-history-row strong{font-size:9.5px;color:#345d72}.cmp-treatment-history-row span{font-size:8px;color:#8a9ba4}.cmp-treatment-history-row p{margin:4px 0 0;font-size:9px;color:#526f80;white-space:pre-wrap}.cmp-treatment-empty{font-size:8.5px;color:#899ba5;font-style:italic}
.cmp-modal-overlay[hidden]{display:none!important}.cmp-modal-overlay{position:fixed;z-index:30050;inset:0;background:rgba(19,48,65,.52);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px}.cmp-modal-card{width:min(820px,92vw);max-height:86vh;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 25px 70px rgba(12,38,54,.28);overflow:hidden}.cmp-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #dde8ed;background:#f7fbfd}.cmp-modal-head small{display:block;color:#8196a2;font-size:8px;text-transform:uppercase;font-weight:850}.cmp-modal-head h3{margin:2px 0 0;color:#1b4863;font-size:18px}.cmp-modal-head button{width:32px;height:32px;border:1px solid #d2e0e7;border-radius:8px;background:#fff;color:#607d8c;font-size:20px;cursor:pointer}.cmp-modal-body{overflow:auto;padding:16px}.cmp-modal-foot{display:flex;justify-content:flex-end;padding:11px 16px;border-top:1px solid #e0e9ed;background:#f9fbfc}.cmp-modal-empty{padding:18px;border:1px dashed #d5e2e8;border-radius:8px;text-align:center;color:#8499a4;font-size:10px}
.cmp-run-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.cmp-run-info-grid>div{padding:10px;border:1px solid #dce6eb;border-radius:8px;background:#fbfdfe}.cmp-run-info-grid span{display:block;font-size:8px;color:#8598a3;text-transform:uppercase;font-weight:800}.cmp-run-info-grid strong{display:block;margin-top:4px;color:#31576d;font-size:10.5px}.cmp-modal-section{margin-top:15px}.cmp-modal-section h4{margin:0 0 8px;color:#315970;font-size:11px}.cmp-import-history-row{display:grid;grid-template-columns:1.4fr 1fr;gap:5px 12px;padding:9px 10px;border:1px solid #e0e8ec;border-radius:8px;margin-bottom:7px}.cmp-import-history-row.active{border-color:#8bc7a7;background:#f5fbf7}.cmp-import-history-row>div{display:flex;flex-direction:column;gap:2px}.cmp-import-history-row>div:nth-child(2){align-items:flex-end;text-align:right}.cmp-import-history-row strong{font-size:10px;color:#31566c}.cmp-import-history-row span{font-size:8.5px;color:#6e8795}.cmp-import-history-row small{font-size:7.5px;color:#93a2aa}.cmp-import-meta{grid-column:1/-1!important;font-size:8px;color:#77909e;border-top:1px solid #e6edef;padding-top:5px}.cmp-modal-action{display:flex;justify-content:flex-end;margin-top:12px}
.cmp-snapshot-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cmp-snapshot-summary>div{padding:10px;border:1px solid #dce7ec;border-radius:8px;background:#f9fcfd}.cmp-snapshot-summary span{display:block;color:#8296a2;font-size:8px;text-transform:uppercase;font-weight:800}.cmp-snapshot-summary strong{display:block;margin-top:3px;color:#24516a;font-size:17px}.cmp-snapshot-group{border:1px solid #dce7ec;border-radius:8px;margin-bottom:7px;overflow:hidden}.cmp-snapshot-group>strong{display:block;padding:8px 10px;background:#f3f8fa;color:#325d74;font-size:9.5px}.cmp-snapshot-group>div{display:grid;grid-template-columns:110px 1fr 1.3fr 90px;gap:8px;padding:7px 10px;border-top:1px solid #e9eff2;font-size:8.5px;color:#526f80}.cmp-snapshot-issue{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid #f0d4cf;background:#fff8f6;border-radius:8px;margin-bottom:6px}.cmp-snapshot-issue strong{font-size:9px;color:#9e5045}.cmp-snapshot-issue span,.cmp-snapshot-issue small{font-size:8px;color:#7c655f}.cmp-treatment-note{background:#f4f8ff;border-color:#d8e3f5}.cmp-treatment-note b{color:#4966ad}
@media(max-width:1050px){.cmp-library-summary{grid-template-columns:repeat(2,1fr)}.cmp-library-card-head{flex-direction:column;align-items:stretch}.cmp-run-info-grid{grid-template-columns:1fr}.cmp-snapshot-summary{grid-template-columns:repeat(2,1fr)}.cmp-snapshot-group>div{grid-template-columns:1fr 1fr}.cmp-import-history-row{grid-template-columns:1fr}.cmp-import-history-row>div:nth-child(2){align-items:flex-start;text-align:left}.cmp-import-meta{grid-column:auto!important}}

/* STEP24EF.6.50.372 — Comparaison : suppression sécurisée */
.cmp-btn.danger{border:1px solid #efb5b5;background:#fff6f6;color:#b42323;box-shadow:none}
.cmp-btn.danger:hover{background:#ffe9e9;border-color:#e18a8a;color:#951b1b}
.cmp-modal-action{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

/* STEP24EF.6.50.374 — Comparaison : split-view compact + catégories dédiées + PDF global */
.cmp-btn.pdf{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#173f58;border-color:#173f58;color:#fff}.cmp-btn.pdf:hover{background:#0f3147;border-color:#0f3147;color:#fff}
.cmp-filter-tabs .cmp-filter-articles{border-color:#efc4bc;color:#a84639;background:#fff8f6}.cmp-filter-tabs .cmp-filter-articles b{background:#fdece8}.cmp-filter-tabs .cmp-filter-articles.active{background:#fff0ed;border-color:#dc8c80;color:#9f392d}
.cmp-filter-tabs .cmp-filter-qty{border-color:#ead89c;color:#8a6808;background:#fffdf3}.cmp-filter-tabs .cmp-filter-qty b{background:#fff5cd}.cmp-filter-tabs .cmp-filter-qty.active{background:#fff8dc;border-color:#d2b64f;color:#785800}
.cmp-filter-tabs .cmp-filter-amount{border-color:#d7c9f1;color:#684ba5;background:#fbf9ff}.cmp-filter-tabs .cmp-filter-amount b{background:#f0eafd}.cmp-filter-tabs .cmp-filter-amount.active{background:#f1ecff;border-color:#9f84d1;color:#5d4392}
.cmp-workspace{height:clamp(400px,calc(100vh - 430px),620px);min-height:0;align-items:stretch}
.cmp-table-wrap-v2{height:100%;max-height:none;min-height:0;overflow:auto;overscroll-behavior:auto}
.cmp-detail-panel{position:relative;top:auto;height:100%;max-height:none;min-height:0;overflow:auto;overscroll-behavior:auto;scrollbar-gutter:stable}
.cmp-detail-actions{position:sticky;bottom:0;z-index:3;box-shadow:0 -5px 14px rgba(20,55,75,.05)}
.cmp-treatment-history{max-height:155px;overflow:auto;padding-right:3px}
.cmp-detail-section{overflow:auto;max-height:185px}
.cmp-detail-section table{min-width:100%}
@media(max-width:1050px){.cmp-workspace{height:auto;min-height:0}.cmp-table-wrap-v2{height:auto;max-height:540px}.cmp-detail-panel{height:auto;max-height:620px}.cmp-detail-actions{position:static}}


/* STEP24EF.6.50.375 — Comparaison : lisibilité dashboard + pile modale suppression */
/* La confirmation de suppression doit toujours passer AU-DESSUS de la fiche relevé. */
#comparisonDeleteBackdrop{z-index:30250!important}

/* Lisibilité générale : rapprocher Comparaison du confort visuel du dashboard principal. */
.cmp-page .section-title{font-size:19px;line-height:1.15}
.cmp-page .section-sub{font-size:11px;line-height:1.35}
.cmp-month-picker{font-size:12px}.cmp-month-picker select{font-size:12px}
.cmp-btn{font-size:11.5px}
.cmp-flash{font-size:12.5px}
.cmp-back-row>span,.cmp-back-btn{font-size:11.5px}

.cmp-step>b{font-size:13px}.cmp-step strong{font-size:12px}.cmp-step small{font-size:10.5px}
.cmp-kpi span{font-size:11px}.cmp-kpi strong{font-size:26px}.cmp-kpi small{font-size:10.5px}.cmp-kpi.money strong{font-size:20px}
.cmp-import-zone strong{font-size:14px}.cmp-import-zone span{font-size:11.5px}
.cmp-file-strip strong{font-size:12px}.cmp-file-strip small{font-size:10px}

.cmp-filter-tabs button{font-size:11px}.cmp-search input{font-size:11px}
.cmp-table{font-size:11px}.cmp-table thead th{font-size:10px;padding:10px 9px}.cmp-table td{padding:9px}
.cmp-status{font-size:10px}.cmp-row-summary{font-size:9.5px}.cmp-detail-btn{font-size:10px;height:30px}
.cmp-treatment-badge,.cmp-run-stage{font-size:9.5px}

.cmp-detail-empty span{font-size:11px}.cmp-detail-head small{font-size:10px}.cmp-detail-head h3{font-size:20px}.cmp-detail-issue{font-size:11px}
.cmp-detail-meta span,.cmp-detail-money span{font-size:9.5px}.cmp-detail-meta strong{font-size:11.5px}.cmp-detail-money strong{font-size:13px}
.cmp-detail-section h4,.cmp-treatment-box h4{font-size:12px}.cmp-detail-section table{font-size:10px}
.cmp-treatment-box label{font-size:9.5px}.cmp-treatment-box select,.cmp-treatment-box textarea{font-size:11px}
.cmp-treatment-auto{font-size:11px}.cmp-treatment-feedback{font-size:10px}.cmp-treatment-history h5{font-size:10px}
.cmp-treatment-history-row strong{font-size:10.5px}.cmp-treatment-history-row span{font-size:9px}.cmp-treatment-history-row p{font-size:10px}.cmp-treatment-empty{font-size:9.5px}
.cmp-detail-actions span{font-size:9.5px}

.cmp-library-summary span{font-size:10px}.cmp-library-summary strong{font-size:24px}
.cmp-library-card-head strong{font-size:13px}.cmp-library-card-head span{font-size:10px}.cmp-library-table td small{font-size:9.5px}
.cmp-foundation-note b{font-size:11px}.cmp-foundation-note span{font-size:10.5px}

.cmp-modal-head small{font-size:9px}.cmp-modal-head h3{font-size:20px}.cmp-modal-empty{font-size:11px}
.cmp-run-info-grid span{font-size:9px}.cmp-run-info-grid strong{font-size:11.5px}.cmp-modal-section h4{font-size:12px}
.cmp-import-history-row strong{font-size:11px}.cmp-import-history-row span{font-size:9.5px}.cmp-import-history-row small{font-size:8.5px}.cmp-import-meta{font-size:9px}
.cmp-snapshot-summary span{font-size:9px}.cmp-snapshot-summary strong{font-size:18px}.cmp-snapshot-group>strong{font-size:10.5px}.cmp-snapshot-group>div{font-size:9.5px}.cmp-snapshot-issue strong{font-size:10px}.cmp-snapshot-issue span,.cmp-snapshot-issue small{font-size:9px}

/* Un peu plus d'air pour la fiche droite afin que l'augmentation de police ne la tasse pas. */
@media(min-width:1451px){.cmp-workspace{grid-template-columns:minmax(0,1fr) 390px}}
@media(max-width:1450px) and (min-width:1051px){.cmp-workspace{grid-template-columns:minmax(0,1fr) 350px}}

/* STEP24EF.6.50.376 — Comparaison : ergonomie client mail / master-detail */
.cmp-mail-workspace{
  grid-template-columns:minmax(620px,1.42fr) minmax(470px,1fr)!important;
  gap:14px;
  height:clamp(500px,calc(100vh - 385px),720px)!important;
  min-height:500px;
}
.cmp-mail-list{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;border:1px solid #d2e1e8;border-radius:11px;background:#fff;overflow:hidden;box-shadow:0 4px 18px rgba(25,63,84,.045)}
.cmp-mail-list-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid #dbe7ec;background:#f7fafc;color:#244f68}
.cmp-mail-list-head>div{display:flex;flex-direction:column;gap:2px}.cmp-mail-list-head strong{font-size:13px}.cmp-mail-list-head span{font-size:10px;color:#78909c}.cmp-mail-shortcut{padding:4px 8px;border:1px solid #d7e4ea;border-radius:999px;background:#fff;white-space:nowrap}
.cmp-mail-list .cmp-table-wrap-v2{flex:1 1 auto;height:auto!important;border:0;border-radius:0;box-shadow:none}
.cmp-mail-table{table-layout:fixed;font-size:12px!important}
.cmp-mail-table thead{position:sticky;top:0;z-index:5}.cmp-mail-table thead th{font-size:10.8px!important;padding:10px 9px!important}
.cmp-mail-table th:nth-child(1){width:116px}.cmp-mail-table th:nth-child(2){width:145px}.cmp-mail-table th:nth-child(3){width:125px}.cmp-mail-table th:nth-child(4){width:110px}.cmp-mail-table th:nth-child(5){width:120px}.cmp-mail-table th:nth-child(6){width:82px}.cmp-mail-table th:nth-child(7){width:105px}
.cmp-mail-table td{padding:9px!important;vertical-align:middle;line-height:1.25}.cmp-mail-table tbody tr{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.cmp-mail-table tbody tr:hover{background:#f4f9fc}.cmp-mail-table tbody tr.selected{background:#eaf5fb!important;box-shadow:inset 4px 0 #1682b4}
.cmp-mail-table td:not(.cmp-mail-nd){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-mail-nd strong{display:flex;align-items:center;gap:5px;font-size:12.5px;color:#17465f}.cmp-row-summary{margin-top:3px!important;font-size:9.5px!important;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cmp-nd-life{display:inline-flex;align-items:center;gap:3px;color:#1682b4;font-size:9.5px;font-weight:850;white-space:nowrap}
.cmp-mail-table .cmp-status{font-size:10.2px!important;max-width:108px;overflow:hidden;text-overflow:ellipsis}.cmp-mail-table .cmp-treatment-badge{font-size:9.8px!important;white-space:nowrap}.cmp-mail-table .cmp-money{font-size:11.5px;font-weight:800}

.cmp-mail-detail{height:100%!important;min-height:0!important;max-height:none!important;overflow:hidden!important;display:flex;flex-direction:column;border-radius:11px!important}
.cmp-mail-detail-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #d9e6eb;background:#f9fcfd}
.cmp-mail-detail-title{display:flex;align-items:center;gap:8px;min-width:0}.cmp-mail-detail-title h3{margin:0;color:#143f58;font-size:20px;line-height:1.1;white-space:nowrap}.cmp-mail-detail-title .cmp-status{font-size:10.5px}.cmp-mail-detail-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.cmp-mail-detail-actions .cmp-btn{min-height:31px;font-size:10.5px}
.cmp-mail-detail-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:11px 12px 14px;scrollbar-gutter:stable;overscroll-behavior:auto}
.cmp-mail-detail .cmp-detail-issue{margin:0 0 9px;padding:9px 10px;font-size:11.5px;font-weight:700;border:1px solid #e2e9ed;border-radius:8px;background:#f8fbfc;color:#456879}
.cmp-mail-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.cmp-mail-meta>div{padding:8px 9px!important}.cmp-mail-meta span{font-size:9.5px!important}.cmp-mail-meta strong{font-size:11.5px!important;line-height:1.25}
.cmp-mail-money{margin:9px 0!important;grid-template-columns:repeat(3,1fr)!important}.cmp-mail-money>div{padding:9px 10px!important}.cmp-mail-money span{font-size:9.5px!important}.cmp-mail-money strong{font-size:14px!important}
.cmp-mail-articles{margin:9px 0}.cmp-mail-articles>h4{margin:0 0 7px;color:#28566f;font-size:12.5px}.cmp-article-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cmp-article-side{border:1px solid #d5e5ed;border-radius:9px;overflow:hidden;background:#fff}.cmp-article-side.partner{border-color:#f0d5d2}.cmp-article-side-head{display:flex;align-items:center;gap:7px;padding:8px 9px;background:#eef8fc;color:#1d5e7d}.cmp-article-side.partner .cmp-article-side-head{background:#fff4f2;color:#9a473d}.cmp-article-side-head strong{font-size:11px}.cmp-article-side-body{max-height:165px;overflow:auto}.cmp-article-card-row{display:grid;grid-template-columns:minmax(80px,1fr) auto;column-gap:8px;row-gap:2px;padding:7px 9px;border-top:1px solid #edf2f4}.cmp-article-card-row:first-child{border-top:0}.cmp-article-card-row strong{font-size:10.8px;color:#2e5b71}.cmp-article-card-row span{font-size:10px;color:#536f7d;font-weight:750}.cmp-article-card-row small{grid-column:1/-1;font-size:8.8px;color:#84959f}.cmp-article-card-row.uniquement_3t,.cmp-article-card-row.uniquement_partenaire,.cmp-article-card-row.quantite{background:#fffaf8}.cmp-article-card-empty{padding:17px;text-align:center;color:#8b9ba4;font-size:10px}
.cmp-mail-treatment{margin-top:10px!important}.cmp-treatment-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.cmp-treatment-title h4{margin:0}.cmp-treatment-title span{font-size:9px;color:#8496a0}.cmp-treatment-form-grid{display:grid;grid-template-columns:minmax(145px,.55fr) minmax(220px,1.45fr);gap:8px;align-items:end}.cmp-treatment-comment textarea{min-height:66px!important}.cmp-treatment-save-wide{width:100%;margin-top:8px;min-height:34px}.cmp-history-details{margin-top:8px;border:1px solid #dce7ec;border-radius:8px;background:#fafcfd;overflow:hidden}.cmp-history-details summary{cursor:pointer;padding:8px 10px;color:#456a7d;font-size:10px;font-weight:850;user-select:none}.cmp-history-details .cmp-treatment-history{margin:0;padding:0 9px 8px;max-height:145px}
.cmp-mail-detail-foot{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:9px 11px;border-top:1px solid #dbe6eb;background:#f8fbfc}.cmp-mail-detail-foot>span{text-align:center;color:#8496a0;font-size:9.5px;font-weight:800}.cmp-detail-nav{justify-self:start;border:1px solid #ccdce4;border-radius:7px;background:#fff;color:#456b7e;padding:7px 10px;font-size:10px;font-weight:850;cursor:pointer}.cmp-detail-nav.primary{justify-self:end;background:#157ba9;color:#fff;border-color:#157ba9}.cmp-detail-nav:disabled{opacity:.38;cursor:not-allowed}

/* Lisibilité écran standard : priorité au contrôle en bas, sans mini-polices. */
.cmp-page.cmp-step376 .cmp-filter-tabs button{font-size:11.5px}.cmp-page.cmp-step376 .cmp-search input{font-size:11.5px}.cmp-page.cmp-step376 .cmp-kpi span{font-size:11.5px}.cmp-page.cmp-step376 .cmp-kpi small{font-size:10.8px}.cmp-page.cmp-step376 .cmp-step strong{font-size:12.2px}.cmp-page.cmp-step376 .cmp-step small{font-size:10.7px}
@media(max-width:1450px) and (min-width:1051px){.cmp-mail-workspace{grid-template-columns:minmax(560px,1.35fr) minmax(420px,1fr)!important}.cmp-mail-table{font-size:11.4px!important}.cmp-mail-table th:nth-child(3),.cmp-mail-table td:nth-child(3){display:none}.cmp-mail-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:1050px){.cmp-mail-workspace{grid-template-columns:1fr!important;height:auto!important;min-height:0}.cmp-mail-list{height:520px}.cmp-mail-detail{height:620px!important}.cmp-article-compare{grid-template-columns:1fr}.cmp-treatment-form-grid{grid-template-columns:1fr}.cmp-mail-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* STEP24EF.6.50.377 — Comparaison : référentiel financier + décisions binaires */
.cmp-step377 .cmp-financial-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:10px 0 12px}
.cmp-step377 .cmp-financial-kpis>div{min-width:0;border:1px solid #d7e3e9;border-radius:9px;background:#fff;padding:10px 12px;box-shadow:0 1px 2px rgba(23,63,88,.04)}
.cmp-step377 .cmp-financial-kpis span{display:block;font-size:10.5px;line-height:1.2;text-transform:uppercase;font-weight:850;color:#718995;letter-spacing:.02em}
.cmp-step377 .cmp-financial-kpis strong{display:block;margin-top:5px;font-size:17px;line-height:1.15;color:#214e66}
.cmp-step377 .cmp-financial-kpis small{display:block;margin-top:4px;font-size:9.5px;line-height:1.25;color:#8498a3}
.cmp-step377 .cmp-financial-kpis .gain{border-color:#bfe7d2;background:#f5fcf8}.cmp-step377 .cmp-financial-kpis .gain strong{color:#168052}
.cmp-step377 .cmp-financial-kpis .loss{border-color:#efc8c8;background:#fff7f7}.cmp-step377 .cmp-financial-kpis .loss strong{color:#c64149}
.cmp-step377 .cmp-treatment-badge.corrige_partenaire{background:#e9f1ff;color:#315fae}
.cmp-step377 .cmp-decision-retro{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:5px 9px;margin:8px 0 9px;padding:9px 10px;border:1px solid #cfe3ec;border-radius:8px;background:#f7fbfd}
.cmp-step377 .cmp-decision-retro span{font-size:9.5px;text-transform:uppercase;font-weight:850;color:#78909b}.cmp-step377 .cmp-decision-retro strong{font-size:11.5px;color:#214f67}.cmp-step377 .cmp-decision-retro small{grid-column:1/-1;font-size:9.5px;color:#5f7987;border-top:1px solid #e3edf1;padding-top:5px;margin-top:2px}
.cmp-step377 .cmp-article-card-row small{font-size:9.2px;line-height:1.3}
@media(max-width:1350px){.cmp-step377 .cmp-financial-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.cmp-step377 .cmp-financial-kpis{grid-template-columns:1fr 1fr}}
.cmp-step377 .cmp-before-after-inline{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;padding:8px 10px;border:1px dashed #c9dbe4;border-radius:8px;background:#fbfdfe}
.cmp-step377 .cmp-before-after-inline span{display:block;font-size:9px;text-transform:uppercase;font-weight:850;color:#7c929d}.cmp-step377 .cmp-before-after-inline strong{display:block;margin-top:3px;font-size:10.8px;color:#2a566d}

/* STEP378 — Comparaison multi-partenaires CRM */
.cmp-step378 .cmp-partner-picker select{min-width:155px}
.cmp-step378 .cmp-btn:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}
.cmp-step378 .cmp-partner-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.cmp-step378 .cmp-partner-slot{border:1px solid #d5e3ea;border-radius:10px;padding:11px 13px;background:#fff;min-width:0}
.cmp-step378 .cmp-partner-slot.frozen{border-color:#b9dfcb;background:#f6fcf8;cursor:default}
.cmp-step378 .cmp-partner-slot.waiting{border-style:dashed;background:#fbfdfe}
.cmp-step378 .cmp-partner-slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.cmp-step378 .cmp-partner-slot-head strong{font-size:14px;color:#173f58}
.cmp-step378 .cmp-partner-slot-head span{font-size:11px;font-weight:850;border-radius:999px;padding:4px 8px;background:#edf3f6;color:#617b8b}
.cmp-step378 .cmp-partner-slot.frozen .cmp-partner-slot-head span{background:#e4f6ec;color:#22734d}
.cmp-step378 .cmp-partner-slot>b{display:block;font-size:12.5px;color:#2a5369;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-step378 .cmp-partner-slot>small{display:block;margin-top:4px;font-size:10.5px;color:#7c929e}
.cmp-step378 .cmp-import-zone.compact{margin-top:8px}
.cmp-step378 .cmp-row-summary b{color:#1d6f99;font-weight:900}
@media(max-width:900px){.cmp-step378 .cmp-partner-slots{grid-template-columns:1fr}}
/* STEP24EF.6.50.378-COMPARAISON-MULTI-PARTNER-FINANCE-FIX */

/* STEP24EF.6.50.379 — Comparaison : périmètres partenaires issus de Données */
.cmp-step379 .cmp-partner-scopes{align-items:stretch}
.cmp-step379 .cmp-partner-scope{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.cmp-step379 .cmp-partner-scope:hover{border-color:#8fbdd1;box-shadow:0 5px 18px rgba(28,85,112,.08);transform:translateY(-1px)}
.cmp-step379 .cmp-partner-scope-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:7px 0 9px}
.cmp-step379 .cmp-partner-scope-kpis>div{min-width:0;padding:8px 9px;border:1px solid #dce8ed;border-radius:8px;background:rgba(255,255,255,.72)}
.cmp-step379 .cmp-partner-scope-kpis span{display:block;font-size:9.5px;font-weight:850;text-transform:uppercase;color:#7b909b;letter-spacing:.02em}
.cmp-step379 .cmp-partner-scope-kpis strong{display:block;margin-top:3px;font-size:13px;line-height:1.15;color:#214f67}
.cmp-step379 .cmp-partner-scope-kpis small{display:block;margin-top:3px;font-size:9.5px;line-height:1.25;color:#718895}
.cmp-step379 .cmp-partner-control-banner{margin:8px 0 10px;padding:9px 11px;border:1px solid #cfe1eb;border-radius:9px;background:#f5fafc;color:#486b7c;font-size:11px;line-height:1.35}
.cmp-step379 .cmp-partner-control-banner strong{color:#1f5874}
.cmp-step379 .cmp-toolbar-v2{align-items:center}
.cmp-step379 .cmp-partner-filter{display:flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap;color:#607987;font-size:10px;font-weight:850}
.cmp-step379 .cmp-partner-filter select{min-width:125px;border:1px solid #cbdce5;border-radius:8px;background:#fff;color:#28566f;padding:7px 28px 7px 9px;font-size:11px;font-weight:800}
@media(max-width:1050px){.cmp-step379 .cmp-partner-scope-kpis{grid-template-columns:1fr}.cmp-step379 .cmp-partner-filter{margin-left:0}}

/* STEP380 · Comparaison · import partenaire guidé */
.cmp-import-wizard-overlay{z-index:30120!important}
.cmp-import-wizard{width:min(760px,94vw)}
.cmp-import-wizard-body{display:flex;flex-direction:column;gap:14px;padding:18px}
.cmp-import-step-card{display:flex;gap:14px;border:1px solid #d8e5eb;border-radius:12px;background:#fbfdfe;padding:14px}
.cmp-import-step-number{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#0b78a8;color:#fff;font-size:15px;font-weight:900}
.cmp-import-step-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.cmp-import-step-content>strong{font-size:14px;color:#173e54}
.cmp-import-step-content>span{font-size:11.5px;color:#6c8795}
.cmp-import-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:7px}
.cmp-import-partner-choice{appearance:none;border:2px solid #d5e4ea;border-radius:10px;background:#fff;padding:13px 14px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:#234d63;transition:.14s ease}
.cmp-import-partner-choice b{font-size:15px}.cmp-import-partner-choice small{font-size:10.5px;color:#78909c}
.cmp-import-partner-choice:hover:not(:disabled){border-color:#7ab6d1;background:#f3fbff}
.cmp-import-partner-choice.selected{border-color:#0b84bd;background:#eaf8ff;box-shadow:0 0 0 2px rgba(11,132,189,.10)}
.cmp-import-partner-choice.selected:after{content:'✓ Sélectionné';font-size:10px;font-weight:850;color:#0879a9;margin-top:2px}
.cmp-import-partner-choice.frozen{border-color:#b9dec6;background:#f1fbf4;color:#40765a;cursor:not-allowed;opacity:.86}
.cmp-import-file-picker{margin-top:7px;border:1.5px dashed #8dbdd1;border-radius:10px;background:#f5fbfe;padding:13px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;cursor:pointer}
.cmp-import-file-picker>input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.cmp-import-file-picker>span{font-size:22px}.cmp-import-file-picker>div{display:flex;flex-direction:column;gap:2px;min-width:0}.cmp-import-file-picker b{font-size:12px;color:#234d63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-import-file-picker small{font-size:10px;color:#78909c}.cmp-import-file-picker em{font-style:normal;font-size:11px;font-weight:850;color:#0879a9}
.cmp-import-file-picker.disabled{opacity:.52;cursor:not-allowed;background:#f5f7f8;border-color:#ccd7dc}.cmp-import-file-picker.disabled em{color:#92a4ad}
.cmp-import-freeze-warning{display:flex;gap:10px;align-items:flex-start;border:1px solid #f0d59e;background:#fff9ed;border-radius:10px;padding:11px 13px;color:#72531b}.cmp-import-freeze-warning>div{display:flex;flex-direction:column;gap:2px}.cmp-import-freeze-warning strong{font-size:11.5px}.cmp-import-freeze-warning span{font-size:10.5px;line-height:1.35}
.cmp-import-wizard-foot{gap:8px}.cmp-import-wizard-foot .cmp-btn.primary{min-width:220px}
@media(max-width:760px){.cmp-import-partner-grid{grid-template-columns:1fr}.cmp-import-file-picker{grid-template-columns:28px 1fr}.cmp-import-file-picker em{grid-column:2}.cmp-import-step-card{padding:12px;gap:10px}}


/* STEP24EF.6.50.381 — Comparaison : laisser le scroll remonter vers la page aux limites des panneaux.
   Le split gauche/droite garde son scroll propre, mais ne doit plus emprisonner la molette. */
.cmp-page .cmp-table-wrap-v2,
.cmp-page .cmp-detail-panel,
.cmp-page .cmp-mail-detail-scroll{overscroll-behavior-y:auto!important}

/* STEP24EF.6.50.383 — détail KPI Garanties/Carences + code couleur métier dans Données */
.guarantee-intervention-row td{
  background:#eaf7ef!important;
  color:#274d3b!important;
  border-top:1px solid #b9dec8!important;
  border-bottom:1px solid #b9dec8!important;
}
.guarantee-intervention-row:hover td{background:#dff1e7!important}
.carence-intervention-row td{
  background:#fff1e7!important;
  color:#62432f!important;
  border-top:1px solid #e6c2a5!important;
  border-bottom:1px solid #e6c2a5!important;
}
.carence-intervention-row:hover td{background:#fbe7d8!important}
.row-financial-tag,
.tech-history-financial-badge{
  display:inline-flex;align-items:center;margin-left:6px;padding:2px 6px;border-radius:3px;
  color:#fff;font-size:8px;font-weight:900;line-height:1.2;vertical-align:middle;letter-spacing:.02em
}
.row-financial-tag.guarantee,.tech-history-financial-badge.guarantee{background:#2f8460}
.row-financial-tag.carence,.tech-history-financial-badge.carence{background:#c66a2b}
.tech-guarantee-row td{
  background:#edf8f1!important;
  border-top:1px solid #bfdfca!important;
  border-bottom:1px solid #bfdfca!important;
}
.tech-guarantee-row:hover td{background:#e2f2e8!important}
.tech-carence-row td{
  background:#fff1e7!important;
  border-top:1px solid #e5bea0!important;
  border-bottom:1px solid #e5bea0!important;
}
.tech-carence-row:hover td{background:#fbe5d5!important}
.tech-adjustment-backdrop{z-index:12100!important}
.tech-adjustment-dialog{width:min(1180px,97vw)!important}
.tech-adjustment-subtitle{display:block;margin-top:3px;color:#6f8796;font-size:11px;font-weight:700}
#techAdjustmentBody{padding:14px 22px 4px}
.tech-adjustment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tech-adjustment-summary article{padding:12px 14px;border:1px solid #dbe6ec;border-radius:9px;background:#f8fbfc}
.tech-adjustment-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#708795;font-weight:850}
.tech-adjustment-summary strong{display:block;margin-top:4px;font-size:22px;color:#173f5b}
.tech-adjustment-summary strong.positive,.tech-adjustment-money.positive{color:#19704e}
.tech-adjustment-summary strong.negative,.tech-adjustment-money.negative{color:#b4532e}
.tech-adjustment-money{font-weight:900;white-space:nowrap}
.tech-adjustment-money.muted{color:#748896}
.tech-adjustment-table{min-width:980px}
.tech-adjustment-table tbody tr{cursor:pointer}
.tech-adjustment-table tbody tr:hover td{background:#f1f7fa}
.tech-adjustment-own,.tech-adjustment-external{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}
.tech-adjustment-own{background:#edf1f4;color:#647988}.tech-adjustment-external{background:#e5f5ec;color:#236f50}
.tech-adjustment-empty{padding:28px;text-align:center;color:#758c99;font-weight:750}
.soft-guarantee.tech-kpi-clickable,.soft-carence.tech-kpi-clickable{cursor:pointer!important}
.soft-guarantee.tech-kpi-clickable:hover{box-shadow:inset 0 0 0 2px rgba(47,132,96,.22),0 6px 16px rgba(31,59,76,.08)!important}
.soft-carence.tech-kpi-clickable:hover{box-shadow:inset 0 0 0 2px rgba(198,106,43,.22),0 6px 16px rgba(31,59,76,.08)!important}
@media(max-width:760px){#techAdjustmentBody{padding:10px}.tech-adjustment-summary{grid-template-columns:1fr}.tech-adjustment-dialog{width:100%!important}.tech-adjustment-table{min-width:900px}}

/* STEP24EF.6.50.386 — retour SAV = GARANTIE uniquement + repère orange plus visible.
   La carence reste une conséquence portée par le technicien d'origine, pas par la ligne SAV. */
.guarantee-intervention-row td{
  background:#fff7e8!important;
  color:#5e4828!important;
  border-top:1px solid #e4b867!important;
  border-bottom:1px solid #e4b867!important;
}
.guarantee-intervention-row > td:first-child{
  box-shadow:inset 5px 0 0 #df8d1d!important;
}
.guarantee-intervention-row:hover td{background:#ffefd1!important}
.row-financial-tag.guarantee,
.tech-history-financial-badge.guarantee{
  background:#d9871e!important;
  color:#fff!important;
}

/* Une garantie peut aussi être réalisée en renfort : garder le violet du renfort
   et ajouter le repère orange, afin que les deux informations restent lisibles. */
.shared-intervention-row.guarantee-intervention-row td,
.shared-helper-row.guarantee-intervention-row td{
  background:#eee8f3!important;
  color:#46394f!important;
  border-top:1px solid #d7c6e2!important;
  border-bottom:1px solid #d7c6e2!important;
}
.shared-intervention-row.guarantee-intervention-row > td:first-child,
.shared-helper-row.guarantee-intervention-row > td:first-child{
  box-shadow:inset 5px 0 0 #df8d1d!important;
}

/* Fiche technicien : même langage visuel pour une garantie réalisée. */
.tech-guarantee-row td{
  background:#fff7e8!important;
  border-top:1px solid #e4b867!important;
  border-bottom:1px solid #e4b867!important;
}
.tech-guarantee-row > td:first-child{box-shadow:inset 5px 0 0 #df8d1d!important}
.tech-guarantee-row:hover td{background:#ffefd1!important}
/* La carence reste distincte visuellement de la garantie orange. */
.row-financial-tag.carence,.tech-history-financial-badge.carence{background:#b95836!important}
.tech-carence-row td{background:#fff0eb!important;border-top-color:#dfb2a3!important;border-bottom-color:#dfb2a3!important}
.tech-carence-row:hover td{background:#fbe3db!important}

/* STEP24EF.6.50.387 — Fiche technicien : conserver les couleurs métier même
   hors survol. Les sélecteurs sont volontairement plus spécifiques que le
   zebra-striping global tbody tr:nth-child(...), qui gagnait auparavant avec !important. */
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-shared-history-row > td{
  background:#f2edf5!important;
  color:#46394f!important;
  border-top:1px solid #d5c8dd!important;
  border-bottom:1px solid #d5c8dd!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-shared-history-row > td:first-child{
  box-shadow:inset 5px 0 0 #765d87!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-shared-history-row:hover > td{
  background:#e9e0ef!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-guarantee-row > td{
  background:#fff7e8!important;
  color:#5e4828!important;
  border-top:1px solid #e4b867!important;
  border-bottom:1px solid #e4b867!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-guarantee-row > td:first-child{
  box-shadow:inset 5px 0 0 #df8d1d!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-guarantee-row:hover > td{
  background:#ffefd1!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-carence-row > td{
  background:#fff0eb!important;
  color:#62432f!important;
  border-top:1px solid #dfb2a3!important;
  border-bottom:1px solid #dfb2a3!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-carence-row > td:first-child{
  box-shadow:inset 5px 0 0 #b95836!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-carence-row:hover > td{
  background:#fbe3db!important;
}
/* Si une ligne cumule RENFORT + GARANTIE/CARENCE, garder le fond violet du
   renfort et utiliser la barre de gauche pour matérialiser l'événement financier. */
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-shared-history-row.tech-guarantee-row > td,
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-shared-history-row.tech-carence-row > td{
  background:#f2edf5!important;
  color:#46394f!important;
  border-top-color:#d5c8dd!important;
  border-bottom-color:#d5c8dd!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-shared-history-row.tech-guarantee-row > td:first-child{
  box-shadow:inset 5px 0 0 #df8d1d!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-shared-history-row.tech-carence-row > td:first-child{
  box-shadow:inset 5px 0 0 #b95836!important;
}

/* Données du jour : la carence est une ligne miroir purement visuelle dans
   l'encart du technicien d'origine. Elle n'est pas une intervention et ne
   participe jamais au CA du jour. */
.data-tech-table tbody tr.carence-visual-row > td{
  background:#fff0eb!important;
  color:#62432f!important;
  border-top:1px solid #dfb2a3!important;
  border-bottom:1px solid #dfb2a3!important;
}
.data-tech-table tbody tr.carence-visual-row > td:first-child{
  box-shadow:inset 5px 0 0 #b95836!important;
}
.data-tech-table tbody tr.carence-visual-row:hover > td{
  background:#fbe3db!important;
}
.carence-visual-note{
  display:block!important;
  margin-top:3px!important;
  color:#8a604e!important;
  font-size:9px!important;
  font-weight:750!important;
}
.carence-visual-amount{
  color:#b44f34!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.carence-visual-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  background:#f4d9cf!important;
  color:#9d462d!important;
  border:1px solid #dca793!important;
  font-size:8px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
/* Principal d'un RENFORT : même fond violet que le technicien venu en aide. */
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-renfort-principal-row > td{
  background:#f2edf5!important;
  color:#46394f!important;
  border-top:1px solid #d5c8dd!important;
  border-bottom:1px solid #d5c8dd!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-renfort-principal-row > td:first-child{
  box-shadow:inset 5px 0 0 #765d87!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-renfort-principal-row:hover > td{
  background:#e9e0ef!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-renfort-principal-row.tech-guarantee-row > td,
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-renfort-principal-row.tech-carence-row > td{
  background:#f2edf5!important;
  color:#46394f!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-renfort-principal-row.tech-guarantee-row > td:first-child{
  box-shadow:inset 5px 0 0 #df8d1d!important;
}
#tech360-activity .tech-modal-table-wrap table tbody tr.tech-renfort-principal-row.tech-carence-row > td:first-child{
  box-shadow:inset 5px 0 0 #b95836!important;
}


/* STEP24EF.6.50.388 — Données : garantie orange réellement visible hors survol.
   Les anciennes règles de zébrage utilisent !important ; on cible donc explicitement
   les lignes garantie non-partagées pour garantir le fond orange en permanence.
   Les garanties réalisées en renfort/binôme conservent volontairement le fond violet. */
.data-tech-table tbody tr.guarantee-intervention-row:not(.shared-intervention-row):not(.shared-helper-row) > td,
.data-tech-table tbody tr.guarantee-intervention-row:not(.shared-intervention-row):not(.shared-helper-row):nth-child(odd) > td,
.data-tech-table tbody tr.guarantee-intervention-row:not(.shared-intervention-row):not(.shared-helper-row):nth-child(even) > td{
  background:#ffedcf!important;
  color:#5f4524!important;
  border-top:1px solid #dfa04a!important;
  border-bottom:1px solid #dfa04a!important;
}
.data-tech-table tbody tr.guarantee-intervention-row:not(.shared-intervention-row):not(.shared-helper-row) > td:first-child{
  box-shadow:inset 6px 0 0 #df8d1d!important;
}
.data-tech-table tbody tr.guarantee-intervention-row:not(.shared-intervention-row):not(.shared-helper-row):hover > td{
  background:#ffe0aa!important;
}


/* STEP24EF.6.50.389 — absences dédupliquées + fiche technicien plus dense */
@media(min-width:1101px){
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles){grid-template-columns:repeat(11,minmax(58px,1fr))!important;gap:5px!important}
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile{min-height:68px!important;padding:6px 6px!important;border-radius:7px!important}
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile.active{padding:5px 5px!important}
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile strong{font-size:16px!important}
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile small{font-size:9px!important;margin-top:4px!important}
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile .tech-day-tile-ca{font-size:9.5px!important;padding:3px 5px!important;margin-top:4px!important}
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile em{font-size:8.5px!important;margin-top:2px!important}
}
.tech-absence-head-v389{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding-bottom:9px!important}
.tech-absence-head-v389>span{display:block!important}
.tech-absence-filterbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%}
.tech-absence-filterbar button{min-width:0;border:1px solid #cbd9e1;background:#f7fafb;color:#587083;border-radius:6px;padding:6px 4px;font-size:9px;font-weight:850;cursor:pointer;white-space:nowrap}
.tech-absence-filterbar button:hover{background:#edf4f7;border-color:#adc3cf}
.tech-absence-filterbar button.active{background:#2d607e;border-color:#2d607e;color:#fff}
#tech360-absences .tech-absence-history{padding:7px 8px!important}
#tech360-absences .tech-absence-item{margin-bottom:6px!important;border-radius:8px!important;box-shadow:0 1px 2px rgba(26,58,77,.03)}
#tech360-absences .tech-absence-item summary{position:relative;grid-template-columns:minmax(0,1.45fr) minmax(58px,.65fr) auto!important;gap:6px!important;padding:8px 8px!important;font-size:10px!important;min-height:38px;box-sizing:border-box}
#tech360-absences .tech-absence-item summary:before{left:7px!important;margin:0!important}
#tech360-absences .tech-absence-period{padding-left:13px!important;font-size:10.5px!important;line-height:1.15!important;white-space:nowrap!important}
#tech360-absences .tech-absence-type{justify-self:start;display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;font-size:9px!important;font-weight:850!important;line-height:1;white-space:nowrap}
#tech360-absences .tech-absence-type-conge{background:#e3f0fa;color:#356886}
#tech360-absences .tech-absence-type-maladie{background:#eee8f7;color:#6b5487}
#tech360-absences .tech-absence-type-accident{background:#fde9df;color:#9c5739}
#tech360-absences .tech-absence-type-other{background:#edf2f4;color:#607785}
#tech360-absences .tech-absence-status{max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:normal;text-align:center;line-height:1.05;padding:5px 6px!important;border-radius:6px!important;font-size:9px!important}
#tech360-absences .tech-absence-state-validated{border-color:#cfe5d8!important;background:#fbfefc!important}
#tech360-absences .tech-absence-state-validated .tech-absence-status{background:#dff2e7!important;color:#2f7858!important}
#tech360-absences .tech-absence-state-action{border-color:#ead4a6!important;background:#fffdf7!important}
#tech360-absences .tech-absence-state-action .tech-absence-status{background:#fff0c9!important;color:#8b6517!important}
#tech360-absences .tech-absence-state-refused{border-color:#edc8c8!important;background:#fffafa!important}
#tech360-absences .tech-absence-state-refused .tech-absence-status{background:#f9dede!important;color:#a34646!important}
#tech360-absences .tech-absence-state-action summary{box-shadow:inset 3px 0 0 #d9a437}
#tech360-absences .tech-absence-state-validated summary{box-shadow:inset 3px 0 0 #66aa83}
#tech360-absences .tech-absence-state-refused summary{box-shadow:inset 3px 0 0 #ca6666}
#tech360-absences .tech-absence-detail{padding:8px 10px 9px 22px!important;font-size:10px!important}
@media(max-width:1350px) and (min-width:1101px){
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles){grid-template-columns:repeat(6,minmax(70px,1fr))!important}
}
@media(max-width:700px){.tech-absence-filterbar{grid-template-columns:repeat(2,1fr)}}

/* STEP24EF.6.50.392 — activité à renseigner après fausse détection de partage */
.tech-day-card.has-activity-pending{border-left:4px solid #c9654f!important;background:#fffaf8!important}
.presence-pill.activity-pending{appearance:none;border:1px solid #d99786!important;background:#fbe5df!important;color:#914737!important;cursor:pointer;font-family:inherit;line-height:1.1}
.presence-pill.activity-pending:hover{background:#f7d7cf!important;border-color:#c9654f!important}

/* STEP24EF.6.50.392 — activité à renseigner après fausse détection de partage */
.tech-day-card.has-activity-pending{border-left:4px solid #c9654f!important;background:#fffaf8!important}
.presence-pill.activity-pending{appearance:none;border:1px solid #d99786!important;background:#fbe5df!important;color:#914737!important;cursor:pointer;font-family:inherit;line-height:1.1}
.presence-pill.activity-pending:hover{background:#f7d7cf!important;border-color:#c9654f!important}

/* STEP24EF.6.50.393 — activité à renseigner visible dans le bandeau À traiter */
.action-strip .activity-pending-chip{border-color:#e0a27d;background:#fff3ea;color:#9a4d2d;font-weight:850}
.action-strip .activity-pending-chip:hover{background:#ffe9da;border-color:#cf865f;color:#813b20}

/* STEP24EF.6.50.394 — acquittement du Centre À traiter */
.notify-clear-all{cursor:pointer;border-radius:8px;font-family:inherit;background:#fff4f2!important;color:#a54840!important;border-color:#e4b6b1!important}
.notify-clear-all:hover{background:#ffe9e6!important}
.nc-scope-single{grid-template-columns:1fr auto!important}
.nc-scope-buttons .nc-clear-all{border:0;border-radius:8px;padding:9px 12px;font:850 12px "Inter","Segoe UI",Arial,sans-serif;cursor:pointer;background:#fff1ef;color:#9b403a;white-space:nowrap}
.nc-scope-buttons .nc-clear-all:hover{background:#ffe2de}
.nc-scope-buttons .nc-clear-all:disabled{opacity:.65;cursor:wait}
@media(max-width:720px){.nc-scope-single{grid-template-columns:1fr!important}.nc-scope-buttons .nc-clear-all{width:100%}}
/* STEP24EF.6.50.403 — activité opérationnelle libre */
.presence-pill.other{background:#f1eafa!important;color:#67478d!important;border:1px solid #d7c8ea!important}
.data-row.other-activity-row{background:#faf7ff!important;border-left:4px solid #7a58a5!important}
.data-row.other-activity-row:hover{background:#f3ecfb!important}
.row-operational-tag{display:inline-flex;align-items:center;padding:3px 6px;border-radius:5px;background:#7653a7;color:#fff;font-size:8px;font-weight:900;letter-spacing:.02em}
.other-activity-title{font-weight:850;color:#5d4478}.other-activity-note{display:block;margin-top:2px;font-size:9.5px;color:#766785}
.other-activity-pill{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eee6f7;color:#67478d;font-size:8.5px;font-weight:850}

/* STEP24EF.6.50.414 — subtle visual contrast tune: page depth + clearer tab hierarchy only. */
/* STEP24EF.6.50.415 — contrast tune +2/3%: slightly deeper page and tabs for DEV visual comparison. */

/* STEP24EF.6.50.416 — ajustements manuels tickets restaurant */
.ticket-adjustment-dialog{width:min(860px,96vw)}
.ticket-adjustment-body{padding:14px 22px 4px}
.ticket-adjustment-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.ticket-adjustment-summary article{border:1px solid #d6e2e9;border-radius:9px;background:#f7fafc;padding:11px 12px;min-width:0}
.ticket-adjustment-summary article.manual{background:#fff6df;border-color:#efd28a}
.ticket-adjustment-summary span{display:block;font-size:10px;font-weight:800;color:#6b8191;text-transform:uppercase;letter-spacing:.02em}
.ticket-adjustment-summary strong{display:block;margin-top:5px;font-size:22px;color:#153d5b}
.ticket-adjustment-summary article.manual strong{color:#a66500}
.ticket-adjustment-add form{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:end}
.ticket-adjustment-add label span{display:block;margin-bottom:5px;font-size:10px;font-weight:850;color:#567184;text-transform:uppercase}
.ticket-adjustment-add input{width:100%;box-sizing:border-box;border:1px solid #b9cbd7;border-radius:7px;background:#fff;padding:9px 10px;color:#163e5a;font:inherit}
.ticket-adjustment-add input:focus{outline:none;border-color:#4d8bb3;box-shadow:0 0 0 2px rgba(77,139,179,.14)}
.ticket-adjustment-add button{border:1px solid #2f7658;border-radius:7px;background:#3b956d;color:#fff;padding:10px 14px;font-weight:850;cursor:pointer;white-space:nowrap}
.ticket-adjustment-add button:hover{background:#327f5d}.ticket-adjustment-add button:disabled{opacity:.6;cursor:wait}
#ticketAdjustmentFeedback{min-height:16px;margin-top:8px;font-size:11px;color:#267050;font-weight:750}
#ticketAdjustmentFeedback.error,.ticket-adjustment-error{color:#ad3933;background:#fff0ee;border:1px solid #efc5c1;border-radius:8px;padding:10px 12px}
.ticket-adjustment-table td:nth-child(2){color:#a66500;font-weight:900}.ticket-adjustment-table td:nth-child(3){white-space:normal;min-width:300px}.ticket-adjustment-empty{text-align:center!important;color:#748a99!important;padding:18px!important}
.tech-modal-kpi.soft-ticket.tech-kpi-clickable{cursor:pointer}.tech-modal-kpi.soft-ticket.tech-kpi-clickable:hover{box-shadow:inset 0 0 0 1px #c99d42}
@media(max-width:820px){.ticket-adjustment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-adjustment-add form{grid-template-columns:1fr}.ticket-adjustment-body{padding:10px}.ticket-adjustment-table{min-width:700px}}
.tr-manual-add{display:block;margin-top:3px;color:#a66500;font-size:9px;font-weight:850;white-space:nowrap}

/* STEP24EF.6.50.426 — Centre À traiter : navigation au double-clic uniquement. */
.nc-row,.pending-action-row{user-select:none}
.nc-row:hover,.pending-action-row:hover{outline:1px solid rgba(40,103,145,.16);outline-offset:-1px}

/* STEP24EF.6.50.426 — Renfort manuel : choisir l'intervention réelle du principal. */
.renfort-import-hint{display:flex;flex-direction:column;gap:3px;margin:0 0 12px;padding:10px 12px;border:1px solid #d8cce8;border-radius:9px;background:#faf8fd;color:#665178}.renfort-import-hint strong{font-size:11px;color:#59436f}.renfort-import-hint span{font-size:10px;line-height:1.35;color:#7f6d91}

/* STEP24EF.6.50.427 — Fiche technicien : hiérarchie de contours bleu foncé
   Grands containers structurants = bleu 3T soutenu.
   Sous-cartes internes = bleu plus léger pour éviter l'effet quadrillage. */
.tech-modal-box{
  --tech427-outline-strong:#245b79;
  --tech427-outline-mid:#6f9bb5;
  --tech427-outline-soft:#a9c3d2;
}

/* Contour global de la fiche, discret mais cohérent avec la topbar 3T. */
.tech-modal-box{
  border-color:var(--tech427-outline-strong)!important;
}

/* Grands rectangles fonctionnels. */
.tech-modal-box .tech360-overview,
.tech-modal-box .tech360-nav,
.tech-modal-box .tech-rank-card,
.tech-modal-box .tech-indices-card,
.tech-modal-box .tech360-panel,
.tech-modal-box .tech-modal-section,
.tech-modal-box .tech-year-chart,
.tech-modal-box .tech360-fold,
.tech-modal-box .tech-material-zone,
.tech-modal-box .tech-assigned-kits-zone,
.tech-modal-box .tech-vehicle-link-card{
  border-color:var(--tech427-outline-strong)!important;
  box-shadow:0 2px 8px rgba(26,73,103,.045);
}

/* Les KPI gardent leur liseré métier supérieur ; les trois autres côtés deviennent bleu foncé. */
.tech-modal-box .tech-modal-kpi{
  border-left-color:var(--tech427-outline-strong)!important;
  border-right-color:var(--tech427-outline-strong)!important;
  border-bottom-color:var(--tech427-outline-strong)!important;
}

/* Sous-cartes : lisibles mais volontairement moins marquées que leur container parent. */
.tech-modal-box .tech360-glance>div,
.tech-modal-box .tech-day-tile,
.tech-modal-box .tech-day-group,
.tech-modal-box .tech-absence-item,
.tech-modal-box .tech-satisfaction-empty,
.tech-modal-box .tech-material-card,
.tech-modal-box .tech-vehicle-link-card .tech-vehicle-link-go,
.tech-modal-box .tech-assigned-kit-row button{
  border-color:var(--tech427-outline-soft)!important;
}

/* Carte active / élément interactif : le bleu fonctionnel reste plus vif. */
.tech-modal-box .tech-day-tile:hover{
  border-color:var(--tech427-outline-mid)!important;
}
.tech-modal-box .tech-day-tile.active{
  border-color:#2c86bd!important;
}

/* Séparateurs internes harmonisés avec les nouveaux contours. */
.tech-modal-box .tech-modal-section-head,
.tech-modal-box .tech360-panel-head,
.tech-modal-box .tech360-fold-body,
.tech-modal-box .tech-material-head{
  border-color:#c4d6e1!important;
}


/* STEP24EF.6.50.428 — Hiérarchie de contours bleu foncé à l'échelle de 3T
   Principe validé sur la fiche technicien :
   - grands containers fonctionnels = bleu 3T soutenu ;
   - sous-blocs = bleu intermédiaire ;
   - petits éléments internes = bleu doux ;
   - couleurs métier conservées (KPI, alertes, garanties, carences, statuts). */
:root{
  --outline428-strong:#245b79;
  --outline428-mid:#6f9bb5;
  --outline428-soft:#a9c3d2;
  --outline428-separator:#c4d6e1;
}

/* ===== JOURNÉE / ONGLETS PRINCIPAUX ===== */
.tab-content .panel,
.tab-content .split-panel,
.tab-content .tech-column-panel,
.tab-content .data-tech-block,
.tab-content .guarantee-panel,
.tab-content .absence-panel,
.tab-content .ref-desktop-panel,
.tab-content .tariff-category-card,
.tab-content .prime-summary>div,
.tab-content .diag-kpi,
.tab-content .diag-list,
.tab-content .vault-shell,
.tab-content .memo-contact-card,
.tab-content .memo-card,
.tab-content .stock-panel,
.tab-content .fleet-card,
.tab-content .fleet-panel{
  border-color:var(--outline428-strong)!important;
  box-shadow:0 2px 8px rgba(26,73,103,.04);
}

/* Les KPI journaliers gardent leur liseré métier en haut. */
.kpi-card{
  border-left-color:var(--outline428-strong)!important;
  border-right-color:var(--outline428-strong)!important;
  border-bottom-color:var(--outline428-strong)!important;
}

/* Classement : podium et panneau principal. */
.rank-podium,
.podium,
.tech-search-zone,
.data-filterbar,
.guarantee-toolbar,
.absence-toolbar,
.prime-tools,
.diag-toolbar,
.ref-subtabs,
.stock-commandbar,
.fleet-toolbar,
.memo-toolbar{
  border-color:var(--outline428-mid)!important;
}

/* Données / techniciens : conserver des sous-cartes plus légères. */
.data-tech-banner,
.data-tech-table-wrap,
.tech-day-card,
.shared-list-row,
.potential-share-table,
.guarantee-compact-table,
.absence-status-band,
.ref-cat-row,
.prime-scale,
.diag-row,
.vault-tech-card,
.memo-mini,
.memo-contact-line{
  border-color:var(--outline428-soft)!important;
}

/* Binômes / renforts / associations potentielles. */
.split-panel,
.potential-panel{
  border-color:var(--outline428-strong)!important;
}
.split-head,
.potential-comment,
.potential-match,
.shared-list-row{
  border-color:var(--outline428-soft)!important;
}

/* Garanties / absences : grands panneaux forts, lignes internes douces. */
.guarantee-panel,
.absence-panel,
.guarantee-history-helper,
.absence-review-card{
  border-color:var(--outline428-strong)!important;
}
.guarantee-panel-head,
.absence-panel-head,
.guarantee-decision-form,
.absence-status-band,
.absence-data-row{
  border-color:var(--outline428-soft)!important;
}

/* Référentiels / primes / diagnostic / coffre-fort. */
.ref-desktop-panel,
.tariff-category-card,
.prime-summary>div,
.prime-scale,
.diagnostic-head,
.diag-list,
.vault-shell,
.vault-tech-column,
.vault-doc-column,
.vault-folder-preview,
.vault-document-placeholder{
  border-color:var(--outline428-strong)!important;
}
.ref-cat-row,
.prime-breakdown-menu,
.prime-tier-table-wrap,
.diag-row,
.vault-tech-card{
  border-color:var(--outline428-soft)!important;
}

/* ===== STOCK / FLOTTE / TICKETS / MÉMO ===== */
.stock-panel,
.stock-top-panel,
.stock-tech-panel,
.stock-kit-panel,
.stock-reorder-panel,
.stock-state-panel,
.stock-inventory-side,
.fleet-card,
.fleet-panel,
.fleet-todo-card,
.fleet-sheet,
.fleet-manage-pane,
.support-ticket-group,
.memo-card,
.memo-contact-card,
.memo-section,
.tech-memo-wrap,
.tech-memo-contacts,
.tech-memo-notes{
  border-color:var(--outline428-strong)!important;
}
.stock-inventory-mini,
.stock-kit-row,
.stock-state-preview-row,
.fleet-row,
.fleet-todo-row,
.fleet-event,
.support-ticket-row,
.memo-read-history-item,
.tech-memo-own,
.tech-memo-shared,
.tech-memo-info{
  border-color:var(--outline428-soft)!important;
}

/* ===== COMPARAISON / DIAGNOSTIC ===== */
.cmp-library-card,
.cmp-onboarding-card,
.cmp-detail-panel,
.cmp-treatment-box,
.diagnostic-head,
.diag-kpi,
.diag-list{
  border-color:var(--outline428-strong)!important;
}
.cmp-import-step-card,
.cmp-modal-section,
.cmp-article-card-row,
.diag-row{
  border-color:var(--outline428-soft)!important;
}

/* ===== CARNETS / WORKFLOWS OPÉRATIONNELS ===== */
.carnet-awaiting,
.carnet-table-wrap,
.carnet-control-desk,
.carnet-nd-rail,
.carnet-compare-pane,
.carnet-nd-inspector-panel,
.nd-control-card,
.gc-modal-card,
.gc-decision-panel,
.absence-review-card,
.absence-modal-inner,
.intervention-modal-inner,
.nd-modal-inner,
.tech-report-box,
.move-modal,
.stock-kit-modal,
.stock-state-modal,
.stock-history-modal,
.fleet-create-modal,
.fleet-sheet,
.fleet-layout-modal,
.support-ticket-card,
.support-detail-card,
.prime-calc-dialog,
.memo-modal,
.memo-read-modal,
.tech-memo-modal,
.cmp-modal-card,
.inv-modal-sheet,
.article-modal,
.article-history-modal-inner,
.delete-day-modal,
.share-type-modal,
.share-dismiss-confirm-modal,
.layout-editor-modal,
.admin-role-modal,
.admin-create-modal,
.privacy-request-modal-sheet,
.privacy-events-card,
.ticket-adjustment-dialog,
.tech-adjustment-dialog{
  border:1px solid var(--outline428-strong)!important;
}

/* Sous-panneaux des workflows : hiérarchie plus légère. */
.carnet-desk-head,
.carnet-contestation-banner,
.carnet-desk-workflow,
.carnet-nd-inspector-body,
.nd-card-head,
.gc-summary-card,
.cmp-modal-section,
.prime-calc-card,
.support-stage-panel,
.fleet-sheet-kpi,
.stock-inventory-mini,
.inv-modal-kpi,
.article-history-panel,
.nd-history-panel,
.nd-memo-timeline,
.absence-review-grid{
  border-color:var(--outline428-mid)!important;
}

/* Tables et wrappers structurants : contour présent sans quadrillage des lignes. */
.table-wrap,
.data-table-wrap,
.data-tech-table-wrap,
.prime-table-wrap,
.stock-table-wrap,
.carnets-review-wrap,
.carnet-table-wrap,
.stock-movement-table-wrap,
.stock-history-table-wrap,
.stock-state-table-wrap,
.inv-modal-table-wrap,
.tech-modal-table-wrap,
.absence-table{
  border-color:var(--outline428-mid)!important;
}

/* Les grands titres/panneaux restent séparés par un bleu doux. */
.panel-head,
.stock-panel-head,
.guarantee-panel-head,
.absence-panel-head,
.carnet-tab-head,
.carnet-desk-head,
.fleet-sheet-head,
.memo-head,
.cmp-modal-head,
.inv-modal-head,
.article-modal-head,
.memo-modal-head{
  border-color:var(--outline428-separator)!important;
}

/* États métier : ne jamais écraser la couleur active/sévérité. */
.badge.ok,.badge.bad,.badge.warn,
.tr-status,.absence-status-badge,.carnet-state,
.guarantee-panel-count,.fleet-status,.stock-pill2{
  outline-color:transparent!important;
}


/* STEP24EF.6.50.429 — Fiche technicien : contour Prime harmonisé */
.tech-modal-box .tech-modal-kpi.tech-prime-kpi{
  border-left-color:var(--tech427-outline-strong)!important;
  border-right-color:var(--tech427-outline-strong)!important;
  border-bottom-color:var(--tech427-outline-strong)!important;
  border-top-color:#367db1!important;
}

/* STEP24EF.6.50.439 — fiche article chargée en AJAX : styles globaux (CSP-safe). */
.sa-modal{width:min(960px,96vw);max-height:92vh;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(15,35,49,.32);font-family:Inter,Arial,sans-serif}
.sa-head{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;background:#f3f8fa;border-bottom:1px solid #dce7ed}
.sa-head h2{margin:0;color:#173f58;font-size:19px}.sa-head p{margin:4px 0 0;color:#7d929e;font-size:11.5px}
.sa-close{border:0;background:#e8f0f4;border-radius:8px;width:33px;height:33px;cursor:pointer}
.sa-body{padding:14px;max-height:calc(92vh - 70px);overflow:auto}
.sa-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:11px}
.sa-kpi{border:1px solid #dce7ed;border-radius:9px;padding:10px;background:#fff}
.sa-kpi span{font-size:10.5px;color:#7d929e;font-weight:800}.sa-kpi strong{display:block;color:#294f64;font-size:17px;margin-top:3px}
.sa-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sa-field label{display:block;font-size:10.5px;font-weight:850;color:#688392;margin-bottom:4px}
.sa-field input,.sa-field select,.sa-field textarea{width:100%;box-sizing:border-box;border:1px solid #cedde5;border-radius:8px;padding:8px;font:650 12px Inter;background:#fff;color:#294f64}
.sa-field textarea{min-height:70px;resize:vertical}.sa-field input:disabled,.sa-field select:disabled,.sa-field textarea:disabled{background:#f3f6f8;color:#7e909b}
.sa-wide{grid-column:1/-1}.sa-actions{display:flex;justify-content:flex-end;margin-top:10px}.sa-actions button{border:0;background:#1f6f98;color:#fff;border-radius:8px;padding:9px 12px;font-weight:850;cursor:pointer}
.sa-section{margin-top:14px;border:1px solid #dce7ed;border-radius:10px;overflow:hidden}.sa-section h3{margin:0;padding:10px 12px;background:#f8fbfc;color:#31596f;font-size:14px}
.sa-table{width:100%;border-collapse:collapse}.sa-table th,.sa-table td{padding:8px 9px;border-top:1px solid #edf2f5;text-align:left;font-size:11.5px}.sa-table th{color:#688392;background:#fbfdfe;font-size:10.5px}
.sa-archive-zone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:14px;padding:12px 13px;border:1px solid #ecc7c4;border-radius:10px;background:#fff8f7}
.sa-archive-copy{display:grid;gap:3px}.sa-archive-copy strong{color:#963c38;font-size:12.5px}.sa-archive-copy span{color:#7d6a69;font-size:10.8px;line-height:1.45}.sa-archive-copy ul{margin:5px 0 0;padding-left:18px;color:#8d4b47;font-size:10.5px}
.sa-archive-zone.blocked{background:#fafbfc;border-color:#dfe5e9}.sa-archive-zone.blocked .sa-archive-copy strong{color:#667986}.sa-archive-zone.blocked .sa-archive-copy span{color:#7e8d96}
.sa-archive-btn{border:0;border-radius:8px;padding:9px 12px;background:#b94d48;color:#fff;font:850 11.5px Inter;cursor:pointer;white-space:nowrap}.sa-archive-btn:disabled{cursor:not-allowed;background:#c9d0d4;color:#fff}
@media(max-width:760px){.sa-kpis{grid-template-columns:1fr 1fr}.sa-grid{grid-template-columns:1fr}.sa-wide{grid-column:1}.sa-archive-zone{grid-template-columns:1fr}.sa-archive-zone form,.sa-archive-btn{width:100%}.sa-table{min-width:620px}.sa-section{overflow-x:auto}}

/* STEP24EF.6.50.439 — Garanties : traitement par dossier/popup, sans select visible. */
.guarantee-workflow-row{cursor:pointer}.guarantee-workflow-row:hover td{background:#f8fbfd}
.guarantee-workflow-btn{width:100%;min-height:42px;border:1px solid transparent;border-radius:9px;padding:6px 9px;display:grid;gap:2px;text-align:left;cursor:pointer;font-family:Inter,Arial,sans-serif;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}
.guarantee-workflow-btn:hover{transform:translateY(-1px);box-shadow:0 5px 13px rgba(24,55,75,.10);filter:brightness(.99)}
.guarantee-workflow-btn strong{font-size:10.5px;line-height:1.2}.guarantee-workflow-btn small{font-size:9px!important;line-height:1.2!important;margin:0!important;opacity:.78;color:inherit!important}
.guarantee-workflow-btn.attente{background:#fff5d9;border-color:#efd48b;color:#7c5b08}
.guarantee-workflow-btn.validee{background:#e5f5ec;border-color:#b9dfca;color:#246e4c}
.guarantee-workflow-btn.refusee{background:#f0f3f5;border-color:#d7dee2;color:#596873}
.guarantee-workflow-btn.auto{background:#f4f5f6;border-color:#dfe4e7;color:#68747c}
@media(max-width:760px){.guarantee-workflow-btn{min-width:128px}}


/* STEP24EF.6.50.442 — intervention modal async sections (CSP-safe global CSS) */
.intervention-share-recovery{margin:14px 18px 18px;padding:13px;border:1px solid #d8e5eb;border-radius:11px;background:#f8fbfc}.intervention-share-recovery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.intervention-share-recovery-head>div{display:flex;flex-direction:column;gap:2px}.intervention-share-recovery-head strong{color:#31586c;font-size:14px}.intervention-share-recovery-head span,.intervention-share-help{color:#7b919d;font-size:11px}.intervention-share-recovery-form{display:grid;grid-template-columns:160px minmax(220px,1fr) auto;gap:9px;align-items:end}.intervention-share-recovery-form label{display:flex;flex-direction:column;gap:4px}.intervention-share-recovery-form label>span{font-size:10px;font-weight:800;color:#718894;text-transform:uppercase}.intervention-share-recovery-form select{height:36px;border:1px solid #cfdee5;border-radius:8px;background:#fff;padding:0 9px}.intervention-share-help{display:block;margin-top:8px;line-height:1.4}@media(max-width:760px){.intervention-share-recovery-head{align-items:flex-start;flex-direction:column}.intervention-share-recovery-form{grid-template-columns:1fr}}
.intervention-linked-memos{margin:14px 18px 18px;padding:13px;border:1px solid #cfe0e9;border-radius:11px;background:#f8fbfc}.intervention-linked-memos-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.intervention-linked-memos-head>div{display:flex;flex-direction:column;gap:2px}.intervention-linked-memos-head strong{color:#31586c;font-size:14px}.intervention-linked-memos-head span,.intervention-linked-memo small{color:#7b919d;font-size:10.5px}.intervention-linked-memo-list{display:grid;gap:7px}.intervention-linked-memo{padding:9px 10px;border:1px solid #d9e6ec;border-radius:9px;background:#fff}.intervention-linked-memo.pinned{border-color:#e2c66f;background:#fffdf4}.intervention-linked-memo>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.intervention-linked-memo strong{color:#285b74;font-size:12px}.intervention-linked-memo p{margin:5px 0 0;color:#567383;font-size:11px;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.intervention-linked-memo-empty{padding:9px;color:#80939d;font-size:11px;border:1px dashed #d4e2e8;border-radius:8px;background:#fff}@media(max-width:760px){.intervention-linked-memos-head,.intervention-linked-memo>div{align-items:flex-start;flex-direction:column}}
/* STEP24EF.6.50.444 — import preflight visual consistency */
.verify-topline.warning{background:#c98b39}
.verify-back-link{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid #7f9bb0;background:#f4f8fa;color:#244f6b;text-decoration:none;font-size:12px;font-weight:800}
.verify-back-link:hover{background:#e7f0f5}
.verify-btn.neutral{background:#eef3f6;color:#36576b;border:1px solid #879dab}


/* STEP24EF.6.50.446 — intervention modal: dark outlines + memo CTA */
.intervention-linked-memos,
.intervention-share-recovery{
  border:2px solid #173f61!important;
  border-radius:11px;
}
.intervention-memo-open-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 15px!important;
  border:1px solid #173f61!important;
  border-radius:3px!important;
  background:#285f86!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.intervention-memo-open-btn:hover{
  background:#173f61!important;
  color:#fff!important;
  text-decoration:none!important;
}
.intervention-memo-open-btn span{
  color:#fff!important;
  font-size:15px!important;
  line-height:1!important;
}


/* STEP24EF.6.50.447 — UI outline alignment (intervention + dossier ND) */
/* Fiche intervention : un bleu 3T net mais plus léger que le cadre .446. */
.intervention-form-grid input,
.intervention-form-grid select,
.article-editor-section,
.intervention-linked-memos,
.intervention-share-recovery{
  border-color:#315f82!important;
  border-width:1px!important;
}
.intervention-form-grid input:disabled{
  border-color:#315f82!important;
}
.intervention-linked-memos,
.intervention-share-recovery{
  border:1px solid #315f82!important;
}
/* Dossier ND : cartes KPI et panneaux parfaitement alignés. */
.nd-kpis>div{
  border:1px solid #315f82!important;
}
.nd-history-panel,
.nd-memo-timeline{
  border:1px solid #315f82!important;
}
.nd-memo-timeline{
  box-sizing:border-box!important;
  margin:0 18px 12px!important;
  width:auto!important;
}


/* STEP24EF.6.50.448 — intervention draft-only article editing + final outline */
.intervention-bottom-grid textarea{
  border:1px solid #315f82!important;
}

/* STEP24EF.6.50.449 */
.intervention-bottom-grid{grid-template-columns:minmax(260px,1fr) 260px!important;align-items:start!important;padding-top:14px!important}.intervention-bottom-grid .intervention-failure-card{justify-self:start;display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;min-height:58px;padding:9px 13px;border:1px solid #d66a70;border-radius:8px;background:#fff7f7;box-sizing:border-box;cursor:pointer}.intervention-bottom-grid .intervention-failure-card input{appearance:none;-webkit-appearance:none;width:28px!important;height:28px!important;margin:0!important;flex:0 0 28px;border:2px solid #cf4f58;border-radius:6px;background:#fff;box-shadow:inset 0 0 0 3px #fff;cursor:pointer}.intervention-bottom-grid .intervention-failure-card input:checked{background:#cf4f58;box-shadow:inset 0 0 0 5px #fff}.intervention-failure-copy{display:flex!important;flex-direction:column;gap:2px;text-transform:none!important}.intervention-failure-copy strong{font-size:12px;color:#294e67}.intervention-failure-copy small{font-size:10px;color:#7d8f9b;font-weight:500}.intervention-bottom-grid .live-ca-card{grid-column:2;justify-self:end;width:260px;box-sizing:border-box}.intervention-bottom-grid .span2{grid-column:1/-1!important;margin-top:2px}.intervention-save-footer{padding-right:18px!important}.intervention-save-footer .intervention-cancel-btn,.intervention-save-footer .intervention-save-btn{min-height:38px;padding:0 15px!important;border-radius:3px;color:#fff!important;font-weight:850!important}.intervention-save-footer .intervention-cancel-btn{background:#c94f58!important;border:1px solid #ad3d45!important}.intervention-save-footer .intervention-save-btn{background:#2f825d!important;border:1px solid #286f50!important}@media(max-width:760px){.intervention-bottom-grid{grid-template-columns:1fr!important}.intervention-bottom-grid .live-ca-card{grid-column:1!important;justify-self:stretch;width:100%}.intervention-bottom-grid .span2{grid-column:1!important}}

/* STEP24EF.6.50.453 — Carnet: avant/après Pilotage */
.daybook-adjustment-card{margin-top:8px;border:1px solid #d7e3ea;border-radius:9px;background:#fbfdfe;overflow:hidden}.daybook-adjustment-title{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:#edf5f9;color:#244f67;font-size:10px}.daybook-adjustment-title span{font-size:8px;font-weight:850;letter-spacing:.05em;color:#6d8796}.daybook-adjustment-row{padding:8px 10px;border-top:1px solid #e6eef2}.daybook-adjustment-row>b{display:block;margin-bottom:5px;color:#496b7e;font-size:9px;text-transform:uppercase}.daybook-adjustment-values{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:6px}.daybook-adjustment-values .before{padding:6px 8px;border-radius:7px;background:#fff0ef;color:#a84440;text-decoration:line-through;text-decoration-thickness:1.5px}.daybook-adjustment-values .after{padding:6px 8px;border-radius:7px;background:#eaf8f0;color:#247454;font-weight:850}.daybook-adjustment-values .arrow{text-align:center;color:#77909e;font-weight:900}.daybook-overview-modified{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;border:1px solid #efd3a0;background:#fff1dc;color:#946817;font-size:8px;font-weight:850}.daybook-overview-item small{display:flex;align-items:center;gap:4px;flex-wrap:wrap}@media(max-width:680px){.daybook-adjustment-values{grid-template-columns:1fr}.daybook-adjustment-values .arrow{text-align:left}.daybook-overview-modified{margin-left:0;margin-top:3px}}


/* STEP24EF.6.50.485 — cadres de regroupement sidebar Journées / Jours du projet */
.days-sidebar .sidebar-zone{
  box-sizing:border-box;
  margin:6px 7px 9px;
  padding:0 0 6px;
  border:1px solid #315f82;
  border-radius:9px;
  background:rgba(28,68,104,.18);
  overflow:hidden;
}
.days-sidebar .sidebar-zone .side-section-title{
  margin:0;
  padding:8px 8px 6px;
  text-align:center;
}
.days-sidebar .sidebar-zone .selected-day-card,
.days-sidebar .sidebar-zone .side-action{
  margin-left:6px;
  margin-right:6px;
}
.days-sidebar .sidebar-project-zone{padding-bottom:7px;}
.days-sidebar .sidebar-project-zone .tree-year{margin-left:3px;margin-right:3px;}

/* STEP24EF.6.50.487 — sidebar : libellés de journées sur une seule ligne */
.days-sidebar .week-block .daylink,
.days-sidebar .daylink{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.days-sidebar .week-block .daylink{
  padding-left:18px!important;
  padding-right:6px!important;
}

/* STEP24EF.6.50.487 — Référentiels : activation / désactivation des articles */
.ref-manage-article-btn{border:1px solid #9db8c7;background:#f5fafc;color:#315f76;border-radius:9px;padding:9px 12px;font-weight:850;cursor:pointer}
.ref-article-manager-card{width:min(820px,96vw)}
.ref-manager-tools{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid #dfe9ee;background:#f8fbfc}
.ref-manager-tools input{flex:1;min-width:0;border:1px solid #c9d9e1;border-radius:8px;padding:9px 10px}
.ref-manager-tools select{border:1px solid #c9d9e1;border-radius:8px;padding:9px 10px;background:#fff;color:#355d72;font-weight:750}
.ref-manager-list{padding:10px 16px 16px;max-height:62vh;overflow:auto}
.ref-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto 100px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #e8eff2}
.ref-manager-row[hidden]{display:none!important}
.ref-manager-ident strong{display:inline-block;min-width:78px;color:#173f58;font-size:12.5px}.ref-manager-ident span{color:#496b7d;font-size:11.5px}.ref-manager-ident small{display:block;margin-top:2px;color:#8799a4;font-size:9.5px}
.ref-manager-status{border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;text-align:center}.ref-manager-status.on{background:#e8f7ee;color:#23754a}.ref-manager-status.off{background:#f1f3f4;color:#71808a}
.ref-manager-row button{border:0;border-radius:7px;padding:7px 8px;font-size:10px;font-weight:850;cursor:pointer}.ref-manager-row button.disable{background:#fff0ef;color:#a24640}.ref-manager-row button.enable{background:#e8f7ee;color:#23754a}
.ref-manager-empty{padding:25px;text-align:center;color:#8195a1;font-size:11px}
@media(max-width:650px){.ref-manager-row{grid-template-columns:1fr auto}.ref-manager-row button{grid-column:1/-1}.ref-manager-tools{display:grid}}
/* STEP24EF.6.50.489 — article lifecycle directly from tariff rows */
.ref-inactive-article-btn{border:1px solid #b9cbd5;background:#f6fafc;color:#244f67;border-radius:7px;padding:7px 10px;font-weight:850;cursor:pointer}
.ref-inactive-article-btn:hover{background:#eaf3f7}
.ref-article-state-head{width:108px;text-align:center!important}.ref-article-state-cell{width:108px;text-align:center}
.ref-inline-disable{margin:0}.ref-disable-line{border:1px solid #e1a5a1;background:#fff1f0;color:#a13f39;border-radius:6px;padding:5px 8px;font-size:9.5px;font-weight:900;cursor:pointer;white-space:nowrap}
.ref-disable-line:hover{background:#ffe3e1;border-color:#cc716a}
.ref-inactive-card{width:min(820px,94vw)}

/* STEP24EF.6.50.491 — article detail/deactivation */
.ref-article-code{font-weight:800;cursor:pointer}.ref-article-code:hover{text-decoration:underline;background:#edf6fb}
.ref-article-manage-card{max-width:560px}.ref-article-manage-body{padding:18px}.ref-article-manage-body p{margin:0 0 16px;color:#526b7a}.ref-manage-disable{border:1px solid #d66b66;background:#fff0ef;color:#a32924;border-radius:7px;padding:9px 12px;font-weight:900;cursor:pointer}.ref-manage-disable:hover{background:#ffe1df}

/* STEP24EF.6.50.491 — état article directement dans le popup historique */
.article-status-banner{margin:12px 0 14px;padding:12px 14px;border:1px solid;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.article-status-banner.active{background:#edf9f1;border-color:#9bd7ae;color:#176b38}
.article-status-banner.inactive{background:#fff0ef;border-color:#efaaa5;color:#9f2c26}
.article-status-copy{display:flex;flex-direction:column;gap:3px}.article-status-copy strong{font-size:15px}.article-status-copy span{font-size:12px}
.article-status-banner form{margin:0;flex:0 0 auto}.article-status-action{border:1px solid #c94b46;background:#d9534f;color:#fff;border-radius:6px;padding:9px 13px;font-weight:900;cursor:pointer;white-space:nowrap}.article-status-action:hover{filter:brightness(.96)}
.article-status-action.reactivate{border-color:#27854c;background:#2f9b59}
@media(max-width:760px){.article-status-banner{align-items:stretch;flex-direction:column}.article-status-action{width:100%}}

/* STEP24EF.6.50.520 — archive compacte des Carnets déjà contrôlés. */
.carnet-row-date{display:block;color:#6b8293;margin-top:2px}
.carnet-issue-count{color:#ad3f34}
.carnet-controlled-archive{margin-top:12px;border:1px solid #cfe1d6;border-radius:10px;background:#f8fcf9;overflow:hidden}
.carnet-controlled-toggle{width:100%;border:0;background:#edf8f1;color:#245b3d;display:flex;align-items:center;gap:9px;padding:11px 13px;cursor:pointer;text-align:left;font:inherit}
.carnet-controlled-toggle:hover{background:#e6f4eb}
.carnet-controlled-chevron{font-size:20px;line-height:1;transition:transform .16s ease;transform-origin:center}
.carnet-controlled-toggle[aria-expanded="true"] .carnet-controlled-chevron{transform:rotate(90deg)}
.carnet-controlled-title{font-weight:900;font-size:12px}
.carnet-controlled-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:21px;padding:0 7px;border-radius:999px;background:#d8efe1;color:#216441;font-weight:900;font-size:10px}
.carnet-controlled-subtitle{margin-left:auto;color:#698478;font-size:10px;font-weight:800}
.carnet-controlled-body{padding:10px;background:#fff}
.carnet-controlled-table-wrap{border-color:#d9e8df}
.carnet-queue-controlled{background:#fbfdfb}
.carnet-queue-controlled:hover{background:#f2f8f4!important}
.carnet-controlled-more-row{display:flex;justify-content:center;padding:10px 4px 2px}
.carnet-controlled-more{border:1px solid #8fb3a0;border-radius:8px;background:#fff;color:#326b4c;font-weight:850;padding:7px 13px;cursor:pointer}
.carnet-controlled-more:hover{background:#edf8f1}
.carnet-controlled-history-modal{position:fixed;inset:0;z-index:10080;display:none;align-items:center;justify-content:center;padding:26px;background:rgba(9,31,43,.58)}
.carnet-controlled-history-modal.open{display:flex}
.carnet-controlled-history-card{width:min(1420px,calc(100vw - 52px));height:min(88vh,900px);display:flex;flex-direction:column;overflow:hidden;background:#f7faf8;border:1px solid #b8d1c2;border-radius:15px;box-shadow:0 28px 90px rgba(7,28,39,.34)}
.carnet-controlled-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;background:#285b43;color:#fff}
.carnet-controlled-history-head>div{display:grid;gap:2px}.carnet-controlled-history-head strong{font-size:15px}.carnet-controlled-history-head span{font-size:10px;opacity:.82}
.carnet-controlled-history-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.42);border-radius:8px;background:rgba(255,255,255,.10);color:#fff;font-size:22px;cursor:pointer}
.carnet-controlled-history-body{flex:1 1 auto;min-height:0;overflow:auto;padding:13px}
.carnet-controlled-history-body .carnet-table-wrap{overflow:auto}
.carnet-controlled-history-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-top:1px solid #d7e5dc;background:#fff}
.carnet-controlled-history-total{font-size:10px;color:#61796d;font-weight:800}
.carnet-controlled-history-pagination{display:flex;align-items:center;gap:8px}
.carnet-controlled-history-pagination button{border:1px solid #89a99a;border-radius:7px;background:#fff;color:#285b43;padding:6px 10px;font-weight:800;cursor:pointer}
.carnet-controlled-history-pagination button:disabled{opacity:.4;cursor:default}
.carnet-controlled-history-pagination span{min-width:90px;text-align:center;font-size:10px;font-weight:850;color:#445f52}
@media(max-width:900px){.carnet-controlled-subtitle{display:none}.carnet-controlled-history-modal{padding:10px}.carnet-controlled-history-card{width:calc(100vw - 20px);height:94vh}.carnet-controlled-history-footer{align-items:stretch;flex-direction:column}.carnet-controlled-history-pagination{justify-content:space-between}}
/* END STEP24EF.6.50.520 */
body.carnet-controlled-history-open{overflow:hidden!important}

/* STEP24EF.6.50.521 — Clôture mensuelle Direction */
.closure-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.closure-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.closure-month-form{display:flex;align-items:center;gap:7px}.closure-month-form label{font-size:9px;font-weight:800;color:#607888;text-transform:uppercase}.closure-month-form select{height:34px;border:1px solid #b8ccd8;border-radius:8px;background:#fff;color:#173f58;padding:0 28px 0 10px;font-weight:700}.closure-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:8px;border:1px solid #2f6788;text-decoration:none;font-size:10px;font-weight:800;cursor:pointer}.closure-btn.primary{background:#235d80;color:#fff}.closure-btn.secondary{background:#f7fafc;color:#244f68}.closure-live-note{display:flex;align-items:center;gap:12px;padding:9px 12px;margin-bottom:11px;border:1px solid #c7d9e3;border-radius:9px;background:#eff6fa;color:#355e76}.closure-live-note strong{font-size:10px}.closure-live-note span{font-size:9px;color:#627c8d}.closure-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}.closure-status-pill{display:flex;align-items:center;gap:10px;border-radius:10px;padding:9px 12px;min-width:190px;border:1px solid}.closure-status-pill>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:900;font-size:15px}.closure-status-pill small,.closure-period-copy span{display:block;font-size:8px;color:#69808e}.closure-status-pill strong,.closure-period-copy strong{display:block;font-size:12px;color:#173f58}.closure-status-pill.ready{background:#edf8f3;border-color:#b6dfcb}.closure-status-pill.ready>span{background:#d3efdf;color:#187250}.closure-status-pill.attention{background:#fff7e8;border-color:#efd29b}.closure-status-pill.attention>span{background:#ffe8bc;color:#945e00}.closure-period-copy{text-align:right}.closure-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:11px}.closure-kpi{min-height:84px;border:1px solid #c7d8e2;border-radius:9px;padding:10px 11px;background:#f8fbfc;box-sizing:border-box}.closure-kpi>span{display:block;font-size:8px;font-weight:800;color:#687f8e;text-transform:uppercase;letter-spacing:.25px}.closure-kpi>strong{display:block;margin-top:4px;font-size:20px;line-height:1.05;color:#173f58}.closure-kpi>small{display:block;margin-top:5px;font-size:8px;color:#718592}.closure-kpi.hero{background:#eaf3f8;border-color:#aac9db}.closure-kpi.success{background:#edf8f3}.closure-kpi.success strong{color:#237658}.closure-kpi.prime{background:#f1f0fb}.closure-kpi.prime strong{color:#5d4f8c}.closure-kpi.ticket{background:#fff8e9}.closure-kpi.ticket strong{color:#946000}.closure-kpi.warning{background:#fff0ed}.closure-kpi.warning strong{color:#a94836}.closure-kpi.quality{background:#fff6ed}.closure-kpi.quality strong{color:#a45b19}.closure-grid-two{display:grid;grid-template-columns:1.1fr .9fr;gap:10px;margin-bottom:10px}.closure-card{border:1px solid #c5d7e2;border-radius:10px;background:#fff;overflow:hidden}.closure-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #d8e4ea;background:#f5f9fb}.closure-card-head>div>strong{display:block;font-size:11px;color:#173f58}.closure-card-head>div>span{display:block;margin-top:2px;font-size:8px;color:#6c8190}.closure-check-list{padding:6px 9px}.closure-check{display:flex;align-items:center;gap:9px;padding:7px 4px;border-bottom:1px solid #edf2f5}.closure-check:last-child{border-bottom:0}.closure-check>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:10px;font-weight:900;flex:none}.closure-check strong{display:block;font-size:9px;color:#254e66}.closure-check small{display:block;margin-top:1px;font-size:8px;color:#6d8290}.closure-check.ok>span{background:#dff2e8;color:#1f7756}.closure-check.warn>span{background:#ffe8bc;color:#985d00}.closure-check.info>span{background:#e5eff6;color:#2e6483}.closure-delta-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px}.closure-delta-list>div{padding:10px;border-bottom:1px solid #edf2f5;border-right:1px solid #edf2f5}.closure-delta-list>div:nth-child(2n){border-right:0}.closure-delta-list span{display:block;font-size:8px;font-weight:800;color:#718592;text-transform:uppercase}.closure-delta-list strong{display:block;margin-top:3px;font-size:15px;color:#173f58}.closure-delta-list small{display:block;margin-top:2px;font-size:8px;color:#7c8e99}.closure-alerts{display:grid;gap:5px;margin:10px 0}.closure-alert{display:flex;align-items:center;gap:8px;border-radius:7px;padding:7px 10px;font-size:9px;border:1px solid}.closure-alert>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-weight:900}.closure-alert.blocker{background:#fff0ed;border-color:#efc4ba;color:#934534}.closure-alert.blocker>span{background:#f5d4cd}.closure-alert.warning{background:#fff8e9;border-color:#ead5a7;color:#836321}.closure-alert.warning>span{background:#f6e9c8}.closure-tech-section{margin-top:10px}.closure-table-total{text-align:right}.closure-table-total span{display:block;font-size:8px;color:#728693;text-transform:uppercase}.closure-table-total strong{display:block;font-size:14px;color:#5b4b86}.closure-table-wrap{overflow:auto}.closure-table{width:100%;border-collapse:collapse;min-width:960px}.closure-table th{background:#315f7b;color:#fff;font-size:8px;padding:7px 6px;text-align:center;white-space:nowrap}.closure-table td{font-size:8.5px;color:#345264;padding:7px 6px;text-align:center;border-bottom:1px solid #e2eaef;white-space:nowrap}.closure-table th.left,.closure-table td.left{text-align:left}.closure-table tbody tr:nth-child(even){background:#f8fafb}.closure-table tbody tr:hover{background:#edf5f9}.closure-table td.left strong{display:block;color:#173f58}.closure-table td.left small{display:block;margin-top:1px;color:#748895}.closure-table .closure-prime-cell{font-weight:900;color:#5b4b86}.closure-table tfoot th{background:#eaf2f6;color:#173f58;font-weight:900;border-top:2px solid #9dbbcd}.closure-empty,.closure-empty-state{text-align:center;color:#738794}.closure-empty-state{padding:50px 20px;border:1px dashed #c5d5de;border-radius:9px;background:#f8fbfc}.closure-empty-state strong,.closure-empty-state span{display:block}.closure-empty-state strong{font-size:13px;color:#335970}.closure-empty-state span{font-size:9px;margin-top:5px}
@media(max-width:900px){.closure-head,.closure-status-row{flex-direction:column;align-items:stretch}.closure-actions{justify-content:flex-start}.closure-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.closure-grid-two{grid-template-columns:1fr}.closure-period-copy{text-align:left}}@media(max-width:560px){.closure-kpis{grid-template-columns:1fr}.closure-actions,.closure-month-form{width:100%}.closure-month-form select{flex:1}.closure-btn.primary{width:100%}.closure-live-note{align-items:flex-start;flex-direction:column}}
/* END STEP24EF.6.50.521 */

/* STEP24EF.6.50.522 — snapshot officiel de clôture mensuelle */
.closure-message{margin:0 0 10px;padding:9px 12px;border-radius:8px;border:1px solid;font-size:9px}.closure-message.success{background:#edf8f2;border-color:#b8dec8;color:#236547}.closure-message.error{background:#fff0ed;border-color:#efc2b9;color:#964637}
.closure-official-note{margin-bottom:12px;border:1px solid;border-radius:11px;padding:12px 13px}.closure-official-note.stable{background:#eff8f3;border-color:#afd9bf}.closure-official-note.changed{background:#fff8ea;border-color:#e7c983}.closure-official-main{display:flex;align-items:flex-start;gap:10px}.closure-lock{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#d8efe2;font-size:15px}.closure-official-main strong{display:block;color:#174e38;font-size:11px}.closure-official-main span{display:block;margin-top:2px;color:#587266;font-size:9px}.closure-official-main small{display:block;margin-top:4px;color:#6d8077;font-size:8px}.closure-change-warning{margin-top:10px;padding:8px 10px;border-radius:7px;background:#fff0d1;color:#805e16}.closure-change-warning strong,.closure-change-warning span{display:block}.closure-change-warning strong{font-size:9.5px}.closure-change-warning span{margin-top:2px;font-size:8.5px}.closure-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.closure-change-grid>div{padding:7px 8px;border:1px solid #ead7a6;border-radius:7px;background:rgba(255,255,255,.72)}.closure-change-grid strong,.closure-change-grid span{display:block}.closure-change-grid strong{font-size:8px;color:#755514;text-transform:uppercase}.closure-change-grid span{margin-top:2px;font-size:9px;color:#5c5545}.closure-snapshot-stable{margin-top:9px;color:#2b7351;font-size:9px;font-weight:850}.closure-reopen-panel{margin-top:10px;border-top:1px solid rgba(81,115,96,.18);padding-top:8px}.closure-reopen-panel summary{cursor:pointer;color:#426457;font-size:9px;font-weight:850}.closure-reopen-panel form{display:flex;align-items:center;gap:7px;margin-top:8px}.closure-reopen-panel input,.closure-close-form input{min-width:240px;flex:1;height:34px;border:1px solid #bed0d9;border-radius:8px;padding:0 10px;background:#fff;color:#315569;font-size:9px}.closure-btn.danger{background:#fff1ef;border-color:#d88b7e;color:#9b4033}.closure-btn.lock{background:#1f704f;border-color:#1f704f;color:#fff}.closure-btn.lock:disabled{opacity:.45;cursor:not-allowed}.closure-close-form{display:flex;align-items:center;gap:8px;margin:0 0 11px;padding:9px 10px;border:1px solid #cfdee6;border-radius:9px;background:#f7fafc}.closure-close-form>span{font-size:8px;color:#7a8e99}.closure-reopened-note{margin:-3px 0 10px;padding:7px 10px;border-left:3px solid #7c8fa1;background:#f5f7f9;color:#637582;font-size:9px}.closure-history-section{margin-top:10px}.closure-history-list{padding:5px 9px}.closure-history-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid #e7edf1}.closure-history-row:last-child{border-bottom:0}.closure-history-row.active{background:#f1f9f4}.closure-history-row>div>strong,.closure-history-row>div>span,.closure-history-row>div>small{display:block}.closure-history-row>div>strong{font-size:9.5px;color:#284f65}.closure-history-row>div>span{margin-top:2px;font-size:8px;color:#71858f}.closure-history-row>div>small{margin-top:2px;font-size:8px;color:#8899a2}.closure-history-state{text-align:right}.closure-history-state>span{display:inline-block!important;padding:3px 7px;border-radius:999px;font-size:8px!important;font-weight:900}.closure-history-state .official{background:#dff3e7;color:#1f714d}.closure-history-state .reopened{background:#eef1f3;color:#667985}.closure-history-state small{margin-top:3px!important}.closure-live-note+ .closure-reopened-note{margin-top:-4px}
@media(max-width:900px){.closure-change-grid{grid-template-columns:1fr}.closure-close-form,.closure-reopen-panel form{align-items:stretch;flex-direction:column}.closure-close-form input,.closure-reopen-panel input{width:100%;min-width:0}.closure-history-row{grid-template-columns:1fr}.closure-history-state{text-align:left}.closure-history-row .closure-btn{justify-self:start}}
/* END STEP24EF.6.50.522 */


/* STEP24EF.6.50.524 — Clôture mensuelle : lisibilité desktop normale.
   La 521 avait volontairement compacté cette vue ; sur écran 1080p le texte
   devenait nettement plus petit que les autres onglets Pilotage. */
.closure-head .section-title{font-size:22px;line-height:1.2}.closure-head .section-sub{font-size:12px;margin-top:3px}
.closure-month-form label,.closure-month-form select,.closure-btn{font-size:12px}.closure-month-form select,.closure-btn{min-height:36px}.closure-live-note{font-size:12px;padding:11px 13px}.closure-live-note strong{font-size:13px}.closure-live-note span{font-size:11px}
.closure-status-row{margin-bottom:14px}.closure-status-pill{padding:10px 14px;gap:11px}.closure-status-pill>span{width:34px;height:34px;font-size:17px}.closure-status-pill small,.closure-period-copy span{font-size:11px}.closure-status-pill strong,.closure-period-copy strong{font-size:15px}.closure-kpis{gap:10px;margin-bottom:14px}.closure-kpi{min-height:108px;padding:15px 16px}.closure-kpi>span{font-size:11px}.closure-kpi>strong{margin-top:7px;font-size:27px}.closure-kpi>small{margin-top:7px;font-size:11px;line-height:1.25}
.closure-card-head{padding:12px 14px}.closure-card-head>div>strong{font-size:14px}.closure-card-head>div>span{font-size:11px}.closure-check-list{padding:8px 11px}.closure-check{gap:11px;padding:10px 5px}.closure-check>span{width:28px;height:28px;font-size:12px}.closure-check strong{font-size:12px}.closure-check small{font-size:11px;line-height:1.25}.closure-delta-list{padding:10px}.closure-delta-list>div{padding:13px}.closure-delta-list span{font-size:11px}.closure-delta-list strong{font-size:19px}.closure-delta-list small{font-size:11px;line-height:1.25}
.closure-alerts{gap:7px;margin:12px 0}.closure-alert{padding:9px 12px;font-size:12px}.closure-alert>span{width:24px;height:24px}.closure-tech-section{margin-top:13px}.closure-table-total span{font-size:10px}.closure-table-total strong{font-size:17px}.closure-table{min-width:1180px}.closure-table th{font-size:11px;padding:9px 8px}.closure-table td{font-size:11.5px;padding:9px 8px}.closure-table td.left small{font-size:10px}.closure-message{font-size:12px;padding:10px 13px}.closure-official-main strong{font-size:14px}.closure-official-main span{font-size:11px}.closure-official-main small{font-size:10px}.closure-change-warning strong{font-size:12px}.closure-change-warning span,.closure-change-grid span{font-size:11px}.closure-change-grid strong{font-size:10px}.closure-snapshot-stable,.closure-reopen-panel summary,.closure-reopened-note{font-size:11px}.closure-close-form>span{font-size:10px}.closure-reopen-panel input,.closure-close-form input{font-size:11px;height:38px}.closure-history-row>div>strong{font-size:12px}.closure-history-row>div>span,.closure-history-row>div>small{font-size:10px}.closure-history-state>span{font-size:10px!important}
/* END STEP24EF.6.50.524 */

/* STEP24EF.6.50.530 — montant RENFORT visible sur chaque tuile de journée */
.tech-day-tile .tech-day-tile-renfort,
.tech-popup-day .tech-day-tile-renfort{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:4px;
  padding:3px 7px;
  border:1px solid #cdbce0;
  border-radius:999px;
  background:#f2eafb;
  color:#6e4d91;
  font-size:8.5px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  text-transform:none;
}
.tech-day-tile.active .tech-day-tile-renfort{border-color:#bda4d8;background:#fff}
.tech-popup-day .tech-day-tile-renfort{font-size:8.5px}
.tech-adjustment-summary article small{display:block;margin-top:4px;color:#718694;font-size:9px;font-weight:750}
.tech-day-tile .tech-day-tile-money-row,
.tech-popup-day .tech-day-tile-money-row{
  display:flex;
  align-items:center;
  gap:4px;
  width:100%;
  margin-top:4px;
  text-transform:none;
  flex-wrap:wrap;
}
.tech-day-tile .tech-day-tile-money-row .tech-day-tile-ca,
.tech-day-tile .tech-day-tile-money-row .tech-day-tile-renfort,
.tech-popup-day .tech-day-tile-money-row .tech-day-tile-ca,
.tech-popup-day .tech-day-tile-money-row .tech-day-tile-renfort{margin-top:0}

/* STEP24EF.6.50.531 — tuile activité : total explicite + ventilation Tech / Renfort */
.tech-day-tile .tech-day-tile-top,
.tech-popup-day .tech-day-tile-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:6px;
  width:100%;
}
.tech-day-tile .tech-day-tile-date,
.tech-popup-day .tech-day-tile-date{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}
.tech-day-tile .tech-day-tile-date span,
.tech-popup-day .tech-day-tile-date span{
  margin-top:3px;
}
.tech-day-tile .tech-day-tile-total-box,
.tech-popup-day .tech-day-tile-total-box{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-start;
  gap:2px;
  min-width:0;
  margin-left:auto;
  text-align:right;
}
.tech-day-tile .tech-day-tile-total-box small,
.tech-popup-day .tech-day-tile-total-box small{
  margin:0;
  font-size:7.5px;
  line-height:1;
  color:#7f95a3;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.tech-day-tile .tech-day-tile-total-box b,
.tech-popup-day .tech-day-tile-total-box b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 6px;
  border:1px solid #c8d8e1;
  border-radius:8px;
  background:#f5f9fb;
  color:#234a61;
  font-size:10px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.tech-day-tile .tech-day-tile-money-row,
.tech-popup-day .tech-day-tile-money-row{
  gap:4px;
  margin-top:6px;
}
.tech-day-tile .tech-day-tile-money-row .tech-day-tile-ca,
.tech-popup-day .tech-day-tile-money-row .tech-day-tile-ca,
.tech-day-tile .tech-day-tile-money-row .tech-day-tile-renfort,
.tech-popup-day .tech-day-tile-money-row .tech-day-tile-renfort{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  padding:3px 7px;
  border-radius:999px;
  font-size:8.5px;
  font-weight:900;
  line-height:1;
  text-transform:none;
  white-space:nowrap;
}
.tech-day-tile .tech-day-tile-money-row .tech-day-tile-ca,
.tech-popup-day .tech-day-tile-money-row .tech-day-tile-ca{
  border:1px solid #b9dfc9;
  background:#fff;
  color:#16864b;
  box-shadow:0 1px 3px rgba(22,134,75,.10);
}
.tech-day-tile .tech-day-tile-money-row .tech-day-tile-renfort,
.tech-popup-day .tech-day-tile-money-row .tech-day-tile-renfort{
  border:1px solid #cdbce0;
  background:#f2eafb;
  color:#6e4d91;
}
.tech-day-tile.active .tech-day-tile-total-box b{
  border-color:#a9c5d4;
  background:#fff;
}
.tech-day-tile.active .tech-day-tile-money-row .tech-day-tile-ca{
  border-color:#8bc9a7;
  background:#fff;
}
.tech-day-tile.active .tech-day-tile-money-row .tech-day-tile-renfort{
  border-color:#bda4d8;
  background:#fff;
}
@media(min-width:1101px){
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile .tech-day-tile-total-box small{font-size:7px!important}
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile .tech-day-tile-total-box b{font-size:9px!important;padding:3px 5px!important}
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile .tech-day-tile-money-row .tech-day-tile-ca,
  #tech360-activity .tech-day-tiles:not(.tech-month-tiles) .tech-day-tile .tech-day-tile-money-row .tech-day-tile-renfort{font-size:8px!important;padding:3px 5px!important}
}

/* STEP24EF.6.50.532 — hiérarchie CA portail technicien */
#techSectionOverview .tech-ca-summary-card{
  grid-column:span 3;
  display:grid;
  grid-template-columns:minmax(220px,.85fr) minmax(360px,1.45fr);
  align-items:stretch;
  gap:18px;
  min-height:92px;
}
.tech-ca-summary-main{display:flex;align-items:center;gap:12px;min-width:0}
.tech-ca-summary-breakdown{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  min-width:0;
}
.tech-ca-summary-line{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:10px 13px;
  border:1px solid #dce7ed;
  border-radius:10px;
  background:#f8fbfc;
}
.tech-ca-summary-line span{color:#728c9c;font-size:10px;font-weight:800;line-height:1.15}
.tech-ca-summary-line strong{margin-top:4px;color:#17384d;font-size:18px;font-weight:900;line-height:1.05;white-space:nowrap}
.tech-ca-summary-line small{margin-top:4px;color:#91a5b1;font-size:9px;line-height:1.15}
.tech-ca-summary-line.own{border-color:#c8e5d5;background:#f7fcf9}
.tech-ca-summary-line.own strong{color:#16864b}
.tech-ca-summary-line.renfort{border-color:#d8cbe7;background:#faf7fd}
.tech-ca-summary-line.renfort strong{color:#6e4d91}
@media(max-width:1050px){
  #techSectionOverview .tech-ca-summary-card{grid-column:1/-1;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr)}
}
@media(max-width:680px){
  #techSectionOverview .tech-ca-summary-card{grid-column:1;grid-template-columns:1fr;gap:10px}
  .tech-ca-summary-breakdown{grid-template-columns:1fr 1fr}
  .tech-ca-summary-line{padding:9px 10px}
  .tech-ca-summary-line strong{font-size:16px}
}
@media(max-width:430px){.tech-ca-summary-breakdown{grid-template-columns:1fr}}

/* STEP24EF.6.50.545 — raccourci Clôture depuis la vue mensuelle. */
.monthly-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.monthly-closure-shortcut{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:8px 13px;border:1px solid #2f607d;background:#2f607d;color:#fff;text-decoration:none;font-size:11px;font-weight:850;white-space:nowrap;box-shadow:0 1px 2px rgba(18,54,76,.12)}
.monthly-closure-shortcut:hover{background:#244f69;border-color:#244f69;color:#fff}
@media(max-width:760px){.monthly-title-actions{width:100%;justify-content:flex-start}.monthly-closure-shortcut{width:100%}.monthly-title-actions .annual-year-select{flex-wrap:wrap}}

/* STEP24EF.6.50.549 — Satisfaction globale projet */
.sat-page{display:grid;gap:14px;padding:2px 0 18px}.sat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.sat-import-form{display:flex;align-items:flex-end;gap:8px}.sat-year-field{display:grid;gap:4px}.sat-year-field span{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#718793}.sat-year-field input{width:82px;border:1px solid #cbdbe3;border-radius:8px;padding:8px 9px;background:#fff;color:#234b61;font-weight:800}.sat-file-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;background:#26739b;color:#fff;font-size:10px;font-weight:900;cursor:pointer;box-shadow:0 4px 10px rgba(38,115,155,.16)}.sat-file-btn input{display:none}.sat-flash{padding:10px 12px;border-radius:9px;font-size:10px;font-weight:800}.sat-flash.ok{background:#eef9f2;border:1px solid #b7dfc3;color:#34704a}.sat-flash.error{background:#fff1ef;border:1px solid #efc6c0;color:#9c4c45}.sat-scopebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #d7e4eb;border-radius:11px;background:#fff}.sat-scope-copy{display:grid;gap:2px}.sat-scope-copy strong{color:#173f58;font-size:12px}.sat-scope-copy span{color:#7b909c;font-size:9px}.sat-scope-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sat-scope-chip{padding:6px 9px;border-radius:999px;border:1px solid #d4e0e6;background:#f8fbfc;color:#547181;text-decoration:none;font-size:8.5px;font-weight:850}.sat-scope-chip.active{background:#255f7f;color:#fff;border-color:#255f7f}.sat-info-note{padding:9px 11px;border:1px solid #cfe1ea;border-radius:9px;background:#f4f9fb;color:#567585;font-size:9.5px}.sat-kpis{display:grid;grid-template-columns:1.25fr 1.25fr repeat(5,minmax(0,1fr));gap:9px}.sat-kpi{display:grid;gap:4px;padding:12px;border:1px solid #d8e4ea;border-top:3px solid #6f91a4;border-radius:10px;background:#fff;min-width:0}.sat-kpi span{font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#718995}.sat-kpi strong{font-size:20px;color:#234d65;line-height:1.05}.sat-kpi small{font-size:8px;color:#889aa4}.sat-kpi.primary{border-top-color:#d5a52c;background:#fffaf0}.sat-kpi.primary strong{color:#8b6a16}.sat-kpi.global{border-top-color:#255f7f;background:#f4f9fb}.sat-kpi.global strong{color:#1d5b7b}.sat-kpi.positive{border-top-color:#4e9a68;background:#f6fbf7}.sat-kpi.positive strong{color:#39754f}.sat-kpi.neutral{border-top-color:#b7a45c;background:#fffdf4}.sat-kpi.neutral strong{color:#786b2f}.sat-kpi.negative{border-top-color:#bd625d;background:#fff7f6}.sat-kpi.negative strong{color:#9e4e49}.sat-kpi.link{border-top-color:#6f68ae;background:#f8f7fd}.sat-kpi.link strong{color:#62569b}.sat-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:12px}.sat-panel{border:1px solid #d6e3e9;border-radius:11px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(35,77,101,.035)}.sat-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid #e1eaee;background:#f9fbfc}.sat-panel-head>div:first-child{display:grid;gap:2px}.sat-panel-head strong{color:#1e4d67;font-size:11px}.sat-panel-head span{color:#7b909c;font-size:8.5px}.sat-table-wrap{overflow:auto}.sat-table{width:100%;border-collapse:collapse;font-size:9.5px}.sat-table th{padding:8px 9px;background:#f5f8fa;border-bottom:1px solid #dce6eb;color:#647f8e;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.sat-table td{padding:9px;border-bottom:1px solid #edf2f4;text-align:center;color:#405f70}.sat-table .left{text-align:left}.sat-table a{color:#2a6f93;text-decoration:none}.sat-tech-link{border:0;background:none;padding:0;color:#2a6f93;font:inherit;font-weight:900;cursor:pointer}.sat-low-sample{opacity:.68}.sat-sample-badge{display:block;margin-top:2px;color:#8c7d53;font-size:7.5px;font-weight:850}.sat-delta{display:inline-flex;padding:4px 6px;border-radius:999px;font-weight:900}.sat-delta.good{background:#eaf6ee;color:#37754c}.sat-delta.mid{background:#fff7dd;color:#886f20}.sat-delta.low{background:#fdebea;color:#9a4a46}.sat-trend-list{display:grid;padding:8px 12px}.sat-trend-row{display:grid;grid-template-columns:105px 1fr 62px;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf2f4;text-decoration:none}.sat-trend-row:last-child{border-bottom:0}.sat-trend-label{display:grid;color:#355b70;font-size:9px;font-weight:850}.sat-trend-label small{color:#91a1aa;font-size:7.5px;font-weight:600}.sat-trend-track{height:7px;border-radius:999px;background:#e7eef2;overflow:hidden}.sat-trend-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#bd625d,#d5a52c,#4e9a68)}.sat-trend-row>strong{text-align:right;color:#2e6079;font-size:10px}.sat-verbatim-head{align-items:flex-end}.sat-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sat-filter{border:1px solid #d4e0e6;background:#fff;color:#587483;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:850;cursor:pointer}.sat-filter.active{background:#255f7f;border-color:#255f7f;color:#fff}.sat-filters input{min-width:210px;border:1px solid #cbdbe3;border-radius:8px;padding:7px 8px;font-size:8.5px}.sat-verbatim-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.sat-verbatim-card{display:flex;gap:10px;padding:11px;border:1px solid #dde7ec;border-left:4px solid #8ea9b7;border-radius:9px;background:#fff}.sat-verbatim-card.score-1{border-left-color:#4e9a68;background:#fbfefc}.sat-verbatim-card.score-0{border-left-color:#b7a45c;background:#fffef9}.sat-verbatim-card.score--1{border-left-color:#bd625d;background:#fffafa}.sat-verbatim-mark{font-size:18px;line-height:1}.sat-verbatim-body{display:grid;gap:6px;min-width:0;flex:1}.sat-verbatim-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sat-verbatim-top strong{color:#244f67;font-size:10px}.sat-verbatim-top span{color:#8397a2;font-size:7.5px;white-space:nowrap}.sat-verbatim-body p{margin:0;color:#506b79;font-size:9.5px;line-height:1.45;overflow-wrap:anywhere}.sat-verbatim-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#8699a3;font-size:7.8px}.sat-nd-link{border:1px solid #c9dce5;background:#f1f8fb;color:#2a6f93;border-radius:999px;padding:4px 6px;font-size:7.8px;font-weight:850;cursor:pointer}.sat-unlinked{color:#8f9da5}.sat-link-warning{padding:3px 5px;border-radius:999px;background:#fff2d9;color:#8b651f;font-weight:850}.sat-empty-filter{padding:18px;text-align:center;color:#8497a1;font-size:9px}.sat-imports-panel form{margin:0}.sat-delete{border:1px solid #e0bbb8;background:#fff8f7;color:#a3524d;border-radius:7px;padding:5px 7px;font-size:7.5px;font-weight:850;cursor:pointer}.sat-empty-state{padding:38px 24px;border:1px dashed #c9dce5;border-radius:12px;background:#f9fcfd;text-align:center}.sat-empty-icon{font-size:34px}.sat-empty-state strong{display:block;margin-top:7px;color:#204d65;font-size:16px}.sat-empty-state p{max-width:720px;margin:8px auto;color:#69818f;font-size:10px;line-height:1.5}.sat-empty-state small{color:#8498a3;font-size:8.5px}
.nd-satisfaction-block{margin-top:12px;border:1px solid #d9e4ea;border-radius:10px;background:#fff;overflow:hidden}.nd-satisfaction-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fffaf0;border-bottom:1px solid #eadfbd}.nd-satisfaction-head strong{color:#735916;font-size:10px}.nd-satisfaction-head span{color:#8f7d4a;font-size:8px}.nd-satisfaction-list{display:grid;gap:0}.nd-satisfaction-item{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:start;padding:9px 11px;border-bottom:1px solid #edf2f4}.nd-satisfaction-item:last-child{border-bottom:0}.nd-satisfaction-item>span:first-child{font-size:16px}.nd-satisfaction-item p{margin:0;color:#4c6877;font-size:9px;line-height:1.4}.nd-satisfaction-item small{display:block;margin-top:3px;color:#8799a2;font-size:7.5px}.nd-satisfaction-item>em{font-style:normal;font-size:7.5px;color:#7d909a;white-space:nowrap}
@media(max-width:1200px){.sat-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sat-layout{grid-template-columns:1fr}.sat-verbatim-list{grid-template-columns:1fr}}
@media(max-width:760px){.sat-head{align-items:stretch;flex-direction:column}.sat-import-form{align-items:stretch}.sat-file-btn{justify-content:center}.sat-scopebar{align-items:flex-start;flex-direction:column}.sat-scope-actions{justify-content:flex-start}.sat-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sat-verbatim-head{align-items:stretch;flex-direction:column}.sat-filters{justify-content:flex-start}.sat-filters input{min-width:0;flex:1 1 100%}}
.tech-satisfaction-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:10px}.tech-satisfaction-summary-grid>div{display:grid;gap:3px;padding:9px;border:1px solid #e2e8eb;border-radius:8px;background:#fff}.tech-satisfaction-summary-grid span{font-size:7.5px;font-weight:900;text-transform:uppercase;color:#8798a1}.tech-satisfaction-summary-grid strong{font-size:13px;color:#345a6f}.tech-satisfaction-summary-grid .good strong{color:#3c7951}.tech-satisfaction-summary-grid .bad strong{color:#9d4f49}.tech-satisfaction-global-note{margin:0 10px 8px;padding:7px 8px;border-radius:7px;background:#fffaf0;color:#7b682f;font-size:8px}.tech-satisfaction-recent-list{display:grid;gap:6px;padding:0 10px 10px}.tech-satisfaction-verbatim{display:grid;grid-template-columns:24px 1fr;gap:7px;padding:8px;border-left:3px solid #8ba4b1;background:#f9fbfc;border-radius:7px}.tech-satisfaction-verbatim.score-1{border-left-color:#4e9a68}.tech-satisfaction-verbatim.score--1{border-left-color:#bd625d}.tech-satisfaction-verbatim>span{font-size:15px}.tech-satisfaction-verbatim strong{font-size:8.5px;color:#375c70}.tech-satisfaction-verbatim p{margin:3px 0;color:#5d7582;font-size:8.5px;line-height:1.35}.tech-satisfaction-verbatim small{color:#8a9aa2;font-size:7.5px}.tech-satisfaction-verbatim button{border:0;background:none;padding:0;color:#2c7396;font:inherit;font-weight:850;cursor:pointer}@media(max-width:900px){.tech-satisfaction-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sat-file-input{display:grid;gap:4px}.sat-file-input>span{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#718793}.sat-file-input input{max-width:250px;border:1px solid #cbdbe3;border-radius:8px;padding:6px;background:#fff;color:#385b6d;font-size:8.5px}.sat-file-btn{border:0}.sat-preview-card{border:1px solid #c9dce6;border-left:4px solid #d5a52c;border-radius:11px;background:#fffdf7;box-shadow:0 8px 20px rgba(80,67,30,.05);overflow:hidden}.sat-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eadfbd;background:#fffaf0}.sat-preview-head>div{display:grid;gap:2px}.sat-preview-head span{font-size:7.5px;font-weight:950;letter-spacing:.08em;color:#9a7921}.sat-preview-head strong{font-size:14px;color:#6f5618}.sat-preview-head small{font-size:8px;color:#8d7c4e}.sat-preview-head em{font-style:normal;padding:5px 7px;border-radius:999px;background:#fff;color:#8b742e;border:1px solid #e3d293;font-size:7.5px;font-weight:850;white-space:nowrap}.sat-preview-note{margin:10px 12px 0;padding:8px 10px;border-radius:8px;background:#f3f8fa;color:#587786;font-size:8.5px}.sat-preview-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:10px 12px}.sat-preview-kpis>div{display:grid;gap:3px;padding:9px;border:1px solid #e1e8eb;border-radius:8px;background:#fff}.sat-preview-kpis span{font-size:7px;font-weight:900;text-transform:uppercase;color:#8799a3}.sat-preview-kpis strong{font-size:14px;color:#365e73}.sat-preview-kpis .positive strong{color:#3d7b52}.sat-preview-kpis .negative strong{color:#9c4d48}.sat-preview-kpis .primary strong{color:#8b6b18}.sat-preview-kpis .link strong{color:#6458a0}.sat-preview-techs{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 12px 10px;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e5e9eb;color:#6b818d;font-size:8px}.sat-preview-techs strong{color:#496b7c}.sat-preview-actions{display:flex;justify-content:flex-end;gap:7px;padding:0 12px 12px}.sat-preview-actions form{margin:0}.sat-preview-cancel,.sat-preview-confirm{border-radius:8px;padding:8px 10px;font-size:8.5px;font-weight:900;cursor:pointer}.sat-preview-cancel{border:1px solid #cad8df;background:#fff;color:#607985}.sat-preview-confirm{border:1px solid #2f7f55;background:#3c8e62;color:#fff}@media(max-width:900px){.sat-preview-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sat-preview-head,.sat-preview-techs{align-items:flex-start;flex-direction:column}}

/* STEP24EF.6.50.550 — Satisfaction import guidé */
.sat-head-simple{align-items:center;justify-content:flex-start}
.sat-import-launch-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:4px 0 2px;text-align:center}
.sat-import-launch-wrap>span{font-size:8.5px;color:#7d919d}
.sat-import-launch-btn{border:0;border-radius:10px;background:#26739b;color:#fff;padding:10px 18px;font-size:10px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px rgba(38,115,155,.18)}
.sat-import-launch-btn:hover{background:#205f80;transform:translateY(-1px)}
.sat-import-modal-backdrop{z-index:5100}
.sat-import-modal-box{width:min(880px,94vw)!important;max-height:94vh;overflow:auto;border-radius:2px}
.sat-import-workflow{display:flex;align-items:center;justify-content:center;gap:0;padding:14px 22px;background:#f8fbfc;border-bottom:1px solid #d6e2e8}
.sat-import-step{display:flex;align-items:center;gap:7px;color:#8b9ca6;font-size:10px;font-weight:850;white-space:nowrap}
.sat-import-step i{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:999px;background:#dfe8ed;color:#718590;font-style:normal;font-size:10px;font-weight:950}
.sat-import-step.current{color:#245f7e}.sat-import-step.current i{background:#26739b;color:#fff;box-shadow:0 0 0 4px rgba(38,115,155,.11)}
.sat-import-step.done{color:#3d7b56}.sat-import-step.done i{background:#4c9668;color:#fff}
.sat-import-line{height:3px;width:68px;margin:0 10px;background:#dce6eb;border-radius:999px}.sat-import-line.done{background:#71ad84}
.sat-import-dropzone{min-height:260px}
.sat-modal-year-field{display:grid;gap:5px;margin-top:15px;text-align:left}.sat-modal-year-field span{font-size:9px;font-weight:900;color:#6f8490;text-transform:uppercase;letter-spacing:.05em}.sat-modal-year-field input{width:125px;border:1px solid #c9d7df;border-radius:7px;padding:8px 9px;color:#294f64;font-size:11px;font-weight:800;background:#fff}
.sat-result-body{display:grid;gap:11px}
.sat-result-status{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid #bcdcc8;background:#f1faf4}
.sat-result-check{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:#4c9668;color:#fff;font-size:21px;font-weight:950;flex:0 0 auto}.sat-result-status>div:last-child{display:grid;gap:2px}.sat-result-status strong{font-size:14px;color:#2f6f49}.sat-result-status span{font-size:9px;color:#698078}
.sat-result-file{display:grid;grid-template-columns:180px 1fr;gap:8px}.sat-result-file>div{display:grid;gap:3px;padding:10px 11px;border:1px solid #dbe5ea;background:#fff}.sat-result-file span,.sat-result-summary-grid span{font-size:7.5px;font-weight:950;letter-spacing:.07em;color:#8497a2}.sat-result-file strong{font-size:11px;color:#315a70;overflow-wrap:anywhere}.sat-result-file small{font-size:8px;color:#899aa4}
.sat-result-kpis{padding:0;grid-template-columns:repeat(6,minmax(0,1fr))}.sat-result-kpis>div{min-height:58px}
.sat-result-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sat-result-summary-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #dce6eb;background:#fff}.sat-result-summary-grid strong{font-size:13px;color:#365e73}
.sat-result-warning,.sat-result-success{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;font-size:8.5px}.sat-result-warning{border:1px solid #ead5a7;background:#fff9e9;color:#826522}.sat-result-success{border:1px solid #c8e1d1;background:#f4fbf6;color:#3d7651;font-weight:850}.sat-result-warning strong{white-space:nowrap}.sat-result-warning span{text-align:right;overflow-wrap:anywhere}
.sat-confirm-progress{margin-top:0}.sat-result-footer form{margin:0}.sat-result-footer .topbtn{min-width:130px}
@media(max-width:900px){.sat-import-line{width:32px;margin:0 6px}.sat-import-step span{display:none}.sat-result-file,.sat-result-summary-grid{grid-template-columns:1fr}.sat-result-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sat-result-warning{align-items:flex-start;flex-direction:column}.sat-result-warning span{text-align:left}}

/* STEP24EF.6.50.554 — Satisfaction readability + compact lists + paginated popups */
.sat-page .section-title{font-size:16px;line-height:1.2}
.sat-page .section-sub{font-size:10.5px;line-height:1.45}
.sat-import-launch-wrap>span{font-size:10px}
.sat-import-launch-btn{font-size:11.5px;padding:11px 20px}
.sat-flash{font-size:11px}
.sat-scope-copy strong{font-size:13.5px}.sat-scope-copy span{font-size:10.5px}
.sat-scope-chip{font-size:10px;padding:7px 10px}
.sat-info-note{font-size:10.5px;line-height:1.45}
.sat-kpi span{font-size:9.5px}.sat-kpi strong{font-size:23px}.sat-kpi small{font-size:9.5px}
.sat-panel-head strong{font-size:13px}.sat-panel-head span{font-size:10px;line-height:1.35}
.sat-table{font-size:11px}.sat-table th{font-size:9.5px;padding:9px 10px}.sat-table td{padding:10px}
.sat-sample-badge{font-size:9px}.sat-delta{padding:5px 7px}
.sat-trend-label{font-size:10.5px}.sat-trend-label small{font-size:9px}.sat-trend-row>strong{font-size:11px}
.sat-filter,.sat-modal-filter{font-size:9.5px;padding:6px 9px}.sat-filters input{font-size:10.5px;padding:8px 9px}
.sat-verbatim-top strong{font-size:11.5px}.sat-verbatim-top span{font-size:9px}
.sat-verbatim-body p{font-size:10.8px;line-height:1.5}.sat-verbatim-meta{font-size:9px}
.sat-nd-link{font-size:9px;padding:5px 7px}.sat-empty-filter{font-size:10.5px}
.sat-delete{font-size:9px}
.sat-ranking-head{align-items:flex-start}.sat-panel-actions{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.sat-compact-btn{border:1px solid #cbdbe3;background:#fff;color:#456b7e;border-radius:8px;padding:7px 10px;font-size:9.5px;font-weight:900;cursor:pointer;white-space:nowrap}
.sat-compact-btn:hover{background:#f2f7f9}.sat-compact-btn.primary{background:#26739b;border-color:#26739b;color:#fff}.sat-compact-btn.primary:hover{background:#205f80}
.sat-compact-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 12px 12px;border-top:1px dashed #dce6eb;background:#fbfcfd;color:#748a96;font-size:10px;font-weight:800}.sat-compact-footer[hidden]{display:none!important}

.sat-detail-modal-backdrop{position:fixed;inset:0;z-index:5150;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(10,31,43,.52);backdrop-filter:blur(2px)}
.sat-detail-modal-backdrop.open{display:flex}
.sat-detail-modal-box{width:min(1180px,96vw);max-height:92vh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(13,41,56,.28);overflow:hidden}
.sat-ranking-modal-box{grid-template-rows:auto minmax(0,1fr) auto}
.sat-detail-modal-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid #dce6eb;background:#f7fafb}
.sat-detail-modal-header>div{display:grid;gap:3px}.sat-detail-modal-header strong{font-size:15px;color:#1f4d66}.sat-detail-modal-header span{font-size:10.5px;color:#7a909c}
.sat-detail-modal-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #d1dce2;border-radius:8px;background:#fff;color:#5f7886;font-size:16px;font-weight:900;cursor:pointer}.sat-detail-modal-close:hover{background:#eef4f7}
.sat-detail-modal-toolbar{padding:10px 14px;border-bottom:1px solid #e4ecef;background:#fff}.sat-modal-filters{justify-content:flex-start}.sat-modal-filter{border:1px solid #d4e0e6;background:#fff;color:#587483;border-radius:999px;font-weight:850;cursor:pointer}.sat-modal-filter.active{background:#255f7f;border-color:#255f7f;color:#fff}
.sat-detail-modal-body{min-height:0;overflow:auto;background:#fff}.sat-ranking-modal-box .sat-detail-modal-body{padding:0}.sat-modal-table{min-width:760px}.sat-modal-table td,.sat-modal-table th{font-size:11px}
.sat-verbatim-modal-body{padding:0}.sat-modal-verbatim-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
.sat-detail-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #dce6eb;background:#f8fafb}
.sat-page-size{display:flex;align-items:center;gap:7px;color:#708792;font-size:10px;font-weight:800}.sat-page-size select{border:1px solid #cbd9e0;border-radius:7px;background:#fff;color:#365c70;padding:6px 8px;font-size:10px;font-weight:800}
.sat-pagination{display:flex;align-items:center;gap:8px}.sat-pagination button{width:32px;height:30px;border:1px solid #cbd9e0;border-radius:7px;background:#fff;color:#315f77;font-size:18px;font-weight:900;cursor:pointer}.sat-pagination button:disabled{opacity:.35;cursor:default}.sat-pagination span{min-width:88px;text-align:center;color:#587483;font-size:10px;font-weight:900}
@media(max-width:900px){.sat-detail-modal-backdrop{padding:12px}.sat-detail-modal-box{width:98vw;max-height:95vh}.sat-modal-verbatim-list{grid-template-columns:1fr}.sat-ranking-head{align-items:stretch;flex-direction:column}.sat-panel-actions{justify-content:flex-start}.sat-detail-modal-footer{align-items:flex-start;flex-direction:column}}

/* STEP24EF.6.50.555 — Satisfaction viewport modal + 3 colonnes + drilldown technicien */
.tabsbar .tablink.tab-satisfaction-highlight{
  background:#e8f4fb!important;
  border-color:#9fc9de!important;
  color:#1f6689!important;
  font-weight:900;
  box-shadow:inset 0 -3px 0 #2b7ca5;
}
.tabsbar .tablink.tab-satisfaction-highlight:hover,
.tabsbar .tablink.tab-satisfaction-highlight.active{
  background:#2b7ca5!important;
  border-color:#23698b!important;
  color:#fff!important;
}
.tech360-satisfaction-nav{
  background:#e7f4fb!important;
  border-color:#9fc9de!important;
  color:#1f6689!important;
  font-weight:900!important;
  box-shadow:inset 0 -2px 0 #2b7ca5;
}
.tech360-satisfaction-nav:hover{background:#d9eef8!important}

.sat-verbatim-modal-box{width:min(1460px,96vw);max-height:90vh;max-height:90dvh}
.sat-modal-verbatim-list{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}
.sat-detail-modal-backdrop{position:fixed!important;inset:0!important;align-items:center!important;justify-content:center!important}
.sat-ranking-panel tbody tr[data-sat-tech]{cursor:pointer}
.sat-ranking-panel tbody tr[data-sat-tech]:hover{background:#f2f8fb}
@media(max-width:1200px){.sat-modal-verbatim-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.sat-modal-verbatim-list{grid-template-columns:1fr}}

.tech-sat-section-head{display:flex!important;align-items:center;justify-content:space-between;gap:10px}
.tech-sat-section-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.tech-sat-section-actions button{border:1px solid #c8d9e2;border-radius:7px;background:#fff;color:#4a6d7f;padding:5px 8px;font-size:8.5px;font-weight:900;cursor:pointer;white-space:nowrap}
.tech-sat-section-actions button:hover{background:#f0f6f9}
.tech-sat-section-actions button.primary{background:#26739b;border-color:#26739b;color:#fff}
.tech-satisfaction-collapsed .tech-satisfaction-verbatim:nth-child(n+5){display:none}

.tech-sat-history-backdrop{position:fixed;inset:0;z-index:5400;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(10,31,43,.56);backdrop-filter:blur(2px)}
.tech-sat-history-backdrop.open{display:flex}
.tech-sat-history-box{width:min(1460px,96vw);max-height:90vh;max-height:90dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 70px rgba(13,41,56,.30)}
.tech-sat-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #dce6eb;background:#f7fafb}
.tech-sat-history-head>div{display:grid;gap:3px}.tech-sat-history-head strong{color:#1f4d66;font-size:14px}.tech-sat-history-head span{color:#7a909c;font-size:10px}
.tech-sat-history-head>button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #d1dce2;border-radius:8px;background:#fff;color:#5f7886;font-size:16px;font-weight:900;cursor:pointer}
.tech-sat-history-body{min-height:0;overflow:auto;padding:12px;background:#fff}
.tech-sat-history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start}
.tech-sat-history-item{min-width:0}
.tech-sat-history-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #dce6eb;background:#f8fafb;color:#708792;font-size:10px;font-weight:800}
.tech-sat-history-foot label{display:flex;align-items:center;gap:7px}.tech-sat-history-foot select{border:1px solid #cbd9e0;border-radius:7px;background:#fff;color:#365c70;padding:6px 8px;font-size:10px;font-weight:800}
.tech-sat-history-pagination{display:flex;align-items:center;gap:8px}.tech-sat-history-pagination button{width:32px;height:30px;border:1px solid #cbd9e0;border-radius:7px;background:#fff;color:#315f77;font-size:18px;font-weight:900;cursor:pointer}.tech-sat-history-pagination button:disabled{opacity:.35;cursor:default}.tech-sat-history-pagination span{min-width:88px;text-align:center;color:#587483;font-size:10px;font-weight:900}
@media(max-width:1200px){.tech-sat-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.tech-sat-section-head{align-items:flex-start;flex-direction:column}.tech-sat-section-actions{margin-left:0}.tech-sat-history-backdrop{padding:10px}.tech-sat-history-box{width:98vw;max-height:95vh;max-height:95dvh}.tech-sat-history-list{grid-template-columns:1fr}.tech-sat-history-foot{align-items:flex-start;flex-direction:column}}


/* STEP24EF.6.50.556 — Satisfaction UX readability fix */
/* Dashboard: 20 verbatims restent compacts mais passent en 3 colonnes sur grand écran. */
.sat-verbatims-panel #satVerbatimList{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
@media(max-width:1300px){.sat-verbatims-panel #satVerbatimList{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:840px){.sat-verbatims-panel #satVerbatimList{grid-template-columns:1fr}}

/* Fiche technicien: Satisfaction au même niveau de lisibilité que le dashboard. */
.tech-satisfaction-panel .tech-modal-section-head>span{font-size:11.5px;font-weight:950;letter-spacing:.02em;color:#174f6d}
.tech-sat-section-actions button{padding:6px 10px;font-size:10px}
.tech-satisfaction-summary-grid{gap:8px;padding:11px}
.tech-satisfaction-summary-grid>div{gap:4px;padding:10px}
.tech-satisfaction-summary-grid span{font-size:9.5px;letter-spacing:.035em}
.tech-satisfaction-summary-grid strong{font-size:16px;line-height:1.15}
.tech-satisfaction-global-note{margin:0 11px 9px;padding:8px 10px;font-size:10.5px;line-height:1.4}
.tech-satisfaction-recent-list{gap:8px;padding:0 11px 11px}
.tech-satisfaction-verbatim{grid-template-columns:28px 1fr;gap:9px;padding:10px;border-left-width:4px}
.tech-satisfaction-verbatim>span{font-size:18px}
.tech-satisfaction-verbatim strong{font-size:10.5px}
.tech-satisfaction-verbatim p{margin:4px 0;font-size:10.5px;line-height:1.45}
.tech-satisfaction-verbatim small{font-size:9px;line-height:1.35}
.tech-satisfaction-verbatim button{font-size:9px}
.tech-sat-history-head strong{font-size:15px}.tech-sat-history-head span{font-size:11px}

/* Dossier ND: la Satisfaction devient un vrai encart bleu, nettement identifiable. */
.nd-satisfaction-block{margin-top:14px;border:2px solid #4a90b6;border-left-width:5px;border-radius:10px;background:#fff;box-shadow:0 4px 12px rgba(42,111,147,.09);overflow:hidden}
.nd-satisfaction-head{padding:11px 13px;background:#eaf5fb;border-bottom:1px solid #b9d9e8}
.nd-satisfaction-head strong{color:#1f6488;font-size:12.5px;font-weight:950}
.nd-satisfaction-head span{color:#3f7896;font-size:10px;font-weight:850}
.nd-satisfaction-item{grid-template-columns:30px 1fr auto;gap:10px;padding:11px 13px;border-bottom:1px solid #e4eef3}
.nd-satisfaction-item>span:first-child{font-size:19px}
.nd-satisfaction-item p{color:#355b70;font-size:11.5px;line-height:1.5;font-weight:600}
.nd-satisfaction-item small{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;color:#637e8d;font-size:9.5px;line-height:1.35}
.nd-satisfaction-item>em{font-size:9.5px;color:#56798c;font-weight:800}
.nd-satisfaction-linked-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:#dff0f8;border:1px solid #abd3e5;color:#1e668a;font-size:9px;font-weight:950;white-space:nowrap}
.nd-satisfaction-tech{color:#244f67;font-weight:900}


/* STEP24EF.6.50.557 — Satisfaction modal stack + intégration ND bleu foncé */
/* L'historique Satisfaction doit passer AU-DESSUS de la fiche technicien (z-index 9999). */
.tech-sat-history-backdrop{z-index:10120!important}
.tech-sat-history-box{position:relative;z-index:1}

/* Dossier ND : bloc Satisfaction intégré au langage visuel bleu foncé de 3T. */
.nd-satisfaction-block{
  margin-top:14px;
  border:1px solid #2f5d77;
  border-radius:9px;
  background:#fff;
  box-shadow:0 3px 10px rgba(24,63,84,.08);
  overflow:hidden;
}
.nd-satisfaction-head{
  padding:10px 13px;
  background:#2f5d77;
  border-bottom:1px solid #244b61;
}
.nd-satisfaction-head strong{color:#fff;font-size:12px;font-weight:950}
.nd-satisfaction-head span{color:#dceaf1;font-size:9.5px;font-weight:850}
.nd-satisfaction-item{padding:11px 13px;border-bottom:1px solid #dce7ed;background:#fff}
.nd-satisfaction-item:last-child{border-bottom:0}
.nd-satisfaction-item p{color:#314f60;font-size:11.5px;line-height:1.5;font-weight:650}
.nd-satisfaction-item small{margin-top:7px;color:#627d8c;font-size:9.5px;line-height:1.4}
.nd-satisfaction-linked-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 8px;
  border:1px solid #244b61;
  border-radius:6px;
  background:#2f5d77;
  color:#fff;
  font-size:9.5px;
  font-weight:950;
  line-height:1.1;
  white-space:nowrap;
  box-shadow:none;
}
.nd-satisfaction-tech{color:#244f67;font-weight:950}

.nd-satisfaction-survey{color:#6f8794;font-weight:800}.nd-satisfaction-tech + .nd-satisfaction-survey:before{content:"•";margin:0 6px;color:#9bb0bb}


/* STEP24EF.6.50.558 — Satisfaction polish + dernier mois réel */
/* Le module Satisfaction suit le style normal des onglets : pas de bande bleue permanente. */
.tabsbar .tablink.tab-satisfaction-highlight,
.tabsbar .tablink.tab-satisfaction-highlight:hover,
.tabsbar .tablink.tab-satisfaction-highlight.active{
  background:unset!important;
  border-color:inherit!important;
  color:inherit!important;
  font-weight:inherit!important;
  box-shadow:none!important;
}
/* La fiche n'affiche volontairement que les 2 derniers avis. L'historique reste dans « Voir tous ». */
.tech-satisfaction-recent-list .tech-satisfaction-verbatim:nth-child(n+3){display:none!important}
/* Centrage viewport robuste des popups Satisfaction, indépendamment du scroll de la page/fiche. */
.sat-detail-modal-backdrop,
.tech-sat-history-backdrop{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  padding:18px!important;
  place-items:center!important;
  align-items:center!important;
  justify-content:center!important;
}
.sat-detail-modal-backdrop.open,
.tech-sat-history-backdrop.open{display:grid!important}
.sat-detail-modal-box,
.tech-sat-history-box{
  margin:auto!important;
  align-self:center!important;
  justify-self:center!important;
  max-height:calc(100dvh - 36px)!important;
}
@supports not (height:100dvh){
  .sat-detail-modal-backdrop,.tech-sat-history-backdrop{height:100vh!important}
  .sat-detail-modal-box,.tech-sat-history-box{max-height:calc(100vh - 36px)!important}
}


/* STEP24EF.6.50.559 — Dossier ND compact : supprimer le grand vide artificiel */
.nd-modal-box{height:auto!important;max-height:88vh!important;overflow:auto!important}
.nd-modal-inner{height:auto!important;max-height:88vh!important;min-height:0!important}
.nd-history-panel{flex:0 1 auto!important;min-height:0!important;margin-bottom:12px!important}
.nd-history-scroll{flex:0 1 auto!important;min-height:0!important;max-height:min(380px,40vh)!important;overflow:auto!important}
.nd-satisfaction-block{flex:0 0 auto!important;margin:0 18px 12px!important}
.nd-memo-timeline{flex:0 0 auto!important}
.nd-modal-footer{flex:0 0 auto!important}
#ndHistoryTable tbody:has(> tr:only-child){height:auto!important}
@media(max-height:760px){.nd-modal-box,.nd-modal-inner{max-height:94vh!important}.nd-history-scroll{max-height:min(300px,34vh)!important}}

/* STEP24EF.6.50.564 — Satisfaction stable switch + dual KPI technician */
.tech-kpi-card.tech-satisfaction-period{border-top-color:#d5a52c;background:linear-gradient(145deg,#fff,#fffaf0)}
.tech-kpi-card.tech-satisfaction-global{border-top-color:#255f7f;background:linear-gradient(145deg,#fff,#f2f8fb)}
.tech-satisfaction-global .tech-kpi-icon{background:#e8f3f8;color:#255f7f}
.tech-satisfaction-global .tech-kpi-copy strong{color:#1f5d7b}
.tech-satisfaction-period-detail{border-top:3px solid #d5a52c!important;background:#fffaf0!important}
.tech-satisfaction-global-detail{border-top:3px solid #255f7f!important;background:#f2f8fb!important}
/* Les listes compactes arrivent déjà compactées dans le HTML serveur : pas de flash des 13 lignes / 215 verbatims avant l'initialisation JS. */
.sat-ranking-panel,.sat-verbatims-panel{contain:layout paint}


/* STEP24EF.6.50.566 — portail technicien mobile : Interventions compacte + Satisfaction calée dessous. */
@media(max-width:820px){
  #techSectionOverview .tech-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto;
    align-items:start;
  }
  #techSectionOverview .tech-ca-summary-card{
    grid-column:1!important;
    grid-row:1 / span 3!important;
    align-self:stretch!important;
    min-height:0!important;
  }
  #techSectionOverview .tech-kpi-card[data-layout-key="interventions"]{
    grid-column:2!important;
    grid-row:1!important;
    min-height:58px!important;
    height:auto!important;
    padding:9px 10px!important;
    align-self:start!important;
  }
  #techSectionOverview .tech-kpi-card[data-layout-key="satisfaction"]{
    grid-column:2!important;
    grid-row:2!important;
    min-height:68px!important;
    height:auto!important;
    padding:9px 10px!important;
    align-self:start!important;
  }
  #techSectionOverview .tech-kpi-card[data-layout-key="satisfaction_global"]{
    grid-column:2!important;
    grid-row:3!important;
    min-height:68px!important;
    height:auto!important;
    padding:9px 10px!important;
    align-self:start!important;
  }
  #techSectionOverview .tech-kpi-card[data-layout-key="interventions"] .tech-kpi-copy small,
  #techSectionOverview .tech-kpi-card[data-layout-key="satisfaction"] .tech-kpi-copy small,
  #techSectionOverview .tech-kpi-card[data-layout-key="satisfaction_global"] .tech-kpi-copy small{
    margin-top:3px!important;
    line-height:1.2!important;
  }
}

/* STEP24EF.6.50.583 — panneau diagnostic performances mobile */
.perf-topbtn{border-color:#5c7f92!important;background:#173f58!important;color:#fff!important}.perf-topbtn-icon{font-size:14px;line-height:1}.perf-topbtn.perf-active{box-shadow:0 0 0 2px rgba(71,167,212,.32) inset;background:#0e5b7d!important}
.three-t-perf-fab{position:fixed;right:14px;bottom:16px;z-index:12050;display:none;align-items:center;gap:6px;border:1px solid #6aa5c2;border-radius:999px;background:#123f58;color:#fff;padding:9px 12px;font:850 11px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 7px 25px rgba(18,63,88,.28);cursor:pointer}.three-t-perf-fab.show{display:flex}.three-t-perf-fab b{font-size:13px}.three-t-perf-fab em{font-style:normal;opacity:.82;font-size:9px}
.three-t-perf-overlay{position:fixed;inset:0;z-index:13000;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(12,30,42,.55);backdrop-filter:blur(2px)}.three-t-perf-overlay.open{display:flex}.three-t-perf-panel{width:min(760px,100%);max-height:min(86vh,820px);display:flex;flex-direction:column;min-height:0;border:1px solid #7398aa;border-radius:14px;background:#f8fbfd;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden}.three-t-perf-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;background:#173f58;color:#fff}.three-t-perf-head h2{margin:0;font-size:17px}.three-t-perf-head p{margin:4px 0 0;color:#cfe0e8;font-size:10px;line-height:1.4}.three-t-perf-close{flex:none;width:32px;height:32px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:16px;font-weight:900;cursor:pointer}.three-t-perf-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;flex:0 0 auto;padding:10px 12px;border-bottom:1px solid #d7e3e9;background:#fff}.three-t-perf-toolbar button{border:1px solid #b9ccd6;border-radius:8px;background:#fff;color:#315c72;padding:7px 10px;font-size:10px;font-weight:850;cursor:pointer}.three-t-perf-toolbar button.primary{background:#1f6588;border-color:#1f6588;color:#fff}.three-t-perf-toolbar button.danger{margin-left:auto;color:#9b4033;border-color:#dfb1aa;background:#fff7f5}.three-t-perf-status{padding:8px 12px;border-bottom:1px solid #dde7ec;background:#eef6f9;color:#496b7c;font-size:10px;font-weight:750;flex:0 0 auto}.three-t-perf-list{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:11px 12px 14px;display:grid;align-content:start;gap:10px}.three-t-perf-empty{padding:24px 12px;text-align:center;color:#78909c;font-size:11px}.three-t-perf-record{border:1px solid #cedde5;border-radius:11px;background:#fff;overflow:hidden}.three-t-perf-record-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;background:#eef5f8;border-bottom:1px solid #dae6eb}.three-t-perf-record-head strong{color:#214f68;font-size:11.5px}.three-t-perf-record-head span{color:#7c909b;font-size:9px;white-space:nowrap}.three-t-perf-record-grid{display:grid;grid-template-columns:minmax(145px,.75fr) minmax(0,1.25fr)}.three-t-perf-record-grid dt,.three-t-perf-record-grid dd{margin:0;padding:7px 10px;border-bottom:1px solid #edf2f5;font-size:9.5px;line-height:1.35;overflow-wrap:anywhere}.three-t-perf-record-grid dt{color:#68818f;font-weight:850;background:#fbfdfe}.three-t-perf-record-grid dd{color:#294f63;font-weight:750}.three-t-perf-record-grid dt:last-of-type,.three-t-perf-record-grid dd:last-of-type{border-bottom:0}.three-t-perf-slow{color:#a34c34!important;font-weight:900!important}.three-t-perf-good{color:#28704c!important}.three-t-perf-copy-toast{position:fixed;left:50%;bottom:78px;z-index:13100;transform:translateX(-50%);display:none;padding:9px 13px;border-radius:999px;background:#173f58;color:#fff;font-size:10px;font-weight:850;box-shadow:0 8px 26px rgba(0,0,0,.25)}.three-t-perf-copy-toast.show{display:block}
@media(max-width:760px){.three-t-perf-overlay{padding:max(6px,env(safe-area-inset-top)) 8px max(6px,env(safe-area-inset-bottom));align-items:center}.three-t-perf-panel{height:min(92dvh,820px);max-height:calc(100dvh - 16px);min-height:0;border-radius:12px}.three-t-perf-head{flex:0 0 auto;padding:12px 13px}.three-t-perf-head h2{font-size:15px}.three-t-perf-toolbar{padding:8px}.three-t-perf-toolbar button{flex:1;min-width:92px}.three-t-perf-toolbar button.danger{margin-left:0}.three-t-perf-list{padding:8px}.three-t-perf-record-grid{grid-template-columns:1fr}.three-t-perf-record-grid dt{padding-bottom:2px;border-bottom:0}.three-t-perf-record-grid dd{padding-top:2px}.three-t-perf-fab{right:10px;bottom:10px;padding:9px 11px}.perf-topbtn{min-width:34px!important;padding-left:8px!important;padding-right:8px!important}.perf-topbtn>span:last-child{display:none!important}}
.three-t-perf-copy-helper{position:fixed!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
