:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#172033;
  background:#f5f8fc;
  --blue:#1452cf;
  --blue-2:#2f78e8;
  --blue-3:#eaf1ff;
  --green:#38b986;
  --teal:#39a9c1;
  --mint:#70dcc2;
  --nav:#102f56;
  --nav-2:#0b2749;
  --ink:#172033;
  --muted:#6f7b8d;
  --line:#e5ebf3;
  --line-strong:#d8e1ec;
  --card:#fff;
  --bg:#f5f8fc;
  --danger:#c83a37;
  --warning:#d58a19;
  --success:#19875f;
  --radius:16px;
  --shadow:0 10px 30px rgba(24,49,83,.07);
  --shadow-lg:0 24px 70px rgba(20,46,79,.15);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.hidden{display:none!important}
.muted{color:var(--muted)}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;word-break:break-word}

/* LOGIN */
.login{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:40px 22px;
  background:
    radial-gradient(circle at 15% 20%,rgba(112,220,194,.24),transparent 28%),
    radial-gradient(circle at 85% 15%,rgba(47,120,232,.17),transparent 30%),
    linear-gradient(145deg,#f8fbff 0%,#f3f8fb 55%,#f7fbf9 100%);
  position:relative;
  overflow:hidden;
}
.login:before,.login:after{content:"";position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}
.login:before{width:430px;height:430px;left:-210px;bottom:-220px;background:rgba(56,185,134,.08)}
.login:after{width:520px;height:520px;right:-260px;top:-260px;background:rgba(20,82,207,.07)}
.login-panel{width:min(520px,100%);position:relative;z-index:1}
.login-logo-wrap{text-align:center;margin-bottom:24px}
.login-logo{display:block;width:min(390px,88%);height:auto;margin:0 auto;mix-blend-mode:multiply}
.login-card{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(216,225,236,.92);
  border-radius:24px;
  padding:34px;
  box-shadow:var(--shadow-lg);
  backdrop-filter:blur(8px);
}
.login-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-weight:800;margin-bottom:8px}
.login-title{margin:0;font-size:1.55rem;letter-spacing:-.02em;color:#163760}
.login-subtitle{margin:8px 0 26px;color:var(--muted);line-height:1.5}
.login form{display:grid;gap:16px}
.login label{font-size:.88rem;font-weight:750;color:#2b3b50}
.login input{height:48px}
.login button[type="submit"]{height:48px;margin-top:3px}
.login-locale{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}
.login-locale label{width:180px}

/* FORMS / BUTTONS */
form{display:grid;gap:14px}
label{display:grid;gap:7px;font-weight:700;font-size:.9rem;color:#344054}
input,select,textarea{
  width:100%;
  border:1px solid #ced8e5;
  border-radius:11px;
  padding:10px 12px;
  background:#fff;
  color:var(--ink);
  outline:none;
  transition:border-color .16s,box-shadow .16s,background .16s;
}
input:focus,select:focus,textarea:focus{border-color:#79a4ed;box-shadow:0 0 0 4px rgba(20,82,207,.09)}
textarea{min-height:110px;resize:vertical}
button,.button{
  border:0;
  border-radius:10px;
  padding:10px 15px;
  min-height:40px;
  background:linear-gradient(135deg,var(--blue),var(--blue-2));
  color:#fff;
  font-weight:750;
  box-shadow:0 4px 12px rgba(20,82,207,.16);
  transition:transform .15s,box-shadow .15s,opacity .15s;
}
button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(20,82,207,.2)}
button:active,.button:active{transform:translateY(0)}
button:disabled{opacity:.52;cursor:not-allowed;transform:none;box-shadow:none}
button.secondary,.button.secondary{background:#edf3fb;color:#2b486c;box-shadow:none}
button.secondary:hover,.button.secondary:hover{background:#e4edf8}
button.danger,.button.danger,.danger{background:var(--danger);color:#fff}
button.small,.button.small{padding:7px 10px;min-height:32px;font-size:.82rem}
.link-btn,.link-button{background:transparent;color:var(--blue);padding:0;min-height:0;box-shadow:none;text-align:left;font-weight:800}
.link-btn:hover,.link-button:hover{text-decoration:underline;transform:none;box-shadow:none}

/* SHELL */
.shell{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:100vh}
.sidebar{
  background:linear-gradient(180deg,var(--nav) 0%,var(--nav-2) 100%);
  color:#fff;
  height:100vh;
  position:sticky;
  top:0;
  overflow-y:auto;
  overflow-x:hidden;
  border-right:1px solid rgba(255,255,255,.05);
  scrollbar-width:thin;
}
.sidebar-brand{
  height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 18px;
  background:#fff;
  border-bottom:1px solid #dfe7f0;
}
.sidebar-brand img{display:block;width:100%;max-width:230px;height:72px;object-fit:contain;mix-blend-mode:multiply}
.sidebar-inner{padding:18px 14px 28px}
.nav-group{margin:0 0 18px}
.nav-group-title{
  padding:0 12px 8px;
  color:#8fabc7;
  font-size:.68rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:850;
}
.nav{display:grid;gap:4px}
.nav button{
  width:100%;
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:9px;
  align-items:center;
  text-align:left;
  background:transparent;
  color:#dce7f2;
  box-shadow:none;
  padding:8px 10px;
  min-height:43px;
  border-radius:10px;
  font-weight:650;
}
.nav button:hover{background:rgba(255,255,255,.075);color:#fff;transform:none;box-shadow:none}
.nav button.active{background:linear-gradient(90deg,rgba(47,120,232,.34),rgba(56,185,134,.16));color:#fff;box-shadow:inset 3px 0 0 var(--mint)}
.nav-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.07);color:#b9d7ef}
.nav button.active .nav-icon{background:rgba(255,255,255,.13);color:#fff}
.nav-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main{min-width:0}
.topbar{
  height:76px;
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(300px,580px) minmax(260px,1fr);
  align-items:center;
  gap:18px;
  padding:0 28px;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:12;
  backdrop-filter:blur(10px);
}
.topbar-title{min-width:0}
.topbar-title strong{display:block;color:#203a5a;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-title span{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.topbar-search{position:relative}
.topbar-search input{height:42px;padding-left:42px;background:#f6f9fc;border-color:#e1e8f0}
.topbar-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:#8291a4;fill:none;stroke-width:2}
.topbar .actions{display:flex;justify-content:flex-end;gap:9px;align-items:center;min-width:0}
.topbar .actions select{width:72px;height:40px;padding:7px 10px}
.user-chip{display:flex;align-items:center;gap:10px;min-width:0;padding:5px 10px 5px 5px;border-radius:999px;background:#f4f7fb}
.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-size:.76rem;font-weight:850;flex:0 0 auto}
.user-meta{min-width:0}
.user-meta strong{display:block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem;color:#263d58}
.user-meta span{display:block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;color:var(--muted)}
.topbar #logout{background:#eef3f8;color:#39526d;box-shadow:none;padding:8px 11px;min-height:40px}
.mobile-nav-toggle{display:none;background:#edf3fb;color:#31506f;box-shadow:none;padding:8px;min-width:40px}
.mobile-nav-toggle svg{display:block;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.content{padding:30px 30px 44px;max-width:1700px;margin:0 auto}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 22px}
.page-head h1{margin:0;color:#173554;font-size:1.75rem;letter-spacing:-.03em;line-height:1.15}
.head-actions,.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.form-actions{justify-content:flex-end;margin-top:18px}

/* DASHBOARD */
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(120deg,#113d75 0%,#1556ce 62%,#3b9fc0 100%);color:#fff;border-radius:22px;padding:24px 26px;margin-bottom:20px;box-shadow:0 18px 42px rgba(20,82,207,.16);overflow:hidden;position:relative}
.dashboard-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-120px;background:rgba(112,220,194,.17)}
.dashboard-hero h2{margin:0 0 6px;font-size:1.35rem;position:relative;z-index:1}
.dashboard-hero p{margin:0;color:#dbe8f8;position:relative;z-index:1}
.dashboard-hero .hero-badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.78rem;font-weight:750;white-space:nowrap}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.kpi-card{grid-column:span 3;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 20px rgba(28,50,77,.045);position:relative;overflow:hidden}
.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}
.kpi-card:nth-child(4n+2):before{background:var(--green)}
.kpi-card:nth-child(4n+3):before{background:var(--teal)}
.kpi-card:nth-child(4n+4):before{background:#7b83d6}
.kpi-label{font-size:.79rem;color:var(--muted);font-weight:700;line-height:1.35;min-height:2.1em}
.kpi-value{margin-top:8px;font-size:1.55rem;font-weight:850;color:#183d68;letter-spacing:-.03em}
.dashboard-span-8{grid-column:span 8}.dashboard-span-4{grid-column:span 4}

/* CARDS / DATA */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:19px;margin-bottom:16px;box-shadow:0 5px 18px rgba(28,50,77,.035)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:16px}
.cards .card{margin-bottom:0}
.metric{font-size:1.55rem;font-weight:850;color:#183d68;letter-spacing:-.03em}
.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:14px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:14px}
.toolbar label{min-width:180px}.toolbar .grow{flex:1;min-width:260px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(28,50,77,.03)}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf1f5;vertical-align:top;font-size:.88rem}
th{background:#f7f9fc;color:#637185;font-weight:800;white-space:nowrap;font-size:.76rem;text-transform:uppercase;letter-spacing:.035em}
tbody tr{transition:background .15s}tbody tr:hover{background:#fbfdff}tr:last-child td{border-bottom:0}
.status,.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#eef3f9;color:#49647f;font-size:.75rem;font-weight:750}
.error{background:#fff3f2;color:#a93633;border:1px solid #f2c9c6;border-radius:12px;padding:11px 13px;margin:10px 0}
.success{background:#eefbf5;color:#147250;border:1px solid #bfe9d8;border-radius:12px;padding:11px 13px;margin:10px 0}
.warning-box{background:#fff8e9;border:1px solid #f4dca0;color:#79501b;border-radius:12px;padding:11px 13px;margin:10px 0}
.warn-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#e49a25;color:#fff;font-size:.75rem;font-weight:900;margin-left:6px}
.batch-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8fbfe;border:1px solid var(--line);border-radius:11px;margin-bottom:12px}
.pager{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.detail-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;color:var(--muted);font-size:.82rem}
.detail-grid strong{color:#293e57;font-size:.92rem}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.small-metric{font-size:1.05rem}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.inline-check{display:flex;align-items:center;gap:8px;font-weight:650}.inline-check input{width:auto}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.checkbox-grid label{display:flex;align-items:center;gap:8px;font-weight:500}.checkbox-grid input{width:auto}
.perm-group{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:#fafcfe}.perm-group>summary{cursor:pointer;padding:11px 13px;font-weight:800}.perm-group>div{padding:0 12px 12px}
.override-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.override-grid label{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px;align-items:center;font-weight:500}.override-grid select{padding:8px}
.error-detail{display:block;max-width:420px;white-space:normal;word-break:break-word;font-size:.8rem;color:#a93633;margin-top:4px}
pre{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit}.table-wrap pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;max-width:620px}

/* MODALS / FEEDBACK */
.modal-backdrop{position:fixed;inset:0;background:rgba(9,27,49,.52);display:grid;place-items:center;padding:20px;z-index:40;backdrop-filter:blur(3px)}
.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:23px;box-shadow:var(--shadow-lg)}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.modal-head h2{margin:0;color:#173554}.modal-head button{background:#edf3f8;color:#35516d;box-shadow:none}
.modal hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.toast{position:fixed;right:20px;bottom:20px;max-width:420px;background:#173554;color:#fff;border-radius:13px;padding:13px 16px;z-index:60;box-shadow:0 14px 40px rgba(9,27,49,.22)}
.toast.success{background:#167453;color:#fff;border:0}.toast.error{background:#a93633;color:#fff;border:0}
.skeleton{min-height:160px;position:relative;overflow:hidden;background:#fff}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(20,82,207,.05),transparent);animation:ee-shimmer 1.2s infinite}@keyframes ee-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
progress{width:100%;height:14px}

/* KANBAN / SEARCH / TIMELINE */
.timeline{display:grid;gap:8px}.timeline-item{border-left:3px solid #8eb3ee;padding:9px 13px;background:#fbfcfe;border-radius:0 11px 11px 0}.timeline-item strong,.timeline-item span{display:block}.timeline-item p{margin:6px 0 0}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,310px);gap:13px;overflow-x:auto;padding-bottom:12px}.kanban-col{background:#edf3f8;border:1px solid var(--line);border-radius:15px;min-height:420px;padding:10px}.kanban-col>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 5px 12px}.kanban-col.dragover{outline:2px solid var(--blue)}.kanban-stack{display:grid;gap:9px}.kanban-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;cursor:grab;display:grid;gap:5px;box-shadow:0 3px 10px rgba(16,24,40,.04)}.kanban-card span,.kanban-card small{color:var(--muted)}
.search-big{display:grid;grid-template-columns:1fr auto;gap:10px}.search-group{margin-top:18px}.search-hit{width:100%;display:grid;gap:3px;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);margin:6px 0;box-shadow:none}.search-hit:hover{border-color:#aebdce;background:#f9fbfd;transform:none}.search-hit span{font-weight:400;color:var(--muted)}

/* RESPONSIVE */
@media(max-width:1280px){
  .topbar{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.3fr) minmax(220px,1fr);padding:0 20px}
  .kpi-card{grid-column:span 4}.dashboard-span-8{grid-column:span 8}.dashboard-span-4{grid-column:span 4}
}
@media(max-width:1050px){
  .shell{grid-template-columns:242px minmax(0,1fr)}
  .sidebar-brand{height:98px}.sidebar-brand img{max-width:196px;height:62px}
  .topbar{grid-template-columns:1fr auto}.topbar-search{display:none}
  .user-meta{display:none}
  .kpi-card{grid-column:span 6}.dashboard-span-8,.dashboard-span-4{grid-column:span 12}
}
@media(max-width:780px){
  .shell{display:block}.sidebar{position:fixed;left:0;top:0;width:286px;z-index:50;transform:translateX(-100%);transition:transform .2s}.shell.nav-open .sidebar{transform:translateX(0)}
  .mobile-nav-toggle{display:grid;place-items:center}
  .topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:0 12px;height:66px;gap:10px}.topbar-title{display:none}.topbar .actions select{display:none}.topbar #logout{display:none}
  .content{padding:20px 14px 34px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:1.5rem}
  .dashboard-hero{padding:20px;align-items:flex-start;flex-direction:column}.kpi-card{grid-column:span 12}.two-col{grid-template-columns:1fr}
}
@media(max-width:540px){
  .login{padding:24px 14px}.login-logo{width:92%}.login-card{padding:24px 20px;border-radius:20px}
  .topbar .user-chip{display:none}.topbar{grid-template-columns:auto 1fr auto}.topbar:after{content:""}
  .toolbar .grow,.toolbar label{min-width:100%;width:100%}.search-big{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.kanban{grid-auto-columns:minmax(240px,86vw)}
}

/* ========================================================================== 
   ENVIES D'ÉVASIONS — HUB PREMIUM UI V9
   ========================================================================== */
:root{
  --blue:#1652c9;
  --blue-2:#2f76e7;
  --blue-deep:#103c78;
  --green:#39b985;
  --teal:#42abc0;
  --mint:#70dbc1;
  --sand:#a9a092;
  --ink:#15324f;
  --muted:#748398;
  --bg:#f6f8fb;
  --card:#fff;
  --line:#e7edf3;
  --line-strong:#dbe4ed;
  --radius:18px;
  --shadow:0 12px 35px rgba(31,63,101,.065);
  --shadow-lg:0 28px 70px rgba(22,54,92,.15);
}
body{background:var(--bg);color:var(--ink)}

/* Login — marque au centre, plus éditorial et moins "template admin" */
.login{
  background:
    linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.88)),
    radial-gradient(circle at 14% 16%,rgba(112,219,193,.30),transparent 32%),
    radial-gradient(circle at 84% 8%,rgba(47,118,231,.20),transparent 34%),
    linear-gradient(145deg,#edf8f6 0%,#f5f8ff 54%,#f7fbfa 100%);
}
.login-panel{width:min(545px,100%)}
.login-logo-wrap{margin-bottom:26px}
.login-logo{width:min(445px,93%);filter:drop-shadow(0 10px 24px rgba(23,79,157,.08));mix-blend-mode:normal}
.login-card{border:1px solid rgba(225,233,241,.95);border-radius:26px;padding:36px 38px;box-shadow:0 30px 80px rgba(24,57,91,.14)}
.login-kicker{color:var(--green);letter-spacing:.18em}
.login-title{font-size:1.75rem;color:var(--ink)}
.login-subtitle{font-size:.95rem}
.login input{height:50px;border-radius:13px;background:#fbfcfe}
.login button[type="submit"]{height:50px;border-radius:13px;background:linear-gradient(100deg,var(--blue),#2874df 70%,var(--teal));box-shadow:0 12px 24px rgba(22,82,201,.20)}

/* Shell premium — navigation claire et repliable */
.shell{grid-template-columns:254px minmax(0,1fr)}
.sidebar{
  background:#fff;
  color:var(--ink);
  border-right:1px solid var(--line);
  box-shadow:10px 0 35px rgba(29,59,92,.035);
  display:flex;
  flex-direction:column;
}
.sidebar-brand{height:98px;padding:15px 18px;background:#fff;border-bottom:1px solid var(--line)}
.sidebar-brand img{max-width:210px;height:65px;mix-blend-mode:normal}
.sidebar-inner{padding:14px 12px 18px;flex:1}
.nav-group{margin:0 0 7px;border-radius:13px}
.nav-group>summary{list-style:none;cursor:pointer}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group-title{
  padding:10px 10px 8px;
  color:#7b8a9d;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:850;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  user-select:none;
}
.nav-group-title svg{width:15px;height:15px;stroke:#9aa7b7;fill:none;stroke-width:2;transition:transform .18s ease}
.nav-group[open] .nav-group-title svg{transform:rotate(90deg)}
.nav{gap:3px;padding:0 0 7px}
.nav button{
  color:#41546a;
  grid-template-columns:31px minmax(0,1fr);
  gap:8px;
  min-height:41px;
  padding:7px 9px;
  border-radius:11px;
  font-weight:670;
}
.nav button:hover{background:#f3f7fb;color:var(--blue-deep)}
.nav button.active{
  background:linear-gradient(105deg,#eaf2ff 0%,#edf9f5 100%);
  color:#174a98;
  box-shadow:none;
}
.nav button.active:after{content:"";width:4px;height:20px;border-radius:999px;background:linear-gradient(var(--blue),var(--green));justify-self:end}
.nav button.active{grid-template-columns:31px minmax(0,1fr) 4px}
.nav-icon{width:30px;height:30px;border-radius:9px;background:#f1f5f9;color:#72869d}
.nav button:hover .nav-icon{background:#eaf1fb;color:var(--blue)}
.nav button.active .nav-icon{background:#fff;color:var(--blue);box-shadow:0 4px 12px rgba(30,83,164,.10)}
.sidebar-foot{margin:8px 14px 16px;padding:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;color:#8a98a9;font-size:.72rem}
.sidebar-foot-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(57,185,133,.10)}

/* Header */
.topbar{
  height:74px;
  grid-template-columns:minmax(190px,.7fr) minmax(300px,600px) minmax(420px,1fr);
  gap:20px;
  padding:0 26px;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--line);
}
.topbar-title strong{font-size:1rem;color:#1b3a59}
.topbar-title span{font-size:.72rem;color:#92a0b1}
.topbar-search input{height:43px;background:#f6f8fb;border:1px solid #e4eaf1;border-radius:13px;padding-left:43px}
.topbar-search input:focus{background:#fff;border-color:#b7cae8;box-shadow:0 0 0 4px rgba(22,82,201,.06)}
.topbar .actions{gap:8px;position:relative}
.quick-create-wrap{position:relative}
.quick-create{height:40px;min-height:40px;padding:7px 13px 7px 9px;border-radius:11px;background:linear-gradient(100deg,var(--blue),#2875df);box-shadow:0 8px 18px rgba(22,82,201,.16);display:flex;align-items:center;gap:8px}
.quick-plus{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.17);font-size:1.2rem;line-height:1;font-weight:500}
.quick-menu{position:absolute;top:48px;right:0;width:245px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 20px 55px rgba(21,50,79,.17);z-index:30}
.quick-menu button{width:100%;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;text-align:left;background:transparent;color:#344c65;box-shadow:none;padding:8px;border-radius:10px;min-height:42px}
.quick-menu button:hover{background:#f4f8fc;transform:none;box-shadow:none;color:var(--blue)}
.quick-menu button span{width:32px;height:32px;border-radius:9px;background:#eef4fc;display:grid;place-items:center;color:var(--blue)}
.quick-menu button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9}
.icon-button{width:40px;height:40px;min-height:40px;padding:0;display:grid;place-items:center;border-radius:11px;background:#f4f7fa;color:#50667d;box-shadow:none}
.icon-button:hover{background:#eaf2fb;color:var(--blue);box-shadow:none;transform:none}
.icon-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9}
.user-chip{background:#f7f9fb;border:1px solid #edf1f5;padding:4px 9px 4px 4px}
.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--blue),var(--teal) 55%,var(--green));font-size:.7rem}
.topbar #logout{background:transparent;color:#64768b;border:1px solid #e3e9ef;border-radius:11px;box-shadow:none}
.topbar #logout:hover{background:#f5f8fb;color:#29445f;transform:none;box-shadow:none}

/* Page rhythm */
.content{padding:32px 32px 54px;max-width:1640px}
.page-head{margin-bottom:20px;align-items:center}
.page-head h1{font-size:1.7rem;color:#153451}
.card,.table-wrap,.toolbar{box-shadow:0 7px 24px rgba(24,54,87,.035)}
.card{border-radius:18px;border-color:var(--line);padding:21px}
.toolbar{border-radius:16px;padding:14px;background:#fff}
.table-wrap{border-radius:17px}
th{background:#fafbfd;color:#708095;border-bottom:1px solid #e8edf3}
td{padding:13px 14px}
tbody tr:hover{background:#f8fbfd}
.status,.badge{background:#f0f5fa;color:#4e657d}
button,.button{border-radius:11px;background:linear-gradient(100deg,var(--blue),#2b74dc);box-shadow:0 5px 14px rgba(22,82,201,.13)}
button.secondary,.button.secondary{background:#f0f4f8;color:#405b76;border:1px solid #e6ebf0}
input,select,textarea{border-radius:12px;border-color:#d7e0e9}
.modal{border-radius:24px;border:1px solid rgba(231,237,243,.9)}

/* Dashboard premium */
.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 24px;padding:2px 2px 0}
.dashboard-eyebrow{display:block;text-transform:capitalize;color:var(--green);font-size:.76rem;letter-spacing:.09em;font-weight:800;margin-bottom:7px}
.dashboard-welcome h1{margin:0;color:#143653;font-size:2rem;line-height:1.05;letter-spacing:-.045em}
.dashboard-welcome p{margin:8px 0 0;color:#778699;font-size:.95rem}
.dashboard-brand-mark{display:flex;gap:7px;align-items:end;height:38px;padding-right:6px}
.dashboard-brand-mark span{display:block;width:8px;border-radius:999px;background:var(--blue)}
.dashboard-brand-mark span:nth-child(1){height:22px;background:var(--green)}
.dashboard-brand-mark span:nth-child(2){height:36px;background:var(--blue)}
.dashboard-brand-mark span:nth-child(3){height:28px;background:var(--teal)}
.premium-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.premium-kpi{position:relative;min-height:132px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:19px;padding:17px;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:13px;align-items:start;text-align:left;box-shadow:0 10px 28px rgba(28,59,92,.05);overflow:hidden}
.premium-kpi:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--blue)}
.premium-kpi.tone-green:before{background:var(--green)}
.premium-kpi.tone-teal:before{background:var(--teal)}
.premium-kpi.tone-violet:before{background:#7374cf}
.premium-kpi:hover{transform:translateY(-2px);border-color:#d7e2ee;box-shadow:0 16px 36px rgba(27,58,91,.08)}
.premium-kpi-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#edf3ff;color:var(--blue)}
.tone-green .premium-kpi-icon{background:#ecfaf4;color:#23966a}
.tone-teal .premium-kpi-icon{background:#eaf8fb;color:#228fa8}
.tone-violet .premium-kpi-icon{background:#f1effc;color:#6260bd}
.premium-kpi-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.85}
.premium-kpi-copy{display:grid;gap:5px}
.premium-kpi-label{font-size:.78rem;color:#7b899a;font-weight:750;line-height:1.25}
.premium-kpi-copy strong{font-size:1.65rem;letter-spacing:-.04em;color:#173d63;line-height:1.15}
.premium-kpi-copy small{font-size:.72rem;color:#8895a5}
.premium-kpi-arrow{align-self:center;color:#a1adba;font-weight:500}
.dashboard-layout{display:grid;gap:16px;margin-bottom:16px;align-items:stretch}
.dashboard-main-row{grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr)}
.dashboard-second-row{grid-template-columns:minmax(430px,1fr) minmax(0,1.15fr)}
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:21px;box-shadow:0 9px 30px rgba(26,57,90,.045);min-width:0}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.panel-head h2{margin:2px 0 0;color:#183a59;font-size:1.08rem;letter-spacing:-.02em}
.panel-kicker{display:block;color:#8795a6;font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.panel-link{background:transparent;color:var(--blue);box-shadow:none;padding:5px;min-height:30px;font-size:.78rem}
.panel-link:hover{background:transparent;box-shadow:none;transform:none;color:#0c47b8}
.soft-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#ecfaf4;color:#218760;font-size:.75rem;font-weight:850}
.pipeline-list{display:grid;gap:7px}
.pipeline-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;width:100%;background:transparent;color:var(--ink);box-shadow:none;padding:7px 0;text-align:left}
.pipeline-row:hover{transform:none;box-shadow:none}
.pipeline-rank{font-size:.7rem;color:#9aa7b5;font-weight:800;padding-top:2px}
.pipeline-copy{display:grid;gap:7px}
.pipeline-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;color:#53677c}
.pipeline-label strong{font-weight:720}
.pipeline-label b{color:#1a3d61;font-size:.82rem}
.pipeline-track{display:block;height:7px;border-radius:999px;background:#edf2f6;overflow:hidden}
.pipeline-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--teal) 70%,var(--green));min-width:0}
.priority-list{display:grid;gap:8px}
.priority-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;background:#fafbfd;color:var(--ink);box-shadow:none;border:1px solid #eef2f5;padding:10px;border-radius:13px}
.priority-row:hover{background:#f6f9fc;transform:none;box-shadow:none;border-color:#e2e9f0}
.priority-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eef4fb;color:var(--blue)}
.priority-danger .priority-icon{background:#fff0ef;color:#c64a45}.priority-warning .priority-icon{background:#fff7e8;color:#c9841c}.priority-teal .priority-icon{background:#eaf9fb;color:#238fa4}
.priority-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9}
.priority-copy{display:grid;gap:2px}
.priority-copy strong{font-size:.8rem;color:#304a64}.priority-copy small{font-size:.68rem;color:#98a4b2}
.priority-row>b{font-size:.84rem;color:#173c61;white-space:nowrap}
.empty-priority{min-height:190px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:#718294}
.empty-priority span{width:48px;height:48px;border-radius:16px;background:#ecfaf4;color:var(--green);display:grid;place-items:center}
.empty-priority svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8}
.empty-priority strong{font-size:.85rem;font-weight:700}
.collection-card{display:grid;grid-template-columns:165px minmax(0,1fr);gap:20px;align-items:center}
.collection-ring{--p:0;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--p)*1%),#eef2f5 0);position:relative}
.collection-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff}
.collection-ring>div{position:relative;z-index:1;text-align:center;display:grid;gap:2px;padding:12px}
.collection-ring strong{font-size:1.45rem;color:#173d61;letter-spacing:-.04em}
.collection-ring span{font-size:.68rem;line-height:1.25;color:#8492a3}
.finance-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.finance-stat{padding:10px 11px;border-radius:12px;background:#f8fafc;display:grid;gap:3px}
.finance-stat span{font-size:.7rem;color:#8593a3;line-height:1.25}.finance-stat strong{font-size:.88rem;color:#294863}
.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.quick-action-card{min-height:92px;text-align:left;background:#f8fafc;color:#29445f;box-shadow:none;border:1px solid #edf1f5;border-radius:14px;padding:12px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center}
.quick-action-card:hover{background:#f3f8fd;border-color:#dde8f2;box-shadow:none;transform:translateY(-1px)}
.quick-action-card>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#edf4ff;color:var(--blue)}
.quick-action-card svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9}
.quick-action-card strong{font-size:.76rem;line-height:1.2}.quick-action-card small{font-size:.64rem;color:#929eac;line-height:1.2}
.dashboard-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mini-insight{display:grid;grid-template-columns:45px minmax(0,1fr) 20px;gap:12px;align-items:center;text-align:left;background:#fff;color:var(--ink);box-shadow:0 8px 25px rgba(27,58,90,.04);border:1px solid var(--line);border-radius:17px;padding:14px 16px}
.mini-insight:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(27,58,90,.07);border-color:#d9e4ee}
.mini-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#edf3ff,#eefaf6);color:var(--blue);display:grid;place-items:center}
.mini-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.mini-insight>span:nth-child(2){display:grid;gap:4px}.mini-insight small{font-size:.7rem;color:#8996a5}.mini-insight strong{font-size:1rem;color:#1f405e}.mini-insight em{font-size:.69rem;color:#8593a3;font-style:normal;font-weight:600}.mini-insight>b{color:#9aa6b3}

/* Dashboard legacy elements are no longer used */
.dashboard-hero,.dashboard-grid{display:none}

@media(max-width:1360px){
  .shell{grid-template-columns:238px minmax(0,1fr)}
  .topbar{grid-template-columns:minmax(160px,.6fr) minmax(280px,1fr) minmax(390px,1.1fr);padding:0 20px}
  .premium-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-main-row,.dashboard-second-row{grid-template-columns:1fr 1fr}
  .quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1080px){
  .topbar{grid-template-columns:1fr auto}.topbar-search{display:none}.quick-create{display:none}
  .dashboard-main-row,.dashboard-second-row{grid-template-columns:1fr}
  .collection-card{grid-template-columns:150px minmax(0,1fr)}
}
@media(max-width:780px){
  .sidebar{width:272px}.content{padding:24px 16px 38px}.premium-kpi-grid{grid-template-columns:1fr 1fr}.dashboard-welcome h1{font-size:1.7rem}.dashboard-brand-mark{display:none}.dashboard-mini-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .premium-kpi-grid{grid-template-columns:1fr}.premium-kpi{min-height:112px}.collection-card{grid-template-columns:1fr}.collection-ring{margin:0 auto}.finance-stats{grid-template-columns:1fr 1fr}.quick-action-grid{grid-template-columns:1fr 1fr}.dashboard-welcome{align-items:flex-start}.dashboard-welcome h1{font-size:1.55rem}
}

/* ========================================================================== */
/* V15 — FORMULAIRES MÉTIER HUMAINS / RÉFÉRENTIELS                          */
/* ========================================================================== */
.modal:has(.modal-wide){width:min(980px,calc(100vw - 38px));max-width:980px}
.modal:has(.modal-xwide){width:min(1180px,calc(100vw - 38px));max-width:1180px}
.human-form{display:grid;gap:16px;padding-bottom:4px}
.human-section{border:1px solid #e8eef4;background:#fbfcfe;border-radius:18px;overflow:hidden}
.human-section-head{padding:17px 19px 12px;border-bottom:1px solid #edf2f6;background:linear-gradient(180deg,#fff,#fbfcfe)}
.human-section-head h3{margin:0;color:#1d405f;font-size:.96rem;letter-spacing:-.015em}
.human-section-head p{margin:5px 0 0;color:#7a8a9a;font-size:.75rem;line-height:1.45}
.human-section-body{padding:17px 19px;margin:0}
.human-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.human-section label{font-size:.76rem;font-weight:720;color:#536a7e;gap:6px}
.human-section input,.human-section select,.human-section textarea{background:#fff;border-color:#dce5ed}
.human-section input:focus,.human-section select:focus,.human-section textarea:focus{border-color:#80aef2;box-shadow:0 0 0 3px rgba(38,104,222,.09)}
.span-2{grid-column:span 2}
.field-label{display:block;font-size:.76rem;font-weight:720;color:#536a7e;margin-bottom:8px}
.field-hint{display:block;margin-top:5px;color:#8b99a7;font-weight:500;font-size:.68rem;line-height:1.4}
.choice-grid{display:flex;flex-wrap:wrap;gap:7px}
.choice-chip{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:7px 10px!important;border:1px solid #dfe7ee;border-radius:999px;background:#fff;color:#496075!important;font-size:.72rem!important;cursor:pointer;transition:.15s ease}
.choice-chip:hover{border-color:#b8cce0;background:#f7faff}
.choice-chip input{width:14px!important;height:14px!important;margin:0!important;accent-color:var(--blue)}
.choice-chip:has(input:checked){border-color:#8fb4ee;background:#edf4ff;color:#1851a9!important}
.toggle-field{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;padding:10px 12px;border:1px solid #e1e8ee;border-radius:12px;background:#fff;min-height:45px}
.toggle-field input{width:17px!important;height:17px!important;margin:0!important;accent-color:var(--blue)}
.toggle-field span{font-weight:720;color:#405a70}
.sticky-actions{position:sticky;bottom:-1px;z-index:4;margin:0 -1px -1px;padding:13px 4px 4px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 25%);border-top:0}
.soft-hidden{display:none!important}
.profile-summary{display:flex;gap:13px;align-items:center;padding:13px 15px;margin-bottom:14px;background:linear-gradient(135deg,#f4f8ff,#f2fbf7);border:1px solid #e3ecf4;border-radius:16px}
.profile-avatar{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--blue),var(--teal));display:grid;place-items:center;color:#fff;font-weight:850;font-size:1rem;box-shadow:0 7px 18px rgba(35,103,211,.16)}
.profile-summary h3{margin:0;color:#173d63;font-size:1rem}.profile-summary p{margin:3px 0 0;color:#7b8c9c;font-size:.75rem}
.inline-note{padding:10px 12px;border-radius:12px;background:#eef7ff;border:1px solid #d8e9f7;color:#527189;font-size:.72rem;line-height:1.45}
.input-with-suffix{display:grid;grid-template-columns:1fr auto;align-items:stretch}
.input-with-suffix input{border-radius:10px 0 0 10px!important}.input-with-suffix span{display:grid;place-items:center;padding:0 12px;border:1px solid #dce5ed;border-left:0;border-radius:0 10px 10px 0;background:#f4f7fa;color:#536a7e;font-size:.73rem;font-weight:750}
.translation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:17px 19px}
.translation-card{position:relative;border:1px solid #e2e9ef;border-radius:15px;padding:15px 13px 13px;background:#fff;display:grid;gap:10px;min-width:0}
.translation-card label{font-size:.72rem;font-weight:720;color:#586e82}.translation-card textarea{resize:vertical}
.rich-editor{overflow:hidden;border:1px solid #dce5ed;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.rich-editor:focus-within{border-color:#80aef2;box-shadow:0 0 0 3px rgba(38,104,222,.09)}
.rich-editor-toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:6px;border-bottom:1px solid #e5ebf1;background:#f7f9fb}
.rich-editor-toolbar button{min-width:30px;min-height:28px;padding:4px 7px;border:1px solid transparent;border-radius:7px;background:transparent!important;box-shadow:none!important;color:#405a70!important;font-size:.68rem;font-weight:800}
.rich-editor-toolbar button:hover{border-color:#d5e1ec;background:#fff!important;transform:none!important;box-shadow:none!important}
.rich-editor-content{min-height:116px;padding:11px 12px;overflow:auto;color:#233d55;font-size:.76rem;font-weight:560;line-height:1.5;outline:0;white-space:normal}
.rich-editor-content p{margin:0 0 .55em}.rich-editor-content p:last-child{margin-bottom:0}.rich-editor-content ul,.rich-editor-content ol{margin:.35em 0 .55em;padding-left:1.5em}.rich-editor-content li+li{margin-top:.2em}
.translation-badge{position:absolute;right:10px;top:9px;padding:4px 6px;border-radius:7px;background:#eef4fb;color:#2b5d92;font-size:.61rem;font-weight:900;letter-spacing:.08em}
.classification-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.scroll-choice{max-height:180px;overflow:auto;padding:10px;border:1px solid #e5ecf2;border-radius:13px;background:#fff;align-content:flex-start}
.intro-card{display:flex;justify-content:space-between;gap:20px;margin-bottom:15px;padding:19px 21px;border-radius:18px;background:linear-gradient(120deg,#f3f7ff,#eefbf6);border:1px solid #e1ebf3}
.intro-card h2{margin:0 0 5px;color:#1a4165;font-size:1.05rem}.intro-card p{margin:0;max-width:800px;color:#718498;font-size:.78rem;line-height:1.5}
.flag-cell{font-size:1.35rem;width:42px}.code-pill{display:inline-flex;padding:4px 7px;border-radius:8px;background:#f0f3f6;color:#607386;font-size:.68rem;font-weight:850;letter-spacing:.06em}
.status.success{background:#ecfaf4;color:#207b5b;border-color:#d9f1e6}

@media(max-width:760px){
 .human-section .form-grid,.classification-grid,.translation-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.translation-grid{padding:14px}.human-section-body{padding:14px}.modal:has(.modal-wide),.modal:has(.modal-xwide){width:calc(100vw - 18px)}
}


/* ========================================================================== */
/* V16 — FOURNISSEURS / PRESTATIONS / VENTES / FINANCE                       */
/* ========================================================================== */
.repeat-list{display:grid;gap:10px;margin-bottom:12px}
.repeat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid #e2eaf1;border-radius:14px;background:#fff}
.repeat-row-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.repeat-row-side{display:flex;align-items:center;gap:8px;padding-top:23px}
.compact-toggle{min-height:38px!important;padding:7px 9px!important;white-space:nowrap}
.icon-danger{width:34px;height:34px;min-height:34px;padding:0!important;border-radius:10px!important;display:grid!important;place-items:center;background:#fff3f2!important;color:#bd4a44!important;border:1px solid #f0d9d7!important;box-shadow:none!important;font-size:1.05rem!important}
.icon-danger:hover{background:#ffe9e7!important;transform:none!important;box-shadow:none!important}
.schedule-row,.allocation-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(145px,.7fr) minmax(145px,.7fr) 34px;gap:10px;align-items:end;padding:11px;border:1px solid #e4ebf1;border-radius:13px;background:#fff}
.allocation-row{grid-template-columns:minmax(280px,1fr) minmax(170px,.45fr) 34px}
.schedule-row label,.allocation-row label{margin:0}
.human-form .input-with-suffix input[type=number]{min-width:0}
.human-form select{min-height:44px}
.human-form textarea{line-height:1.5}
.human-form .choice-grid{padding-top:2px}
.human-section .secondary.small{margin-top:3px}
@media(max-width:760px){.repeat-row,.repeat-row-main,.schedule-row,.allocation-row{grid-template-columns:1fr}.repeat-row-side{padding-top:0;justify-content:space-between}.schedule-row .icon-danger,.allocation-row .icon-danger{justify-self:end}}
.source-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:12px 14px;border:1px solid #e2eaf1;border-radius:13px;background:#f8fbfd}
.source-summary div{display:grid;gap:3px}.source-summary strong{font-size:.96rem;color:#17344b}
@media(max-width:760px){.source-summary{grid-template-columns:1fr}}

/* ========================================================================== */
/* V17/V22 — DOSSIER 360 / NAVIGATION COMPLETE / LISTES PROFESSIONNELLES      */
/* ========================================================================== */
.sidebar-foot{display:grid;gap:10px}.sidebar-foot-line{display:flex;align-items:center;gap:8px}
.topbar-search kbd{border:1px solid #dfe6ef;background:#f8fafc;border-radius:7px;padding:3px 6px;color:#8390a0;font-size:.66rem;font-weight:700;white-space:nowrap}
.status{border:1px solid transparent}.status.warning{background:#fff7e8;color:#9b6614;border-color:#f6e5bc}.status.danger{background:#fff0ef;color:#b33f3a;border-color:#f4d5d2}.status.info{background:#eef5ff;color:#285b9d;border-color:#d9e8fb}
.list-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.list-tabs button{background:#fff!important;color:#536a7e!important;border:1px solid #dfe7ef!important;box-shadow:none!important;padding:8px 12px!important;border-radius:999px!important;font-size:.76rem!important}.list-tabs button.active{background:#edf4ff!important;color:#1753a8!important;border-color:#b9cff0!important}
.professional-toolbar{align-items:end}.professional-toolbar label{min-width:145px}.professional-toolbar .grow{min-width:260px}.professional-table thead th{position:sticky;top:0;background:#f7f9fc;z-index:2;box-shadow:0 1px 0 #e6edf4}.professional-table td{vertical-align:middle}.professional-table .num{text-align:right;white-space:nowrap}.table-date-arrow{display:inline-block;margin:0 6px;color:#9babb9}.empty-state{display:grid;place-items:center;gap:4px;min-height:96px;text-align:center;color:#718196}.empty-state strong{color:#425970;font-size:.9rem}.empty-state span{font-size:.76rem}.favorite-btn{font-size:1.18rem!important;min-width:42px}
.dossier-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin-bottom:12px;border:1px solid #dfe8f1;border-radius:20px;background:linear-gradient(115deg,#f9fbff 0%,#f3f8ff 52%,#f2fbf7 100%);box-shadow:0 10px 32px rgba(25,55,91,.045)}.dossier-hero h2{margin:8px 0 4px;color:#153a5c;font-size:1.35rem}.dossier-hero p{margin:0;color:#6c7f91;font-size:.86rem}.dossier-kicker{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#718397;font-size:.77rem;font-weight:650}.dossier-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.dossier-hero-metrics>div{display:grid;gap:3px;min-width:130px;padding:12px 14px;border:1px solid #e1e9f0;border-radius:14px;background:rgba(255,255,255,.82)}.dossier-hero-metrics span{color:#76889a;font-size:.7rem;font-weight:720}.dossier-hero-metrics strong{color:#193e61;font-size:1.02rem}.dossier-hero-metrics small{color:#6d8192;font-size:.67rem}
.dossier-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 13px}.dossier-quick-actions button{font-size:.76rem!important;padding:8px 11px!important}
.detail-tabs{display:flex;gap:4px;overflow:auto;padding:5px;margin-bottom:14px;border:1px solid #e1e8ef;border-radius:14px;background:#fff}.detail-tabs button{flex:0 0 auto;background:transparent!important;color:#64788b!important;border:0!important;box-shadow:none!important;border-radius:10px!important;padding:9px 12px!important;font-size:.76rem!important}.detail-tabs button:hover{background:#f4f7fa!important;transform:none!important}.detail-tabs button.active{background:#eaf2ff!important;color:#174f9e!important}
.dossier-panel{min-height:260px}.dossier-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px}.dossier-overview-grid>.dossier-attention{align-self:start}.dossier-overview-grid>.dossier-attention,.dossier-panel .card{border-radius:17px}.dossier-attention{padding:17px;border:1px solid #e1e9ef;background:#fff;border-radius:17px;box-shadow:0 7px 24px rgba(24,54,87,.035)}.dossier-attention h3,.dossier-panel .card h3{margin:0 0 13px;color:#1b405f;font-size:.94rem}.attention-item{padding:10px 11px;border-left:3px solid #d9a546;border-radius:0 10px 10px 0;background:#fff8e9;color:#785519;font-size:.76rem;line-height:1.4;margin-bottom:8px}.attention-item.danger{border-left-color:#cf5650;background:#fff1f0;color:#913c38}.attention-item.success{border-left-color:#36a578;background:#effaf5;color:#2a7458}.attention-empty{padding:13px;border:1px dashed #cfe6da;border-radius:11px;background:#f3fbf7;color:#2d765c;font-size:.78rem}.internal-note{margin-top:13px;padding:12px 13px;border-radius:12px;background:#fff9ea;border:1px solid #f2e6c5}.internal-note strong{font-size:.75rem;color:#7b612c}.internal-note p{margin:5px 0 0;color:#685c45;font-size:.77rem;line-height:1.5}.finance-progress{display:grid;grid-template-columns:1fr 1fr;gap:9px}.finance-progress>div{display:grid;gap:3px;padding:10px 11px;border:1px solid #e5ebf1;border-radius:11px;background:#fbfcfe}.finance-progress span{font-size:.7rem;color:#748597}.finance-progress strong{color:#183c5d}.finance-progress progress{grid-column:1/-1;width:100%;height:9px;accent-color:#37a97c}.finance-progress small{grid-column:1/-1;color:#768899}.finance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.finance-strip>div{display:grid;gap:4px;padding:14px 15px;border:1px solid #e1e9ef;border-radius:14px;background:#fff}.finance-strip span{font-size:.72rem;color:#748597;font-weight:700}.finance-strip strong{font-size:1.05rem;color:#173d5f}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.section-head h2{margin:0;color:#193c5c;font-size:1.08rem}.dossier-timeline{max-width:900px}.dossier-timeline .timeline-item{padding:12px 14px}.command-search{max-width:980px;margin:0 auto}.search-start{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}.search-start section{min-width:0}.search-start h3{margin:0 0 10px;color:#1d405f;font-size:.9rem}
@media(max-width:1100px){.dossier-hero{align-items:flex-start;flex-direction:column}.dossier-hero-metrics{width:100%}.dossier-overview-grid{grid-template-columns:1fr}.dossier-attention{order:-1}.professional-toolbar label{min-width:calc(33% - 12px)}}
@media(max-width:760px){.topbar-search kbd{display:none}.dossier-hero{padding:17px}.dossier-hero-metrics,.finance-strip,.finance-progress{grid-template-columns:1fr}.dossier-hero-metrics>div{min-width:0}.finance-progress progress,.finance-progress small{grid-column:1}.search-start{grid-template-columns:1fr}.professional-toolbar label,.professional-toolbar .grow{min-width:100%;width:100%}.detail-tabs{margin-left:-4px;margin-right:-4px}.dossier-quick-actions button{flex:1 1 45%}}

/* ========================================================================== */
/* V18 — WORKFLOW AGENCE / FOURNISSEUR 360 / DEVIS BUILDER / RÉSERVATIONS    */
/* ========================================================================== */
.strong-link{font-weight:800!important;color:#173f65!important}.danger-text,.negative-money{color:#b74843!important}.row-alert{background:#fffaf2!important}.row-alert td:first-child{box-shadow:inset 3px 0 0 #e2a13c}.inline-alert{display:block;margin-top:5px;font-size:.67rem;font-weight:750;line-height:1.25}.inline-alert.danger{color:#b74843}.inline-alert.success{color:#237451}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.prewrap{white-space:pre-wrap;line-height:1.55;color:#5f7182}

.supplier-hero,.booking-hero,.quote-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;margin-bottom:13px;border:1px solid #dfe8f1;border-radius:20px;background:linear-gradient(115deg,#fbfdff 0%,#f4f8ff 55%,#f1fbf7 100%);box-shadow:0 10px 32px rgba(25,55,91,.045)}
.supplier-hero h2,.booking-hero h2,.quote-hero h2{margin:8px 0 4px;color:#153a5c;font-size:1.35rem}.supplier-hero p,.booking-hero p,.quote-hero p{margin:0;color:#6d8092;font-size:.84rem}
.supplier-hero-metrics,.booking-hero-metrics,.quote-hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(125px,1fr));gap:9px;min-width:350px}.quote-hero-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))}
.supplier-hero-metrics>div,.booking-hero-metrics>div,.quote-hero-metrics>div{display:grid;gap:3px;padding:11px 13px;border:1px solid #e1e9ef;border-radius:13px;background:rgba(255,255,255,.86)}
.supplier-hero-metrics span,.booking-hero-metrics span,.quote-hero-metrics span{font-size:.69rem;font-weight:720;color:#748799}.supplier-hero-metrics strong,.booking-hero-metrics strong,.quote-hero-metrics strong{font-size:1rem;color:#173d5f}.supplier-hero-metrics small,.booking-hero-metrics small,.quote-hero-metrics small{font-size:.66rem;color:#7b8d9d}

.supplier-overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:15px}.supplier-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.supplier-contact-card{padding:13px 14px;border:1px solid #e2e9ef;border-radius:13px;background:#fbfcfe}.supplier-contact-card>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.supplier-contact-card strong{color:#1b405f;font-size:.86rem}.supplier-contact-card>span{display:block;margin-top:3px;color:#718397;font-size:.7rem}.supplier-contact-card p{margin:8px 0 0;color:#536a7e;font-size:.75rem}.supplier-contact-card a{color:#245d9b;text-decoration:none}.supplier-finance-grid{display:grid;gap:18px}.supplier-finance-grid>section{padding:16px;border:1px solid #e1e8ef;border-radius:16px;background:#fff}

.eyebrow{display:block;margin-bottom:4px;color:#7890a4;font-size:.64rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.quote-builder-layout,.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.quote-builder-side,.booking-side{display:grid;gap:13px}.sticky-card{position:sticky;top:16px}.quote-builder-side .card,.booking-side .card{border-radius:16px}.quote-builder-side h3,.booking-side h3{margin:0 0 12px;color:#1c405f;font-size:.92rem}
.builder-option{margin-bottom:15px;padding:0;border:1px solid #dde7ef;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 5px 20px rgba(30,57,85,.035)}.builder-option-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid #e8eef3;background:linear-gradient(180deg,#fff,#fbfcfe)}.builder-option-head h3{margin:0;color:#173d5f;font-size:1.02rem}.builder-option-head p{margin:4px 0 0;color:#748597;font-size:.75rem}.builder-option-actions{display:flex;gap:7px;flex-wrap:wrap}.quote-option-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:1px solid #e7edf2}.quote-option-kpis>div{display:grid;gap:3px;padding:12px 15px;border-right:1px solid #e7edf2}.quote-option-kpis>div:last-child{border-right:0}.quote-option-kpis span{font-size:.68rem;font-weight:720;color:#75889a}.quote-option-kpis strong{color:#173c5e;font-size:.94rem}.quote-option-kpis small{color:#788b9b;font-size:.66rem}.quote-lines{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0}.quote-lines table{margin:0}.quote-lines th:first-child,.quote-lines td:first-child{padding-left:18px}.quote-lines th:last-child,.quote-lines td:last-child{padding-right:18px}.quote-schedule{padding:14px 17px 16px;border-top:1px solid #e8eef3;background:#fbfcfe}.quote-schedule-grid{display:flex;gap:8px;flex-wrap:wrap}.quote-schedule-chip{display:grid;gap:2px;min-width:150px;padding:9px 11px;border:1px solid #e2e9ef;border-radius:11px;background:#fff}.quote-schedule-chip span{font-size:.66rem;color:#788a9b}.quote-schedule-chip strong{font-size:.82rem;color:#173e60}.quote-schedule-chip small{font-size:.65rem;color:#8796a4}.quote-client-copy{margin-bottom:13px;padding:13px 15px;border:1px solid #dfe9f2;border-radius:14px;background:#f7fbff}.quote-client-copy strong{color:#234e73;font-size:.75rem}.quote-client-copy p{margin:5px 0 0;color:#60768a;font-size:.77rem;line-height:1.5}
.quote-side-total{display:grid;gap:3px;padding:13px;border-radius:13px;background:#f2f7ff;border:1px solid #dce8f8}.quote-side-total span{color:#71859a;font-size:.7rem}.quote-side-total strong{color:#173f65;font-size:1.2rem}.quote-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.quote-side-grid>div{display:grid;gap:3px;padding:9px 10px;border:1px solid #e4ebf1;border-radius:11px}.quote-side-grid span{font-size:.66rem;color:#7c8e9e}.quote-side-grid strong{font-size:.85rem;color:#1d405f}.margin-meter{height:7px;margin:12px 0 5px;border-radius:999px;background:#e9eef3;overflow:hidden}.margin-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3a9a78,#68b990)}.quote-builder-side small{color:#738697}.quote-side-options{display:grid;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid #e7edf2}.quote-side-option{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 9px;border:1px solid #e5ebf0;border-radius:10px}.quote-side-option.selected{border-color:#9dc0ed;background:#f1f6ff}.quote-side-option span{font-size:.7rem;color:#657a8d}.quote-side-option strong{font-size:.78rem;color:#1f4465}.quote-side-option small{grid-column:1/-1;font-size:.64rem}.quote-meta-stack{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e7edf2}.quote-meta-stack>div{display:flex;justify-content:space-between;gap:10px}.quote-meta-stack span{font-size:.67rem;color:#7b8c9c}.quote-meta-stack strong{font-size:.7rem;color:#38536c;text-align:right}.quote-version-history{margin-top:20px}.quote-version-history>h3{color:#214663;font-size:.9rem}.quote-history{margin-bottom:8px;border:1px solid #e1e8ef;border-radius:13px;background:#fff;overflow:hidden}.quote-history summary{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:9px;padding:11px 13px;cursor:pointer;color:#536a7e;font-size:.72rem}.quote-history summary strong{color:#1b405f}.quote-history-body{padding:12px;background:#f8fafc}.quote-history-body .builder-option:last-child{margin-bottom:0}
.quote-line-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:13px;align-items:start}.quote-line-preview{position:sticky;top:8px;display:grid;gap:8px;padding:14px;border:1px solid #dfe8f0;border-radius:15px;background:linear-gradient(180deg,#f9fbff,#f5f9fd)}.quote-line-preview>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #e4ebf2}.quote-line-preview>div:last-child{border-bottom:0}.quote-line-preview span{font-size:.68rem;color:#73879a}.quote-line-preview strong{font-size:.8rem;color:#1d405f}.quote-line-preview small{display:block;text-align:right;color:#7890a3;font-size:.63rem}.quote-line-margin{padding-top:9px!important}.booking-margin-preview{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dfe8f0;border-radius:12px;background:#f7fbff}.booking-margin-preview span{font-size:.72rem;font-weight:720;color:#60768a}.booking-margin-preview strong{color:#173e61}.booking-margin-preview small{color:#75899a}

.booking-ops-table{overflow:auto}.booking-ops-table table{min-width:1280px}.booking-side .attention-item{display:grid;gap:3px}.booking-side .attention-item strong{font-size:.75rem}.booking-side .attention-item span{font-size:.69rem}.source-summary a{color:#245d9b}

@media(max-width:1180px){.supplier-hero,.booking-hero,.quote-hero{align-items:flex-start;flex-direction:column}.supplier-hero-metrics,.booking-hero-metrics,.quote-hero-metrics{width:100%;min-width:0}.quote-builder-layout,.booking-layout{grid-template-columns:1fr}.quote-builder-side,.booking-side{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-card{position:static}.supplier-overview-grid{grid-template-columns:1fr}}
@media(max-width:760px){.supplier-hero,.booking-hero,.quote-hero{padding:17px}.supplier-hero-metrics,.booking-hero-metrics,.quote-hero-metrics,.quote-option-kpis,.supplier-contact-grid,.quote-builder-side,.booking-side,.quote-line-form-grid{grid-template-columns:1fr}.quote-option-kpis>div{border-right:0;border-bottom:1px solid #e7edf2}.quote-option-kpis>div:last-child{border-bottom:0}.builder-option-head{flex-direction:column}.builder-option-actions{width:100%}.builder-option-actions button{flex:1}.quote-history summary{grid-template-columns:auto 1fr}.quote-history summary strong{grid-column:2}.supplier-finance-grid>section{padding:12px}}

/* ========================================================================== */
/* V19 — PILOTAGE / MES ÉLÉMENTS / COCKPIT ENCAISSEMENTS                    */
/* ========================================================================== */
.dashboard-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-scope{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid #dbe5ef;border-radius:999px;background:#fff;color:#42617d;font-size:.66rem;font-weight:850;letter-spacing:.02em}.premium-kpi.tone-warning:before{background:#d7982c}.tone-warning .premium-kpi-icon{background:#fff7e8;color:#a66a11}
.performance-panel{margin-bottom:16px}.performance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.performance-strip>div{display:grid;gap:5px;padding:16px 18px;border-right:1px solid #e6edf3}.performance-strip>div:last-child{border-right:0}.performance-strip span{font-size:.7rem;font-weight:720;color:#788a9a}.performance-strip strong{font-size:1.06rem;color:#183f62}
.workspace-row{align-items:start}.departure-list,.workspace-alert-list{display:grid;gap:8px}.departure-row{width:100%;display:grid;grid-template-columns:135px minmax(0,1fr) minmax(155px,.55fr) 18px;gap:14px;align-items:center;padding:12px 13px;border:1px solid #e3eaf0;border-radius:13px;background:#fff;color:inherit;text-align:left;box-shadow:none}.departure-row:hover{background:#f9fbfd;border-color:#d5e1eb;transform:none;box-shadow:none}.departure-date,.departure-main,.departure-risk{display:grid;gap:3px}.departure-date b,.departure-main strong{color:#1a405f}.departure-date small,.departure-main small{color:#7a8b9b;font-size:.67rem}.departure-risk{justify-items:start}.departure-risk em{padding:3px 6px;border-radius:7px;background:#fff7e8;color:#92631d;font-size:.62rem;font-style:normal;font-weight:760}
.workspace-alert{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto 14px;gap:9px;align-items:center;padding:10px 11px;border:1px solid #e3eaf0;border-radius:12px;background:#fff;color:inherit;text-align:left;box-shadow:none}.workspace-alert:hover{transform:none;box-shadow:none;background:#fafcff}.workspace-alert-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff6e7;color:#9b6818}.workspace-alert-icon svg{width:16px;height:16px;stroke:currentColor;fill:none}.workspace-alert-copy{display:grid;gap:2px}.workspace-alert-copy strong{font-size:.72rem;color:#274963}.workspace-alert-copy small{font-size:.64rem;color:#7e8e9c}.workspace-alert>b{font-size:.68rem;color:#4e667b}.workspace-arrow{color:#9cabb7}.workspace-alert.alert-danger{border-color:#f0d8d5;background:#fffafa}.workspace-alert.alert-danger .workspace-alert-icon{background:#fff0ef;color:#b23f3a}.workspace-alert.alert-warning{border-color:#f0e4ca}
.finance-cockpit-home{margin-top:16px}.finance-list-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 14px}.finance-list-kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.finance-list-kpi{display:grid;gap:4px;min-height:104px;padding:14px 15px;border:1px solid #dde6ee;border-radius:15px;background:#fff;color:inherit;text-align:left;box-shadow:0 6px 20px rgba(30,57,85,.035)}button.finance-list-kpi:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(30,57,85,.07);border-color:#cfddea}.finance-list-kpi span{font-size:.7rem;font-weight:760;color:#758899}.finance-list-kpi strong{font-size:1.15rem;color:#173e61}.finance-list-kpi small{font-size:.63rem;color:#8a98a5}.finance-list-kpi.active{border-color:#91b9e7;background:#f4f8ff}.finance-list-kpi.danger strong{color:#ae4842}.finance-list-kpi.danger.active{border-color:#e5b6b1;background:#fff7f6}
.invoice-progress-cell{display:grid;gap:6px;min-width:120px}.invoice-progress-cell>div{display:flex;align-items:baseline;justify-content:space-between;gap:7px}.invoice-progress-cell strong{font-size:.78rem;color:#234866}.invoice-progress-cell small{font-size:.59rem;color:#81909d;white-space:nowrap}.mini-progress{display:block;width:100%;height:5px;border-radius:99px;background:#e9eef3;overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:99px;background:#3a9a78}.row-overdue{background:#fffafa}.row-overdue td:first-child{box-shadow:inset 3px 0 0 #d95e55}
.invoice-collection-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1.1fr) minmax(180px,.5fr);gap:18px;align-items:center;padding:17px 19px;margin-bottom:15px;border:1px solid #dfe8ef;border-radius:17px;background:linear-gradient(115deg,#fbfdff,#f4fbf7)}.invoice-collection-hero.overdue{border-color:#ecd1ce;background:linear-gradient(115deg,#fffafa,#fff6f4)}.invoice-collection-hero>div:first-child{display:grid;gap:3px}.invoice-collection-hero>div:first-child>strong{font-size:1.04rem;color:#173f61}.invoice-collection-hero>div:first-child>small{font-size:.67rem;color:#7d8d9c}.invoice-collection-bar{height:9px;border-radius:99px;background:#e6edf2;overflow:hidden}.invoice-collection-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2f906d,#66b48d)}.invoice-balance-callout{display:grid;gap:2px;justify-items:end}.invoice-balance-callout span{font-size:.68rem;color:#768898}.invoice-balance-callout strong{font-size:1.2rem;color:#173d60}.invoice-balance-callout small{font-size:.63rem;font-weight:800;color:#b44842}.positive-money{color:#237451!important}
.payment-context-banner{display:flex;align-items:center;gap:11px;margin:0 0 12px;padding:12px 14px;border:1px solid #d9e7f4;border-radius:13px;background:#f5f9ff}.payment-context-banner>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#e8f1ff;color:#376da4}.payment-context-banner svg{width:18px;height:18px;stroke:currentColor;fill:none}.payment-context-banner>div{display:grid;gap:2px}.payment-context-banner strong{font-size:.8rem;color:#214868}.payment-context-banner small{font-size:.67rem;color:#72869a}

@media(max-width:1180px){.finance-list-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-strip>div:nth-child(2){border-right:0}.performance-strip>div:nth-child(-n+2){border-bottom:1px solid #e6edf3}.departure-row{grid-template-columns:120px minmax(0,1fr) 18px}.departure-risk{grid-column:2}.invoice-collection-hero{grid-template-columns:1fr 1fr}.invoice-collection-bar{grid-column:1/-1;grid-row:2}.invoice-balance-callout{justify-items:end}}
@media(max-width:760px){.finance-list-kpis,.finance-list-kpis.compact,.performance-strip{grid-template-columns:1fr}.performance-strip>div{border-right:0;border-bottom:1px solid #e6edf3}.performance-strip>div:last-child{border-bottom:0}.departure-row{grid-template-columns:1fr 18px}.departure-date,.departure-main,.departure-risk{grid-column:1}.departure-row>b{grid-column:2;grid-row:1/4}.workspace-alert{grid-template-columns:32px minmax(0,1fr) 14px}.workspace-alert>b{grid-column:2}.workspace-arrow{grid-column:3;grid-row:1/3}.invoice-collection-hero{grid-template-columns:1fr}.invoice-collection-bar{grid-column:1;grid-row:auto}.invoice-balance-callout{justify-items:start}.dashboard-title-line{align-items:flex-start}}

/* ========================================================================== */
/* V20 — PRODUCTIVITÉ, BROUILLONS, VUES ET MICRO-ERGONOMIE                  */
/* ========================================================================== */
.draft-recovery{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center;margin:0 0 14px;padding:12px 13px;border:1px solid #d9e6f2;border-radius:13px;background:#f7fbff}.draft-recovery>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#e8f2ff;color:#376d9e}.draft-recovery svg{width:18px;height:18px;stroke:currentColor;fill:none}.draft-recovery>div{display:grid;gap:2px}.draft-recovery strong{font-size:.76rem;color:#234864}.draft-recovery small{font-size:.64rem;color:#74889a}.autosave-status{margin-right:auto;display:inline-flex;align-items:center;gap:6px;color:#71879a;font-size:.63rem;font-weight:720;white-space:nowrap}.autosave-status:before{content:'';width:6px;height:6px;border-radius:50%;background:#6ea786}.autosave-status.saving:before{background:#d5a64a;animation:v20-pulse 1s infinite alternate}@keyframes v20-pulse{to{opacity:.35}}
.select-search{margin:6px 0 5px!important;min-height:34px!important;padding:7px 9px!important;border-color:#dde6ee!important;background:#fbfdff!important;font-size:.72rem!important}.select-search:focus{background:#fff!important}
.saved-view-picker,.column-picker{position:relative;align-self:end}.saved-view-picker>summary,.column-picker>summary{list-style:none;display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid #dbe5ed;border-radius:10px;background:#fff;color:#385875;font-size:.7rem;font-weight:760;cursor:pointer;user-select:none}.saved-view-picker>summary::-webkit-details-marker,.column-picker>summary::-webkit-details-marker{display:none}.saved-view-picker[open]>summary,.column-picker[open]>summary{border-color:#9fbedd;background:#f5f9ff}.saved-view-popover,.column-picker-popover{position:absolute;right:0;top:calc(100% + 7px);z-index:30;min-width:220px;max-width:320px;padding:10px;border:1px solid #dce5ed;border-radius:13px;background:#fff;box-shadow:0 16px 42px rgba(33,55,79,.16)}.saved-view-popover{display:grid;gap:8px}.saved-view-popover>[data-saved-view-list]{display:grid;gap:5px;max-height:260px;overflow:auto}.saved-view-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:5px}.saved-view-row>button:first-child{min-width:0;padding:8px 9px;border:0;border-radius:8px;background:#f7f9fb;color:#31516c;text-align:left;font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-view-row>button:first-child:hover{background:#eef5fb;transform:none;box-shadow:none}.saved-view-popover small{padding:6px;color:#8795a1;font-size:.65rem}.column-picker-popover{display:grid;gap:4px;max-height:330px;overflow:auto}.column-picker-popover label{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:7px;color:#425f78;font-size:.68rem;font-weight:650;cursor:pointer}.column-picker-popover label:hover{background:#f7fafc}.column-picker-popover input{width:auto;min-height:0;margin:0}.professional-table{position:relative}.professional-toolbar{position:relative}.professional-toolbar .saved-view-picker,.professional-toolbar .column-picker{flex:0 0 auto}
.modal[tabindex="-1"]:focus{outline:none}.modal :focus-visible,.content :focus-visible{outline:3px solid rgba(63,127,190,.22);outline-offset:2px}.modal-head h2{scroll-margin-top:16px}
@media(max-width:980px){.draft-recovery{grid-template-columns:36px minmax(0,1fr)}.draft-recovery>button{grid-column:auto}.saved-view-popover,.column-picker-popover{right:auto;left:0}.professional-toolbar .saved-view-picker,.professional-toolbar .column-picker{align-self:stretch}.saved-view-picker>summary,.column-picker>summary{height:100%}}
@media(max-width:620px){.draft-recovery{grid-template-columns:1fr}.draft-recovery>span{display:none}.draft-recovery>button{width:100%}.autosave-status{width:100%;order:-1;margin-bottom:4px}.saved-view-picker,.column-picker{width:100%}.saved-view-picker>summary,.column-picker>summary{width:100%}.saved-view-popover,.column-picker-popover{position:fixed;left:12px;right:12px;top:auto;bottom:12px;max-width:none;max-height:50vh;overflow:auto;z-index:60}}

/* ========================================================================== */
/* V23 — FINALISATION ADMIN, QA ET POLISH                                    */
/* ========================================================================== */
.notification-button{position:relative}.notification-badge{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#c74848;color:#fff;border:2px solid #fff;font-size:.55rem;font-weight:800;line-height:1}.notification-badge.hidden{display:none}
.page-error-card{max-width:760px;border-color:#ead4d1;background:#fffafa}.page-error-card h2{margin-top:0}.error-reference{margin:12px 0;padding:9px 11px;border-radius:9px;background:#fff;color:#8a4541;font-size:.7rem}.error-reference code{font-weight:800}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.settings-section-card{margin:0}.settings-intro{margin-bottom:14px}.settings-human-list{display:grid;gap:0}.setting-human-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid #edf1f4}.setting-human-row:first-child{border-top:0}.setting-human-row>div{display:grid;gap:3px;min-width:0}.setting-human-row strong{font-size:.74rem;color:#244760}.setting-human-row small{font-size:.64rem;color:#778a9b;overflow-wrap:anywhere}.settings-advanced summary{cursor:pointer;font-weight:800;color:#254964}.setting-color-field{display:grid;grid-template-columns:54px 1fr;gap:8px}.setting-color-field input[type=color]{min-height:42px;padding:3px}
.segment-builder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.segment-rule{display:grid;grid-template-columns:minmax(160px,1fr) 140px minmax(180px,1.2fr) 34px;gap:8px;align-items:end;padding:10px;margin-bottom:8px;border:1px solid #e2e9ef;border-radius:11px;background:#fbfdff}.segment-contact-results{display:grid;gap:5px;max-height:260px;overflow:auto}.segment-contact-option{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;background:#f8fafc}.segment-selected{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.segment-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:99px;background:#edf5fb;color:#315875;font-size:.65rem}.segment-preview-box{margin-top:10px;padding:11px;border-radius:10px;background:#f6faf7}.segment-no-value{align-self:center;color:#8694a0;font-size:.68rem}
.table-sub{display:block;margin-top:4px;color:#7c8b98;font-size:.61rem}.document-links{display:grid;gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid #e7edf2}.document-links>div{display:flex;gap:6px;flex-wrap:wrap}
.operational-notifications{margin-bottom:15px}.workspace-alerts{display:grid;gap:7px}.notification-mail-head{display:flex;align-items:center;justify-content:space-between;margin:14px 0 0}.notification-mail-head strong{color:#214764}
.health-overall{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;margin-bottom:14px;border:1px solid #dce5ec;border-radius:14px;background:#fff}.health-overall>div{display:grid;gap:3px}.health-overall span{font-size:.65rem;color:#748797}.health-overall strong{font-size:1.05rem;color:#244763}.health-overall.health-warning{border-color:#eadfc5;background:#fffaf0}.health-overall.health-critical{border-color:#ebcfcb;background:#fff7f6}.health-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.health-check-card{display:grid;gap:8px;min-height:92px;padding:12px;border:1px solid #e1e8ee;border-radius:12px;background:#fff}.health-check-card>div{display:flex;justify-content:space-between;align-items:center;gap:6px}.health-check-card>div>span{font-size:.68rem;font-weight:780;color:#36566f}.health-check-card small{font-size:.61rem;color:#7b8b99;overflow-wrap:anywhere}.health-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:99px;font-size:.57rem;font-weight:850;text-transform:uppercase;background:#edf3f7;color:#557083}.health-ok{background:#edf8f2;color:#2d7857}.health-warning{background:#fff6df;color:#8d681b}.health-critical{background:#fff0ef;color:#ab4541}.health-problems{margin:0;padding-left:18px;color:#7b5542;font-size:.7rem}
.permission-matrix{margin-top:8px}.permission-matrix th,.permission-matrix td{text-align:center;white-space:nowrap}.permission-matrix th:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1}.permission-coverage{display:inline-flex;min-width:38px;justify-content:center;padding:3px 6px;border-radius:99px;font-size:.59rem;font-weight:800;background:#f0f3f6;color:#7c8994}.permission-coverage.partial{background:#fff4dc;color:#8c681c}.permission-coverage.complete{background:#eaf7f0;color:#277557}
.app-control-center{margin-bottom:14px}.app-control-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.app-control-link{display:grid;gap:3px;justify-items:start;text-align:left;padding:11px 12px;border:1px solid #dce6ed;border-radius:11px;background:#fbfdff;color:#315471;box-shadow:none}.app-control-link:hover{transform:none;background:#f4f9fd;box-shadow:none}.app-control-link strong{font-size:.7rem}.app-control-link span{font-size:.6rem;color:#8293a2}
.import-preview-box{display:grid;gap:8px;margin:9px 0;padding:10px;border:1px solid #e0e8ee;border-radius:11px;background:#fbfdff}.import-preview-box strong{font-size:.7rem;color:#2f506a}#import-progress{width:100%;height:8px;margin:8px 0}
@media(max-width:1180px){.health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-control-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.health-grid,.app-control-grid{grid-template-columns:1fr}.segment-rule{grid-template-columns:1fr}.setting-human-row{align-items:flex-start;flex-direction:column}.setting-human-row button{width:100%}.health-overall{align-items:flex-start}.permission-matrix{overflow:auto}.notification-mail-head{align-items:flex-start;flex-direction:column;gap:5px}}

/* ========================================================================== */
/* V25 — UPLOADS MÉDIAS DIRECTS / WASABI PRIVÉ                              */
/* ========================================================================== */
.media-stack{display:grid;gap:14px;width:100%}.media-uploader,.media-gallery-uploader{padding:14px;border:1px solid #dfe7ee;border-radius:14px;background:#fbfdff}.media-upload-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:stretch}.media-preview-frame{position:relative;display:grid;place-items:center;min-height:148px;overflow:hidden;border:1px dashed #cedbe5;border-radius:12px;background:#f5f8fb}.media-preview-image{width:100%;height:100%;min-height:148px;max-height:220px;object-fit:contain;background:#fff}.media-preview-empty{display:grid;place-items:center;gap:8px;padding:18px;text-align:center;color:#7a8b9a;font-size:.72rem}.media-preview-empty svg,.media-gallery-thumb svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5}.media-upload-main{display:grid;align-content:start;gap:10px;min-width:0}.media-upload-main>div:first-child strong,.media-gallery-head strong{display:block;color:#244864;font-size:.84rem}.media-upload-main p,.media-gallery-head p{margin:4px 0 0;line-height:1.45}.media-dropzone{display:grid!important;gap:3px!important;place-items:center!important;min-height:82px!important;padding:13px!important;border:1.5px dashed #b9cad7!important;border-radius:11px!important;background:#fff!important;cursor:pointer!important;text-align:center!important;color:#49677e!important}.media-dropzone:hover,.media-dropzone.is-dragging{border-color:#3378bd!important;background:#f3f8ff!important}.media-dropzone.is-disabled,.media-gallery-add.is-disabled{opacity:.5;cursor:not-allowed!important}.media-dropzone input,.media-gallery-add input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.media-dropzone-title{font-size:.76rem;font-weight:800;color:#2c5879}.media-dropzone small{font-size:.63rem;color:#8393a1}.media-progress{width:100%;height:9px;accent-color:#2e77bd}.media-upload-status{min-height:18px;font-size:.67rem}.media-upload-actions{display:flex;gap:7px;flex-wrap:wrap}.media-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.media-gallery-add{position:relative;overflow:hidden;cursor:pointer}.media-gallery-list{display:grid;gap:8px}.media-gallery-empty{padding:13px;border:1px dashed #d8e1e8;border-radius:10px;text-align:center;background:#fff;font-size:.69rem}.media-gallery-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border:1px solid #e1e8ee;border-radius:11px;background:#fff}.media-gallery-item.is-uploading{border-style:dashed;background:#f8fbfe}.media-gallery-thumb{display:grid;place-items:center;width:72px;height:56px;overflow:hidden;border-radius:8px;background:#f1f5f8;color:#8a99a6}.media-gallery-thumb img{width:100%;height:100%;object-fit:cover}.media-gallery-copy{display:grid;gap:3px;min-width:0}.media-gallery-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#36556e;font-size:.72rem}.media-gallery-copy small{font-size:.61rem}.media-gallery-copy progress{width:100%;height:7px}.media-gallery-controls{display:flex;gap:5px;align-items:center}.advanced-json{margin:12px 0;padding:10px 12px;border:1px solid #e1e8ee;border-radius:11px;background:#fafcfe}.advanced-json summary{cursor:pointer;color:#617589;font-size:.72rem;font-weight:760}.advanced-json[open] summary{margin-bottom:9px}.cms-preview-visual img{display:block;width:100%;max-height:260px;margin:0 0 12px;object-fit:cover;border-radius:10px}.cms-preview-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.cms-preview-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.cms-preview video{width:100%;max-height:360px;margin-top:10px;border-radius:10px;background:#000}
@media(max-width:760px){.media-upload-layout{grid-template-columns:1fr}.media-preview-frame{min-height:170px}.media-gallery-head{align-items:flex-start;flex-direction:column}.media-gallery-add{width:100%}.media-gallery-item{grid-template-columns:60px minmax(0,1fr)}.media-gallery-thumb{width:60px;height:50px}.media-gallery-controls{grid-column:1/-1;justify-content:flex-end}.cms-preview-gallery{grid-template-columns:1fr 1fr}}

/* ========================================================================== */
/* V27 — UX SANS CODE / FORMULAIRES CLIENT HUMANISÉS                         */
/* ========================================================================== */
.cms-locale-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.cms-locale-tabs button{background:#f5f8fb!important;color:#587084!important;border:1px solid #dce6ed!important;box-shadow:none!important;padding:7px 12px!important;border-radius:999px!important}.cms-locale-tabs button.active{background:#eaf3ff!important;color:#19589e!important;border-color:#b8d1ec!important}.cms-locale-panel{display:grid;gap:12px}.cms-link-pair{padding:12px;border:1px solid #e1e8ee;border-radius:12px;background:#fbfdff}.cms-repeater{display:grid;gap:9px}.cms-repeat-row,.repeat-row,.product-type-field{display:flex;align-items:flex-end;gap:8px;padding:10px;border:1px solid #e1e8ee;border-radius:11px;background:#fbfdff}.cms-repeat-row-main,.repeat-row-main,.product-type-field>.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1}.product-type-field{align-items:center;margin-bottom:8px}.cms-block-card{border:1px solid #e2e9ef;border-radius:14px;background:#fff;padding:13px}.mail-access-list{display:grid;gap:7px}.mail-access-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e4ebf0;border-radius:10px;background:#fbfdff}.mail-template-langs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.mail-template-lang{padding:12px;border:1px solid #e1e8ee;border-radius:12px;background:#fbfdff}.mail-template-lang h4{margin:0 0 9px;color:#244864}.automation-action-card{display:grid;gap:10px;margin-bottom:10px;padding:12px;border:1px solid #dfe8ef;border-radius:12px;background:#fbfdff}.automation-condition-row{margin-bottom:8px}.automation-readable{display:grid;grid-template-columns:1fr 1fr;gap:14px}.automation-readable h3{margin:0 0 5px}.audit-detail-list,.human-data-grid{display:grid;gap:6px}.audit-detail-list>div,.human-data-grid>div{display:grid;grid-template-columns:minmax(130px,.5fr) minmax(0,1fr);gap:10px;padding:6px 0;border-bottom:1px solid #edf1f4}.audit-detail-list>div:last-child,.human-data-grid>div:last-child{border-bottom:0}.audit-detail-list strong,.human-data-grid strong{color:#36566f}.human-data-list{display:grid;gap:5px}.report-human{padding:12px 0}.task-link-list{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.task-link-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:#edf5fb;color:#315875;font-size:.7rem}.task-link-chip .icon-danger{width:24px;height:24px}.task-link-search{align-items:end}.input-with-prefix{display:flex;align-items:center;border:1px solid #d9e3ea;border-radius:10px;background:#fff;overflow:hidden}.input-with-prefix span{padding:0 0 0 12px;color:#80909e}.input-with-prefix input{border:0!important;box-shadow:none!important}.field-label{display:block;margin-bottom:6px;color:#536b7e;font-size:.7rem;font-weight:700}.product-type-field [hidden]{display:none!important}
@media(max-width:900px){.mail-template-langs{grid-template-columns:1fr}.cms-repeat-row-main,.repeat-row-main,.product-type-field>.form-grid{grid-template-columns:1fr 1fr}.automation-readable{grid-template-columns:1fr}}
@media(max-width:620px){.cms-repeat-row,.repeat-row,.product-type-field{align-items:stretch;flex-direction:column}.cms-repeat-row-main,.repeat-row-main,.product-type-field>.form-grid,.mail-access-row,.task-link-search{grid-template-columns:1fr}.audit-detail-list>div,.human-data-grid>div{grid-template-columns:1fr}.task-link-chip{max-width:100%}}
.type-field-summary{flex:1;display:grid;gap:3px}.type-field-summary strong{color:#244864}.type-field-summary small{color:#738596}
.product-type-field.is-inactive{opacity:.58;background:#f3f5f6}.product-type-field small{align-self:center;color:#738596}
.mail-variable-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mail-variable-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line,#dfe7ef);border-radius:12px;background:#fff}.mail-variable-row label{display:flex;align-items:center;gap:8px;margin:0}.cms-destination-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.cms-destination-field [hidden]{display:none!important}@media(max-width:760px){.mail-variable-list,.cms-destination-field{grid-template-columns:1fr}}
.automation-variable-help{margin-bottom:16px;padding:12px;border:1px dashed var(--line,#dfe7ef);border-radius:12px;background:#f8fbfd}.automation-variable-help [data-auto-variable-list]{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
