/*
 * Feuille de style principale.
 * Maintenance : Équipe produit.
 * Objectif : interface sobre, lisible et adaptée aux usages métier sur mobile comme sur desktop.
 */
:root {
  --bg: #f3f6f8;
  --bg-soft: #eef3f6;
  --surface: #ffffff;
  --surface-soft: #f7fafc;
  --surface-muted: #eef3f7;
  --text: #0b1623;
  --text-soft: #334155;
  --muted: #64748b;
  --border: #d8e1ea;
  --border-strong: #c4d0dc;
  --primary: #123047;
  --primary-2: #0b2337;
  --primary-soft: #e7f0f6;
  --accent: #2f6f73;
  --accent-soft: #e6f3f2;
  --danger: #b42318;
  --danger-soft: #fff1f0;
  --success: #067647;
  --success-soft: #ecfdf3;
  --warning: #b54708;
  --warning-soft: #fffaeb;
  --shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);
  --shadow-sm: 0 8px 18px rgba(15, 23, 42, .06);
  --shadow-md: 0 18px 45px rgba(15, 23, 42, .08);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 22px;
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
a { color: inherit; }
.container { width: min(var(--container), calc(100% - 32px)); margin: 0 auto; }
.hidden { display: none !important; }
.mt { margin-top: 16px; }
.center { text-align: center; }

/* Header */
.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(145%) blur(14px);
  border-bottom: 1px solid rgba(216,225,234,.9);
  box-shadow: 0 1px 0 rgba(255,255,255,.8), 0 10px 30px rgba(15,23,42,.035);
}
.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 74px;
  padding: 12px 0;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  min-width: 214px;
  color: var(--text);
}
.brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--primary);
  color: white;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), var(--shadow-xs);
}
.brand-copy { display: grid; gap: 1px; min-width: 0; }
.brand-title {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: -.025em;
  line-height: 1.1;
  max-width: 190px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.brand-subtitle {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-zone { display: flex; align-items: center; gap: 10px; min-width: 0; }
.nav {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(248,250,252,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92);
  white-space: nowrap;
}
.nav a {
  text-decoration: none;
  color: var(--text-soft);
  font-weight: 820;
  font-size: 13px;
  padding: 9px 12px;
  border-radius: 999px;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.nav a:hover { background: #fff; color: var(--primary); box-shadow: var(--shadow-xs); }
.nav a.active { background: var(--primary); color: #fff; box-shadow: 0 5px 16px rgba(18,48,71,.18); }
.logout-form { margin: 0; display: inline-flex; }
.btn-logout { min-height: 40px; padding-inline: 14px; }

/* Typography */
.kicker { color: var(--accent); font-weight: 900; text-transform: uppercase; font-size: 12px; letter-spacing: .09em; }
h1 { font-size: clamp(30px, 4.8vw, 44px); line-height: .98; letter-spacing: -.055em; margin: 8px 0 10px; }
h2 { font-size: clamp(23px, 2.7vw, 30px); line-height: 1.07; letter-spacing: -.045em; margin: 0 0 10px; }
h3 { margin: 0 0 12px; font-size: 17px; letter-spacing: -.02em; }
p { color: var(--muted); line-height: 1.62; }
p.tight { margin: 0 0 18px; max-width: 72ch; }

/* Buttons */
.btn {
  appearance: none;
  border: 1px solid transparent;
  border-radius: 12px;
  background: var(--primary);
  color: white;
  padding: 11px 16px;
  font-weight: 900;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  min-height: 44px;
  line-height: 1;
  box-shadow: 0 10px 20px rgba(18,48,71,.15);
  transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.btn:hover { background: var(--primary-2); transform: translateY(-1px); box-shadow: 0 14px 24px rgba(18,48,71,.18); }
.btn:active { transform: translateY(0); }
.btn.secondary { background: var(--surface); color: var(--primary); border-color: var(--border); box-shadow: var(--shadow-xs); }
.btn.secondary:hover { background: var(--primary-soft); border-color: #b8cad8; }
.btn.danger { background: var(--danger); box-shadow: 0 10px 20px rgba(180,35,24,.13); }
.btn.ghost { background: var(--surface); color: var(--primary); border-color: var(--border); box-shadow: none; }
.btn.ghost:hover { background: var(--primary-soft); box-shadow: var(--shadow-xs); }
.btn.full { width: 100%; }
.install-cta { display: inline-flex; }
.install-cta.is-hidden { display: none !important; }
.install-cta.show { display: inline-flex; }
.quick-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }

/* Sections & panels */
.compact-hero { padding: 26px 0 8px; }
.compact-hero-inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow-sm);
}
.panel {
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 22px;
}
.declaration-panel { padding: 24px; }
.panel.soft { background: var(--surface-soft); box-shadow: none; }
.grid { display: grid; gap: 16px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.step-shell { padding: 22px 0 44px; }
.step-shell.compact { padding-top: 16px; }

/* Wizard */
.progress-card { display: grid; grid-template-columns: 230px 1fr; gap: 18px; align-items: start; }
.steps {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-xs);
}
.step-indicator {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  padding: 12px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-weight: 900;
  cursor: pointer;
  text-align: left;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.step-indicator .num {
  width: 30px;
  height: 30px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: var(--surface-muted);
  color: var(--text-soft);
  font-size: 13px;
  flex: 0 0 auto;
}
.step-indicator:hover { background: var(--surface-soft); color: var(--text); }
.step-indicator.active { color: var(--primary); background: #fff; border-color: var(--border); box-shadow: var(--shadow-xs); }
.step-indicator.active .num { background: var(--primary); color: white; }
.form-step { display: none; }
.form-step.active { display: block; animation: rise .18s ease-out; }
@keyframes rise { from { transform: translateY(5px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* Forms */
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.compact-grid { gap: 13px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label { font-size: 12px; font-weight: 900; color: var(--text-soft); letter-spacing: -.01em; }
.required::after { content: " *"; color: var(--danger); }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--border-strong);
  background: #fff;
  color: var(--text);
  border-radius: 12px;
  min-height: 46px;
  padding: 11px 12px;
  font: inherit;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
textarea { resize: vertical; min-height: 132px; line-height: 1.5; }
input:focus, select:focus, textarea:focus { border-color: #7aa2b8; box-shadow: 0 0 0 4px rgba(47,111,115,.12); }
input::placeholder, textarea::placeholder { color: #7b8794; }
.help { color: var(--muted); font-size: 12px; line-height: 1.45; }
.check-row { display: flex; gap: 11px; align-items: flex-start; margin-top: 18px; color: var(--text-soft); font-size: 14px; font-weight: 760; line-height: 1.48; }
.check-row input { width: auto; min-height: auto; margin-top: 3px; }
.actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; flex-wrap: wrap; }
.compact-actions { justify-content: flex-end; margin-top: 14px; }

/* Notices */
.notice { border: 1px solid #bfdbfe; background: #eff6ff; color: #1e3a5f; border-radius: 14px; padding: 12px 14px; margin: 12px 0; line-height: 1.46; }
.notice > strong + span { margin-left: .35em; }
.notice.warning { border-color: #fedf89; background: var(--warning-soft); color: #7a2e0e; }
.notice.success { border-color: #abefc6; background: var(--success-soft); color: #084c2e; }
.notice.error { border-color: #fecdca; background: var(--danger-soft); color: #7a271a; }
.notice.info { border-color: #c7d7e3; background: var(--primary-soft); color: var(--primary); }

/* Device/profile */
.device-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  margin: 14px 0 18px;
  padding: 13px 14px;
  border: 1px solid #c7d7e3;
  border-radius: 16px;
  background: #f7fafc;
}
.device-strip span { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 950; }
.device-strip strong { color: var(--primary); font-size: 18px; letter-spacing: -.025em; }
.device-strip small { color: var(--muted); font-weight: 760; text-align: right; }
.profile-card { display: flex; justify-content: space-between; align-items: center; gap: 14px; border: 1px solid #9fd3c7; background: var(--accent-soft); border-radius: 16px; padding: 15px; margin: 12px 0 18px; }
.profile-card strong { display: block; font-size: 19px; letter-spacing: -.025em; color: #164e52; }
.profile-card span { display: block; color: #2f6f73; margin-top: 3px; }
.profile-card-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.profile-card.admin-profile { border-color:#9fd3c7; background:#edf8f6; }
.profile-card.admin-profile span { color:#2f6f73; }

/* Optional/review */
.optional-block { margin-top: 18px; border: 1px solid var(--border); border-radius: 16px; background: #fff; padding: 0; overflow: hidden; }
.optional-block summary { cursor: pointer; padding: 15px 16px; font-weight: 900; color: var(--primary); background: var(--surface-soft); }
.optional-block[open] { padding-bottom: 15px; }
.optional-block[open] > .form-grid, .optional-block[open] > div { padding: 0 15px; }
.review { display: grid; gap: 8px; }
.review-row { display: grid; grid-template-columns: 210px 1fr; gap: 12px; padding: 12px; background: var(--surface-soft); border: 1px solid var(--border); border-radius: 13px; }
.review-row strong { color: var(--text-soft); font-size: 13px; }
.review-row span { white-space: pre-wrap; color: var(--text); }
.review-attachments { display:grid; gap:10px; padding:14px; border:1px solid var(--border); border-radius:14px; background:#fff; margin-top:4px; }
.review-attachments > strong { color:var(--text-soft); font-size:13px; }
.review-attachments > span { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:9px 10px; border-radius:11px; background:var(--surface-soft); color:var(--text); font-weight:760; }
.review-attachments small { color:var(--muted); font-weight:850; }
.review-attachments.muted span { justify-content:flex-start; color:var(--muted); font-weight:760; }
.review-attachment-help { justify-content:flex-start !important; color:var(--muted) !important; font-weight:760 !important; }
.review-attachment-item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px; border:1px solid var(--border); border-radius:13px; background:var(--surface-soft); }
.review-attachment-main { display:grid; gap:4px; min-width:0; }
.review-attachment-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.review-attachment-main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.review-attachment-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.btn.tiny { min-height:34px; padding:8px 10px; border-radius:10px; font-size:12px; box-shadow:none; }
.smtp-test-panel { display:flex; justify-content:space-between; gap:14px; align-items:center; flex-wrap:wrap; }
.smtp-test-panel p { margin:4px 0 0; }
.inline-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.hidden { display:none !important; }

/* Tables & dashboard */
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 12px; margin: 18px 0; }
.stat { background: #fff; border: 1px solid var(--border); border-radius: 17px; padding: 16px; box-shadow: var(--shadow-xs); }
.stat strong { display: block; font-size: 30px; line-height: 1; letter-spacing: -.055em; color: var(--primary); }
.stat span { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; font-weight: 820; }
.filters { display: grid; grid-template-columns: 1fr 180px 180px auto; gap: 10px; margin: 18px 0; align-items: end; padding: 14px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface-soft); }
.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 18px; background: white; box-shadow: var(--shadow-xs); }
table { width: 100%; border-collapse: separate; border-spacing: 0; }
th, td { padding: 13px 14px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; font-size: 14px; }
th { background: #f8fafc; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; font-weight: 950; }
tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: #fbfdfe; }
.table-wrap a { color: var(--primary); text-decoration: none; }
.table-wrap a:hover { text-decoration: underline; }
.badge { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 5px 10px; font-size: 12px; font-weight: 900; background: #e2e8f0; color: var(--text-soft); white-space: nowrap; }
.badge.ok, .badge.success { background: var(--success-soft); color: var(--success); }
.badge.warn, .badge.warning { background: var(--warning-soft); color: var(--warning); }
.badge.danger { background: var(--danger-soft); color: var(--danger); }

/* Detail page */
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; }
.detail-layout > aside { position: sticky; top: 94px; }
.kv { display: grid; grid-template-columns: 210px 1fr; gap: 0; border: 1px solid var(--border); border-radius: 18px; overflow: hidden; background: #fff; }
.kv div { padding: 12px 13px; border-bottom: 1px solid var(--border); }
.kv div:nth-child(odd) { background: var(--surface-soft); font-weight: 900; color: var(--text-soft); }
.kv div:nth-last-child(-n+2) { border-bottom: 0; }

/* Admin notes */
.admin-note-form { border:1px solid var(--border); background:#fff; border-radius:18px; padding:16px; margin-top:12px; }
.admin-note-form textarea { min-height:110px; }
.admin-notes-list { display:grid; gap:10px; margin-top:12px; }
.admin-note { border:1px solid var(--border); border-left:4px solid var(--accent); border-radius:16px; background:#fff; padding:13px 15px; box-shadow:var(--shadow-xs); }
.admin-note.system { border-left-color:#94a3b8; background:#f8fafc; }
.admin-note-head { display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:7px; }
.admin-note-head strong { color:var(--primary); font-size:13px; }
.admin-note-head span { color:var(--muted); font-size:12px; font-weight:850; }
.admin-note-body { color:var(--text); line-height:1.55; white-space:normal; }
.no-notes { color:var(--muted); }

/* Attachments */
.attachments-panel { overflow:hidden; }
.attachment-preview-list { display:grid; gap:14px; margin-top:12px; }
.attachment-preview-list.wide { grid-template-columns:1fr; }
.attachment-card { border:1px solid var(--border); border-radius:18px; background:#fff; overflow:hidden; box-shadow:var(--shadow-xs); }
.attachment-meta { display:grid; gap:4px; padding:12px 13px; border-bottom:1px solid var(--border); }
.attachment-meta strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.attachment-meta span { color:var(--muted); font-size:12px; font-weight:820; }
.attachment-image-link { display:block; background:var(--surface-soft); }
.attachment-image-link img { display:block; width:100%; max-height:260px; object-fit:contain; background:var(--surface-soft); }
.attachment-frame { width:100%; height:320px; border:0; display:block; background:var(--surface-soft); }
.attachment-preview-list.wide .attachment-frame { height:520px; }
.attachment-preview-list.wide .attachment-image-link img { max-height:520px; }
.attachment-frame.compact { height:180px; }
.attachment-no-preview { display:grid; gap:6px; padding:18px; background:var(--surface-soft); color:var(--muted); }
.attachment-no-preview strong { color:var(--text); }
.attachment-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px; border-top:1px solid var(--border); }
.mail-log-detail { display:grid; gap:4px; min-width:260px; }
.mail-log-detail strong { color:var(--text); }
.mail-log-detail span { color:var(--muted); }
.mail-log-detail .error { color:var(--danger); white-space:pre-wrap; }
.mail-log-detail small { color:var(--muted); font-weight:850; }

/* Device admin */
.device-admin-list { display:grid; gap:12px; margin-top:18px; }
.device-admin-card { border:1px solid var(--border); border-radius:20px; background:#fff; box-shadow:var(--shadow-sm); overflow:hidden; }
.device-admin-card.unassigned { border-color:#fedf89; }
.device-admin-card.assigned { border-color:#abefc6; }
.device-admin-card > summary { list-style:none; }
.device-admin-card > summary::-webkit-details-marker { display:none; }
.device-admin-summary { cursor:pointer; display:flex; justify-content:space-between; gap:16px; align-items:center; padding:17px 18px; background:#fff; }
.device-admin-summary:hover { background:#fbfdfe; }
.device-admin-summary::after { content:"Ouvrir"; flex:0 0 auto; border:1px solid var(--border); border-radius:999px; padding:6px 10px; color:var(--primary); font-size:12px; font-weight:900; background:#f8fafc; }
.device-admin-card[open] .device-admin-summary::after { content:"Fermer"; }
.device-summary-main { display:grid; gap:5px; min-width:0; }
.device-collaborator-name { display:block; color:var(--text); font-size:24px; line-height:1.05; letter-spacing:-.04em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.device-summary-main small { color:var(--muted); font-weight:780; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.device-summary-side { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:12px; font-weight:850; }
.device-summary-id { color:var(--primary); background:var(--primary-soft); border:1px solid var(--border); border-radius:999px; padding:5px 9px; font-weight:950; }
.device-summary-date { white-space:nowrap; }
.device-admin-body { border-top:1px solid var(--border); padding:16px; background:#fff; }
.device-meta-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin:0 0 14px; }
.device-meta-grid div { border:1px solid var(--border); border-radius:14px; padding:10px; background:var(--surface-soft); min-width:0; }
.device-meta-grid span { display:block; color:var(--muted); font-size:11px; text-transform: uppercase; letter-spacing: .06em; font-weight:900; margin-bottom:4px; }
.device-meta-grid strong { display:block; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.device-assign-form { border-top:1px solid var(--border); padding-top:14px; margin-top:12px; }

/* Admin users */
.admin-users-grid { display:grid; gap:12px; margin-top:14px; }
.admin-user-card { border:1px solid var(--border); border-radius:18px; background:#fff; padding:16px; box-shadow:var(--shadow-xs); }
.admin-user-card.locked { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; background:var(--surface-soft); }
.admin-user-card strong { display:block; font-size:20px; color:var(--primary); margin-top:2px; letter-spacing:-.025em; }
.admin-user-card small { display:block; color:var(--muted); margin-top:4px; font-weight:760; }
.admin-user-form { display:grid; gap:10px; }
.admin-card-meta { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:12px; font-weight:850; margin-top:8px; }
.admin-create-form { margin-top:12px; }

/* Footer */
.footer { padding: 28px 0; color: var(--muted); font-size: 13px; }
.footer a { color: var(--primary); font-weight: 850; text-decoration: none; }
.footer a:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 1120px) {
  .topbar-inner { align-items: flex-start; flex-direction: column; gap: 10px; }
  .brand { min-width: 0; }
  .nav-zone { width: 100%; justify-content: space-between; }
  .nav { overflow-x: auto; max-width: 100%; border-radius: 16px; }
}
@media (max-width: 900px) {
  .compact-hero-inner, .progress-card, .detail-layout { grid-template-columns: 1fr; display: grid; }
  .detail-layout > aside { position: static; }
  .quick-actions { justify-content: flex-start; }
  .steps { position: static; grid-auto-flow: column; grid-auto-columns: minmax(136px, 1fr); overflow-x: auto; padding-bottom: 12px; }
  .step-indicator { min-width: 136px; }
  .grid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filters { grid-template-columns: 1fr 1fr; }
  .device-admin-summary { align-items:flex-start; flex-direction:column; }
  .device-summary-side { justify-content:flex-start; }
  .device-meta-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .device-admin-summary::after { align-self:flex-start; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 20px, var(--container)); }
  .topbar-inner { min-height: unset; padding: 10px 0; }
  .brand-title { white-space: normal; max-width: 240px; }
  .nav-zone { align-items: stretch; flex-direction: column; }
  .nav { width: 100%; align-items: stretch; border-radius: 14px; }
  .nav a { padding: 10px 11px; }
  .logout-form { width: 100%; }
  .btn-logout { width: 100%; }
  .compact-hero { padding-top: 14px; }
  .compact-hero-inner { padding: 17px; border-radius: 18px; }
  .panel, .declaration-panel { padding: 16px; border-radius: 18px; }
  .form-grid, .grid.two, .stats-grid, .filters { grid-template-columns: 1fr; }
  .profile-card { align-items: flex-start; flex-direction: column; }
  .profile-card-actions { width: 100%; }
  .profile-card-actions .btn { flex: 1; }
  .review-row, .kv { grid-template-columns: 1fr; }
  .attachment-actions { grid-template-columns: 1fr; }
  .kv div:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
  .actions .btn { flex: 1 1 100%; }
  .device-strip { align-items:flex-start; grid-template-columns: 1fr; }
  .device-strip small { text-align:left; }
  .device-meta-grid { grid-template-columns:1fr; }
  .device-collaborator-name { font-size:21px; white-space:normal; }
  .device-summary-date { white-space:normal; }
  .admin-user-card.locked { flex-direction:column; }
  h1 { font-size: 34px; }
}

@media (max-width: 640px) {
  .review-attachment-item { grid-template-columns:1fr; align-items:stretch; }
  .review-attachment-actions { justify-content:stretch; }
  .review-attachment-actions .btn { flex:1 1 auto; }
  .smtp-test-panel .btn { width:100%; }
  .inline-actions { width:100%; }
}

.badge-link{display:inline-flex;align-items:center;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.badge-link:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.10);border-color:rgba(185,28,28,.25)}.mail-log-filter-notice{font-weight:800}.compact-filters{align-items:end}


/* Espace de gestion : mise en page desktop sobre et lisible. */
body.is-admin {
  background: #f3f7fa;
}
@media (min-width: 1040px) {
  body.is-admin { padding-left: 292px; }
  body.is-admin .topbar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 292px;
    border-right: 1px solid var(--border);
    border-bottom: 0;
    background: rgba(255,255,255,.96);
    box-shadow: 18px 0 50px rgba(15,23,42,.06);
  }
  body.is-admin .topbar-inner {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 22px;
    padding: 24px 18px;
  }
  body.is-admin .brand {
    min-width: 0;
    padding: 8px 6px 18px;
    border-bottom: 1px solid var(--border);
  }
  body.is-admin .brand-mark { width: 44px; height: 44px; border-radius: 16px; }
  body.is-admin .brand-title { max-width: 190px; white-space: normal; line-height: 1.1; }
  body.is-admin .nav-zone {
    flex: 1;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    gap: 18px;
  }
  body.is-admin .nav {
    width: 100%;
    display: grid;
    gap: 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    white-space: normal;
  }
  body.is-admin .nav a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 12px 14px;
    border-radius: 14px;
    color: #475569;
  }
  body.is-admin .nav a:hover {
    background: var(--surface-soft);
    box-shadow: none;
  }
  body.is-admin .nav a.active {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 12px 24px rgba(18,48,71,.18);
  }
  body.is-admin .logout-form { width: 100%; }
  body.is-admin .btn-logout { width: 100%; justify-content: center; }
  body.is-admin .container { width: min(1220px, calc(100% - 44px)); }
  body.is-admin .compact-hero { padding-top: 30px; }
  body.is-admin .footer { margin-left: 0; }
}

.settings-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 6px 0 14px;
}
.settings-choice {
  border: 1px solid var(--border);
  border-radius: 20px;
  background: #ffffff;
  padding: 18px;
  box-shadow: var(--shadow-xs);
}
.settings-choice.active {
  border-color: rgba(47,111,115,.42);
  background: #f0fbfa;
  box-shadow: 0 16px 34px rgba(47,111,115,.10);
}
.settings-choice strong { display: block; font-size: 18px; letter-spacing: -.025em; margin: 4px 0 6px; }
.settings-choice p { margin: 0; font-size: 13px; line-height: 1.45; }
.choice-label {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
@media (max-width: 760px) {
  .settings-choice-grid { grid-template-columns: 1fr; }
}

/* Adaptations téléphone et tablette. */
html, body { max-width: 100%; overflow-x: hidden; }
img, iframe, video { max-width: 100%; }
pre, code { white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 1039px) {
  body.is-admin { padding-left: 0; }
  body.is-admin .topbar {
    position: sticky;
    inset: auto;
    width: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(216,225,234,.92);
    box-shadow: 0 12px 30px rgba(15,23,42,.055);
  }
  body.is-admin .topbar-inner {
    min-height: auto;
    height: auto;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0 12px;
  }
  body.is-admin .brand {
    min-width: 0;
    flex: 1 1 220px;
    padding: 0;
    border: 0;
  }
  body.is-admin .brand-mark { width: 38px; height: 38px; border-radius: 14px; }
  body.is-admin .brand-title { max-width: 320px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.is-admin .brand-subtitle { max-width: 320px; }
  body.is-admin .nav-zone {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
  }
  body.is-admin .nav {
    width: 100%;
    max-width: 100%;
    display: flex;
    gap: 5px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    padding: 5px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: rgba(248,250,252,.94);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
    white-space: nowrap;
  }
  body.is-admin .nav::-webkit-scrollbar { display: none; }
  body.is-admin .nav a {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 13px;
  }
  body.is-admin .nav a.active {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 8px 18px rgba(18,48,71,.16);
  }
  body.is-admin .logout-form { width: auto; margin: 0; }
  body.is-admin .btn-logout {
    width: auto;
    min-height: 42px;
    padding: 10px 13px;
    white-space: nowrap;
  }
  body.is-admin .container { width: min(100% - 28px, var(--container)); }
  body.is-admin .compact-hero { padding-top: 16px; }
  body.is-admin .compact-hero-inner { align-items: flex-start; }
}

@media (max-width: 760px) {
  body.is-admin .topbar { position: sticky; }
  body.is-admin .topbar-inner { gap: 10px; }
  body.is-admin .brand { flex-basis: 100%; }
  body.is-admin .brand-title { max-width: calc(100vw - 98px); }
  body.is-admin .brand-subtitle { max-width: calc(100vw - 98px); }
  body.is-admin .nav-zone {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  body.is-admin .logout-form {
    order: -1;
    justify-self: end;
  }
  body.is-admin .btn-logout {
    min-height: 38px;
    padding: 9px 12px;
    font-size: 13px;
  }
  body.is-admin .nav {
    border-radius: 15px;
    padding: 4px;
  }
  body.is-admin .nav a {
    min-height: 38px;
    font-size: 12.5px;
    padding: 9px 11px;
  }
  .compact-hero-inner {
    align-items: stretch;
  }
  .compact-hero-inner .quick-actions,
  .compact-hero-inner .quick-actions .btn {
    width: 100%;
  }
  .compact-hero-inner .quick-actions .btn {
    justify-content: center;
  }
  .panel + .panel { margin-top: 12px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat { padding: 14px; }
  .stat strong { font-size: 26px; }
  .filters {
    padding: 12px;
    border-radius: 16px;
  }
  .table-wrap {
    margin-left: -4px;
    margin-right: -4px;
    border-radius: 15px;
  }
  th, td {
    padding: 11px 12px;
    font-size: 13px;
  }
  .detail-layout { gap: 14px; }
  .kv div { padding: 10px 12px; }
  .attachment-frame,
  .attachment-preview-list.wide .attachment-frame { height: 360px; }
  .attachment-preview-list.wide .attachment-image-link img { max-height: 360px; }
  .settings-choice { padding: 15px; border-radius: 17px; }
  .smtp-test-panel { display: grid; grid-template-columns: 1fr; }
  .smtp-test-panel .inline-actions,
  .smtp-test-panel .inline-actions .btn { width: 100%; }
  .smtp-test-panel .inline-actions .btn { justify-content: center; }
}

@media (max-width: 480px) {
  .container,
  body.is-admin .container { width: min(100% - 18px, var(--container)); }
  .brand-mark { width: 36px; height: 36px; border-radius: 13px; }
  .brand-title { font-size: 14px; }
  .brand-subtitle { font-size: 11px; }
  h1 { font-size: 30px; letter-spacing: -.045em; }
  h2 { font-size: 23px; }
  .compact-hero-inner,
  .panel,
  .declaration-panel { padding: 14px; border-radius: 17px; }
  .stats-grid { grid-template-columns: 1fr; }
  .btn { min-height: 42px; padding: 10px 13px; }
  input, select, textarea { min-height: 44px; }
  .actions { gap: 9px; }
  .actions .btn,
  .quick-actions .btn,
  .inline-actions .btn { width: 100%; justify-content: center; }
  .device-summary-side,
  .admin-card-meta,
  .admin-note-head { display: grid; justify-content: stretch; }
  .device-summary-id,
  .badge { width: fit-content; }
  .mail-log-detail { min-width: 0; }
  .attachment-frame,
  .attachment-preview-list.wide .attachment-frame { height: 280px; }
  .review-row strong, .kv div:nth-child(odd) { font-size: 12px; }
}

@media (max-width: 380px) {
  body.is-admin .nav a { font-size: 12px; padding-inline: 10px; }
  .brand-title { max-width: 245px; }
  .device-collaborator-name { font-size: 19px; }
  th, td { padding: 10px; }
}


/* Header mobile compact avec menu déroulant. */
.mobile-menu-toggle { display: none; }

@media (max-width: 760px) {
  body.is-admin .topbar {
    background: rgba(255,255,255,.97);
    box-shadow: 0 12px 34px rgba(15,23,42,.07);
  }
  body.is-admin .topbar-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px 0;
  }
  body.is-admin .brand {
    width: 100%;
    flex-basis: auto;
    gap: 10px;
  }
  body.is-admin .brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 12px;
  }
  body.is-admin .brand-title {
    max-width: calc(100vw - 92px);
    font-size: 14px;
    line-height: 1.08;
  }
  body.is-admin .brand-subtitle {
    max-width: calc(100vw - 92px);
    font-size: 11px;
  }
  body.is-admin .nav-zone {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "menu logout"
      "nav nav";
    align-items: stretch;
    gap: 8px;
  }
  body.is-admin .mobile-menu-toggle,
  .mobile-menu-toggle {
    grid-area: menu;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #ffffff;
    color: var(--text);
    padding: 9px 12px;
    min-height: 46px;
    box-shadow: var(--shadow-xs);
    cursor: pointer;
    text-align: left;
  }
  .mobile-menu-toggle:active { transform: translateY(1px); }
  .mobile-menu-icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    display: grid;
    place-content: center;
    gap: 3px;
    background: var(--primary);
    box-shadow: 0 8px 16px rgba(18,48,71,.16);
  }
  .mobile-menu-icon span {
    display: block;
    width: 12px;
    height: 2px;
    border-radius: 99px;
    background: #fff;
    transition: transform .18s ease, opacity .18s ease;
  }
  .mobile-menu-copy {
    display: grid;
    min-width: 0;
    gap: 1px;
  }
  .mobile-menu-copy > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
  }
  .mobile-menu-copy strong {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: var(--text);
    font-size: 13px;
    line-height: 1.12;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .nav-zone.open .mobile-menu-icon span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
  .nav-zone.open .mobile-menu-icon span:nth-child(2) { opacity: 0; }
  .nav-zone.open .mobile-menu-icon span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
  body.is-admin .logout-form {
    grid-area: logout;
    order: 0;
    justify-self: stretch;
    width: auto;
  }
  body.is-admin .btn-logout {
    width: auto;
    min-height: 46px;
    border-radius: 16px;
    padding: 9px 12px;
    background: #fff;
    box-shadow: var(--shadow-xs);
    white-space: nowrap;
  }
  body.is-admin .nav {
    grid-area: nav;
    display: none;
    width: 100%;
    max-width: 100%;
    grid-template-columns: 1fr;
    gap: 6px;
    overflow: visible;
    white-space: normal;
    border-radius: 18px;
    padding: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15,23,42,.08);
  }
  body.is-admin .nav-zone.open .nav { display: grid; }
  body.is-admin .nav a {
    width: 100%;
    justify-content: flex-start;
    min-height: 42px;
    padding: 11px 12px;
    border-radius: 13px;
    font-size: 13px;
    white-space: normal;
  }
  body.is-admin .nav a.active {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 8px 18px rgba(18,48,71,.16);
  }
}

@media (max-width: 380px) {
  body.is-admin .nav-zone {
    grid-template-columns: 1fr;
    grid-template-areas:
      "menu"
      "logout"
      "nav";
  }
  body.is-admin .logout-form,
  body.is-admin .btn-logout { width: 100%; }
  .mobile-menu-copy strong { white-space: normal; }
}


/* Correctif mobile V24 : menu unique et bouton d'ajout visible sur téléphone. */
@media (max-width: 760px) {
  .topbar {
    background: rgba(255,255,255,.98);
    box-shadow: 0 12px 34px rgba(15,23,42,.07);
  }
  .topbar-inner,
  body.is-admin .topbar-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    min-height: auto;
    padding: 10px 0 12px;
    align-items: stretch;
  }
  .brand,
  body.is-admin .brand {
    width: 100%;
    min-width: 0;
    flex-basis: auto;
    gap: 10px;
  }
  .brand-mark,
  body.is-admin .brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 14px;
  }
  .brand-title,
  body.is-admin .brand-title {
    max-width: calc(100vw - 92px);
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    font-size: 15px;
    line-height: 1.1;
  }
  .brand-subtitle,
  body.is-admin .brand-subtitle {
    max-width: calc(100vw - 92px);
    font-size: 12px;
  }
  .nav-zone,
  body.is-admin .nav-zone {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "menu logout"
      "nav nav";
    gap: 8px;
    align-items: stretch;
  }
  body:not(.is-admin) .nav-zone {
    grid-template-columns: 1fr;
    grid-template-areas:
      "menu"
      "nav";
  }
  .mobile-menu-toggle,
  body.is-admin .mobile-menu-toggle {
    grid-area: menu;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #ffffff;
    color: var(--text);
    padding: 10px 12px;
    min-height: 52px;
    box-shadow: var(--shadow-xs);
    cursor: pointer;
    text-align: left;
  }
  .mobile-menu-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 13px;
  }
  .mobile-menu-copy strong {
    max-width: calc(100vw - 110px);
    font-size: 15px;
  }
  .logout-form,
  body.is-admin .logout-form {
    grid-area: logout;
    width: auto;
    margin: 0;
    justify-self: stretch;
  }
  .btn-logout,
  body.is-admin .btn-logout {
    width: auto;
    min-height: 52px;
    border-radius: 18px;
    padding: 10px 13px;
    white-space: nowrap;
  }
  .nav,
  body.is-admin .nav {
    grid-area: nav;
    display: none !important;
    width: 100%;
    max-width: 100%;
    grid-template-columns: 1fr;
    gap: 6px;
    overflow: visible;
    white-space: normal;
    border-radius: 18px;
    padding: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15,23,42,.08);
  }
  .nav-zone.open .nav,
  body.is-admin .nav-zone.open .nav {
    display: grid !important;
  }
  .nav a,
  body.is-admin .nav a {
    width: 100%;
    min-height: 44px;
    padding: 12px 13px;
    border-radius: 13px;
    font-size: 14px;
    white-space: normal;
  }
  .nav-zone.open .mobile-menu-copy strong {
    display: none;
  }
  .install-cta {
    display: inline-flex !important;
  }
}

@media (max-width: 380px) {
  .nav-zone,
  body.is-admin .nav-zone {
    grid-template-columns: 1fr;
    grid-template-areas:
      "menu"
      "logout"
      "nav";
  }
  .logout-form,
  .btn-logout,
  body.is-admin .logout-form,
  body.is-admin .btn-logout { width: 100%; }
}


/* Correctif V25 - mobile iPhone : bouton d'ajout toujours accessible et menu non dupliqué. */
@media (max-width: 760px) {
  .install-cta {
    display: inline-flex !important;
    width: 100%;
    justify-content: center;
  }

  .topbar .nav-zone {
    position: relative;
  }

  .topbar .mobile-menu-toggle {
    display: flex !important;
  }

  .topbar .nav-zone:not(.open) > .nav {
    display: none !important;
  }

  .topbar .nav-zone.open > .nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    padding: 10px !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 16px 40px rgba(15,23,42,.10) !important;
  }

  .topbar .nav-zone.open > .nav a {
    display: flex !important;
    width: 100% !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    white-space: normal !important;
    text-align: left !important;
  }

  .topbar .nav-zone.open > .nav a.active {
    background: var(--primary) !important;
    color: #fff !important;
  }

  .topbar .mobile-menu-copy strong {
    display: block !important;
  }
}

/* Ajustements V26 : formulaire métier simplifié */
.clean-mobile-hero { align-items: center; }
.business-form .declaration-panel { min-height: 560px; }
.clean-declaration-panel .form-step h2 { margin-bottom: 8px; }
.profile-summary { display:flex; flex-direction:column; gap:4px; padding:14px 16px; border:1px solid var(--border, #e2e8f0); border-radius:14px; background:#f8fafc; font-weight:700; }
.profile-summary span { color:#64748b; font-weight:600; }
.profile-summary.recognized { background:#ecfdf5; border-color:#bbf7d0; color:#166534; }
.dynamic-question-grid .full { grid-column:1 / -1; }
.choice-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.check-pill { display:inline-flex; align-items:center; gap:8px; border:1px solid #dbe3ea; border-radius:999px; padding:9px 12px; background:#fff; cursor:pointer; font-weight:700; }
.check-pill input { width:auto; margin:0; }
.rating-row { display:flex; gap:10px; flex-wrap:wrap; }
.rating-row label { cursor:pointer; }
.rating-row input { position:absolute; opacity:0; pointer-events:none; }
.rating-row span { display:flex; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid #dbe3ea; border-radius:12px; background:#fff; font-weight:900; }
.rating-row input:checked + span { background:#0f172a; color:#fff; border-color:#0f172a; }
.witness-list { display:grid; gap:10px; margin:8px 0 12px; }
.witness-row { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:10px; }
.notice-block p { margin:6px 0 0; color:#475569; }
.builder-step { margin-bottom:18px; }
.builder-table input, .builder-table select, .builder-table textarea { min-width:160px; }
.new-question-row { background:#f8fafc; }
@media (max-width: 720px) {
  .clean-mobile-hero { align-items:flex-start; }
  .clean-mobile-hero .install-btn { width:100%; }
  .business-form { display:block; }
  .compact-rail { margin-bottom:14px; }
  .witness-row { grid-template-columns:1fr; }
  .choice-list { flex-direction:column; align-items:stretch; }
  .check-pill { border-radius:12px; }
}

/* Ajustements visuels client : écrans plus compacts, sans décoration superflue. */
:root {
  --bg: #f4f8fb;
  --bg-soft: #eef6fb;
  --surface: #ffffff;
  --surface-soft: #f8fbfd;
  --surface-muted: #edf6fb;
  --text: #162033;
  --text-soft: #334155;
  --muted: #65758b;
  --border: #dce8f0;
  --border-strong: #bfd3df;
  --primary: #008bd2;
  --primary-2: #006fa8;
  --primary-soft: #e5f4fc;
  --accent: #77bd2a;
  --accent-soft: #eef8e8;
  --shadow-xs: 0 1px 2px rgba(16, 48, 74, .04);
  --shadow-sm: 0 7px 18px rgba(16, 48, 74, .055);
  --shadow-md: 0 14px 32px rgba(16, 48, 74, .075);
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 16px;
  --container: 1180px;
}

body {
  background: #f4f8fb;
  text-rendering: optimizeLegibility;
}

.container { width: min(var(--container), calc(100% - 28px)); }
.topbar { border-bottom-color: rgba(220,232,240,.95); }
.topbar-inner { min-height: 66px; padding: 9px 0; }
.brand { min-width: 190px; gap: 10px; }
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--primary);
}
.brand-title { font-size: 14px; max-width: 210px; }
.brand-subtitle { font-size: 11px; }
.nav { border-radius: 14px; padding: 4px; }
.nav a { font-size: 12px; padding: 8px 10px; border-radius: 11px; }
.nav a.active { background: var(--primary); }
.btn { border-radius: 10px; min-height: 38px; padding: 9px 13px; font-size: 13px; box-shadow: 0 7px 16px rgba(0,139,210,.14); }
.btn.secondary, .btn.ghost { box-shadow: none; }
.btn-logout { min-height: 38px; }

.compact-hero { padding: 18px 0 4px; }
.compact-hero-inner,
.panel {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.compact-hero-inner { padding: 18px 20px; align-items: center; }
.panel { padding: 18px; }
.panel.soft { background: #fbfdff; border-color: #dfeaf2; }
.step-shell { padding: 18px 0 34px; }

.kicker { color: #2f7770; font-size: 11px; letter-spacing: .11em; }
h1 { font-size: clamp(28px, 3.1vw, 36px); line-height: 1.03; letter-spacing: -.045em; margin: 6px 0 8px; }
h2 { font-size: clamp(21px, 2.2vw, 27px); }
h3 { font-size: 16px; margin-bottom: 10px; }
p { line-height: 1.52; }

input, select, textarea {
  border-color: var(--border-strong) !important;
  border-radius: 10px !important;
}
.field label { font-size: 12px; color: #24364b; }
.form-grid { gap: 12px; }
.actions { gap: 10px; }

/* Tableau de bord et listes : plus denses, lisibles sur poste métier. */
.stats-grid { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; margin: 14px 0; }
.stat { border-radius: 14px; padding: 13px; }
.stat strong { font-size: 26px; color: var(--primary-2); }
.stat span { font-size: 12px; }
.filters { padding: 12px; gap: 9px; border-radius: 14px; }
.table-wrap { border-radius: 14px; }
th, td { padding: 10px 11px; font-size: 13px; }
th { font-size: 10px; letter-spacing: .075em; }
.badge { padding: 4px 9px; font-size: 11px; }

/* Page de paramétrage du formulaire : écran compact et pratique. */
.form-builder { gap: 12px !important; }
.form-builder .builder-step {
  margin-bottom: 0;
  padding: 14px;
  border-left: 4px solid var(--primary);
  min-width: 0;
  width: 100%;
}
.form-builder .builder-step .table-wrap { max-width: 100%; }
.form-builder > .actions { min-width: 0; width: 100%; }
.form-builder > .actions .btn { max-width: 100%; }
.form-builder .builder-step > .form-grid.two {
  grid-template-columns: minmax(200px, .85fr) minmax(260px, 1.15fr);
  gap: 10px;
}
.form-builder h3 {
  margin: 12px 0 8px;
  font-size: 14px;
  color: #24364b;
}
.builder-table {
  min-width: 920px;
  table-layout: fixed;
}
.builder-table th:nth-child(1), .builder-table td:nth-child(1),
.builder-table th:nth-child(4), .builder-table td:nth-child(4),
.builder-table th:nth-child(6), .builder-table td:nth-child(6) { width: 72px; text-align: center; }
.builder-table th:nth-child(2), .builder-table td:nth-child(2) { width: 210px; }
.builder-table th:nth-child(3), .builder-table td:nth-child(3) { width: 170px; }
.builder-table th:nth-child(5), .builder-table td:nth-child(5) { width: 260px; }
.builder-table td { padding: 8px 10px; vertical-align: middle; }
.builder-table input,
.builder-table select,
.builder-table textarea {
  min-width: 0 !important;
  width: 100%;
  min-height: 36px;
  font-size: 13px;
  padding: 8px 10px;
}
.builder-table textarea {
  height: 52px;
  min-height: 52px;
  resize: vertical;
  line-height: 1.35;
}
.builder-table input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  accent-color: var(--primary);
}
.builder-table .new-question-row td {
  background: #f3f8fb;
}

/* Déclaration collaborateur : parcours simple et direct. */
.business-form .declaration-panel { min-height: auto; }
.progress-card { grid-template-columns: 200px 1fr; gap: 14px; }
.steps { top: 82px; padding: 10px; border-radius: 14px; }
.step { min-height: 48px; padding: 10px; border-radius: 12px; }
.step-number { width: 30px; height: 30px; border-radius: 10px; }
.choice-list { gap: 8px; }
.check-pill { border-radius: 11px; padding: 8px 10px; font-size: 13px; }
.rating-row span { width: 40px; height: 40px; border-radius: 10px; }
.rating-row input:checked + span { background: var(--primary); border-color: var(--primary); }
.profile-summary { border-radius: 12px; padding: 12px 13px; }
.profile-summary.recognized { background: #f1faec; border-color: #b9ddb3; color: #2f6f1f; }

/* Menu mobile simplifié. */
.mobile-menu-toggle {
  border-color: var(--border) !important;
  background: #fff !important;
}
@media (max-width: 900px) {
  .topbar-inner { gap: 10px; }
  .brand { min-width: 0; }
  .topbar .nav-zone.open > .nav { border-radius: 14px !important; }
  .topbar .nav-zone.open > .nav a { min-height: 42px !important; padding: 10px 12px !important; }
  .compact-hero-inner { padding: 16px; }
  .progress-card { display: block; }
  .steps { position: static; display: flex; overflow-x: auto; gap: 8px; margin-bottom: 12px; }
  .step { min-width: 150px; }
  .detail-layout { grid-template-columns: 1fr; }
  .detail-layout > aside { position: static; }
}
@media (max-width: 720px) {
  .container { width: min(100% - 22px, var(--container)); }
  .topbar-inner { min-height: 62px; }
  .brand-title { max-width: 180px; }
  h1 { font-size: 28px; }
  .panel { padding: 15px; }
  .compact-hero { padding-top: 12px; }
  .compact-hero-inner { display: grid; gap: 12px; align-items: start; }
  .btn { width: 100%; }
  .btn-logout { width: auto; }
  .form-builder .builder-step { padding: 12px; }
  .form-builder .builder-step > .form-grid.two { grid-template-columns: 1fr; }
  .table-wrap { border-radius: 12px; }
  .builder-table { min-width: 860px; }
  th, td { padding: 8px; }
  .steps { padding: 8px; }
  .step { min-width: 132px; }
  .choice-list { display: grid; }
}


/* Ajustements V29 - header et mobile.
   On garde une interface calme, sans effet décoratif inutile. */
.brand-mark {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 14px !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
.brand { gap: 12px !important; }
.topbar-inner { min-height: 72px; }

@media (max-width: 760px) {
  body { background: #f4f8fb; }
  .container { width: min(100% - 20px, var(--container)); }

  .topbar {
    position: sticky;
    background: #ffffff;
    backdrop-filter: none;
  }
  .topbar-inner {
    min-height: auto !important;
    padding: 12px 0 !important;
    gap: 10px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
      "brand logout"
      "menu menu" !important;
    align-items: center !important;
  }
  .brand,
  body.is-admin .brand {
    grid-area: brand !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 10px !important;
  }
  .brand-mark,
  body.is-admin .brand-mark {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 14px !important;
    font-size: 29px !important;
  }
  .brand-title,
  body.is-admin .brand-title {
    max-width: calc(100vw - 165px) !important;
    font-size: 15px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }
  .brand-subtitle,
  body.is-admin .brand-subtitle {
    max-width: calc(100vw - 165px) !important;
    font-size: 11px !important;
  }
  .logout-form,
  body.is-admin .logout-form {
    grid-area: logout !important;
    width: auto !important;
    justify-self: end !important;
  }
  .btn-logout,
  body.is-admin .btn-logout {
    width: auto !important;
    min-height: 38px !important;
    padding: 8px 11px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
  }
  .nav-zone,
  body.is-admin .nav-zone {
    grid-area: menu !important;
    width: 100% !important;
    display: grid !important;
    gap: 8px !important;
  }
  .mobile-menu-toggle,
  body.is-admin .mobile-menu-toggle {
    display: flex !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    justify-content: flex-start !important;
  }
  .mobile-menu-copy strong { font-size: 14px !important; }
  .mobile-menu-copy > span { font-size: 10px !important; letter-spacing: .12em !important; }
  .topbar .nav,
  body.is-admin .topbar .nav {
    display: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 7px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-xs) !important;
    overflow: visible !important;
    white-space: normal !important;
  }
  .topbar .nav-zone.open .nav,
  body.is-admin .topbar .nav-zone.open .nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }
  .topbar .nav a,
  body.is-admin .topbar .nav a {
    display: flex !important;
    align-items: center !important;
    min-height: 40px !important;
    width: 100% !important;
    padding: 9px 11px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
  }
  .compact-hero { padding-top: 12px !important; }
  .compact-hero-inner {
    padding: 16px !important;
    border-radius: 14px !important;
  }
  .panel,
  .declaration-panel {
    padding: 16px !important;
    border-radius: 14px !important;
  }
  h1 { font-size: 27px !important; line-height: 1.05 !important; }
  h2 { font-size: 22px !important; }
  p { line-height: 1.48 !important; }
  .btn { min-height: 42px !important; }
  .quick-actions { justify-content: stretch !important; }
  .quick-actions .btn { width: 100% !important; }
  .steps {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    gap: 7px !important;
    padding: 8px !important;
  }
  .step { min-width: 0 !important; min-height: 44px !important; }
  .step-number { width: 28px !important; height: 28px !important; }
  .form-grid,
  .form-grid.two,
  .form-grid.three,
  .grid.two,
  .grid.three { grid-template-columns: 1fr !important; }
  input, select, textarea { font-size: 16px !important; }
}

@media (max-width: 380px) {
  .brand-mark,
  body.is-admin .brand-mark {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    font-size: 27px !important;
  }
  .brand-title,
  body.is-admin .brand-title { max-width: calc(100vw - 150px) !important; }
}

/* Ajustements V30 : écrans de pilotage métier. */
.settings-scope-note,
.files-health-card {
  border-left: 4px solid var(--green, #31a66a);
}
.builder-step .badge,
.admin-user-card .badge {
  white-space: nowrap;
}
.preview-checklist {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.preview-checklist span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-weight: 700;
}
@media (max-width: 760px) {
  .builder-table th,
  .builder-table td {
    min-width: 160px;
  }
  .settings-choice-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =====================================================================
 * Plateforme SaaS - habillage site vitrine, tunnel, console opérateur
 * Style commercial épuré : neutres slate, un accent bleu, ombres douces,
 * bordures fines. Aucun dégradé, aucun flou, aucune ombre colorée.
 * (Ajouts postérieurs au socle de l'application société.)
 * ===================================================================== */

/* ---------- Onboarding (espace société) ---------- */
.onboarding { margin-top: 16px; }
.onboarding-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.onboarding-head strong { font-size: 1.05rem; }
.onboarding-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.onboarding-list li { display: flex; align-items: center; gap: 12px; }
.onboarding-mark { width: 22px; height: 22px; border-radius: 999px; border: 1.5px solid var(--border-strong); display: grid; place-items: center; font-size: .74rem; color: var(--success); flex: 0 0 auto; }
.onboarding-list li.done .onboarding-mark { background: var(--success-soft); border-color: var(--success); }
.onboarding-list li.done a { color: var(--muted); text-decoration: line-through; }
.onboarding-list a { font-weight: 600; }

/* =====================================================================
 * SITE VITRINE
 * ===================================================================== */
.is-site {
  --bg: #ffffff;
  --bg-soft: #f8fafc;
  --ink: #0f172a;
  --ink-2: #334155;
  --muted: #64748b;
  --line: #e6e9ef;
  --line-2: #d6dbe4;
  --brand: #2563eb;
  --brand-d: #1d4ed8;
  --brand-soft: #eff6ff;
  --sh-sm: 0 1px 2px rgba(2, 6, 23, .06);
  --sh-card: 0 1px 3px rgba(2, 6, 23, .07), 0 1px 2px rgba(2, 6, 23, .04);
  --sh-md: 0 14px 36px -16px rgba(2, 6, 23, .22);
  --sh-lg: 0 28px 64px -24px rgba(2, 6, 23, .30);
  background: var(--bg);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
.is-site ::selection { background: var(--brand); color: #fff; }
.is-site .container { max-width: 1120px; }
.is-site h1, .is-site h2, .is-site h3 { letter-spacing: -.02em; }
.is-site a { color: var(--brand); }
.is-site .muted { color: var(--muted); }
.is-site .center { text-align: center; }
.is-site .narrow { max-width: 720px; margin-left: auto; margin-right: auto; }
.is-site .lead { font-size: 1.12rem; color: var(--ink-2); }

/* Boutons */
.is-site .btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--brand); color: #fff; border: 1px solid var(--brand);
  border-radius: 10px; padding: 11px 20px; font-weight: 600; font-size: .98rem;
  box-shadow: var(--sh-sm); transition: background .15s ease, box-shadow .15s ease, transform .04s ease;
}
.is-site .btn:hover { background: var(--brand-d); border-color: var(--brand-d); box-shadow: var(--sh-md); }
.is-site .btn:active { transform: translateY(1px); }
.is-site .btn.secondary, .is-site .btn.ghost {
  background: #fff; color: var(--ink); border: 1px solid var(--line-2); box-shadow: var(--sh-sm);
}
.is-site .btn.secondary:hover, .is-site .btn.ghost:hover { background: var(--bg-soft); border-color: var(--line-2); color: var(--ink); }
.is-site .btn.full { width: 100%; }

/* En-tête */
.site-header { background: rgba(255, 255, 255, .9); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 40; }
.site-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 0; }
.site-brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--ink); }
.site-brand-mark { width: 34px; height: 34px; border-radius: 9px; background: var(--brand); color: #fff; display: grid; place-items: center; font-weight: 700; box-shadow: var(--sh-sm); }
.site-brand-name { font-size: 1.16rem; font-weight: 700; }
.site-nav { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.site-nav a { text-decoration: none; color: var(--ink-2); font-weight: 500; font-size: .96rem; }
.site-nav a.active, .site-nav a:hover { color: var(--ink); }
.site-nav .btn { color: #fff; }
.site-nav .btn:hover { color: #fff; }

/* Pied de page (clair, structuré) */
.site-footer { background: var(--bg-soft); border-top: 1px solid var(--line); margin-top: 64px; }
.site-footer-inner { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 34px 0; flex-wrap: wrap; }
.site-footer strong { font-size: 1.05rem; color: var(--ink); }
.site-footer p { color: var(--muted); margin: 6px 0 0; font-size: .92rem; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.site-footer nav a { color: var(--ink-2); text-decoration: none; font-size: .92rem; }
.site-footer nav a:hover { color: var(--brand); }

/* Sections */
.is-site .section { padding: 72px 0; }
.is-site .section-head { max-width: 660px; margin: 0 0 36px; }
.is-site .section-head.center, .is-site .center > .section-head { margin-left: auto; margin-right: auto; }
.is-site .eyebrow { display: inline-block; color: var(--brand); font-weight: 600; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 10px; }
.is-site .section-head h2 { margin: 0 0 12px; font-size: clamp(1.7rem, 3.4vw, 2.3rem); line-height: 1.12; }
.is-site .section-head p { color: var(--muted); font-size: 1.08rem; line-height: 1.6; }

/* Héros (clair, sans dégradé) */
.hero { background: var(--bg); border-bottom: 1px solid var(--line); }
.hero-inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; padding: 84px 0; }
.hero-copy .kicker { display: inline-block; color: var(--brand); background: var(--brand-soft); border: 1px solid #dbe7fe; padding: 5px 12px; border-radius: 999px; font-weight: 600; font-size: .8rem; letter-spacing: .02em; }
.hero-copy h1 { font-size: clamp(2.3rem, 5vw, 3.5rem); line-height: 1.05; margin: 18px 0 18px; color: var(--ink); }
.hero-lead { font-size: 1.2rem; color: var(--ink-2); line-height: 1.55; margin: 0 0 28px; max-width: 30em; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-actions .btn { padding: 13px 24px; font-size: 1rem; }
.hero-note { margin-top: 20px; color: var(--muted); font-size: .9rem; }

/* Aperçu produit dans le héros (carte propre) */
.hero-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--sh-lg); overflow: hidden; }
.hero-card-head { font-weight: 600; font-size: .95rem; color: var(--ink); padding: 16px 20px; border-bottom: 1px solid var(--line); background: var(--bg-soft); display: flex; align-items: center; gap: 8px; }
.hero-card-head::before { content: ""; width: 10px; height: 10px; border-radius: 999px; background: var(--brand); box-shadow: 16px 0 0 #cbd5e1, 32px 0 0 #e2e8f0; margin-right: 28px; }
.hero-card ul { margin: 0; padding: 10px; list-style: none; display: grid; gap: 8px; }
.hero-card li { position: relative; padding: 12px 14px 12px 42px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink-2); font-size: .94rem; background: #fff; }
.hero-card li::before { content: "✓"; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; font-size: .7rem; font-weight: 700; }

/* Atouts */
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.feature-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 26px; box-shadow: var(--sh-card); transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
.feature-card:hover { box-shadow: var(--sh-md); transform: translateY(-3px); border-color: var(--line-2); }
.feature-card h3 { margin: 14px 0 8px; font-size: 1.06rem; color: var(--ink); }
.feature-card::before { content: ""; display: block; width: 40px; height: 40px; border-radius: 11px; background: var(--brand-soft); border: 1px solid #dbe7fe; }
.feature-card p { margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.55; }

/* Étapes */
.steps-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.step-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 28px; box-shadow: var(--sh-card); }
.step-card span { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); border: 1px solid #dbe7fe; font-weight: 700; margin-bottom: 14px; }
.step-card h3 { margin: 0 0 6px; color: var(--ink); }
.step-card p { margin: 0; color: var(--muted); line-height: 1.55; }

/* Tarifs */
.pricing-toggle { display: inline-flex; gap: 4px; margin: 22px auto 0; padding: 5px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 12px; }
.pricing-toggle button { border: 0; background: transparent; padding: 9px 20px; border-radius: 8px; cursor: pointer; font-weight: 600; color: var(--ink-2); font-size: .95rem; transition: background .15s ease, box-shadow .15s ease; }
.pricing-toggle button small { color: var(--brand); font-weight: 700; margin-left: 4px; }
.pricing-toggle button.active { background: #fff; color: var(--ink); box-shadow: var(--sh-sm); }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.pricing-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 30px 26px; display: flex; flex-direction: column; box-shadow: var(--sh-card); }
.pricing-card.is-highlight { border: 1.5px solid var(--brand); box-shadow: var(--sh-md); }
.pricing-flag { position: absolute; top: 18px; right: 18px; background: var(--brand); color: #fff; font-size: .72rem; font-weight: 600; padding: 4px 12px; border-radius: 999px; }
.pricing-card h3 { margin: 0 0 6px; font-size: 1.3rem; color: var(--ink); }
.pricing-tagline { color: var(--muted); margin: 0 0 18px; min-height: 42px; font-size: .95rem; line-height: 1.5; }
.pricing-price { display: flex; align-items: baseline; gap: 8px; }
.pricing-price .amount { font-size: 2.5rem; font-weight: 800; color: var(--ink); letter-spacing: -.03em; }
.pricing-price .suffix { color: var(--muted); font-weight: 500; }
.pricing-ttc { color: var(--muted); font-size: .88rem; margin: 6px 0 20px; }
.pricing-features { list-style: none; margin: 0 0 24px; padding: 20px 0 0; border-top: 1px solid var(--line); display: grid; gap: 12px; flex: 1; }
.pricing-features li { position: relative; padding-left: 28px; color: var(--ink-2); font-size: .95rem; }
.pricing-features li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; font-size: .68rem; font-weight: 700; }

/* Récapitulatif / succès */
.recap { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; box-shadow: var(--sh-sm); }
.recap-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.recap-row:last-child { border-bottom: 0; }
.recap-row span { color: var(--muted); }
.recap-row.total { background: var(--bg-soft); font-size: 1.1rem; }
.recap-row.total strong { color: var(--ink); }
.success-mark { width: 64px; height: 64px; border-radius: 999px; background: var(--brand-soft); color: var(--brand); border: 1px solid #dbe7fe; display: grid; place-items: center; font-size: 1.9rem; font-weight: 700; margin: 0 auto 18px; }

/* Formulaires de la vitrine */
.is-site .panel { background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--sh-card); }
.is-site .panel.soft { box-shadow: none; background: var(--bg-soft); }
.is-site .kicker { color: var(--brand); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; font-size: .78rem; }
.is-site .field label { font-weight: 500; color: var(--ink-2); }
.is-site .field input, .is-site .field textarea, .is-site .field select,
.is-site input[type="text"], .is-site input[type="email"], .is-site input[type="password"], .is-site textarea, .is-site select {
  border: 1px solid var(--line-2); border-radius: 9px; background: #fff; color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease;
}
.is-site .field input:focus, .is-site .field textarea:focus, .is-site .field select:focus,
.is-site input:focus, .is-site textarea:focus, .is-site select:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.is-site .field input:disabled { background: var(--bg-soft); color: var(--muted); }
.is-site .notice { border: 1px solid var(--line); border-radius: 10px; }
.radio-row { display: flex; gap: 22px; flex-wrap: wrap; align-items: center; padding-top: 6px; }
.radio-row label { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }

/* Mentions légales / RGPD / CGV */
.legal h1 { margin-bottom: 8px; }
.legal h2 { margin: 26px 0 8px; font-size: 1.16rem; color: var(--ink); }
.legal p { color: var(--ink-2); margin: 0 0 8px; line-height: 1.7; }

/* Bandeau support */
.support-banner { position: sticky; top: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 18px; background: var(--brand); color: #fff; font-size: .9rem; }
.support-banner form { margin: 0; }
.support-banner button { border: 1px solid rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .12); color: #fff; padding: 5px 13px; border-radius: 8px; cursor: pointer; font-size: .85rem; font-weight: 500; }
.support-banner button:hover { background: rgba(255, 255, 255, .22); }

/* =====================================================================
 * CONSOLE OPÉRATEUR (épuré, cohérent avec la vitrine)
 * ===================================================================== */
.is-operator { background: #f8fafc; }
.op-header { background: #fff; color: #0f172a; position: sticky; top: 0; z-index: 40; border-bottom: 1px solid #e6e9ef; box-shadow: 0 1px 2px rgba(2, 6, 23, .04); }
.op-header-inner { display: flex; align-items: center; gap: 20px; padding: 13px 0; flex-wrap: wrap; }
.op-brand { color: #0f172a; text-decoration: none; font-weight: 700; font-size: 1.05rem; }
.op-nav { display: flex; gap: 18px; flex-wrap: wrap; flex: 1; }
.op-nav a { color: #475569; text-decoration: none; font-weight: 500; font-size: .94rem; padding: 4px 0; border-bottom: 2px solid transparent; }
.op-nav a.active, .op-nav a:hover { color: #0f172a; border-bottom-color: #2563eb; }
.op-user { color: #64748b; font-size: .9rem; margin-right: 8px; }
.op-header .btn-logout { color: #334155; background: #fff; border: 1px solid #d6dbe4; border-radius: 8px; }
.op-header .btn-logout:hover { background: #f1f5f9; }
.op-main { padding-bottom: 48px; }
.op-login { background: #f8fafc; }

/* Responsive */
@media (max-width: 940px) {
  .hero-inner { grid-template-columns: 1fr; gap: 40px; padding: 56px 0; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .steps-row, .pricing-grid { grid-template-columns: 1fr; }
  .is-site .section { padding: 56px 0; }
}
@media (max-width: 560px) {
  .feature-grid { grid-template-columns: 1fr; }
  .site-nav { gap: 16px; }
}

/* =====================================================================
 * Correctif : cases à cocher et boutons radio à taille native
 * (les styles de champ texte ne doivent pas s'appliquer aux cases/radios)
 * ===================================================================== */
.is-site input[type="radio"], .is-site input[type="checkbox"],
.is-operator input[type="radio"], .is-operator input[type="checkbox"],
.radio-row input[type="radio"], .radio-row input[type="checkbox"],
.onboarding input[type="checkbox"] {
  -webkit-appearance: auto;
  appearance: auto;
  width: 16px;
  height: 16px;
  min-width: 0;
  max-width: 16px;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: none;
  accent-color: #2563eb;
  vertical-align: middle;
}
.radio-row label { cursor: pointer; }

/* =====================================================================
 * Console opérateur : alignement du nom d'utilisateur avec « Déconnexion »
 * ===================================================================== */
.logout-form {
  align-items: center;
  gap: 10px;
}
.op-user {
  display: inline-flex;
  align-items: center;
  color: #475569;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1;
}
@media (max-width: 720px) {
  .op-user { font-size: 13px; }
}

/* Logo d'entreprise dans l'en-tête de l'espace société */
.brand-logo { height: 40px; width: auto; max-width: 180px; object-fit: contain; display: block; }
@media (max-width: 720px) { .brand-logo { height: 34px; max-width: 140px; } }

/* Listes du centre d'aide */
.help-list { margin: 10px 0 0; padding-left: 18px; display: grid; gap: 7px; }
.help-list li { color: var(--text-soft); line-height: 1.5; }

/* =====================================================================
 * Sentinéo SaaS v6.1 - dossiers, équipes, chronologie et accès
 * ===================================================================== */
.ui-icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ui-icon .fill{fill:currentColor;stroke:none}.brand-mark-svg{display:grid;place-items:center}.brand-mark-svg .ui-icon{width:22px;height:22px}.site-brand-mark.brand-mark-svg{font-size:0}
.hero-actions,.section-heading-row,.user-card-heading,.user-secondary-actions,.tag-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-heading-row{justify-content:space-between;align-items:flex-start}.btn.danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.btn.danger:hover{background:#991b1b;border-color:#991b1b}.prewrap{white-space:pre-wrap}.back-link{text-decoration:none;color:#64748b;font-weight:800}.text-danger{color:#b91c1c!important}.text-success{color:#047857!important}.badge.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.severity-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:850;white-space:nowrap;border:1px solid transparent}.severity-information{background:#dcfce7;color:#166534;border-color:#bbf7d0}.severity-incident{background:#fef9c3;color:#854d0e;border-color:#fde68a}.severity-agression{background:#ffedd5;color:#9a3412;border-color:#fed7aa}.severity-urgence{background:#fee2e2;color:#991b1b;border-color:#fecaca}.severity-row-urgence td:first-child{box-shadow:inset 4px 0 #dc2626}.severity-row-agression td:first-child{box-shadow:inset 4px 0 #f97316}

/* Page publique v6.1 */
.home-v61 .hero-inner{align-items:center}.product-preview{display:grid;gap:0;padding:0;overflow:hidden}.product-preview-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.product-preview-head>span:first-child{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.product-preview-head div{display:grid;gap:2px}.product-preview-head small,.product-preview-line small{color:var(--muted);font-size:.8rem}.product-preview-line{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:16px 20px;position:relative}.product-preview-line:not(:last-child):after{content:"";position:absolute;left:28px;bottom:-9px;height:18px;border-left:2px solid #dbe2ea}.product-preview-line>div{display:grid;gap:3px}.preview-dot{width:12px;height:12px;border-radius:50%;margin-top:4px;border:2px solid #94a3b8;background:#fff}.preview-dot.done{background:#0f766e;border-color:#0f766e}.home-workflow .section-head{max-width:780px}.workflow-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-grid-v61 .feature-card{position:relative;padding-top:62px}.feature-icon{position:absolute;left:24px;top:22px;width:30px;height:30px;color:var(--brand)}.feature-icon .ui-icon{width:26px;height:26px}.home-cta-panel{border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:18px 28px;align-items:center;padding:32px!important}.home-cta-panel h2{margin:5px 0 8px}.home-cta-panel>small{grid-column:1/-1}

/* Authentification */
.auth-panel{max-width:560px;margin-inline:auto}.microsoft-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#172033;border-color:#cbd5e1}.microsoft-btn:hover{background:#f8fafc}.microsoft-btn .ui-icon{width:18px;height:18px}.auth-separator{display:flex;align-items:center;gap:12px;color:#94a3b8;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:#e2e8f0;flex:1}

/* Utilisateurs, opérateurs et organisation */
.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.users-table td{vertical-align:middle}.table-sub{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.compact-create>summary{cursor:pointer;font-weight:750;list-style:none}.compact-create>summary::-webkit-details-marker{display:none}.row-actions{position:relative}.row-actions>summary{cursor:pointer;color:var(--brand);font-weight:750;list-style:none;white-space:nowrap}.row-actions>summary::-webkit-details-marker{display:none}.row-actions-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(520px,86vw);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #0f172a24;padding:16px}.row-actions-panel form+form{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.org-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.org-list{display:grid;gap:12px;margin-top:14px}.org-card{display:grid;gap:8px}.permission-row{display:flex;gap:14px;flex-wrap:wrap}.check-row.mini{font-size:.82rem}.inline-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.inline-form>input{flex:1;min-width:170px}.operator-team-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.compact-search{display:flex;gap:8px;align-items:center;flex:1;max-width:720px}.compact-search input{min-width:230px;flex:1}

/* Dossier / actions / chronologie */
.workflow-list{display:grid;gap:10px}.workflow-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.workflow-card.is-overdue{border-color:#fecaca;box-shadow:inset 4px 0 #dc2626}.workflow-row{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch;padding:16px;container-type:inline-size}.workflow-row.status-terminee{background:#f0fdf4}.workflow-main{display:grid;gap:7px;align-content:start}.workflow-main textarea{min-height:76px}.workflow-main .badge{width:max-content}.workflow-controls{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(180px,1.1fr) minmax(132px,.8fr) auto;gap:10px;align-items:end}.workflow-controls .field,.workflow-controls select{min-width:0}.workflow-controls .btn{min-height:46px;white-space:nowrap}.workflow-readonly{grid-template-columns:minmax(240px,2fr) minmax(125px,.8fr) minmax(170px,1fr) minmax(130px,.7fr);align-items:end}.workflow-add summary{cursor:pointer;font-weight:750}.action-reminder-form{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:10px 16px;background:#f8fafc;border-top:1px solid var(--line)}.timeline-list{display:grid;gap:0;margin-top:10px}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:12px;position:relative;padding:0 0 18px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:5px;top:12px;bottom:0;border-left:2px solid #dbe2ea}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--brand);margin-top:5px;position:relative;z-index:1}.timeline-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.timeline-head span,.timeline-item small{color:var(--muted);font-size:.78rem}.timeline-item p{margin:4px 0;line-height:1.5}.attachment-media{width:100%;max-height:340px;border-radius:10px;background:#0f172a}.attachment-card audio.attachment-media{background:#f1f5f9;min-height:54px}

/* Notifications, licences, audit */
.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rule-card{display:grid;gap:10px}.rule-card>div:first-child{display:grid;gap:4px}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#334155;font-weight:800;font-size:.72rem}.truncate-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-grid{display:flex;gap:16px;flex-wrap:wrap}.check-grid label{display:flex;align-items:center;gap:7px}.license-stats{margin-top:18px}.license-meter{height:9px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:12px 0}.license-meter i{display:block;height:100%;background:var(--brand);border-radius:inherit}.admin-user-card.status-inactive{opacity:.72;background:#f8fafc}.admin-user-card.status-invite{border-style:dashed}.user-card-heading{justify-content:space-between}.user-card-heading>div{display:grid;gap:3px}.user-secondary-actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:12px}.user-secondary-actions form{margin:0}.audit-event{font-weight:800}.audit-meta{max-width:360px;white-space:pre-wrap;font-size:.78rem;color:#64748b}

@media(max-width:1200px){.workflow-row{grid-template-columns:1fr}.workflow-controls{grid-template-columns:minmax(118px,.72fr) minmax(170px,1fr) minmax(130px,.8fr) auto}.workflow-readonly{grid-template-columns:1fr 1fr}.workflow-main{grid-column:auto}.rule-grid{grid-template-columns:1fr}.workflow-steps{grid-template-columns:1fr 1fr}.home-cta-panel{grid-template-columns:1fr}.home-cta-panel>small{grid-column:auto}}
@container(max-width:620px){.workflow-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.workflow-controls .field:nth-child(2){grid-column:1/-1}.workflow-controls .btn{grid-column:1/-1;width:100%}}
@media(max-width:820px){.org-grid{grid-template-columns:1fr}.compact-stats{grid-template-columns:1fr 1fr}.row-actions-panel{position:fixed;left:14px;right:14px;top:auto;bottom:14px;width:auto;max-height:75vh;overflow:auto}.compact-search{max-width:none;width:100%}}
@media(max-width:720px){.hero-actions{width:100%}.hero-actions .btn{flex:1}.workflow-row{grid-template-columns:1fr}.workflow-controls{grid-template-columns:1fr 1fr}.workflow-controls .field:nth-child(2){grid-column:1/-1}.workflow-controls .btn{grid-column:1/-1;width:100%}.workflow-readonly{grid-template-columns:1fr}.workflow-main{grid-column:auto}.section-heading-row .quick-actions{width:100%}.section-heading-row .quick-actions .btn{flex:1}.workflow-steps{grid-template-columns:1fr}.home-cta-panel{padding:22px!important}.action-reminder-form{align-items:stretch;flex-direction:column}.action-reminder-form .btn{width:100%}.compact-search{display:grid;grid-template-columns:1fr auto}.compact-search input{grid-column:1/-1;min-width:0}}

/* Aide contextuelle compacte, accessible au clavier et sur écran tactile. */
.help-tip{
  position:relative;display:inline-grid;place-items:center;vertical-align:.12em;
  width:20px;height:20px;margin-left:4px;padding:0;border:1px solid #9aa8b8;
  border-radius:50%;background:#fff;color:#425166;font:800 12px/1 system-ui,sans-serif;
  cursor:help;box-shadow:none;z-index:4
}
.help-tip:hover,.help-tip:focus-visible,.help-tip.is-open{border-color:#40546b;color:#142335;background:#f8fafc;outline:none}
.help-tip::after{
  content:attr(data-tooltip);position:absolute;left:0;top:calc(100% + 9px);display:none;
  width:max-content;max-width:min(300px,calc(100vw - 32px));padding:10px 12px;border-radius:10px;
  background:#142335;color:#fff;text-align:left;white-space:normal;font:600 12px/1.45 system-ui,sans-serif;
  letter-spacing:0;box-shadow:0 12px 28px rgba(15,23,42,.22);pointer-events:none;z-index:100
}
.help-tip:hover::after,.help-tip:focus-visible::after,.help-tip.is-open::after{display:block}
h1 .help-tip,h2 .help-tip{vertical-align:.22em}
.stat>span .help-tip{margin-left:3px}
.heading-with-help{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.heading-with-help h1,.heading-with-help h2{margin-right:0}
.field-label-row{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-bottom:6px}
.field-label-row label{margin:0!important}

/* Identité et rôle : l'utilisateur sait toujours avec quel périmètre il agit. */
body.tenant-shell .logout-form{align-items:center!important;gap:9px!important}
body.tenant-shell .user-context{display:grid;gap:1px;max-width:150px;line-height:1.15;text-align:right}
body.tenant-shell .user-context-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tenant-ink);font-size:.72rem;font-weight:800}
body.tenant-shell .user-context-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7887;font-size:.65rem;font-weight:650}

/* À largeur tablette, une navigation explicite vaut mieux qu'un rail tronqué
 * dont les derniers outils ne sont découvrables qu'en défilement horizontal. */
@media(max-width:1039px){
  body.tenant-shell .nav-zone{position:relative!important;flex:0 0 auto!important}
  body.tenant-shell .mobile-menu-toggle{display:flex!important}
  body.tenant-shell .nav{display:none!important;position:absolute!important;right:0!important;left:auto!important;top:calc(100% + 10px)!important;width:min(340px,calc(100vw - 24px))!important;max-width:none!important;padding:10px!important;border-radius:18px!important;background:#fffdf9!important;box-shadow:0 18px 42px rgba(21,34,51,.14)!important;overflow:visible!important;flex-direction:column!important;align-items:stretch!important;z-index:30!important}
  body.tenant-shell .nav-zone.open .nav{display:flex!important}
  body.tenant-shell .nav a{width:100%!important;justify-content:flex-start!important;border-radius:11px!important;padding:10px 12px!important}
  body.tenant-shell .user-context{display:none}
}
@media(max-width:520px){
  .help-tip::after{position:fixed;left:16px;right:16px;top:auto;bottom:18px;width:auto;max-width:none;font-size:13px;z-index:1000}
  body.tenant-shell .brand-subtitle{display:none}
  body.tenant-shell .btn-logout{font-size:0!important;width:38px!important;height:38px!important;padding:0!important}
  body.tenant-shell .btn-logout::after{content:'Sortir';font-size:.68rem;font-weight:800}
}

/* Parcours métier explicite : source -> action -> suivi transversal. */
body.tenant-shell .prevention-bridge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;margin:12px 0 14px;padding:11px 12px;border:1px solid #d7e3eb;border-radius:14px;background:#f7fbfd}
body.tenant-shell .prevention-bridge-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:var(--primary);color:#fff;font-weight:900}
body.tenant-shell .prevention-bridge strong{display:block;color:#24364c;font-size:.84rem}
body.tenant-shell .prevention-bridge p{margin:2px 0 0;color:#68788c;font-size:.78rem;line-height:1.42}
body.tenant-shell .prevention-bridge .btn{white-space:nowrap}
body.tenant-shell .prevention-cycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #dfd3c7;border-radius:18px;background:#dfd3c7}
body.tenant-shell .prevention-cycle>div{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;min-height:92px;padding:15px;background:#fffdf9}
body.tenant-shell .prevention-cycle span{grid-row:1/3;display:grid;place-items:center;width:31px;height:31px;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-weight:900}
body.tenant-shell .prevention-cycle strong{color:#24364c;font-size:.88rem}
body.tenant-shell .prevention-cycle small{color:#6f7d8e;font-size:.74rem;line-height:1.35}
body.tenant-shell .incident-analysis-panel{padding:22px!important;background:#fffaf4!important}
body.tenant-shell .incident-analysis-heading{align-items:flex-start}
body.tenant-shell .incident-analysis-heading h2{margin-top:5px}
body.tenant-shell .incident-analysis-heading p{max-width:760px;margin:0}
body.tenant-shell .incident-analysis-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
body.tenant-shell .incident-analysis-path>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:11px;border:1px solid #e5d8ca;border-radius:13px;background:#fff}
body.tenant-shell .incident-analysis-path span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#efe5da;color:#71482e;font-size:.76rem;font-weight:900}
body.tenant-shell .incident-analysis-path strong{color:#2b3b50;font-size:.82rem}
body.tenant-shell .incident-analysis-path small{color:#738094;font-size:.72rem;line-height:1.3}
body.tenant-shell .incident-analysis-notice{margin-top:12px!important;font-size:.82rem;line-height:1.5}
body.tenant-shell .incident-analysis-form{align-items:start}
body.tenant-shell .incident-analysis-form>.field{height:100%}
body.tenant-shell .incident-analysis-form textarea{min-height:132px}
body.tenant-shell .incident-analysis-actions{grid-column:1/-1;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
@media(max-width:820px){
  body.tenant-shell .prevention-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tenant-shell .incident-analysis-path{grid-template-columns:1fr}
}
@media(max-width:620px){
  body.tenant-shell .prevention-bridge{grid-template-columns:auto minmax(0,1fr)}
  body.tenant-shell .prevention-bridge .btn{grid-column:1/-1;width:100%}
  body.tenant-shell .prevention-cycle{grid-template-columns:1fr}
  body.tenant-shell .incident-analysis-panel{padding:16px!important}
  body.tenant-shell .incident-analysis-actions{display:grid}
  body.tenant-shell .incident-analysis-actions .btn{width:100%}
}

/* Sentineo v6.1.1 - landing page refresh */
.home-v61-commercial .hero-copy{display:grid;gap:18px}
.home-v61-commercial .hero-note{margin:0}
.home-proof-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:2px}
.proof-pill{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:4px;box-shadow:var(--sh-card)}
.proof-pill strong{font-size:.96rem;color:var(--ink)}
.proof-pill span{font-size:.9rem;line-height:1.45;color:var(--muted)}
.section-head-left{text-align:left;max-width:880px}
.feature-grid-commercial{grid-template-columns:repeat(4,minmax(0,1fr))}
.feature-grid-v61.feature-grid-commercial .feature-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:26px}
.feature-grid-v61.feature-grid-commercial .feature-card::before{display:none}
.feature-grid-v61.feature-grid-commercial .feature-icon{position:static;width:52px;height:52px;border-radius:14px;display:inline-grid;place-items:center;background:var(--brand-soft);border:1px solid #dbe7fe;color:var(--brand);margin:0}
.feature-grid-v61.feature-grid-commercial .feature-icon .ui-icon{width:24px;height:24px}
.feature-grid-v61.feature-grid-commercial .feature-card h3{margin:0;font-size:1.08rem;line-height:1.35}
.feature-grid-v61.feature-grid-commercial .feature-card p{font-size:.96rem}
.home-value-panel{padding-top:18px}
.workflow-steps-commercial .step-card h3{line-height:1.35}
.home-cta-panel-commercial{background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%)}
.home-cta-panel-commercial p{margin:0;color:var(--muted)}
@media(max-width:1050px){.feature-grid-commercial{grid-template-columns:1fr 1fr}.home-proof-row{grid-template-columns:1fr}}
@media(max-width:720px){.feature-grid-commercial{grid-template-columns:1fr}}

/* =====================================================================
 * Sentineo home - landing commerciale dédiée
 * L'index ne réutilise pas les cartes génériques du site.
 * ===================================================================== */
.home-site{
  --home-ink:#0b1420;
  --home-ink-2:#243447;
  --home-muted:#647386;
  --home-line:#dfe6ee;
  --home-soft:#f4f7fa;
  --home-blue:#225ce8;
  --home-blue-dark:#1748c5;
  --home-navy:#0b1b2c;
  --home-navy-2:#11263c;
  --home-teal:#2a7f80;
  background:#fff;
}
.home-site .site-header{
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(150%) blur(16px);
  border-bottom:1px solid rgba(220,228,237,.86);
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.home-site .site-header-inner{padding:17px 0}
.home-site .site-brand-mark{width:38px;height:38px;border-radius:11px;background:var(--home-navy);box-shadow:none}
.home-site .site-brand-name{font-size:1.2rem;letter-spacing:-.035em;color:var(--home-ink)}
.home-site .site-nav{gap:24px}
.home-site .site-nav>a:not(.btn){font-weight:650;font-size:.94rem;color:#526173}
.home-site .site-nav>a:not(.btn):hover,.home-site .site-nav>a.active{color:var(--home-ink)}
.home-site .site-nav .btn{border-radius:11px;background:var(--home-blue);border-color:var(--home-blue);padding:11px 18px;box-shadow:none}
.home-site .site-nav .btn:hover{background:var(--home-blue-dark);border-color:var(--home-blue-dark);box-shadow:none}
.home-site .site-footer{margin-top:0;background:#f7f9fb;border-top:1px solid var(--home-line)}
.home-site .site-footer-inner{padding:38px 0}
.home-site .sentineo-home{overflow:hidden;color:var(--home-ink)}
.home-site .sentineo-home h1,.home-site .sentineo-home h2,.home-site .sentineo-home h3{color:var(--home-ink);letter-spacing:-.04em}
.home-site .sentineo-home p{color:var(--home-muted)}
.home-site .sentineo-home .btn{border-radius:12px;background:var(--home-blue);border-color:var(--home-blue);box-shadow:0 10px 24px rgba(34,92,232,.16);padding:13px 21px;font-size:.96rem}
.home-site .sentineo-home .btn:hover{background:var(--home-blue-dark);border-color:var(--home-blue-dark);box-shadow:0 14px 28px rgba(34,92,232,.2)}
.home-site .sentineo-home .btn.secondary{background:#fff;color:var(--home-ink);border-color:#ccd6e1;box-shadow:none}
.home-site .sentineo-home .btn.secondary:hover{background:#f7f9fb;border-color:#b8c5d3}
.sh-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--home-blue);font-size:.76rem;font-weight:850;letter-spacing:.105em;text-transform:uppercase}
.sh-eyebrow::before{content:"";width:22px;height:2px;border-radius:99px;background:currentColor}

/* Hero */
.sh-hero{position:relative;border-bottom:1px solid var(--home-line);background:#fff}
.sh-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;background:radial-gradient(circle at 78% 20%,rgba(34,92,232,.075),transparent 28%),radial-gradient(circle at 20% 80%,rgba(42,127,128,.045),transparent 28%)}
.sh-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);gap:66px;align-items:center;padding:92px 0 88px}
.sh-hero-copy{max-width:610px}
.sh-hero-copy h1{font-size:clamp(3rem,5.3vw,4.65rem);line-height:.99;margin:20px 0 24px;max-width:12.4ch}
.sh-hero-copy>p{margin:0;max-width:59ch;font-size:1.16rem;line-height:1.72;color:#4d5d70}
.sh-actions{display:flex;align-items:center;gap:24px;margin-top:31px;flex-wrap:wrap}
.sh-text-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;color:var(--home-ink)!important;font-size:.95rem}
.sh-text-link span{transition:transform .16s ease}
.sh-text-link:hover span{transform:translateX(4px)}
.sh-audience{display:flex;align-items:center;gap:11px;margin-top:30px;color:#7a8796;font-size:.82rem;font-weight:650;flex-wrap:wrap}
.sh-audience i{width:3px;height:3px;border-radius:50%;background:#aab5c1}

/* Product mock */
.sh-product{position:relative;background:#fff;border:1px solid #d9e2ec;border-radius:22px;box-shadow:0 32px 80px -34px rgba(11,27,44,.38),0 6px 20px rgba(11,27,44,.06);overflow:hidden;transform:translateY(4px)}
.sh-product::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.sh-product-topbar{height:52px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 17px;border-bottom:1px solid #e5ebf1;background:#f8fafc;color:#647386;font-size:.78rem}
.sh-product-topbar>strong{justify-self:center;color:#344256;font-size:.8rem;letter-spacing:.01em}
.sh-window-dots{display:flex;gap:6px}
.sh-window-dots i{width:8px;height:8px;border-radius:50%;background:#c9d2dc}
.sh-window-dots i:nth-child(2){background:#b8c5d3}.sh-window-dots i:nth-child(3){background:#9fadb9}
.sh-product-user{justify-self:end;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e5ecff;color:#2b5bd7;font-weight:850;font-size:.68rem}
.sh-product-body{display:grid;grid-template-columns:132px 1fr;min-height:438px}
.sh-product-nav{padding:17px 12px;border-right:1px solid #e7edf3;background:#fbfcfd;display:grid;align-content:start;gap:7px}
.sh-product-nav span{display:flex;align-items:center;gap:8px;padding:9px 9px;border-radius:8px;color:#718094;font-size:.7rem;font-weight:720;white-space:nowrap}
.sh-product-nav .ui-icon{width:14px;height:14px;flex:0 0 auto}
.sh-product-nav span.is-active{background:#edf3ff;color:#2458d6}
.sh-product-main{padding:24px 24px 22px;min-width:0}
.sh-product-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.sh-product-heading>div{display:grid;gap:5px;min-width:0}
.sh-product-heading small{font-size:.67rem;color:#7d8a99;text-transform:uppercase;letter-spacing:.06em;font-weight:760}
.sh-product-heading strong{font-size:1rem;line-height:1.28;color:#182536;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-status{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#fff4db;color:#975d09;font-size:.63rem;font-weight:850;border:1px solid #f0deb8}
.sh-product-meta{display:flex;gap:8px;margin:12px 0 20px;flex-wrap:wrap}
.sh-product-meta span{font-size:.65rem;color:#748296;background:#f5f7fa;border:1px solid #e4e9ef;border-radius:999px;padding:5px 8px}
.sh-product-timeline{display:grid;gap:0;margin-top:3px}
.sh-product-timeline>div{position:relative;display:grid;grid-template-columns:16px 1fr auto;gap:10px;padding:0 0 21px;align-items:start}
.sh-product-timeline>div:not(:last-child)::after{content:"";position:absolute;left:6px;top:13px;bottom:-2px;border-left:1px solid #d6dfe8}
.sh-product-timeline b{position:relative;z-index:1;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid #aab6c4;margin-top:2px}
.sh-product-timeline .is-done b{border-color:#1d826f;background:#1d826f;box-shadow:inset 0 0 0 3px #fff}
.sh-product-timeline>div>div{display:grid;gap:3px}
.sh-product-timeline strong{font-size:.76rem;color:#28374a}
.sh-product-timeline span{font-size:.68rem;line-height:1.42;color:#7a8796}
.sh-product-timeline time{font-size:.62rem;color:#96a2af;padding-top:1px}
.sh-action-box{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:12px;padding:14px 15px;background:#f6f8fb;border:1px solid #e2e8ef;border-radius:12px;margin-top:1px}
.sh-action-box>div{display:grid;gap:4px;min-width:0}
.sh-action-box small{font-size:.59rem;color:#8794a3;text-transform:uppercase;letter-spacing:.055em;font-weight:760}
.sh-action-box strong{font-size:.69rem;color:#334256;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Problem / value */
.sh-section{padding:96px 0}
.sh-problem{background:#f7f9fb}
.sh-problem-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:36px 78px;align-items:start}
.sh-section-intro{max-width:560px}
.sh-section-intro h2{font-size:clamp(2.35rem,4vw,3.45rem);line-height:1.04;margin:17px 0 18px;max-width:13ch}
.sh-section-intro p{margin:0;font-size:1.06rem;line-height:1.7}
.sh-pain-list{border-top:1px solid #d6dee7}
.sh-pain-list>div{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid #d6dee7}
.sh-pain-list>div>span{font-size:.72rem;font-weight:850;color:#8b98a7;letter-spacing:.06em;padding-top:4px}
.sh-pain-list p{margin:0;font-size:.98rem;line-height:1.6;color:#657487}
.sh-pain-list strong{display:block;color:#192839;font-size:1.03rem;margin-bottom:3px}
.sh-answer-panel{grid-column:1/-1;display:grid;grid-template-columns:165px 1fr 1.1fr;gap:30px;align-items:start;background:var(--home-navy);border-radius:22px;padding:34px 38px;margin-top:12px;color:#fff}
.sh-answer-label{font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#89a9ff;padding-top:5px}
.sh-answer-panel h3{margin:0;color:#fff!important;font-size:1.65rem;line-height:1.24;max-width:15ch}
.sh-answer-panel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}
.sh-answer-panel li{position:relative;padding-left:22px;color:#d5deea;font-size:.88rem;line-height:1.45}
.sh-answer-panel li::before{content:"✓";position:absolute;left:0;top:0;color:#81d5cb;font-weight:900}

/* Flow dark section */
.sh-flow{background:var(--home-navy);color:#fff;padding:92px 0 96px}
.sh-flow .sh-eyebrow{color:#82a8ff}
.sh-flow-head{display:grid;grid-template-columns:1.1fr 1fr;gap:30px 60px;align-items:end;margin-bottom:54px}
.sh-flow-head .sh-eyebrow{grid-column:1/-1}
.sh-flow-head h2{color:#fff!important;margin:0;font-size:clamp(2.3rem,4vw,3.25rem);line-height:1.06;max-width:13ch}
.sh-flow-head p{margin:0;color:#aebdca;font-size:1.02rem;line-height:1.62;max-width:49ch}
.sh-flow-line{display:grid;grid-template-columns:repeat(4,1fr);position:relative;border-top:1px solid #34495e}
.sh-flow-line article{padding:28px 28px 0 0;position:relative}
.sh-flow-line article::before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#7aa3ff;top:-5px;left:0;box-shadow:0 0 0 6px var(--home-navy)}
.sh-flow-line article:not(:last-child){border-right:1px solid rgba(93,116,139,.35);margin-right:28px}
.sh-flow-line article>span{font-size:.68rem;color:#7188a0;font-weight:850;letter-spacing:.08em}
.sh-flow-line h3{color:#fff!important;font-size:1.18rem;margin:13px 0 9px}
.sh-flow-line p{margin:0;color:#aebdca;font-size:.89rem;line-height:1.58}

/* Roles */
.sh-roles{background:#fff}
.sh-section-intro-wide{max-width:760px}
.sh-section-intro-wide h2{max-width:18ch}
.sh-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--home-line);margin-top:48px}
.sh-role-grid article{padding:30px 38px 10px 0;min-width:0}
.sh-role-grid article:not(:last-child){border-right:1px solid var(--home-line);margin-right:38px}
.sh-role-number{display:inline-block;font-size:.7rem;font-weight:850;letter-spacing:.08em;color:#8996a4;margin-bottom:31px}
.sh-role-grid h3{font-size:1.45rem;margin:0 0 14px}
.sh-role-grid p{font-size:.95rem;line-height:1.65;margin:0 0 24px;min-height:94px}
.sh-role-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sh-role-grid li{position:relative;padding-left:20px;color:#3f5063;font-size:.87rem;font-weight:660}
.sh-role-grid li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:#2f77dc}

/* Confidence */
.sh-confidence{padding-top:32px;background:#fff}
.sh-confidence-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:74px;align-items:center;border-top:1px solid var(--home-line);padding-top:76px}
.sh-confidence-copy h2{font-size:clamp(2.2rem,3.7vw,3rem);line-height:1.07;margin:17px 0 18px;max-width:16ch}
.sh-confidence-copy>p{margin:0;max-width:61ch;font-size:1rem;line-height:1.7}
.sh-checks{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:27px}
.sh-checks span{position:relative;padding-left:18px;color:#435367;font-size:.84rem;font-weight:720}
.sh-checks span::before{content:"";position:absolute;left:0;top:.45em;width:8px;height:8px;border-radius:50%;background:#21816f}
.sh-m365{display:grid;grid-template-columns:56px 1fr;gap:19px;background:#f4f7fb;border:1px solid #dde5ee;border-radius:18px;padding:27px}
.sh-m365-icon{width:56px;height:56px;border-radius:14px;background:#fff;border:1px solid #dbe3ec;display:grid;place-items:center;color:#275ed9;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.sh-m365-icon .ui-icon{width:25px;height:25px}
.sh-m365 small{display:block;color:#7a8999;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;margin-bottom:6px}
.sh-m365 h3{font-size:1.2rem;margin:0 0 8px}
.sh-m365 p{font-size:.88rem;line-height:1.57;margin:0}

/* Final CTA */
.sh-final{padding:96px 0;background:#f6f8fb}
.sh-final-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:end}
.sh-final h2{font-size:clamp(2.35rem,4vw,3.4rem);line-height:1.04;margin:17px 0 16px;max-width:15ch}
.sh-final p{margin:0;font-size:1rem;max-width:54ch}
.sh-final-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}
.sh-final-actions small{width:100%;text-align:right;color:#83909e;font-size:.75rem;margin-top:4px}

/* Responsive */
@media(max-width:1120px){
  .sh-hero-grid{grid-template-columns:1fr 1fr;gap:40px;padding:74px 0}
  .sh-hero-copy h1{font-size:clamp(2.7rem,5vw,3.7rem)}
  .sh-product-body{grid-template-columns:108px 1fr}
  .sh-product-nav{padding-inline:8px}
  .sh-product-nav span{font-size:.64rem;padding:8px 6px}
  .sh-answer-panel{grid-template-columns:130px 1fr 1.25fr}
}
@media(max-width:940px){
  .home-site .site-header-inner{align-items:flex-start}
  .home-site .site-nav{gap:14px;justify-content:flex-end}
  .home-site .site-nav>a:not(.btn){display:none}
  .sh-hero-grid{grid-template-columns:1fr;gap:48px;padding:68px 0}
  .sh-hero-copy{max-width:760px}
  .sh-hero-copy h1{max-width:14ch}
  .sh-product{max-width:760px}
  .sh-problem-grid{grid-template-columns:1fr;gap:42px}
  .sh-section-intro{max-width:720px}
  .sh-answer-panel{grid-template-columns:1fr 1.4fr;gap:18px 34px}
  .sh-answer-label{grid-column:1/-1}
  .sh-flow-head{grid-template-columns:1fr;gap:18px}
  .sh-flow-line{grid-template-columns:1fr 1fr;border-top:0;gap:34px 0}
  .sh-flow-line article{border-top:1px solid #34495e!important;border-right:0!important;margin-right:0!important;padding:25px 28px 4px 0}
  .sh-role-grid{grid-template-columns:1fr;border-top:0;gap:0}
  .sh-role-grid article{border-top:1px solid var(--home-line);border-right:0!important;margin-right:0!important;padding:28px 0}
  .sh-role-grid p{min-height:0;max-width:70ch}
  .sh-confidence-grid,.sh-final-inner{grid-template-columns:1fr;gap:38px}
  .sh-m365{max-width:620px}
  .sh-final-actions{justify-content:flex-start}
  .sh-final-actions small{text-align:left}
}
@media(max-width:680px){
  .home-site .site-header-inner{padding:12px 0}
  .home-site .site-brand-mark{width:34px;height:34px}
  .home-site .site-brand-name{font-size:1.08rem}
  .home-site .site-nav{gap:8px}
  .home-site .site-nav>a[href*="connexion"]{display:none}
  .home-site .site-nav .btn{padding:10px 12px;font-size:.82rem}
  .sh-hero-grid{padding:52px 0 58px}
  .sh-hero-copy h1{font-size:clamp(2.5rem,12vw,3.25rem);max-width:none;margin-top:15px}
  .sh-hero-copy>p{font-size:1rem;line-height:1.65}
  .sh-actions{align-items:flex-start;flex-direction:column;gap:16px;margin-top:25px}
  .sh-audience{display:grid;gap:7px;margin-top:24px}
  .sh-audience i{display:none}
  .sh-product{border-radius:16px;margin-inline:-4px}
  .sh-product-body{grid-template-columns:1fr;min-height:auto}
  .sh-product-nav{display:none}
  .sh-product-main{padding:18px 16px}
  .sh-product-heading strong{font-size:.91rem;white-space:normal}
  .sh-action-box{grid-template-columns:1fr 1fr}.sh-action-box>div:first-child{grid-column:1/-1}
  .sh-section{padding:70px 0}
  .sh-section-intro h2{font-size:2.35rem;max-width:none}
  .sh-pain-list>div{grid-template-columns:34px 1fr;gap:10px}
  .sh-answer-panel{grid-template-columns:1fr;padding:26px 22px;border-radius:16px}
  .sh-answer-panel ul{grid-template-columns:1fr}
  .sh-flow{padding:70px 0}
  .sh-flow-head h2{font-size:2.35rem;max-width:none}
  .sh-flow-line{grid-template-columns:1fr;gap:24px}
  .sh-flow-line article{padding-right:0}
  .sh-role-grid{margin-top:34px}
  .sh-role-number{margin-bottom:18px}
  .sh-confidence{padding-top:8px}
  .sh-confidence-grid{padding-top:58px}
  .sh-confidence-copy h2{font-size:2.25rem;max-width:none}
  .sh-checks{display:grid;gap:12px}
  .sh-m365{grid-template-columns:44px 1fr;padding:20px}
  .sh-m365-icon{width:44px;height:44px;border-radius:11px}
  .sh-final{padding:72px 0}
  .sh-final h2{font-size:2.35rem;max-width:none}
  .sh-final-actions{display:grid;grid-template-columns:1fr;width:100%}
  .sh-final-actions .btn{width:100%}
}
/* Ajustement hero : conserver le CTA visible sur un écran desktop standard. */
@media(min-width:941px){
  .sh-hero-grid{padding-top:74px;padding-bottom:76px}
  .sh-hero-copy h1{font-size:clamp(3rem,4.65vw,4.08rem);line-height:1.01;max-width:12.7ch;margin-top:18px;margin-bottom:20px}
  .sh-hero-copy>p{font-size:1.08rem;line-height:1.66}
  .sh-actions{margin-top:26px}
  .sh-audience{margin-top:24px}
}

/* =====================================================================
 * Sentineo home v6.1.2 - direction plus originale / éditoriale
 * ===================================================================== */
.home-site{
  --home-ink:#152233;
  --home-ink-2:#2f3d4f;
  --home-muted:#627083;
  --home-line:#ded3c7;
  --home-soft:#f6efe7;
  --home-paper:#fffdf9;
  --home-blue:#1c49d8;
  --home-blue-dark:#1337a7;
  --home-navy:#142335;
  --home-navy-2:#20344d;
  --home-teal:#2c7f7c;
  --home-accent:#ef7f45;
  background:linear-gradient(180deg,#f6efe7 0%,#f8f3ed 28%,#f5f7fb 100%);
}
.home-site .site-header{
  background:rgba(246,239,231,.88);
  backdrop-filter:saturate(145%) blur(14px);
  border-bottom:1px solid rgba(187,170,152,.25);
  box-shadow:none;
}
.home-site .site-header-inner{padding:15px 0}
.home-site .site-brand-mark{background:linear-gradient(180deg,var(--home-navy) 0%,#223956 100%);border-radius:12px;box-shadow:0 10px 24px rgba(20,35,53,.12)}
.home-site .site-nav{gap:22px}
.home-site .site-nav>a:not(.btn){position:relative;color:#5a6676}
.home-site .site-nav>a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:99px;background:var(--home-accent);transform:scaleX(0);transform-origin:left;transition:transform .16s ease}
.home-site .site-nav>a:not(.btn):hover::after,.home-site .site-nav>a.active::after{transform:scaleX(1)}
.home-site .site-nav .btn{border-radius:999px;padding:11px 18px;background:var(--home-navy);border-color:var(--home-navy)}
.home-site .site-nav .btn:hover{background:#0f1c2d;border-color:#0f1c2d}
.home-site .site-footer{background:#f3ece4;border-top:1px solid rgba(187,170,152,.24)}
.home-site .site-footer nav{gap:14px 20px}
.home-site .sentineo-home h1,.home-site .sentineo-home h2,.home-site .sentineo-home h3{letter-spacing:-.05em}
.home-site .sentineo-home .btn{border-radius:999px;background:var(--home-navy);border-color:var(--home-navy);box-shadow:0 14px 28px rgba(20,35,53,.14);padding:13px 22px}
.home-site .sentineo-home .btn:hover{background:#0f1c2d;border-color:#0f1c2d;box-shadow:0 16px 34px rgba(20,35,53,.18)}
.home-site .sentineo-home .btn.secondary{background:transparent;border-color:#b9aa97;color:var(--home-ink)}
.home-site .sentineo-home .btn.secondary:hover{background:rgba(255,255,255,.5);border-color:#ac9d8a}
.sh-eyebrow{color:var(--home-accent)}
.sh-eyebrow::before{background:var(--home-accent)}

.sh-hero{position:relative;background:transparent;border-bottom:0}
.sh-hero::before{content:"";position:absolute;inset:0;background:
 radial-gradient(circle at 86% 17%,rgba(28,73,216,.11),transparent 0 24%),
 radial-gradient(circle at 18% 6%,rgba(239,127,69,.12),transparent 0 18%),
 linear-gradient(0deg,rgba(255,255,255,.38),rgba(255,255,255,.38));pointer-events:none}
.sh-hero::after{content:"";position:absolute;right:-140px;top:65px;width:400px;height:400px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.1));transform:rotate(16deg);border:1px solid rgba(28,73,216,.08);pointer-events:none}
.sh-hero-grid{position:relative;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:76px;align-items:center;padding:86px 0 70px}
.sh-hero-copy{max-width:620px;position:relative;z-index:1}
.sh-hero-copy h1{font-size:clamp(3.2rem,5.5vw,4.85rem);line-height:.98;max-width:11.8ch;margin:18px 0 22px}
.sh-hero-copy>p{font-size:1.12rem;line-height:1.72;color:#5d6a7b;max-width:58ch}
.sh-actions{margin-top:28px;gap:16px 20px}
.sh-text-link{font-weight:800;color:var(--home-navy)!important;text-decoration:none;padding:12px 0}
.sh-audience{margin-top:28px;display:inline-flex;gap:0;flex-wrap:wrap;border:1px solid rgba(185,170,151,.55);border-radius:999px;padding:8px;background:rgba(255,253,249,.78);box-shadow:0 6px 16px rgba(21,34,51,.04)}
.sh-audience span{padding:6px 14px;font-size:.8rem;font-weight:700;color:#526072}
.sh-audience i{width:1px;height:20px;border-radius:0;background:rgba(185,170,151,.55);margin:auto 0}

.sh-product{background:var(--home-paper);border:1px solid rgba(185,170,151,.6);border-radius:30px;box-shadow:0 24px 60px rgba(21,34,51,.12);transform:rotate(1.2deg) translateY(6px);overflow:visible}
.sh-product::before{content:"";position:absolute;inset:18px -18px -18px 18px;background:rgba(20,35,53,.08);border-radius:32px;z-index:-1;transform:rotate(-3.4deg)}
.sh-product::after{display:none}
.sh-product-topbar{height:54px;background:#f3ece4;border-bottom:1px solid rgba(185,170,151,.38)}
.sh-product-topbar>strong{color:#4a5664;font-weight:800}
.sh-window-dots i{background:#d0c0ae}.sh-window-dots i:nth-child(2){background:#bdac99}.sh-window-dots i:nth-child(3){background:#9f8e7c}
.sh-product-user{background:#132335;color:#fff}
.sh-product-body{grid-template-columns:144px 1fr;min-height:446px}
.sh-product-nav{background:#fff8f1;border-right:1px solid rgba(185,170,151,.28);padding:16px 12px}
.sh-product-nav span{font-size:.72rem;color:#6d7b8d;border:1px solid transparent}
.sh-product-nav span.is-active{background:#fff;color:#17355b;border-color:rgba(28,73,216,.14);box-shadow:0 8px 18px rgba(28,73,216,.08)}
.sh-product-main{padding:24px 24px 24px}
.sh-status{background:#fff1e8;border-color:#efc2aa;color:#a55219}
.sh-product-meta span{background:#faf4ee;border-color:#e7ddd2}
.sh-product-timeline strong{font-size:.8rem;color:#203045}
.sh-product-timeline span{font-size:.7rem;color:#748194}
.sh-product-timeline .is-done b{border-color:var(--home-accent);background:var(--home-accent)}
.sh-product-timeline>div:not(:last-child)::after{border-left-color:#d6cabd}
.sh-action-box{background:#f5efe8;border-color:#e2d5c8;border-radius:16px}
.sh-action-box small{color:#8c7b68}.sh-action-box strong{color:#243345;font-size:.72rem}

.sh-section{padding:88px 0}
.sh-problem{position:relative;background:#17273b;color:#fff;overflow:hidden}
.sh-problem::before{content:"";position:absolute;left:-120px;bottom:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(239,127,69,.22),transparent 70%)}
.sh-problem-grid{position:relative;grid-template-columns:.88fr 1.12fr;gap:36px 72px}
.sh-problem .sh-section-intro h2,.sh-problem .sh-section-intro p,.sh-problem .sh-section-intro .sh-eyebrow,.sh-problem .sh-section-intro .sh-eyebrow::before{color:#fff}
.sh-problem .sh-section-intro .sh-eyebrow{color:#f5b08b}
.sh-pain-list{display:grid;gap:16px;border-top:0}
.sh-pain-list>div{grid-template-columns:42px 1fr;padding:20px 22px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.05);backdrop-filter:blur(10px)}
.sh-pain-list>div>span{color:#f0b089}
.sh-pain-list p{color:#dbe3ee}
.sh-pain-list strong{color:#fff}
.sh-answer-panel{grid-column:1/-1;background:#f7ecde;border:1px solid #e5cfb6;border-radius:28px;padding:34px 36px;color:#17273b;box-shadow:0 18px 34px rgba(0,0,0,.1)}
.sh-answer-label{color:#b45b27}
.sh-answer-panel h3{color:#17273b!important;font-size:1.72rem}
.sh-answer-panel li{color:#445365}
.sh-answer-panel li::before{color:var(--home-accent)}

.sh-flow{padding:88px 0;background:transparent}
.sh-flow .sh-eyebrow{color:var(--home-blue)}
.sh-flow .sh-eyebrow::before{background:var(--home-blue)}
.sh-flow-head{grid-template-columns:1fr;gap:14px;max-width:840px;margin-bottom:36px}
.sh-flow-head h2{color:var(--home-ink)!important;max-width:15ch}
.sh-flow-head p{color:var(--home-muted);max-width:60ch}
.sh-flow-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;border-top:0}
.sh-flow-line article{background:var(--home-paper);border:1px solid rgba(185,170,151,.58);border-radius:26px;padding:24px 24px 22px;box-shadow:0 12px 24px rgba(21,34,51,.05)}
.sh-flow-line article::before{content:"";position:absolute;left:24px;top:0;display:none}
.sh-flow-line article:not(:last-child){border-right:1px solid rgba(185,170,151,.58);margin-right:0}
.sh-flow-line article>span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#edf1ff;color:var(--home-blue);font-size:.76rem;margin-bottom:14px}
.sh-flow-line h3{color:var(--home-ink)!important;margin:0 0 8px;font-size:1.22rem}
.sh-flow-line p{color:var(--home-muted);font-size:.92rem}

.sh-roles{background:transparent}
.sh-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-top:0;margin-top:42px}
.sh-role-grid article{background:var(--home-paper);border:1px solid rgba(185,170,151,.56);border-radius:26px;padding:28px 26px 24px;box-shadow:0 12px 24px rgba(21,34,51,.05)}
.sh-role-grid article:not(:last-child){border-right:1px solid rgba(185,170,151,.56);margin-right:0}
.sh-role-grid article:nth-child(1){border-top:4px solid #ef7f45}
.sh-role-grid article:nth-child(2){border-top:4px solid #1c49d8}
.sh-role-grid article:nth-child(3){border-top:4px solid #2c7f7c}
.sh-role-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#f1eadf;color:#7c6956;margin-bottom:18px}
.sh-role-grid h3{font-size:1.35rem}
.sh-role-grid p{min-height:0;margin-bottom:18px}
.sh-role-grid li{font-size:.9rem;color:#445365}
.sh-role-grid li::before{background:#d99255}

.sh-confidence{padding-top:8px;background:transparent}
.sh-confidence-grid{background:var(--home-paper);border:1px solid rgba(185,170,151,.58);border-radius:30px;padding:42px;gap:42px;align-items:stretch}
.sh-confidence-copy h2{max-width:14ch}
.sh-checks{gap:10px}
.sh-checks span{padding:10px 14px 10px 30px;background:#f7f1ea;border:1px solid #e2d6c9;border-radius:999px;font-size:.84rem}
.sh-checks span::before{left:14px;top:50%;transform:translateY(-50%);background:var(--home-teal)}
.sh-m365{align-items:start;background:linear-gradient(180deg,var(--home-navy) 0%,#1d3048 100%);border:0;border-radius:24px;padding:28px;color:#fff;box-shadow:0 18px 34px rgba(20,35,53,.18)}
.sh-m365-icon{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;box-shadow:none}
.sh-m365 small{color:#9fb5d3}
.sh-m365 h3{color:#fff!important}
.sh-m365 p{color:#d4dce8}

.sh-final{padding:0 0 94px;background:transparent}
.sh-final-inner{position:relative;overflow:hidden;background:linear-gradient(135deg,#142335 0%,#203854 56%,#255b83 100%);border-radius:34px;padding:46px 48px;box-shadow:0 22px 46px rgba(20,35,53,.16)}
.sh-final-inner::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:34px;background:rgba(255,255,255,.08);transform:rotate(16deg)}
.sh-final-inner::after{content:"";position:absolute;left:50%;bottom:-95px;width:260px;height:180px;border-radius:50%;background:rgba(239,127,69,.22);filter:blur(8px)}
.sh-final h2,.sh-final p,.sh-final .sh-eyebrow{color:#fff!important;position:relative;z-index:1}
.sh-final .sh-eyebrow::before{background:#f5b08b}
.sh-final p{color:#dbe3ee!important}
.sh-final-actions{position:relative;z-index:1}
.sh-final-actions small{color:#c7d0db}

@media(max-width:1120px){
  .sh-hero-grid{grid-template-columns:1fr;gap:48px;padding:74px 0 60px}
  .sh-hero-copy{max-width:740px}
  .sh-product{max-width:760px;transform:none}
  .sh-product::before{display:none}
  .sh-problem-grid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:940px){
  .home-site .site-nav>a:not(.btn){display:none}
  .sh-audience{display:grid;border-radius:22px;padding:10px 12px}
  .sh-audience i{display:none}
  .sh-flow-line,.sh-role-grid{grid-template-columns:1fr}
  .sh-confidence-grid,.sh-final-inner{grid-template-columns:1fr}
  .sh-final-inner{padding:36px 28px}
}
@media(max-width:680px){
  .home-site .site-nav .btn{padding:10px 12px;font-size:.82rem}
  .sh-hero-grid{padding:52px 0 54px}
  .sh-hero-copy h1{font-size:clamp(2.6rem,12vw,3.4rem);max-width:none}
  .sh-product{border-radius:20px}
  .sh-product-body{grid-template-columns:1fr}
  .sh-product-nav{display:none}
  .sh-section,.sh-flow{padding:66px 0}
  .sh-answer-panel{grid-template-columns:1fr;padding:26px 22px}
  .sh-answer-panel ul{grid-template-columns:1fr}
  .sh-confidence-grid{padding:26px}
  .sh-checks{display:grid}
  .sh-final{padding-bottom:70px}
}

/* =====================================================================
 * Sentineo public v6.1.3 - finition home + charte vitrine globale
 * ===================================================================== */
.public-site{
  --pub-ink:#152233;
  --pub-muted:#627083;
  --pub-paper:#fffdf9;
  --pub-bg:#f6efe7;
  --pub-line:#ded3c7;
  --pub-navy:#142335;
  --pub-blue:#1c49d8;
  --pub-orange:#ef7f45;
  --pub-teal:#2c7f7c;
  background:linear-gradient(180deg,#f6efe7 0%,#f9f6f2 35%,#f3f6fa 100%);
  color:var(--pub-ink);
}
.public-site .site-header{background:rgba(246,239,231,.9);border-bottom:1px solid rgba(187,170,152,.28);backdrop-filter:saturate(145%) blur(14px);box-shadow:none}
.public-site .site-brand-mark{background:linear-gradient(180deg,#142335 0%,#223956 100%);border-radius:12px;box-shadow:0 10px 24px rgba(20,35,53,.12)}
.public-site .site-brand-name{color:var(--pub-ink);letter-spacing:-.035em}
.public-site .site-nav>a:not(.btn){color:#596677;font-weight:700}
.public-site .site-nav .btn{border-radius:999px;background:var(--pub-navy);border-color:var(--pub-navy);box-shadow:none}
.public-site .site-nav .btn:hover{background:#0e1b2b;border-color:#0e1b2b}
.public-site .site-footer{background:#f3ece4;border-top:1px solid rgba(187,170,152,.28)}
.public-site:not(.home-site) main{min-height:calc(100vh - 160px);background:radial-gradient(circle at 12% 5%,rgba(239,127,69,.08),transparent 24%),radial-gradient(circle at 90% 2%,rgba(28,73,216,.07),transparent 22%)}
.public-site:not(.home-site) .section{padding:68px 0 82px}
.public-site:not(.home-site) .narrow{max-width:820px}
.public-site:not(.home-site) .panel{background:rgba(255,253,249,.96);border:1px solid rgba(185,170,151,.55);border-radius:28px;box-shadow:0 22px 50px rgba(21,34,51,.08);padding:38px 40px}
.public-site:not(.home-site) .panel h1{font-size:clamp(2.25rem,4vw,3.15rem);line-height:1.03;letter-spacing:-.05em;margin:10px 0 14px;color:var(--pub-ink)}
.public-site:not(.home-site) .panel>p{font-size:1rem;line-height:1.68;color:var(--pub-muted)}
.public-site .kicker{display:inline-flex;align-items:center;gap:9px;color:var(--pub-orange);font-size:.74rem;font-weight:850;letter-spacing:.1em}
.public-site .kicker::before{content:"";width:20px;height:2px;border-radius:99px;background:currentColor}
.public-site .field label{color:#344357;font-weight:750}
.public-site .field input,.public-site .field textarea,.public-site .field select,.public-site input[type="text"],.public-site input[type="email"],.public-site input[type="password"],.public-site textarea,.public-site select{background:#fff;border:1px solid #d8cdbf;border-radius:13px;color:var(--pub-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.public-site .field input:focus,.public-site .field textarea:focus,.public-site .field select:focus,.public-site input:focus,.public-site textarea:focus,.public-site select:focus{border-color:var(--pub-blue);box-shadow:0 0 0 4px rgba(28,73,216,.11)}
.public-site:not(.home-site) .btn{border-radius:999px;background:var(--pub-navy);border-color:var(--pub-navy);box-shadow:0 12px 26px rgba(20,35,53,.12)}
.public-site:not(.home-site) .btn:hover{background:#0e1b2b;border-color:#0e1b2b}
.public-site:not(.home-site) .btn.secondary,.public-site:not(.home-site) .btn.ghost{background:transparent;color:var(--pub-ink);border-color:#bbaa98;box-shadow:none}
.public-site:not(.home-site) .notice{border-radius:14px}

/* Legal / RGPD / CGV */
.public-site .legal{position:relative;max-width:900px!important;margin-top:62px;margin-bottom:82px;padding:48px 52px!important;background:rgba(255,253,249,.96);border:1px solid rgba(185,170,151,.55);border-radius:30px;box-shadow:0 24px 54px rgba(21,34,51,.08)}
.public-site .legal::before{content:"Informations";display:inline-flex;align-items:center;gap:8px;color:var(--pub-orange);font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.public-site .legal h1{font-size:clamp(2.35rem,4.4vw,3.35rem);line-height:1.02;letter-spacing:-.05em;margin:0 0 30px;color:var(--pub-ink)}
.public-site .legal h2{position:relative;font-size:1.12rem;letter-spacing:-.015em;margin:30px 0 8px;padding-left:17px;color:var(--pub-ink)}
.public-site .legal h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:3px;border-radius:99px;background:var(--pub-orange)}
.public-site .legal p{color:#536174;line-height:1.78;margin-bottom:12px}
.public-site .legal strong{color:var(--pub-ink)}

/* Tarifs */
.public-site .section-head{max-width:760px}
.public-site .section-head h2{font-size:clamp(2.4rem,4vw,3.35rem);line-height:1.04;letter-spacing:-.05em;color:var(--pub-ink)}
.public-site .section-head p{color:var(--pub-muted)}
.public-site .pricing-toggle{background:#eee5db;border-color:#d9cabb;border-radius:999px;padding:5px}
.public-site .pricing-toggle button{border-radius:999px;color:#586578;font-weight:750}
.public-site .pricing-toggle button.active{background:var(--pub-navy);color:#fff;box-shadow:none}
.public-site .pricing-toggle button small{color:var(--pub-orange)}
.public-site .pricing-grid{gap:20px}
.public-site .pricing-card{background:var(--pub-paper);border:1px solid rgba(185,170,151,.56);border-radius:26px;padding:30px 28px;box-shadow:0 16px 34px rgba(21,34,51,.06)}
.public-site .pricing-card.is-highlight{background:linear-gradient(180deg,#142335 0%,#1d344e 100%);border-color:#142335;transform:translateY(-7px);box-shadow:0 24px 46px rgba(20,35,53,.18)}
.public-site .pricing-card h3{font-size:1.45rem;color:var(--pub-ink)}
.public-site .pricing-card.is-highlight h3,.public-site .pricing-card.is-highlight .pricing-price .amount{color:#fff}
.public-site .pricing-card.is-highlight .pricing-tagline,.public-site .pricing-card.is-highlight .pricing-price .suffix,.public-site .pricing-card.is-highlight .pricing-ttc,.public-site .pricing-card.is-highlight .pricing-features li{color:#e0e8f2}
.public-site .pricing-card.is-highlight .pricing-features{border-top-color:rgba(255,255,255,.15)}
.public-site .pricing-card.is-highlight .pricing-features li::before{background:rgba(239,127,69,.18);color:#ffc5a7}
.public-site .pricing-flag{top:20px;right:20px;background:var(--pub-orange);font-weight:850}
.public-site .pricing-card .btn{margin-top:auto}
.public-site .pricing-card.is-highlight .btn{background:#fff;border-color:#fff;color:#142335}

/* Home - largeur, audiences, étapes, contraste */
.home-site .container{max-width:1320px}
.home-site .sh-problem .container,.home-site .sh-flow .container,.home-site .sh-roles .container,.home-site .sh-confidence .container{max-width:1180px}
.sh-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(500px,.98fr);gap:56px;padding-top:82px;padding-bottom:72px}
.sh-hero-copy{max-width:700px}
.sh-hero-copy h1{font-size:clamp(3.15rem,4.65vw,4.45rem);line-height:1;max-width:15.2ch}
.sh-hero-copy>p{max-width:64ch}
.sh-audience{display:flex;align-items:center;gap:0;margin-top:30px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.sh-audience small{margin-right:16px;color:#8a7865;font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.sh-audience span{position:relative;padding:3px 17px 3px 20px;color:#425166;font-size:.82rem;font-weight:760;white-space:nowrap}
.sh-audience span::before{content:"";position:absolute;left:7px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--home-accent);transform:translateY(-50%)}
.sh-audience span+span{border-left:1px solid rgba(185,170,151,.6)}

.sh-flow-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--home-paper);border:1px solid rgba(185,170,151,.58);border-radius:28px;overflow:hidden;box-shadow:0 14px 30px rgba(21,34,51,.05)}
.sh-flow-line article{min-height:215px;background:transparent;border:0!important;border-radius:0;padding:28px 24px 25px;box-shadow:none;margin:0!important}
.sh-flow-line article:not(:last-child){border-right:1px solid rgba(185,170,151,.5)!important}
.sh-flow-line article>span{width:44px;height:44px;border-radius:50%;background:#edf1ff;color:var(--home-blue);margin-bottom:28px}
.sh-flow-line article:nth-child(2)>span{background:#fff0e7;color:#ba5c25}
.sh-flow-line article:nth-child(3)>span{background:#e9f4f2;color:#216f6c}
.sh-flow-line article:nth-child(4)>span{background:#eee9f7;color:#625185}
.sh-flow-line h3{font-size:1.16rem;margin-bottom:9px}
.sh-flow-line p{font-size:.9rem;line-height:1.6}

.sh-confidence-grid{grid-template-columns:1fr 1fr;align-items:center;gap:48px}
.home-site .sentineo-home .sh-m365 p{color:#edf3fa!important;font-size:.95rem;line-height:1.68}
.home-site .sentineo-home .sh-m365 small{color:#aec3df!important}
.home-site .sentineo-home .sh-m365 h3{color:#fff!important;font-size:1.3rem}
.sh-m365{align-self:center;padding:32px;min-height:0}
.home-site .sentineo-home .sh-final p{color:#eef4fa!important}
.home-site .sentineo-home .sh-final-actions .btn.secondary{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.65);color:#fff!important}
.home-site .sentineo-home .sh-final-actions .btn.secondary:hover{background:#fff;border-color:#fff;color:#142335!important}
.home-site .sentineo-home .sh-final-actions small{color:#d6e0eb!important}

@media(max-width:1120px){
  .home-site .container{max-width:calc(100% - 32px)}
  .sh-hero-grid{grid-template-columns:1fr;gap:46px}
  .sh-hero-copy{max-width:780px}
  .sh-hero-copy h1{max-width:14ch}
  .sh-product{max-width:780px}
  .sh-flow-line{grid-template-columns:1fr 1fr}
  .sh-flow-line article:nth-child(2){border-right:0!important}
  .sh-flow-line article:nth-child(-n+2){border-bottom:1px solid rgba(185,170,151,.5)!important}
}
@media(max-width:760px){
  .public-site .legal{padding:30px 24px!important;margin-top:34px;margin-bottom:58px;border-radius:22px}
  .public-site:not(.home-site) .panel{padding:28px 24px;border-radius:22px}
  .public-site .pricing-card.is-highlight{transform:none}
  .sh-audience{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}
  .sh-audience small{grid-column:1/-1;margin:0 0 3px}
  .sh-audience span{padding:3px 0 3px 15px;white-space:normal;border-left:0!important}
  .sh-audience span::before{left:0}
  .sh-flow-line{grid-template-columns:1fr}
  .sh-flow-line article{min-height:0}
  .sh-flow-line article:not(:last-child){border-right:0!important;border-bottom:1px solid rgba(185,170,151,.5)!important}
  .sh-confidence-grid{grid-template-columns:1fr;gap:30px}
}

/* Finitions des autres pages publiques */
.home-site{--container:1320px}
.public-site .recap{border:1px solid #ded2c5;border-radius:18px;background:#fffaf4;box-shadow:none}
.public-site .recap-row{border-bottom-color:#e5dacf;padding:15px 18px}
.public-site .recap-row.total{background:#f0e7dd}
.public-site .success-mark{background:#e8f4f1;color:#24736d;border-color:#c9e2dc;box-shadow:0 10px 24px rgba(44,127,124,.1)}
.public-site:not(.home-site) .panel form h2{font-size:1rem;letter-spacing:-.01em;color:var(--pub-ink);margin:28px 0 2px;padding-top:22px;border-top:1px solid #e6dbcf}
.public-site:not(.home-site) .panel form h2:first-of-type{margin-top:8px;padding-top:0;border-top:0}
.public-site code{background:#efe8df;color:#324154;border:1px solid #ded1c3;border-radius:7px;padding:2px 6px}
.public-site .site-footer a{color:#536174}
.public-site .site-footer a:hover{color:var(--pub-ink)}
.public-site:not(.home-site) .section>.section-head{padding-top:16px}
.public-site:not(.home-site) .section>.section-head::before{content:"Sentinéo";display:inline-flex;color:var(--pub-orange);font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.public-site:not(.home-site) .center.muted,.public-site:not(.home-site) p.center.muted{color:#687588}

/* Sentineo v6.1.3 - repositionnement CTA final */
.home-site .sh-final-inner{
  grid-template-columns:minmax(0,760px) minmax(220px,1fr);
  grid-template-rows:auto auto;
  column-gap:56px;
  row-gap:24px;
  align-items:start;
}
.home-site .sh-final-inner>div:first-child{
  grid-column:1;
  grid-row:1;
  position:relative;
  z-index:1;
}
.home-site .sh-final-actions{
  grid-column:1;
  grid-row:2;
  justify-content:flex-start;
  align-items:center;
  gap:12px;
  max-width:620px;
}
.home-site .sh-final-actions small{
  width:100%;
  text-align:left;
  margin-top:2px;
}
.home-site .sh-final-inner::before{
  right:-42px;
  top:-66px;
  width:270px;
  height:270px;
}
.home-site .sh-final-inner::after{
  left:auto;
  right:120px;
  bottom:-110px;
}
@media(max-width:940px){
  .home-site .sh-final-inner{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:24px}
  .home-site .sh-final-inner>div:first-child,.home-site .sh-final-actions{grid-column:1}
  .home-site .sh-final-actions{max-width:none}
}
@media(max-width:680px){
  .home-site .sh-final-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .home-site .sh-final-actions .btn{width:100%}
}

/* Sentineo v6.1.4 - CTA final compact et équilibré */
.home-site .sh-final-inner{
  width:min(calc(100% - 48px),1080px);
  max-width:1080px;
  margin-inline:auto;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto;
  column-gap:54px;
  row-gap:0;
  align-items:end;
  padding:42px 46px;
}
.home-site .sh-final-inner>div:first-child{
  grid-column:1;
  grid-row:1;
  max-width:580px;
}
.home-site .sh-final h2{
  max-width:13ch;
  font-size:clamp(2.55rem,3.9vw,3.35rem);
}
.home-site .sh-final-actions{
  grid-column:2;
  grid-row:1;
  align-self:end;
  justify-self:end;
  display:grid;
  grid-template-columns:auto auto;
  gap:10px;
  max-width:none;
  min-width:365px;
}
.home-site .sh-final-actions small{
  grid-column:1/-1;
  width:auto;
  text-align:right;
  margin-top:3px;
}
.home-site .sh-final-inner::before{
  right:-74px;
  top:-82px;
  width:240px;
  height:240px;
}
.home-site .sh-final-inner::after{
  right:70px;
  left:auto;
  bottom:-125px;
  width:230px;
}
@media(max-width:940px){
  .home-site .sh-final-inner{
    width:min(calc(100% - 36px),760px);
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    row-gap:26px;
    padding:36px 32px;
    align-items:start;
  }
  .home-site .sh-final-inner>div:first-child,
  .home-site .sh-final-actions{grid-column:1}
  .home-site .sh-final-actions{
    grid-row:2;
    justify-self:start;
    min-width:0;
  }
  .home-site .sh-final-actions small{text-align:left}
}
@media(max-width:680px){
  .home-site .sh-final-inner{
    width:min(calc(100% - 24px),620px);
    padding:28px 22px;
    border-radius:24px;
  }
  .home-site .sh-final-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .home-site .sh-final-actions small{grid-column:1}
}

/* =====================================================================
 * Console opérateur - charte Sentinéo harmonisée avec le site public
 * ===================================================================== */
.is-operator{
  --op-ink:#152233;
  --op-muted:#667487;
  --op-paper:#fffdf9;
  --op-soft:#f6efe7;
  --op-line:#ded3c7;
  --op-navy:#142335;
  --op-navy-2:#20344d;
  --op-accent:#ef7f45;
  --op-blue:#1c49d8;
  min-height:100vh;
  background:linear-gradient(180deg,#f6efe7 0,#f8f3ed 240px,#f4f6f9 100%);
  color:var(--op-ink);
}
.is-operator .op-header{
  background:rgba(246,239,231,.92);
  backdrop-filter:saturate(145%) blur(14px);
  border-bottom:1px solid rgba(187,170,152,.3);
  box-shadow:none;
}
.is-operator .op-header-inner{padding:14px 0;gap:22px}
.is-operator .op-brand{display:flex;align-items:center;gap:10px;color:var(--op-ink);font-weight:850;letter-spacing:-.025em}
.is-operator .op-brand::before{content:"S";width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(180deg,var(--op-navy),#223956);color:#fff;font-size:.85rem;box-shadow:0 9px 20px rgba(20,35,53,.13)}
.is-operator .op-nav{gap:14px;align-items:center}
.is-operator .op-nav a{position:relative;color:#596678;border:0;padding:9px 8px;font-weight:720;font-size:.86rem;border-radius:9px}
.is-operator .op-nav a:hover{background:rgba(255,255,255,.55);color:var(--op-ink)}
.is-operator .op-nav a.active{background:#fff;color:var(--op-ink);box-shadow:0 5px 14px rgba(21,34,51,.05)}
.is-operator .op-nav a.active::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:2px;border-radius:99px;background:var(--op-accent)}
.is-operator .op-user{color:#5f6c7c;font-size:.84rem}
.is-operator .op-header .btn-logout{border-radius:999px;border-color:#cfc1b2;background:transparent;color:var(--op-ink);font-weight:720}
.is-operator .op-header .btn-logout:hover{background:#fff}
.is-operator .op-main{padding-bottom:64px}
.is-operator .section{padding-top:48px;padding-bottom:48px}
.is-operator h1,.is-operator h2,.is-operator h3{color:var(--op-ink);letter-spacing:-.035em}
.is-operator h1{font-size:clamp(2rem,3vw,2.65rem);margin-top:4px}
.is-operator .kicker{color:var(--op-accent);font-weight:850;letter-spacing:.09em;text-transform:uppercase;font-size:.72rem}
.is-operator .muted,.is-operator p{color:var(--op-muted)}
.is-operator .panel,
.is-operator .table-wrap,
.is-operator .op-table-card{
  background:var(--op-paper);
  border:1px solid rgba(185,170,151,.58);
  border-radius:22px;
  box-shadow:0 12px 26px rgba(21,34,51,.055);
}
.is-operator .panel{padding:26px}
.is-operator .panel.soft{background:#f8f2eb;box-shadow:none}
.is-operator .table-wrap{overflow:auto}
.is-operator table{background:transparent}
.is-operator thead th{background:#f4ede5;color:#6c5f52;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;font-weight:850;border-bottom:1px solid #dfd1c2}
.is-operator tbody td{border-bottom:1px solid #ece3da;color:#354458;vertical-align:middle}
.is-operator tbody tr:last-child td{border-bottom:0}
.is-operator tbody tr:hover td{background:#fffaf5}
.is-operator code{background:#f0e8df;color:#574a3d;border:1px solid #e1d4c7;border-radius:7px;padding:3px 6px}
.is-operator .btn{border-radius:999px;background:var(--op-navy);border-color:var(--op-navy);color:#fff;box-shadow:none;font-weight:760}
.is-operator .btn:hover{background:#0f1c2d;border-color:#0f1c2d}
.is-operator .btn.secondary{background:#fff;color:var(--op-ink);border-color:#cabbaa}
.is-operator .btn.secondary:hover{background:#f8f2eb;border-color:#b9a995}
.is-operator .btn.ghost{background:transparent;color:#566476;border-color:transparent}
.is-operator .btn.ghost:hover{background:#eee5dc;color:var(--op-ink)}
.is-operator .btn.danger{background:#fff4f2;border-color:#e4aaa0;color:#a33a2d}
.is-operator .btn.danger:hover{background:#a33a2d;border-color:#a33a2d;color:#fff}
.is-operator .btn.tiny{padding:7px 13px;font-size:.8rem}
.is-operator .badge{border-radius:999px;background:#efe7de;color:#625445;border:1px solid #ded0c0;font-weight:800}
.is-operator .badge.ok{background:#e8f5ef;color:#256c55;border-color:#c9e5d8}
.is-operator .badge.warn{background:#fff2df;color:#986017;border-color:#eddbb9}
.is-operator .badge.danger{background:#fff0ee;color:#a03931;border-color:#ecc6c1}
.is-operator .field label{color:#344356;font-weight:720}
.is-operator input[type="text"],.is-operator input[type="email"],.is-operator input[type="password"],.is-operator input[type="number"],.is-operator input[type="url"],.is-operator textarea,.is-operator select,.is-operator .field input,.is-operator .field textarea,.is-operator .field select{
  background:#fff;border:1px solid #d8cbbb;border-radius:11px;color:var(--op-ink);box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.is-operator input:focus,.is-operator textarea:focus,.is-operator select:focus{outline:none;border-color:#d78b60;box-shadow:0 0 0 3px rgba(239,127,69,.13);background:#fff}
.is-operator .notice{border-radius:14px;border-width:1px;box-shadow:none}
.is-operator .filters{background:var(--op-paper);border:1px solid rgba(185,170,151,.55);border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(21,34,51,.04)}
.is-operator .narrow{max-width:920px}

.op-page-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;flex-wrap:wrap}
.op-page-heading>div:first-child{max-width:780px}
.op-page-heading h1{margin-bottom:8px}
.op-page-heading p{margin:0;line-height:1.65}
.op-page-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.op-table-card{border-radius:20px!important}
.op-person{display:flex;align-items:center;gap:12px}
.op-person>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.op-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#ebeefc;color:#294fc4;font-size:.72rem;font-weight:900;letter-spacing:.04em;flex:0 0 auto}
.table-action{text-align:right;white-space:nowrap}
.empty-cell{text-align:center;padding:34px!important;color:var(--op-muted)!important}
.operator-team-toolbar{align-items:center}
.is-operator .compact-search{max-width:760px}
.is-operator .compact-search input{min-height:42px}

/* Modales opérateur */
.op-modal{width:min(690px,calc(100vw - 34px));max-height:min(86vh,760px);padding:0;border:1px solid #d9cbbb;border-radius:24px;background:var(--op-paper);color:var(--op-ink);box-shadow:0 32px 90px rgba(20,35,53,.25);overflow:auto}
.op-modal::backdrop{background:rgba(15,28,45,.58);backdrop-filter:blur(5px)}
.op-modal-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:26px 28px 20px;border-bottom:1px solid #e7ddd2;background:linear-gradient(180deg,#fffdf9 0%,#fbf6f0 100%)}
.op-modal-head h2{margin:5px 0 7px;font-size:1.55rem}
.op-modal-head p{margin:0;line-height:1.55;font-size:.92rem}
.op-modal-close{width:36px;height:36px;border:1px solid #d8cbbb;border-radius:999px;background:#fff;color:#5d6876;font-size:1.45rem;line-height:1;cursor:pointer;flex:0 0 auto}
.op-modal-close:hover{background:#f2e9df;color:var(--op-ink)}
.op-modal-form{padding:24px 28px 26px}
.op-modal-form .field small{display:block;color:#7b8795;margin-top:6px;font-size:.78rem}
.op-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #eadfd5}
.op-danger-zone{margin:0 28px 28px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #edc7c2;border-radius:16px;background:#fff5f3}
.op-danger-zone strong{color:#8e3027}
.op-danger-zone p{margin:4px 0 0;font-size:.82rem;line-height:1.45;color:#8a5a55}
.op-danger-zone form{margin:0;flex:0 0 auto}

/* Connexion opérateur */
.is-operator.op-login{background:radial-gradient(circle at 80% 15%,rgba(28,73,216,.09),transparent 30%),linear-gradient(135deg,#f6efe7 0%,#f8f3ed 55%,#eef2f8 100%)}
.is-operator.op-login .panel{border-radius:26px;padding:30px;box-shadow:0 24px 60px rgba(21,34,51,.12)}

@media(max-width:1180px){
  .is-operator .op-header-inner{align-items:flex-start}
  .is-operator .op-nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .is-operator .logout-form{margin-left:auto}
}
@media(max-width:720px){
  .is-operator .section{padding-top:32px;padding-bottom:38px}
  .is-operator .panel{padding:20px}
  .is-operator .table-wrap{overscroll-behavior-x:contain}
  .is-operator table{min-width:720px}
  .is-operator th,.is-operator td{white-space:nowrap}
  .is-operator th:first-child,.is-operator td:first-child{min-width:210px;white-space:normal}
  .op-page-heading{align-items:flex-start}
  .op-page-heading-actions{width:100%;justify-content:space-between}
  .is-operator .compact-search{display:grid;grid-template-columns:1fr auto;width:100%}
  .is-operator .compact-search input{grid-column:1/-1}
  .op-modal-head,.op-modal-form{padding-left:20px;padding-right:20px}
  .op-danger-zone{margin-left:20px;margin-right:20px;flex-direction:column;align-items:flex-start}
  .op-modal-actions{display:grid;grid-template-columns:1fr 1fr}
  .op-modal-actions .btn{width:100%}
}

/* =====================================================================
 * v6.1.3 - opérateur : header mono-ligne, activation et liens société
 * ===================================================================== */
.is-operator .op-header-inner{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr) max-content;
  align-items:center!important;
  gap:18px!important;
  flex-wrap:nowrap!important;
}
.is-operator .op-brand{white-space:nowrap;min-width:max-content}
.is-operator .op-nav{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  min-width:0!important;
  width:auto!important;
  order:initial!important;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  scrollbar-width:none;
  padding:2px 0!important;
}
.is-operator .op-nav::-webkit-scrollbar{display:none}
.is-operator .op-nav a{flex:0 0 auto;padding:9px 9px}
.is-operator .logout-form{display:flex;align-items:center;gap:10px;margin:0!important;white-space:nowrap;min-width:max-content}
.is-operator .op-space-links{display:grid;gap:7px;margin-top:8px;color:var(--op-muted);font-size:.9rem}
.is-operator .op-space-links span{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.is-operator .op-space-links strong{color:var(--op-ink)}
.is-operator .op-space-links a{color:#244db9;text-decoration:none;font-weight:720;word-break:break-all}
.is-operator .op-space-links a:hover{text-decoration:underline}

.is-operator .op-activation-choice{
  position:relative;
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin:2px 0 0;
  padding:18px 20px;
  background:#fffaf5;
  border:1px solid #ddcdbd;
  border-radius:18px;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(21,34,51,.035);
}
.is-operator .op-activation-choice:hover{border-color:#cfb9a2;background:#fffdf9}
.is-operator .op-activation-choice>input{position:absolute;opacity:0;pointer-events:none}
.is-operator .op-activation-check{width:22px;height:22px;border-radius:7px;border:1.5px solid #bca993;background:#fff;display:grid;place-items:center;margin-top:1px;transition:.15s ease}
.is-operator .op-activation-choice>input:checked + .op-activation-check{background:var(--op-navy);border-color:var(--op-navy)}
.is-operator .op-activation-choice>input:checked + .op-activation-check::after{content:"✓";color:#fff;font-size:.8rem;font-weight:950;line-height:1}
.is-operator .op-activation-copy{display:grid;gap:4px;min-width:0}
.is-operator .op-activation-copy strong{font-size:.94rem;color:var(--op-ink);line-height:1.35}
.is-operator .op-activation-copy small{font-size:.82rem;line-height:1.55;color:var(--op-muted)}

@media(max-width:1180px){
  .is-operator .op-header-inner{grid-template-columns:max-content minmax(0,1fr) max-content!important;align-items:center!important}
  .is-operator .op-nav{order:initial!important;width:auto!important}
  .is-operator .logout-form{margin-left:0!important}
  .is-operator .op-user{display:none}
}
@media(max-width:760px){
  .is-operator .op-header-inner{gap:10px!important}
  .is-operator .op-brand{font-size:0}
  .is-operator .op-brand::before{font-size:.82rem;margin:0}
  .is-operator .op-nav a{font-size:.8rem;padding:8px 7px}
  .is-operator .btn-logout{font-size:0;padding:9px 11px}
  .is-operator .btn-logout::after{content:"Sortir";font-size:.78rem}
}

/* =====================================================================
 * v6.1.3 - espace société : même langage visuel que Sentinéo public
 * ===================================================================== */
body.tenant-shell{
  --tenant-ink:#152233;
  --tenant-muted:#667487;
  --tenant-paper:#fffdf9;
  --tenant-soft:#f6efe7;
  --tenant-line:#ded3c7;
  --tenant-navy:#142335;
  --tenant-accent:#ef7f45;
  min-height:100vh;
  background:linear-gradient(180deg,#f6efe7 0,#f8f3ed 230px,#f4f6f9 100%)!important;
  color:var(--tenant-ink);
}
body.tenant-shell .topbar{
  position:sticky!important;
  inset:auto!important;
  top:0!important;
  width:auto!important;
  height:auto!important;
  background:rgba(246,239,231,.93)!important;
  backdrop-filter:saturate(145%) blur(14px);
  border:0!important;
  border-bottom:1px solid rgba(187,170,152,.30)!important;
  box-shadow:none!important;
}
body.tenant-shell .topbar-inner{
  width:min(var(--container),calc(100% - 32px))!important;
  min-height:72px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:12px 0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
body.tenant-shell .brand{
  min-width:max-content!important;
  padding:0!important;
  border:0!important;
  gap:11px!important;
  color:var(--tenant-ink)!important;
}
body.tenant-shell .brand-mark{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,var(--tenant-navy),#223956)!important;
  box-shadow:0 9px 20px rgba(20,35,53,.13)!important;
}
body.tenant-shell .brand-title{font-size:14px!important;line-height:1.15!important;max-width:190px!important;color:var(--tenant-ink)!important;white-space:nowrap!important}
body.tenant-shell .brand-subtitle{font-size:11px!important;max-width:190px!important;color:#6f7b8b!important}
body.tenant-shell .nav-zone{
  display:flex!important;
  flex:1!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
}
body.tenant-shell .nav{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  padding:4px!important;
  border:1px solid rgba(185,170,151,.54)!important;
  border-radius:999px!important;
  background:rgba(255,253,249,.72)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  overflow-x:auto!important;
  scrollbar-width:none;
}
body.tenant-shell .nav::-webkit-scrollbar{display:none}
body.tenant-shell .nav a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:0!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  color:#5d6979!important;
  font-size:.78rem!important;
  font-weight:760!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.tenant-shell .nav a:hover{background:#fff!important;color:var(--tenant-ink)!important}
body.tenant-shell .nav a.active{background:var(--tenant-navy)!important;color:#fff!important;box-shadow:none!important}
body.tenant-shell .logout-form{width:auto!important;margin:0!important;display:flex!important;flex:0 0 auto!important}
body.tenant-shell .btn-logout{width:auto!important;border-radius:999px!important;background:transparent!important;color:var(--tenant-ink)!important;border:1px solid #cfc1b2!important;padding:9px 13px!important}
body.tenant-shell .btn-logout:hover{background:#fff!important}
body.tenant-shell.is-admin{padding-left:0!important}
body.tenant-shell .container{width:min(var(--container),calc(100% - 32px))!important}
body.tenant-shell .footer{margin-left:0!important;background:#f3ece4!important;border-top:1px solid rgba(187,170,152,.24)!important;color:#6b7887!important}
body.tenant-shell h1,body.tenant-shell h2,body.tenant-shell h3{color:var(--tenant-ink)!important;letter-spacing:-.035em}
body.tenant-shell .kicker{color:var(--tenant-accent)!important;font-weight:850;letter-spacing:.09em}
body.tenant-shell p,body.tenant-shell .muted{color:var(--tenant-muted)}
body.tenant-shell .panel,
body.tenant-shell .progress-card,
body.tenant-shell .table-wrap,
body.tenant-shell .stat,
body.tenant-shell .incident-card,
body.tenant-shell .admin-card{
  background:var(--tenant-paper)!important;
  border:1px solid rgba(185,170,151,.58)!important;
  border-radius:22px!important;
  box-shadow:0 12px 26px rgba(21,34,51,.055)!important;
}
body.tenant-shell .panel.soft{background:#f8f2eb!important;border-color:#e2d5c8!important;box-shadow:none!important}
body.tenant-shell .btn{border-radius:999px!important;background:var(--tenant-navy)!important;border-color:var(--tenant-navy)!important;color:#fff!important;box-shadow:none!important;font-weight:760!important}
body.tenant-shell .btn:hover{background:#0f1c2d!important;border-color:#0f1c2d!important}
body.tenant-shell .btn.secondary{background:#fff!important;color:var(--tenant-ink)!important;border-color:#cabbaa!important}
body.tenant-shell .btn.secondary:hover{background:#f8f2eb!important;border-color:#b9a995!important}
body.tenant-shell .btn.ghost{background:transparent!important;color:#566476!important;border-color:transparent!important}
body.tenant-shell input[type="text"],body.tenant-shell input[type="email"],body.tenant-shell input[type="password"],body.tenant-shell input[type="number"],body.tenant-shell input[type="url"],body.tenant-shell input[type="date"],body.tenant-shell textarea,body.tenant-shell select{
  background:#fff!important;
  border:1px solid #d8cbbb!important;
  border-radius:11px!important;
  color:var(--tenant-ink)!important;
  box-shadow:none!important;
}
body.tenant-shell input:focus,body.tenant-shell textarea:focus,body.tenant-shell select:focus{outline:none!important;border-color:#d78b60!important;box-shadow:0 0 0 3px rgba(239,127,69,.13)!important}
body.tenant-shell .badge{border-radius:999px!important}
body.tenant-shell .support-banner{background:var(--tenant-navy)!important;color:#fff!important;border:0!important}
body.tenant-shell .support-banner button{background:#fff!important;color:var(--tenant-navy)!important;border-radius:999px!important}
body.tenant-shell .mobile-menu-toggle{border-radius:14px!important;background:#fff!important;border-color:#d8cbbb!important;color:var(--tenant-ink)!important}

@media(min-width:1040px){
  body.tenant-shell.is-admin{padding-left:0!important}
  body.tenant-shell.is-admin .topbar{position:sticky!important;inset:auto!important;top:0!important;width:auto!important;height:auto!important}
  body.tenant-shell.is-admin .topbar-inner{width:min(var(--container),calc(100% - 32px))!important;height:auto!important;min-height:72px!important;flex-direction:row!important;align-items:center!important;padding:12px 0!important}
  body.tenant-shell.is-admin .brand{padding:0!important;border:0!important}
  body.tenant-shell.is-admin .nav-zone{flex:1!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important}
  body.tenant-shell.is-admin .nav{width:auto!important;display:flex!important;gap:5px!important;padding:4px!important;border:1px solid rgba(185,170,151,.54)!important;border-radius:999px!important;background:rgba(255,253,249,.72)!important;white-space:nowrap!important}
  body.tenant-shell.is-admin .nav a{display:inline-flex!important;min-height:0!important;padding:8px 11px!important;border-radius:999px!important}
  body.tenant-shell.is-admin .logout-form{width:auto!important}
  body.tenant-shell.is-admin .btn-logout{width:auto!important}
  body.tenant-shell.is-admin .container{width:min(var(--container),calc(100% - 32px))!important}
}
@media(max-width:1039px){
  body.tenant-shell .topbar-inner{width:min(100% - 24px,var(--container))!important}
  body.tenant-shell .brand{min-width:0!important}
  body.tenant-shell .nav-zone{min-width:0!important}
  body.tenant-shell .nav{max-width:58vw!important}
}
@media(max-width:760px){
  body.tenant-shell .topbar-inner{align-items:center!important;gap:10px!important}
  body.tenant-shell .brand-title{max-width:150px!important}
  body.tenant-shell .brand-subtitle{max-width:150px!important}
  body.tenant-shell .nav-zone{flex:0 0 auto!important}
  body.tenant-shell .mobile-menu-toggle{display:flex!important}
  body.tenant-shell .nav{display:none!important;position:absolute!important;left:12px!important;right:12px!important;top:70px!important;max-width:none!important;width:auto!important;border-radius:18px!important;padding:10px!important;background:#fffdf9!important;box-shadow:0 18px 42px rgba(21,34,51,.14)!important;overflow:visible!important;flex-direction:column!important;align-items:stretch!important}
  body.tenant-shell .nav-zone.open .nav{display:flex!important}
  body.tenant-shell .nav a{width:100%!important;justify-content:flex-start!important;border-radius:11px!important;padding:10px 12px!important}
  body.tenant-shell .logout-form{display:none!important}
  body.tenant-shell .nav-zone.open .logout-form{display:flex!important;position:absolute!important;left:22px!important;right:22px!important;top:calc(70px + 420px)!important;z-index:5!important}
  body.tenant-shell .nav-zone.open .btn-logout{width:100%!important;justify-content:center!important}
}
@media(max-width:760px){
  body.tenant-shell .logout-form,
  body.tenant-shell .nav-zone.open .logout-form{display:flex!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;z-index:auto!important}
  body.tenant-shell .btn-logout,
  body.tenant-shell .nav-zone.open .btn-logout{width:auto!important;justify-content:center!important;padding:9px 11px!important;font-size:.75rem!important}
}

/* =====================================================================
 * Sentinéo v6.1.3 - passe UX globale espace société
 * ===================================================================== */
body.tenant-shell{
  --tenant-control:#d8cbbb;
  --tenant-control-hover:#c7b7a5;
  --tenant-orange:#ef7f45;
}

/* Contrôles natifs : ne jamais laisser les styles de champs agrandir les cases. */
body.tenant-shell input[type="checkbox"],
body.tenant-shell input[type="radio"]{
  -webkit-appearance:auto!important;
  appearance:auto!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  max-width:17px!important;
  min-height:17px!important;
  max-height:17px!important;
  padding:0!important;
  margin:0!important;
  flex:0 0 17px!important;
  accent-color:var(--tenant-navy)!important;
  box-shadow:none!important;
}
body.tenant-shell .check-row{align-items:center!important;gap:9px!important;margin-top:10px!important;font-size:.88rem!important;font-weight:680!important}
body.tenant-shell .check-row input{margin:0!important}

/* Déclaration : rail réellement lisible et stable. */
body.tenant-shell .progress-card{
  grid-template-columns:minmax(245px,270px) minmax(0,1fr)!important;
  gap:24px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.tenant-shell .progress-rail{
  position:sticky;
  top:92px;
  display:grid;
  gap:8px;
  min-width:0;
  padding:12px;
  border:1px solid rgba(185,170,151,.55);
  border-radius:20px;
  background:rgba(255,253,249,.92);
  box-shadow:0 10px 24px rgba(21,34,51,.05);
}
body.tenant-shell .device-card{
  display:grid;
  gap:5px;
  min-width:0;
  padding:13px 14px;
  margin-bottom:4px;
  border-radius:14px;
  background:#f4ede5;
  border:1px solid #dfd2c4;
  color:#536175;
  line-height:1.35;
}
body.tenant-shell .device-card span{font-size:.78rem;color:#667488;overflow-wrap:anywhere}
body.tenant-shell .device-card strong{font-size:.83rem;color:var(--tenant-ink);letter-spacing:.02em;overflow-wrap:anywhere}
body.tenant-shell .step-indicator{
  min-width:0!important;
  min-height:46px;
  padding:9px 10px!important;
  gap:9px!important;
  border-radius:13px!important;
  font-size:.84rem!important;
  font-weight:750!important;
  line-height:1.25;
}
body.tenant-shell .step-indicator>span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:9px;
  background:#eee7df;
  color:#687587;
  font-size:.75rem;
  font-weight:850;
}
body.tenant-shell .step-indicator>strong{min-width:0;overflow-wrap:anywhere}
body.tenant-shell .step-indicator.active{background:#fff!important;color:var(--tenant-ink)!important;border-color:#d8cbbb!important}
body.tenant-shell .step-indicator.active>span{background:var(--tenant-navy);color:#fff}
body.tenant-shell .declaration-panel{min-width:0!important;padding:24px!important}
body.tenant-shell .profile-summary{margin:14px 0 18px;background:#f7f2ec!important;border-color:#e0d5c8!important;color:var(--tenant-ink)!important}

/* Navigation admin : peu d'entrées, largeur maîtrisée sur une ligne. */
@media(min-width:1040px){
  body.tenant-shell.is-admin .topbar-inner{gap:18px!important}
  body.tenant-shell.is-admin .brand{flex:0 0 auto!important}
  body.tenant-shell.is-admin .nav-zone{min-width:0!important;gap:10px!important}
  body.tenant-shell.is-admin .nav{flex-wrap:nowrap!important;overflow:visible!important}
  body.tenant-shell.is-admin .nav a{font-size:.76rem!important;padding:8px 10px!important}
}

/* Pages de réglages : hiérarchie claire, options techniques repliées. */
body.tenant-shell .tenant-settings-page{max-width:1260px}
body.tenant-shell .settings-page-shell{padding:30px!important}
body.tenant-shell .settings-page-heading{margin-bottom:24px}
body.tenant-shell .settings-page-heading>div:first-child{max-width:760px}
body.tenant-shell .settings-page-heading h1{max-width:18ch}
body.tenant-shell .settings-page-heading p{max-width:70ch}
body.tenant-shell .settings-hub{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:8px 0 26px;
}
body.tenant-shell .settings-hub a{
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  gap:2px 12px;
  align-items:center;
  min-width:0;
  padding:15px;
  border:1px solid #dfd3c6;
  border-radius:16px;
  background:#fff;
  color:var(--tenant-ink);
  text-decoration:none;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
body.tenant-shell .settings-hub a:hover{transform:translateY(-2px);border-color:#c8b7a4;box-shadow:0 10px 20px rgba(21,34,51,.06)}
body.tenant-shell .settings-hub a>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f4ede5;color:#7a5d47}
body.tenant-shell .settings-hub .ui-icon{width:20px;height:20px}
body.tenant-shell .settings-hub strong{font-size:.91rem}
body.tenant-shell .settings-hub small{font-size:.76rem;line-height:1.35;color:#768396}
body.tenant-shell .settings-form{display:grid;gap:14px}
body.tenant-shell .settings-section{
  display:grid;
  gap:18px;
  padding:22px;
  border:1px solid #dfd3c6;
  border-radius:20px;
  background:#fffdfa;
  box-shadow:0 8px 18px rgba(21,34,51,.035);
}
body.tenant-shell .settings-section-head>div{display:flex;gap:13px;align-items:flex-start}
body.tenant-shell .settings-section-head h2{font-size:1.22rem!important;margin:0 0 4px!important}
body.tenant-shell .settings-section-head p{margin:0;font-size:.88rem;line-height:1.45}
body.tenant-shell .settings-step{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:10px;background:#f0e8df;color:#8a654b;font-size:.75rem;font-weight:850}
body.tenant-shell .settings-short-field{max-width:520px}
body.tenant-shell .referent-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border-radius:15px;background:#f6f0e9;border:1px solid #e2d6c9}
body.tenant-shell .referent-summary>div{display:grid;gap:2px}
body.tenant-shell .referent-summary small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#8b7967;font-weight:850}
body.tenant-shell .referent-summary strong{font-size:1rem;color:var(--tenant-ink)}
body.tenant-shell .referent-summary span{font-size:.84rem;color:#6c7888}
body.tenant-shell .brand-color-field{max-width:420px}
body.tenant-shell .color-input-row{display:flex;align-items:center;gap:12px}
body.tenant-shell .color-input-row input[type="color"]{width:54px!important;min-width:54px!important;height:44px!important;padding:4px!important;border-radius:12px!important}
body.tenant-shell .color-input-row span{font-size:.8rem;color:#758294}
body.tenant-shell .current-logo-row{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap}
body.tenant-shell .current-logo-row img{height:48px;width:auto;max-width:210px;object-fit:contain;border:1px solid #ddd0c2;border-radius:10px;padding:5px;background:#fff}

body.tenant-shell .settings-disclosure{
  border:1px solid #dfd3c6;
  border-radius:18px;
  background:#fffdfa;
  overflow:hidden;
}
body.tenant-shell .settings-disclosure>summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  display:grid;
  gap:3px;
  padding:18px 54px 18px 20px;
  color:var(--tenant-ink);
  user-select:none;
}
body.tenant-shell .settings-disclosure>summary::-webkit-details-marker{display:none}
body.tenant-shell .settings-disclosure>summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#f2eae1;color:#796653;font-size:1.15rem;font-weight:700}
body.tenant-shell .settings-disclosure[open]>summary::after{content:"−"}
body.tenant-shell .settings-disclosure>summary span{font-weight:820;font-size:.98rem}
body.tenant-shell .settings-disclosure>summary small{font-size:.78rem;line-height:1.35;color:#788597}
body.tenant-shell .settings-disclosure-body{padding:0 20px 20px;border-top:1px solid #eee5dc;padding-top:20px}
body.tenant-shell .settings-disclosure.nested{background:#f8f3ed;border-radius:14px}
body.tenant-shell .settings-disclosure.nested>summary{padding:15px 48px 15px 16px}
body.tenant-shell .help-block{padding:13px 15px;border-radius:13px;background:#f3ede6;color:#5f6b7b;font-size:.84rem;line-height:1.5}
body.tenant-shell .settings-test-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 16px;border-radius:14px;background:#f5efe8;border:1px solid #e1d5c8}
body.tenant-shell .settings-test-row>div:first-child{display:grid;gap:2px}
body.tenant-shell .settings-test-row small{font-size:.77rem;color:#768395}
body.tenant-shell .settings-save-bar{position:sticky;bottom:14px;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;border-radius:16px;background:rgba(20,35,53,.96);box-shadow:0 14px 34px rgba(20,35,53,.2);color:#fff}
body.tenant-shell .settings-save-bar>div{display:grid;gap:2px}
body.tenant-shell .settings-save-bar strong{font-size:.9rem}
body.tenant-shell .settings-save-bar small{font-size:.75rem;color:#c8d3df}
body.tenant-shell .settings-save-bar .btn{background:#fff!important;color:var(--tenant-navy)!important;border-color:#fff!important}

/* Alertes : première configuration simple, intégrations avancées séparées. */
body.tenant-shell .alert-rule-form{margin-top:0}
body.tenant-shell .alert-rule-main-grid{max-width:900px}
body.tenant-shell .alert-email-choice{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;max-width:900px}
body.tenant-shell .toggle-choice{
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-width:0;
  padding:13px 14px;
  border:1px solid #ded2c4;
  border-radius:14px;
  background:#fff;
  color:var(--tenant-ink);
  cursor:pointer;
}
body.tenant-shell .toggle-choice:hover{border-color:#c6b5a2;background:#fffcf8}
body.tenant-shell .toggle-choice input{margin-top:2px!important}
body.tenant-shell .toggle-choice>span{display:grid;gap:2px;min-width:0}
body.tenant-shell .toggle-choice strong{font-size:.86rem}
body.tenant-shell .toggle-choice small{font-size:.75rem;line-height:1.35;color:#7b8797;font-weight:500}
body.tenant-shell .toggle-choice.compact{padding:11px 13px}
body.tenant-shell .channel-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.tenant-shell .rule-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.tenant-shell .rule-card-clean{display:grid;gap:11px;padding:16px;border-radius:16px;border:1px solid #dfd3c6;background:#fff}
body.tenant-shell .rule-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
body.tenant-shell .rule-card-top>div{display:grid;gap:3px}
body.tenant-shell .rule-card-top small{font-size:.76rem;color:#778496}
body.tenant-shell .empty-state.compact{grid-column:1/-1;padding:22px;border:1px dashed #d3c4b3;border-radius:16px;background:#faf5ef;text-align:center}
body.tenant-shell .empty-state.compact p{margin:5px auto 0;max-width:62ch;font-size:.86rem}
body.tenant-shell .delivery-history{margin-top:14px}

/* Densité générale : panneaux/formulaires lisibles sans étirement inutile. */
body.tenant-shell .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
body.tenant-shell .field label{line-height:1.35}
body.tenant-shell .field .help,body.tenant-shell .field small{max-width:75ch}
body.tenant-shell .panel>.section-heading-row:first-child{margin-bottom:6px}
body.tenant-shell .table-wrap{overflow:auto}
body.tenant-shell table input[type="checkbox"]{vertical-align:middle}

@media(max-width:1040px){
  body.tenant-shell .settings-hub{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tenant-shell .progress-card{grid-template-columns:220px minmax(0,1fr)!important;gap:16px!important}
}
@media(max-width:900px){
  body.tenant-shell .progress-card{display:block!important}
  body.tenant-shell .progress-rail{position:static;display:flex;overflow-x:auto;gap:8px;margin-bottom:14px;padding:9px}
  body.tenant-shell .device-card{min-width:210px;margin:0}
  body.tenant-shell .step-indicator{min-width:145px!important}
  body.tenant-shell .settings-save-bar{position:static}
  body.tenant-shell .settings-page-shell{padding:22px!important}
}
@media(max-width:720px){
  body.tenant-shell .settings-hub{grid-template-columns:1fr}
  body.tenant-shell .settings-page-shell{padding:16px!important}
  body.tenant-shell .settings-section{padding:16px}
  body.tenant-shell .settings-section-head>div{gap:10px}
  body.tenant-shell .referent-summary{align-items:flex-start;flex-direction:column}
  body.tenant-shell .alert-email-choice,body.tenant-shell .channel-choice-grid,body.tenant-shell .rule-grid-clean{grid-template-columns:1fr}
  body.tenant-shell .settings-test-row,body.tenant-shell .settings-save-bar{align-items:stretch;flex-direction:column}
  body.tenant-shell .settings-test-row .inline-actions{display:grid;grid-template-columns:1fr}
  body.tenant-shell .settings-save-bar .btn{width:100%!important}
  body.tenant-shell .declaration-panel{padding:16px!important}
}

/* Organisation simplifiée */
body.tenant-shell .organization-explainer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 22px}
body.tenant-shell .organization-explainer>div{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;align-items:start;padding:14px 15px;border-radius:15px;background:#f5efe8;border:1px solid #e2d6c9}
body.tenant-shell .organization-explainer>div>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#fff;color:#8a654b;font-size:.76rem;font-weight:850;border:1px solid #ded1c3}
body.tenant-shell .organization-explainer strong{font-size:.86rem;color:var(--tenant-ink)}
body.tenant-shell .organization-explainer p{margin:0;font-size:.76rem;line-height:1.38}
body.tenant-shell .org-grid-clean{gap:16px;align-items:start}
body.tenant-shell .org-list-clean{gap:10px}
body.tenant-shell .org-card-clean{display:grid;gap:14px;padding:16px;border:1px solid #dfd3c6;border-radius:16px;background:#fff}
body.tenant-shell .team-name-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}
body.tenant-shell .team-name-row .toggle-choice{white-space:nowrap}
body.tenant-shell .team-manager-form{display:grid;gap:12px}
body.tenant-shell .manager-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}
body.tenant-shell .manager-choice{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid #e1d5c8;border-radius:12px;background:#fbf7f2;cursor:pointer}
body.tenant-shell .manager-choice:hover{background:#fff;border-color:#cdbba8}
body.tenant-shell .manager-choice>span{display:grid;gap:2px;min-width:0}
body.tenant-shell .manager-choice strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.tenant-shell .manager-choice small{font-size:.72rem;color:#7a8696}
body.tenant-shell .org-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;border-top:1px solid #eee5dc}
body.tenant-shell .org-card-footer>small{font-size:.75rem;color:#7a8696}
body.tenant-shell .scope-guide{display:grid;gap:8px;padding:13px 14px;border-radius:14px;background:#f6f0e9;border:1px solid #e1d5c8}
body.tenant-shell .scope-guide span{display:grid;grid-template-columns:150px 1fr;gap:10px;font-size:.77rem;color:#697687;line-height:1.4}
body.tenant-shell .scope-guide strong{color:var(--tenant-ink)}
body.tenant-shell .role-permissions{display:grid;gap:8px}
body.tenant-shell .role-permissions>span{font-size:.76rem;color:#738092;font-weight:760}
body.tenant-shell .role-permissions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.tenant-shell .role-card-clean .toggle-choice{background:#fbf7f2}
@media(max-width:1040px){
  body.tenant-shell .org-grid-clean{grid-template-columns:1fr}
  body.tenant-shell .organization-explainer{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:720px){
  body.tenant-shell .organization-explainer{grid-template-columns:1fr}
  body.tenant-shell .team-name-row{grid-template-columns:1fr}
  body.tenant-shell .manager-choice-list{grid-template-columns:1fr}
  body.tenant-shell .org-card-footer{align-items:flex-start;flex-direction:column}
  body.tenant-shell .scope-guide span{grid-template-columns:1fr;gap:2px}
  body.tenant-shell .role-permissions>div{grid-template-columns:1fr}
}

/* =====================================================================
 * Espace société - modales utilisateurs
 * ===================================================================== */
body.tenant-shell .users-page-panel{overflow:visible!important}
body.tenant-shell .users-table .table-action{width:1%;white-space:nowrap;text-align:right}
body.tenant-shell .empty-table-state{display:grid;gap:4px;padding:18px 4px;color:var(--tenant-muted)}
body.tenant-shell .empty-table-state strong{color:var(--tenant-ink)}
body.tenant-shell .empty-table-state span{font-size:.84rem}
body.tenant-shell .tenant-modal{
  width:min(760px,calc(100vw - 34px));
  max-height:min(88vh,820px);
  padding:0;
  border:1px solid #d9cbbb;
  border-radius:24px;
  background:#fffdf9;
  color:var(--tenant-ink);
  box-shadow:0 32px 90px rgba(20,35,53,.25);
  overflow:auto;
}
body.tenant-shell .tenant-modal::backdrop{background:rgba(15,28,45,.58);backdrop-filter:blur(5px)}
body.tenant-shell .tenant-modal-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:26px 28px 20px;border-bottom:1px solid #e7ddd2;background:linear-gradient(180deg,#fffdf9 0%,#fbf6f0 100%)}
body.tenant-shell .tenant-modal-head>div{min-width:0}
body.tenant-shell .tenant-modal-head h2{margin:5px 0 7px!important;font-size:1.55rem!important}
body.tenant-shell .tenant-modal-head p{margin:0;line-height:1.55;font-size:.9rem;max-width:62ch}
body.tenant-shell .tenant-modal-close{width:36px;height:36px;border:1px solid #d8cbbb;border-radius:999px;background:#fff;color:#5d6876;font-size:1.45rem;line-height:1;cursor:pointer;flex:0 0 auto}
body.tenant-shell .tenant-modal-close:hover{background:#f2e9df;color:var(--tenant-ink)}
body.tenant-shell .tenant-modal-form{padding:24px 28px 26px}
body.tenant-shell .tenant-modal-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding:14px 16px;border:1px solid #e5d9cc;border-radius:15px;background:#f8f3ed}
body.tenant-shell .tenant-modal-options .check-row{margin:0!important}
body.tenant-shell .tenant-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #eadfd5}
body.tenant-shell .tenant-modal-secondary,body.tenant-shell .tenant-modal-danger{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;border-top:1px solid #eadfd5}
body.tenant-shell .tenant-modal-secondary>div:first-child,body.tenant-shell .tenant-modal-danger>div:first-child{display:grid;gap:3px;min-width:0}
body.tenant-shell .tenant-modal-secondary strong,body.tenant-shell .tenant-modal-danger strong{font-size:.88rem;color:var(--tenant-ink)}
body.tenant-shell .tenant-modal-secondary span,body.tenant-shell .tenant-modal-danger span{font-size:.78rem;line-height:1.4;color:#758294}
body.tenant-shell .tenant-modal-secondary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
body.tenant-shell .tenant-modal-secondary-actions form,body.tenant-shell .tenant-modal-danger form{margin:0}
body.tenant-shell .tenant-modal-danger{background:#fff8f6;border-top-color:#efd9d4}
body.tenant-shell .tenant-modal-danger strong{color:#9f352b}
body.tenant-shell .tenant-modal .btn.danger{background:#a33a2d!important;border-color:#a33a2d!important;color:#fff!important}
body.tenant-shell .tenant-modal .btn.danger:hover{background:#842b23!important;border-color:#842b23!important}
@media(max-width:680px){
  body.tenant-shell .tenant-modal-head,body.tenant-shell .tenant-modal-form{padding-left:20px;padding-right:20px}
  body.tenant-shell .tenant-modal-options{grid-template-columns:1fr}
  body.tenant-shell .tenant-modal-actions{display:grid;grid-template-columns:1fr 1fr}
  body.tenant-shell .tenant-modal-actions .btn{width:100%}
  body.tenant-shell .tenant-modal-secondary,body.tenant-shell .tenant-modal-danger{align-items:flex-start;flex-direction:column;padding-left:20px;padding-right:20px}
  body.tenant-shell .tenant-modal-secondary-actions{justify-content:flex-start}
}

/* =====================================================================
 * Sentinéo v6.2 - parcours authentifié + organisation simplifiée
 * ===================================================================== */
.declaration-account-chip{min-width:280px;max-width:390px;padding:16px 18px;border:1px solid #decfbe;border-radius:18px;background:rgba(255,253,249,.88);display:grid;gap:3px;box-shadow:0 10px 24px rgba(21,34,51,.05)}
.declaration-account-chip span,.declaration-profile-card span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#d56d36}
.declaration-account-chip strong{font-size:1rem;color:#182638}.declaration-account-chip small{color:#667487;line-height:1.45}
.declaration-rail-clean{min-width:245px;width:245px}
.declaration-profile-card{display:grid;gap:4px;padding:15px 14px 14px;margin-bottom:12px;border:1px solid #e1d4c6;border-radius:15px;background:#f8f1e9}
.declaration-profile-card strong{font-size:.9rem;color:#172638}.declaration-profile-card small{font-size:.73rem;color:#697789;overflow-wrap:anywhere}
.declaration-identity-review{display:grid;gap:4px;padding:15px 17px;margin:0 0 18px;border:1px solid #e0d4c8;border-radius:15px;background:#f8f2eb}
.declaration-identity-review span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#d56d36}.declaration-identity-review strong{font-size:.96rem}.declaration-identity-review small{color:#687688;line-height:1.45}

.organization-simple-page{max-width:1180px;margin-inline:auto}
.fixed-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.fixed-role-card{position:relative;display:grid;grid-template-columns:48px 1fr;gap:14px;padding:21px;border:1px solid #e0d4c7;border-radius:20px;background:#fffdf9;min-height:170px;box-shadow:0 10px 24px rgba(21,34,51,.045)}
.fixed-role-card::before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 99px 99px;background:#d3c5b6}.fixed-role-card.direction::before{background:#ef7f45}.fixed-role-card.manager::before{background:#315fda}.fixed-role-card.collaborator::before{background:#2c8581}
.fixed-role-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#f4eee7;color:#223752}.fixed-role-icon .ui-icon{width:22px;height:22px}
.fixed-role-card>div{min-width:0}.fixed-role-card strong{display:block;font-size:1.06rem;color:#172638;margin:4px 0 7px}.fixed-role-card p{margin:0;color:#667487;font-size:.9rem;line-height:1.55}
.fixed-role-scope{grid-column:2;justify-self:start;margin-top:auto;padding:6px 10px;border-radius:999px;background:#f3eee8;color:#566477;font-size:.72rem;font-weight:800}
.organization-teams-section{border-top:1px solid #e4d9ce;padding-top:28px}
.team-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:18px;border:1px solid #e2d6ca;border-radius:18px;background:#f8f2eb;margin:18px 0 20px}.team-create-row .field{margin:0}.team-create-row .btn{height:46px}
.team-simple-list{display:grid;gap:14px}.team-simple-card{border:1px solid #e0d4c7;border-radius:20px;background:#fffdf9;overflow:hidden;box-shadow:0 8px 18px rgba(21,34,51,.035)}
.team-simple-form{padding:18px 20px}.team-simple-main{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,.8fr);gap:18px;align-items:end}.team-simple-main .field{margin:0}
.team-active-toggle{min-height:46px;padding:10px 12px!important;background:#f8f2eb;border:1px solid #e3d8cc;border-radius:13px}.team-active-toggle span{display:grid!important;gap:2px}.team-active-toggle small{font-weight:500;color:#7b8796}
.team-simple-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #eee4da}.team-member-count{font-size:.78rem;color:#758294;font-weight:700}.team-actions{display:flex;gap:8px;align-items:center}.btn.danger-soft{background:#fff5f3;border-color:#efc9c1;color:#a64231}.btn.danger-soft:hover{background:#ffebe7;border-color:#e8b5ab}
.organization-tip{display:flex!important;gap:12px;align-items:flex-start;margin-top:22px!important}.organization-tip strong{flex:0 0 auto}.organization-tip span{line-height:1.5}

.tenant-modal .field.full{grid-column:1/-1}.tenant-modal .help{margin-top:6px;line-height:1.45}

@media(max-width:940px){.fixed-role-grid{grid-template-columns:1fr}.fixed-role-card{min-height:0}.team-simple-main{grid-template-columns:1fr}.declaration-account-chip{width:100%;max-width:none}.declaration-rail-clean{min-width:220px;width:220px}}
@media(max-width:720px){.declaration-rail-clean{width:auto;min-width:0}.team-create-row{grid-template-columns:1fr}.team-simple-footer{align-items:flex-start;flex-direction:column}.team-actions{width:100%}.team-actions .btn{flex:1}.fixed-role-card{grid-template-columns:42px 1fr;padding:18px}.fixed-role-icon{width:42px;height:42px}.fixed-role-scope{grid-column:2}}

/* v6.1.4 - e-mails centralisés + dossier collaborateur en lecture seule */
.operator-settings-page{display:grid;gap:18px}.operator-mail-overview{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#fffaf4,#f8fbff);border-color:#e5d9cb}.operator-mail-overview .feature-icon{position:static;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#17273b;color:#fff}.mail-driver-status{display:grid;gap:3px;min-width:110px;padding:12px 16px;border-radius:14px;background:#17273b;color:#fff;text-align:center}.mail-driver-status small{color:#bac7d6}.operator-settings-group{padding:26px}.operator-settings-group>.settings-section-head{margin-bottom:18px}.operator-mail-test{display:grid;grid-template-columns:minmax(260px,1fr) minmax(340px,1.1fr) auto;gap:18px;align-items:end}.operator-mail-test p{margin:4px 0 0}.mail-test-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.notification-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.notification-policy-grid .toggle-choice{height:100%;align-items:flex-start}.timeline-item.is-private{border-color:#b9a58e;background:#fff9f2}.timeline-item.is-private .timeline-dot{background:#aa6d3b}.workflow-readonly{align-items:center}.workflow-readonly>div:not(.workflow-main){display:grid;gap:4px}.workflow-readonly small{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.workflow-readonly strong{font-size:.9rem}.admin-note-form .toggle-choice.compact{margin-top:10px}
@media(max-width:1000px){.operator-mail-test{grid-template-columns:1fr}.operator-mail-overview{grid-template-columns:auto 1fr}.mail-driver-status{grid-column:1/-1;text-align:left}.notification-policy-grid{grid-template-columns:1fr}}
@media(max-width:680px){.operator-mail-overview{grid-template-columns:1fr}.mail-test-form{grid-template-columns:1fr}.operator-settings-group{padding:20px}.workflow-readonly{display:grid;grid-template-columns:1fr 1fr}.workflow-readonly .workflow-main{grid-column:1/-1}}

/* v6.1 - modèles e-mails par société */
body.tenant-shell .mail-template-settings .settings-disclosure-body{display:grid;gap:14px}
body.tenant-shell .mail-template-vars{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
body.tenant-shell .mail-template-vars code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;padding:5px 8px;border-radius:999px;background:#eef3fb;border:1px solid #d9e3f2;color:#2b4b77}
body.tenant-shell .mail-template-card{border:1px solid #e2d6c9;border-radius:18px;padding:20px;background:#fffdf9;box-shadow:0 8px 20px rgba(21,34,51,.035)}
body.tenant-shell .mail-template-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
body.tenant-shell .mail-template-card-head h3{margin:0 0 4px!important;font-size:1rem!important}
body.tenant-shell .mail-template-card-head p{margin:0;font-size:.82rem;line-height:1.45;color:#748194}
body.tenant-shell .mail-template-card textarea{min-height:170px;resize:vertical;line-height:1.55;font-family:inherit}
body.tenant-shell .mail-template-card .btn.compact{padding:8px 12px;font-size:.77rem;white-space:nowrap}
@media(max-width:760px){body.tenant-shell .mail-template-card-head{display:grid}.mail-template-card-head .btn{justify-self:start}}

/* v6.1 - reset mot de passe local toujours visible dans la modale */
body.tenant-shell .tenant-modal-password-reset{
  background:#f8f4ee;
}
body.tenant-shell .tenant-modal-password-reset .tenant-modal-secondary-actions .btn{
  white-space:nowrap;
}

/* =====================================================================
 * Sentinéo v6.1 - page Tarifs auditée : fonctions communes + capacité
 * ===================================================================== */
.public-site .public-pricing-head{max-width:820px;margin-inline:auto}
.public-site .pricing-common{margin:34px 0 34px;background:linear-gradient(145deg,#172a41 0%,#203d59 100%);border-radius:30px;padding:32px;color:#fff;box-shadow:0 20px 44px rgba(20,35,53,.12)}
.public-site .pricing-common-head{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:start;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.14)}
.public-site .pricing-common-head>span{color:#f5b08b;font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.public-site .pricing-common-head>strong{font-size:1.18rem;line-height:1.45;color:#fff;max-width:680px}
.public-site .pricing-common-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;padding-top:10px}
.public-site .pricing-common-grid>div{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.public-site .pricing-common-grid>div:nth-last-child(-n+2){border-bottom:0}
.public-site .pricing-common-grid b{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.08);color:#f5b08b;font-size:.68rem;letter-spacing:.04em}
.public-site .pricing-common-grid span{display:grid;gap:5px}
.public-site .pricing-common-grid strong{color:#fff;font-size:.96rem}
.public-site .pricing-common-grid small{color:#cfd9e5;font-size:.86rem;line-height:1.5}
.public-site .pricing-grid-capacity .pricing-card{min-height:0}
.public-site .pricing-grid-capacity .pricing-tagline{min-height:48px}
.public-site .pricing-grid-capacity .pricing-features{flex:0 0 auto}
.public-site .pricing-grid-capacity .pricing-card .btn{margin-top:8px}
.public-site .pricing-grid-capacity .pricing-features li{font-size:.94rem}
@media(max-width:820px){
  .public-site .pricing-common{padding:26px 22px;border-radius:24px}
  .public-site .pricing-common-head{grid-template-columns:1fr;gap:10px}
  .public-site .pricing-common-grid{grid-template-columns:1fr}
  .public-site .pricing-common-grid>div:nth-last-child(2){border-bottom:1px solid rgba(255,255,255,.1)}
}

/* =====================================================================
 * Sentinéo GTM - passe conversion / transparence commerciale
 * ===================================================================== */
.home-site .sh-hero{padding-bottom:28px}
.home-site .sh-trust-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:-8px;background:rgba(255,253,249,.84);border:1px solid rgba(185,170,151,.46);border-radius:22px;box-shadow:0 12px 30px rgba(21,34,51,.06);overflow:hidden}
.home-site .sh-trust-strip span{display:flex;align-items:center;gap:10px;padding:16px 18px;color:#435063;font-size:.84rem;font-weight:730;min-width:0}
.home-site .sh-trust-strip span:not(:last-child){border-right:1px solid rgba(185,170,151,.34)}
.home-site .sh-trust-strip b{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#eef2ff;color:#1c49d8;font-size:.65rem;letter-spacing:.04em;flex:0 0 auto}
.home-site .sh-focus{background:#f5efe8}
.home-site .sh-focus-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.home-site .sh-focus-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.home-site .sh-focus-cards article{background:#fffdf9;border:1px solid rgba(185,170,151,.55);border-radius:26px;padding:28px;box-shadow:0 12px 24px rgba(21,34,51,.05)}
.home-site .sh-focus-cards article:last-child{background:#17273b;border-color:#17273b;color:#fff}
.home-site .sh-focus-cards small{display:block;margin-bottom:12px;color:#b65b2b;font-weight:850;letter-spacing:.07em;text-transform:uppercase;font-size:.67rem}
.home-site .sh-focus-cards article:last-child small{color:#f2b28c}
.home-site .sh-focus-cards h3{margin:0 0 14px;font-size:1.28rem;line-height:1.22}
.home-site .sh-focus-cards article:last-child h3{color:#fff!important}
.home-site .sh-focus-cards p{margin:0;line-height:1.68}
.home-site .sh-focus-cards article:last-child p{color:#d9e2ec!important}
.home-site .sh-focus-cards ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.home-site .sh-focus-cards li{position:relative;padding-left:19px;color:#475568;font-size:.9rem}
.home-site .sh-focus-cards li::before{content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;border-radius:50%;background:#ef7f45}
.home-site .sh-price-proof{margin-top:20px;display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#e6edf6;font-size:.82rem;position:relative;z-index:1}
.home-site .sh-price-proof strong{color:#fff}

.public-pricing-page{padding-top:74px!important;padding-bottom:86px!important}
.public-pricing-head{max-width:840px;margin:0 auto 42px;text-align:center}
.public-pricing-head h1{font-size:clamp(2.7rem,4.6vw,4.1rem);line-height:1.02;letter-spacing:-.055em;margin:12px auto 16px;max-width:15ch;color:var(--home-ink,#152233)}
.public-pricing-head>p{max-width:700px;margin:0 auto 24px;font-size:1.04rem;line-height:1.68;color:#657387}
.pricing-equivalent{margin-top:7px;font-size:.84rem;font-weight:760;color:#536174}
.pricing-card.is-highlight .pricing-equivalent{color:#d6dfeb}
.pricing-card.is-highlight .pricing-ttc{color:#aebdd0}
.pricing-volume-callout{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin:44px auto 0;max-width:960px;padding:28px 30px;background:#f5efe8;border:1px solid #decfbe;border-radius:22px}
.pricing-volume-callout h2{margin:7px 0 6px;font-size:1.5rem;letter-spacing:-.035em;color:#182536}
.pricing-volume-callout p{margin:0;color:#687688;line-height:1.6;max-width:63ch}
.pricing-faq{max-width:1080px;margin:78px auto 0;padding-top:64px;border-top:1px solid #ddd1c4}
.pricing-faq>.section-head{text-align:left;max-width:660px;margin-bottom:28px}
.pricing-faq>.section-head h2{font-size:2.3rem;line-height:1.08;letter-spacing:-.045em;margin:8px 0 0;color:#182536}
.pricing-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pricing-faq-grid article{padding:22px 24px;border:1px solid #e0d5ca;background:#fffdf9;border-radius:18px}
.pricing-faq-grid h3{font-size:1rem;line-height:1.35;margin:0 0 8px;color:#1e2b3b}
.pricing-faq-grid p{margin:0;color:#687688;line-height:1.62;font-size:.92rem}
.pricing-demo-cta{margin-top:24px}

@media(max-width:940px){
  .home-site .sh-trust-strip{grid-template-columns:1fr 1fr}
  .home-site .sh-trust-strip span:nth-child(2){border-right:0}
  .home-site .sh-trust-strip span:nth-child(-n+2){border-bottom:1px solid rgba(185,170,151,.34)}
  .home-site .sh-focus-grid{grid-template-columns:1fr;gap:34px}
  .pricing-volume-callout{grid-template-columns:1fr}
}
@media(max-width:680px){
  .home-site .sh-trust-strip{grid-template-columns:1fr;border-radius:18px}
  .home-site .sh-trust-strip span{border-right:0!important;border-bottom:1px solid rgba(185,170,151,.34)!important}
  .home-site .sh-trust-strip span:last-child{border-bottom:0!important}
  .home-site .sh-focus-cards{grid-template-columns:1fr}
  .public-pricing-head{text-align:left}
  .public-pricing-head h1{margin-left:0;margin-right:0}
  .public-pricing-head>p{margin-left:0;margin-right:0}
  .pricing-faq-grid{grid-template-columns:1fr}
  .pricing-volume-callout{padding:22px}
}

/* Accessibilité / SEO production */
.skip-link{position:fixed;left:18px;top:12px;z-index:99999;padding:10px 14px;border-radius:10px;background:#142335;color:#fff!important;font-weight:800;text-decoration:none;transform:translateY(-160%);transition:transform .15s ease;box-shadow:0 8px 24px rgba(15,23,42,.18)}
.skip-link:focus{transform:translateY(0)}

/* Page Fonctionnalités - contenu commercial / SEO */
.public-site .public-features-page{padding-top:72px!important;padding-bottom:92px!important}
.public-site .public-features-hero{max-width:900px;margin:0 auto 54px;text-align:center}
.public-site .public-features-hero h1{font-size:clamp(2.65rem,5vw,4rem);line-height:1.02;letter-spacing:-.055em;margin:16px auto 20px;max-width:18ch;color:var(--pub-ink)}
.public-site .public-features-hero>p{font-size:1.08rem;line-height:1.72;color:#5c697b;max-width:72ch;margin:0 auto}
.public-site .public-features-hero .hero-actions{justify-content:center;margin-top:28px}
.public-site .public-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1120px;margin:0 auto}
.public-site .public-feature-list article{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:28px;background:#fffdf9;border:1px solid rgba(185,170,151,.58);border-radius:26px;box-shadow:0 12px 26px rgba(21,34,51,.05)}
.public-site .public-feature-list article>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#17273b;color:#fff;font-size:.72rem;font-weight:850;letter-spacing:.06em}
.public-site .public-feature-list h2{font-size:1.3rem;line-height:1.25;letter-spacing:-.025em;margin:2px 0 10px;color:var(--pub-ink)}
.public-site .public-feature-list p{margin:0;color:#5b6879;line-height:1.65;font-size:.94rem}
.public-site .public-feature-list ul{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid rgba(185,170,151,.32);display:grid;gap:9px}
.public-site .public-feature-list li{position:relative;padding-left:18px;color:#435164;font-size:.87rem;line-height:1.45}
.public-site .public-feature-list li::before{content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;border-radius:50%;background:#ef7f45}
.public-site .public-feature-clarity{max-width:1120px;margin:26px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:34px 38px;background:linear-gradient(145deg,#172a41 0%,#203d59 100%);border-radius:28px;color:#fff;align-items:center}
.public-site .public-feature-clarity .public-kicker{color:#f3b18c}
.public-site .public-feature-clarity h2{color:#fff;font-size:1.7rem;line-height:1.18;margin:10px 0 0;letter-spacing:-.035em}
.public-site .public-feature-clarity>p{margin:0;color:#d7e0ea;line-height:1.7}
.home-site .sh-focus-more{margin-top:18px!important}
.home-site .sh-focus-more a{color:#173b91;font-weight:800;text-decoration:none}
.home-site .sh-focus-more a:hover{text-decoration:underline}
@media(max-width:900px){.public-site .public-feature-list{grid-template-columns:1fr}.public-site .public-feature-clarity{grid-template-columns:1fr;gap:18px}}
@media(max-width:620px){.public-site .public-features-page{padding-top:46px!important;padding-bottom:64px!important}.public-site .public-feature-list article{grid-template-columns:1fr;padding:24px}.public-site .public-feature-list article>span{width:42px;height:42px}.public-site .public-feature-clarity{padding:26px 22px;border-radius:22px}}

/* =====================================================================
 * SEO / guide éditorial - v6.1 production finale
 * ===================================================================== */
.sh-guide-callout{margin-top:4px;margin-bottom:86px;padding:28px 32px;border:1px solid rgba(185,170,151,.55);border-radius:24px;background:rgba(255,253,249,.78);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.sh-guide-callout h2{margin:7px 0 8px;font-size:clamp(1.65rem,2.7vw,2.3rem);line-height:1.08;max-width:20ch}
.sh-guide-callout p{margin:0;max-width:70ch;line-height:1.65}
.sh-guide-callout .sh-text-link{white-space:nowrap}
.seo-guide{max-width:1180px}
.seo-breadcrumb{display:flex;align-items:center;gap:9px;margin:2px 0 34px;color:#7a8796;font-size:.83rem}
.seo-breadcrumb a{color:#536274;text-decoration:none;font-weight:720}
.seo-breadcrumb a:hover{text-decoration:underline}
.seo-guide-hero{max-width:920px;padding:12px 0 48px}
.seo-guide-hero h1{font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.01;letter-spacing:-.05em;margin:17px 0 22px;max-width:16ch;color:var(--home-ink,#152233)}
.seo-guide-lead{font-size:1.14rem;line-height:1.75;max-width:72ch;color:#59687a!important}
.seo-guide-meta{font-size:.8rem!important;color:#8793a0!important;margin-top:18px!important}
.seo-guide-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:70px;align-items:start}
.seo-guide-toc{position:sticky;top:96px;display:grid;gap:8px;padding:20px 0;border-top:1px solid #d9cdbf;border-bottom:1px solid #d9cdbf}
.seo-guide-toc strong{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#6e7a89;margin-bottom:6px}
.seo-guide-toc a{color:#536274;text-decoration:none;font-size:.85rem;line-height:1.4;padding:4px 0}
.seo-guide-toc a:hover{color:var(--home-blue,#1c49d8)}
.seo-guide-content{min-width:0}
.seo-guide-content>section{scroll-margin-top:110px;padding:0 0 46px;margin:0 0 46px;border-bottom:1px solid #e2d8cd}
.seo-guide-content>section:last-child{border-bottom:0}
.seo-guide-content h2{font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 18px;color:var(--home-ink,#152233)}
.seo-guide-content h3{letter-spacing:-.02em}
.seo-guide-content p,.seo-guide-content li{font-size:1rem;line-height:1.78;color:#536274}
.seo-guide-content p{margin:0 0 17px}
.seo-guide-content ul{margin:4px 0 19px;padding-left:22px;display:grid;gap:8px}
.seo-guide-content strong{color:#263548}
.seo-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.seo-method-grid>div{border:1px solid #ddd1c4;border-radius:18px;padding:20px;background:#fffdf9}
.seo-method-grid span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:#edf1ff;color:#1c49d8;font-size:.72rem;font-weight:850;margin-bottom:13px}
.seo-method-grid h3{margin:0 0 7px;font-size:1.05rem;color:#213044}
.seo-method-grid p{font-size:.91rem;line-height:1.6;margin:0}
.seo-note{margin:24px 0 4px;padding:18px 20px;border-left:4px solid #ef7f45;border-radius:0 14px 14px 0;background:#fff7f0;color:#556477;font-size:.94rem;line-height:1.65}
.seo-guide-cta{background:#172b42;border:0!important;border-radius:24px;padding:28px 30px!important;margin-bottom:0!important}
.seo-guide-cta h2,.seo-guide-cta p{color:#fff!important}
.seo-guide-cta p{color:#d8e1ec!important;max-width:62ch}
.seo-guide-cta .public-kicker{color:#f6b08a}
.seo-guide-cta .btn.secondary{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
@media(max-width:960px){.sh-guide-callout{grid-template-columns:1fr}.sh-guide-callout .sh-text-link{white-space:normal}.seo-guide-layout{grid-template-columns:1fr;gap:34px}.seo-guide-toc{position:static;grid-template-columns:1fr 1fr;top:auto}.seo-guide-toc strong{grid-column:1/-1}}
@media(max-width:680px){.sh-guide-callout{margin-bottom:64px;padding:22px}.seo-guide-hero{padding-bottom:34px}.seo-guide-hero h1{font-size:2.65rem;max-width:none}.seo-guide-toc{grid-template-columns:1fr}.seo-method-grid{grid-template-columns:1fr}.seo-guide-content>section{padding-bottom:36px;margin-bottom:36px}.seo-guide-cta{padding:24px 20px!important}.seo-guide-cta .hero-actions{display:grid}.seo-guide-cta .btn{width:100%}}


/* SEO final - contraste garanti sur les surfaces publiques sombres. */
.public-site:not(.home-site) .seo-guide-cta{
  color:#fff;
}
.public-site:not(.home-site) .seo-guide-cta h2{
  color:#fff!important;
}
.public-site:not(.home-site) .seo-guide-cta p{
  color:#eef4fa!important;
}
.public-site:not(.home-site) .seo-guide-cta .public-kicker{
  color:#ffb58e!important;
}
.public-site:not(.home-site) .seo-guide-cta .hero-actions .btn{
  color:#fff!important;
}
.public-site:not(.home-site) .seo-guide-cta .hero-actions .btn.secondary{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.82)!important;
  color:#fff!important;
}
.public-site:not(.home-site) .seo-guide-cta .hero-actions .btn.secondary:hover,
.public-site:not(.home-site) .seo-guide-cta .hero-actions .btn.secondary:focus-visible{
  background:#fff!important;
  border-color:#fff!important;
  color:#172b42!important;
}

/* Accessibilité publique - focus clavier visible sans modifier le rendu souris. */
.public-site a:focus-visible,
.public-site button:focus-visible,
.public-site input:focus-visible,
.public-site select:focus-visible,
.public-site textarea:focus-visible{
  outline:3px solid rgba(28,73,216,.42);
  outline-offset:3px;
}
.public-site .seo-guide-cta a:focus-visible{
  outline-color:rgba(255,255,255,.88);
}

/* Pagination dossiers : navigation SQL par pages, sans charger tout l'historique. */
.pagination-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.pagination-actions{display:flex;gap:8px;align-items:center}

/* Présentation publique des modules QHSE */
.home-site .sh-modules{background:#fffdf9}
.home-site .sh-modules .sh-section-intro{max-width:850px}
.home-site .sh-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:42px}
.home-site .sh-module-grid article{display:flex;flex-direction:column;min-height:255px;padding:26px 24px;border:1px solid rgba(185,170,151,.56);border-radius:24px;background:#fff;box-shadow:0 12px 24px rgba(21,34,51,.05)}
.home-site .sh-module-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#f1eadf;color:#7c6956;font-size:.72rem;font-weight:850;margin-bottom:24px}
.home-site .sh-module-grid h3{font-size:1.3rem;margin:0 0 12px;color:#17273b}
.home-site .sh-module-grid p{font-size:.92rem;line-height:1.65;color:#586678;margin:0 0 22px}
.home-site .sh-module-grid a{margin-top:auto;color:#173b91;font-weight:800;text-decoration:none;font-size:.88rem}
.home-site .sh-module-grid a:hover{text-decoration:underline}
.public-site .qhse-landing .seo-guide-hero{max-width:980px}
.public-site .qhse-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
.public-site .qhse-proof-grid>div{padding:20px;border:1px solid #e2d8cd;border-radius:18px;background:#fffdf9}
.public-site .qhse-proof-grid strong{display:block;margin-bottom:6px;color:#263548}
.public-site .qhse-proof-grid span{display:block;color:#627082;line-height:1.55;font-size:.9rem}
@media(max-width:980px){.home-site .sh-module-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.home-site .sh-module-grid,.public-site .qhse-proof-grid{grid-template-columns:1fr}.home-site .sh-module-grid article{min-height:0}}

/* V1 RBAC — mise à jour compacte des actions affectées sans exposer la source métier. */
.inline-status-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-status-form select{min-width:120px;max-width:160px}.mt-small{margin-top:8px}

/* =====================================================================
 * Formulaires QHSE compacts et modèles repliables
 * Objectif : réduire la hauteur, clarifier la hiérarchie et conserver
 * des formulaires lisibles sans toucher au parcours de déclaration.
 * ===================================================================== */
body.tenant-shell .qhse-compact-form{display:grid;gap:12px}
body.tenant-shell .qhse-compact-form .form-grid{margin:0}
body.tenant-shell .qhse-compact-form textarea{min-height:76px}
body.tenant-shell .label-optional{font-weight:600;color:#8792a0;font-size:.72rem;margin-left:4px}
body.tenant-shell .form-actions-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}
body.tenant-shell .form-actions-between{justify-content:space-between}
body.tenant-shell .form-actions-inline .check-row{margin:0!important}

/* Formulaires d'administration : densité plus homogène, sans compacter le wizard de déclaration. */
body.tenant-shell.is-admin .panel form:not(.declaration-form):not(.audit-point-delete):not(.audit-template-point-delete) .field{gap:5px}
body.tenant-shell.is-admin .panel form:not(.declaration-form) textarea{min-height:92px}
body.tenant-shell.is-admin .panel form:not(.declaration-form) textarea[rows="2"]{min-height:68px}
body.tenant-shell.is-admin .panel form:not(.declaration-form) .actions{margin-top:14px}
body.tenant-shell.is-admin .panel form:not(.declaration-form) input,
body.tenant-shell.is-admin .panel form:not(.declaration-form) select{min-height:44px}

/* Audit - zone Points de contrôle */
body.tenant-shell .audit-points-panel{padding:20px!important}
body.tenant-shell .audit-points-heading{margin-bottom:14px!important;align-items:center!important}
body.tenant-shell .audit-points-heading h2{margin-bottom:2px}
body.tenant-shell .audit-progress{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border-radius:999px;background:#f3ece4;border:1px solid #dfd2c4;color:#5b6877;font-size:.78rem;font-weight:800;white-space:nowrap}
body.tenant-shell .audit-point-list{display:grid;gap:10px}
body.tenant-shell .audit-point-card{position:relative;padding:14px 14px 12px 14px;border:1px solid #e2d6ca;border-radius:16px;background:#fbf8f4}
body.tenant-shell .audit-point-form{display:grid;gap:10px;padding-right:78px}
body.tenant-shell .audit-point-topline{display:grid;grid-template-columns:30px minmax(260px,1.55fr) minmax(190px,.75fr);gap:10px;align-items:end}
body.tenant-shell .audit-point-number{display:grid;place-items:center;width:28px;height:28px;margin-bottom:8px;border-radius:9px;background:#16273b;color:#fff;font-size:.76rem;font-weight:850}
body.tenant-shell .audit-point-bottomline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-left:40px}
body.tenant-shell .audit-point-comment textarea{min-height:66px!important;max-height:150px;padding-top:9px;padding-bottom:9px}
body.tenant-shell .audit-point-save{min-width:118px;height:44px;margin-bottom:0}
body.tenant-shell .audit-point-delete{position:absolute;right:10px;top:10px;margin:0!important}
body.tenant-shell .audit-point-delete .btn{padding:6px 8px!important;font-size:.72rem!important;color:#8b4d3f!important}
body.tenant-shell .audit-add-point{border:1px dashed #d3c3b3;border-radius:15px;background:#fffdf9;overflow:hidden}
body.tenant-shell .audit-add-point summary{cursor:pointer;list-style:none;padding:13px 15px;font-weight:800;color:#263548}
body.tenant-shell .audit-add-point summary::-webkit-details-marker{display:none}
body.tenant-shell .audit-add-point summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:7px;background:#16273b;color:#fff;font-size:.9rem}
body.tenant-shell .audit-add-point[open] summary{border-bottom:1px solid #e5d9cd;background:#f8f2eb}
body.tenant-shell .audit-add-point .qhse-compact-form{padding:14px 15px 15px}

/* Audit clôturé : une ligne compacte par point, lisible sans blocs surdimensionnés. */
body.tenant-shell .audit-readonly-list{display:grid;gap:8px;margin-top:4px}
body.tenant-shell .audit-point-readonly{padding:12px 14px;border:1px solid #e2d6ca;border-radius:14px;background:#fbf8f4}
body.tenant-shell .audit-point-readonly-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
body.tenant-shell .audit-point-readonly-head>strong{font-size:.94rem;line-height:1.35;color:#1d2c3f}
body.tenant-shell .audit-result{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:5px 9px;border-radius:999px;border:1px solid transparent;font-size:.74rem;font-weight:820;white-space:nowrap}
body.tenant-shell .audit-result-conforme{background:#eaf8ef;border-color:#cbead5;color:#17633d}
body.tenant-shell .audit-result-non_conforme{background:#fff0ed;border-color:#f3c9c0;color:#a23d2b}
body.tenant-shell .audit-result-non_applicable{background:#eef3f7;border-color:#d9e2e8;color:#536476}
body.tenant-shell .audit-result-a_verifier{background:#fff6df;border-color:#efdca4;color:#805d13}
body.tenant-shell .audit-point-constat{margin:8px 0 0!important;padding-top:8px;border-top:1px solid #e8ddd2;color:#617083!important;font-size:.88rem;line-height:1.5}

/* Modèles d'audit : édition des points sous forme de lignes, pas de cartes empilées. */
body.tenant-shell .audit-template-card{padding:20px!important}
body.tenant-shell .audit-template-points-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px;padding-top:16px;border-top:1px solid #e7dbcf}
body.tenant-shell .audit-template-points-head h3{margin:0}
body.tenant-shell .audit-template-points-head span{color:#748091;font-size:.78rem;font-weight:750}
body.tenant-shell .audit-template-points{display:grid;gap:7px}
body.tenant-shell .audit-template-point-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid #e5d9cd;border-radius:13px;background:#fbf8f4}
body.tenant-shell .audit-template-point-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
body.tenant-shell .audit-template-point-edit input{min-height:40px!important}
body.tenant-shell .audit-template-point-edit .btn,
body.tenant-shell .audit-template-point-delete .btn{min-height:40px;padding:8px 11px!important;font-size:.75rem!important}
body.tenant-shell .audit-template-point-delete{margin:0}
body.tenant-shell .audit-template-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:9px}
body.tenant-shell .audit-template-add input{min-height:42px!important}
body.tenant-shell .audit-template-delete-model{display:flex;justify-content:flex-end;margin-top:12px}
body.tenant-shell .audit-template-delete-model .btn{color:#8b4d3f!important}

/* Les formulaires d'actions QHSE restent denses : la note ne doit pas occuper un écran entier. */
body.tenant-shell .audit-points-panel + .panel textarea,
body.tenant-shell .audit-template-card textarea{min-height:76px!important}

@media(max-width:820px){
  body.tenant-shell .audit-point-form{padding-right:0}
  body.tenant-shell .audit-point-topline{grid-template-columns:30px minmax(0,1fr)}
  body.tenant-shell .audit-point-result{grid-column:2}
  body.tenant-shell .audit-point-bottomline{grid-template-columns:1fr;margin-left:40px}
  body.tenant-shell .audit-point-save{justify-self:start}
  body.tenant-shell .audit-point-delete{position:static;display:flex;justify-content:flex-end;margin-top:5px!important}
  body.tenant-shell .audit-template-point-row{grid-template-columns:28px minmax(0,1fr)}
  body.tenant-shell .audit-template-point-delete{grid-column:2;justify-self:end}
}
@media(max-width:620px){
  body.tenant-shell .audit-points-panel{padding:15px!important}
  body.tenant-shell .audit-points-heading{align-items:flex-start!important}
  body.tenant-shell .audit-point-card{padding:12px}
  body.tenant-shell .audit-point-topline{grid-template-columns:1fr}
  body.tenant-shell .audit-point-number{margin-bottom:0}
  body.tenant-shell .audit-point-result{grid-column:auto}
  body.tenant-shell .audit-point-bottomline{margin-left:0}
  body.tenant-shell .audit-point-readonly-head{align-items:flex-start;flex-direction:column;gap:7px}
  body.tenant-shell .audit-template-point-row{grid-template-columns:1fr}
  body.tenant-shell .audit-template-point-row .audit-point-number{display:none}
  body.tenant-shell .audit-template-point-edit{grid-template-columns:1fr}
  body.tenant-shell .audit-template-point-delete{grid-column:auto}
  body.tenant-shell .audit-template-add{grid-template-columns:1fr}
}

/* Modèles d’audit : cartes repliées lisibles, aérées et stables même avec plusieurs modèles. */
body.tenant-shell .audit-template-collapsible{padding:0!important;overflow:hidden;border-radius:20px!important;background:#fffdfb!important}
body.tenant-shell .audit-template-collapsible>summary{list-style:none!important}
body.tenant-shell .audit-template-collapsible>summary::-webkit-details-marker{display:none!important}
body.tenant-shell .audit-template-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:108px;padding:21px 24px!important;cursor:pointer;user-select:none;background:linear-gradient(180deg,#fffdfb 0%,#fbf7f2 100%);transition:background .16s ease,box-shadow .16s ease}
body.tenant-shell .audit-template-summary:hover{background:linear-gradient(180deg,#fffaf4 0%,#f7f0e8 100%)}
body.tenant-shell .audit-template-summary:focus-visible{outline:3px solid rgba(23,86,148,.24);outline-offset:-3px}
body.tenant-shell .audit-template-summary-main{display:grid;gap:9px;min-width:0}
body.tenant-shell .audit-template-title-line{display:flex;align-items:center;gap:12px;min-width:0}
body.tenant-shell .audit-template-title-line>strong{display:block;min-width:0;font-size:1.08rem;line-height:1.3;color:#18283a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tenant-shell .audit-template-summary-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #dccdbf;border-radius:10px;background:#fff;color:#203247;font-size:1.28rem;font-weight:900;line-height:1;box-shadow:0 1px 0 rgba(21,31,46,.04);transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
body.tenant-shell .audit-template-summary-description{display:block;margin:0 0 0 44px;color:#667587;font-size:.88rem;line-height:1.5;max-width:820px;white-space:normal;overflow-wrap:anywhere}
body.tenant-shell .audit-template-summary-description.is-empty{color:#95a0ac;font-style:italic}
body.tenant-shell .audit-template-summary-meta{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;min-width:max-content}
body.tenant-shell .audit-template-pill{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 11px;border-radius:999px;border:1px solid #e0d3c6;background:#fff;color:#516071;font-size:.77rem;font-weight:820;white-space:nowrap}
body.tenant-shell .audit-template-summary-meta .badge{white-space:nowrap;min-height:30px;display:inline-flex;align-items:center}
body.tenant-shell .audit-template-toggle-label{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:34px;padding:7px 12px;border-radius:999px;background:#16273b;color:#fff;font-size:.76rem;font-weight:850;white-space:nowrap}
body.tenant-shell .audit-template-toggle-label .open-label{display:none}
body.tenant-shell .audit-template-collapsible[open] .audit-template-toggle-label .closed-label{display:none}
body.tenant-shell .audit-template-collapsible[open] .audit-template-toggle-label .open-label{display:inline}
body.tenant-shell .audit-template-collapsible[open] .audit-template-summary-icon{transform:rotate(90deg);background:#16273b;border-color:#16273b;color:#fff}
body.tenant-shell .audit-template-collapsible[open]>.audit-template-summary{border-bottom:1px solid #e6d9cc;background:#f8f2eb}
body.tenant-shell .audit-template-body{padding:20px 24px 24px}
body.tenant-shell .audit-template-body .audit-template-points-head{margin-top:16px}
@media(max-width:860px){
  body.tenant-shell .audit-template-summary{grid-template-columns:1fr;gap:14px;min-height:0;padding:18px!important}
  body.tenant-shell .audit-template-summary-meta{justify-content:flex-start;margin-left:44px;min-width:0}
  body.tenant-shell .audit-template-title-line>strong{white-space:normal}
  body.tenant-shell .audit-template-body{padding:17px}
}
@media(max-width:560px){
  body.tenant-shell .audit-template-summary{padding:16px!important}
  body.tenant-shell .audit-template-summary-description{margin-left:0}
  body.tenant-shell .audit-template-summary-meta{margin-left:0}
  body.tenant-shell .audit-template-toggle-label{margin-left:auto}
}

/* =====================================================================
 * Harmonisation visuelle QHSE
 * Primitives partagées Audits / Habilitations / DUERP : catalogues
 * repliables, fiches synthétiques, actions et formulaires compacts.
 * ===================================================================== */
body.tenant-shell .qhse-page-heading{margin-bottom:4px}
body.tenant-shell .qhse-page-heading p{max-width:82ch;margin-bottom:0}
body.tenant-shell .qhse-heading-separator{margin:0 6px;color:#9aa4af}
body.tenant-shell .qhse-heading-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}

/* Grille de faits commune : utilisée aussi par le DUERP afin d'éviter les libellés concaténés. */
body.tenant-shell .detail-grid,
body.tenant-shell .qhse-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}
body.tenant-shell .detail-grid>div,
body.tenant-shell .qhse-detail-grid>div{display:grid;align-content:start;gap:5px;min-width:0;padding:13px 14px;border:1px solid #e4d8cc;border-radius:14px;background:#fbf8f4}
body.tenant-shell .detail-grid>div>span,
body.tenant-shell .qhse-detail-grid>div>span{display:block;color:#7b8795;font-size:.7rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;line-height:1.2}
body.tenant-shell .detail-grid>div>strong,
body.tenant-shell .qhse-detail-grid>div>strong{display:block;min-width:0;color:#1c2c3f;font-size:.96rem;line-height:1.35;overflow-wrap:anywhere}
body.tenant-shell .detail-grid code{white-space:normal;overflow-wrap:anywhere;font-size:.78rem}

/* Sous-sections QHSE : même densité et même hiérarchie sur tous les modules. */
body.tenant-shell .qhse-subsection-panel{padding:20px!important}
body.tenant-shell .qhse-subsection-heading{align-items:flex-start!important;margin-bottom:12px!important}
body.tenant-shell .qhse-subsection-heading h2{margin:0 0 4px!important;font-size:1.55rem}
body.tenant-shell .qhse-subsection-heading p{margin:0!important;font-size:.88rem;line-height:1.48}
body.tenant-shell .qhse-meta-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border:1px solid #e0d3c6;border-radius:999px;background:#fff;color:#586778;font-size:.74rem;font-weight:820;white-space:nowrap}

/* Création repliable : même composant pour type, action Audit/DUERP/Habilitation, etc. */
body.tenant-shell .qhse-create-disclosure{border:1px dashed #d4c3b2;border-radius:16px;background:#fffdf9;overflow:hidden}
body.tenant-shell .qhse-create-disclosure>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:14px 16px;color:#223247;user-select:none}
body.tenant-shell .qhse-create-disclosure>summary::-webkit-details-marker{display:none}
body.tenant-shell .qhse-create-disclosure>summary:hover{background:#fbf6f0}
body.tenant-shell .qhse-create-disclosure>summary>span:nth-child(2){display:grid;gap:2px;min-width:0}
body.tenant-shell .qhse-create-disclosure>summary strong{font-size:.9rem}
body.tenant-shell .qhse-create-disclosure>summary small{font-size:.76rem;line-height:1.35;color:#7a8796;font-weight:560}
body.tenant-shell .qhse-summary-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#16273b;color:#fff;font-size:1rem;font-weight:900;line-height:1}
body.tenant-shell .qhse-summary-action{font-size:.75rem;font-weight:850;color:#647285}
body.tenant-shell .qhse-summary-action .open-label{display:none}
body.tenant-shell .qhse-create-disclosure[open] .qhse-summary-action .closed-label{display:none}
body.tenant-shell .qhse-create-disclosure[open] .qhse-summary-action .open-label{display:inline}
body.tenant-shell .qhse-create-disclosure[open]>summary{border-bottom:1px solid #e7dbcf;background:#f8f2eb}
body.tenant-shell .qhse-disclosure-body{padding:15px 16px 16px}
body.tenant-shell .qhse-disclosure-body textarea{min-height:70px!important}
body.tenant-shell .qhse-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:2px}
body.tenant-shell .qhse-form-footer .check-row{margin:0!important}
body.tenant-shell .qhse-danger-row{display:flex;justify-content:flex-end;margin-top:10px}
body.tenant-shell .qhse-danger-row .btn{color:#8d493d!important}

/* Référentiels QHSE (types / modèles) : vue liste compacte par défaut. */
body.tenant-shell .qhse-catalog-list{display:grid;gap:9px}
body.tenant-shell .qhse-catalog-card{border:1px solid #dfd2c5;border-radius:17px;background:#fffdfb;overflow:hidden;box-shadow:0 5px 13px rgba(21,34,51,.025)}
body.tenant-shell .qhse-catalog-card>summary{list-style:none}
body.tenant-shell .qhse-catalog-card>summary::-webkit-details-marker{display:none}
body.tenant-shell .qhse-catalog-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-height:78px;padding:14px 16px;cursor:pointer;user-select:none;transition:background .15s ease}
body.tenant-shell .qhse-catalog-summary:hover{background:#fbf6f0}
body.tenant-shell .qhse-catalog-summary-main{display:flex;align-items:center;gap:11px;min-width:0}
body.tenant-shell .qhse-catalog-chevron{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid #ded0c2;border-radius:9px;background:#fff;color:#25364b;font-size:1.2rem;font-weight:900;transition:transform .18s ease,background .18s ease,color .18s ease}
body.tenant-shell .qhse-catalog-copy{display:grid;gap:3px;min-width:0}
body.tenant-shell .qhse-catalog-copy>strong{font-size:.96rem;color:#1b2b3d;line-height:1.3}
body.tenant-shell .qhse-catalog-copy>span{display:block;max-width:760px;color:#6b7888;font-size:.8rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tenant-shell .qhse-catalog-copy .is-empty{color:#9aa4ae;font-style:italic}
body.tenant-shell .qhse-catalog-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:max-content}
body.tenant-shell .qhse-catalog-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:68px;min-height:30px;padding:5px 9px;border-radius:999px;background:#16273b;color:#fff;font-size:.72rem;font-weight:850}
body.tenant-shell .qhse-catalog-toggle .open-label{display:none}
body.tenant-shell .qhse-catalog-card[open] .qhse-catalog-toggle .closed-label{display:none}
body.tenant-shell .qhse-catalog-card[open] .qhse-catalog-toggle .open-label{display:inline}
body.tenant-shell .qhse-catalog-card[open] .qhse-catalog-chevron{transform:rotate(90deg);background:#16273b;color:#fff;border-color:#16273b}
body.tenant-shell .qhse-catalog-card[open]>.qhse-catalog-summary{background:#f8f2eb;border-bottom:1px solid #e6d9cd}
body.tenant-shell .qhse-catalog-body{padding:15px 16px 16px}
body.tenant-shell .training-type-form textarea{min-height:70px!important}

/* Fiche d'une habilitation et, par extension, cartes de synthèse QHSE. */
body.tenant-shell .qhse-record-overview{padding:18px!important}
body.tenant-shell .qhse-record-note{margin-top:11px;padding:12px 14px;border:1px solid #e6dbd0;border-radius:13px;background:#fffdfa}
body.tenant-shell .qhse-record-note>span{display:block;margin-bottom:4px;color:#7c8896;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}
body.tenant-shell .qhse-record-note p{margin:0;color:#465568;font-size:.88rem;line-height:1.5}
body.tenant-shell .qhse-relation-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:11px;padding:10px 12px;border-radius:12px;background:#eef6fb;border:1px solid #cfe0eb;color:#536477;font-size:.82rem}
body.tenant-shell .qhse-relation-strip a{margin-left:auto;font-weight:800;color:#0879bf}
body.tenant-shell .qhse-record-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:13px;padding-top:13px;border-top:1px solid #e8ddd2}
body.tenant-shell .qhse-record-actions .btn{min-height:40px;padding:9px 13px}

/* Téléversement compact et cohérent avec les autres formulaires. */
body.tenant-shell .qhse-upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
body.tenant-shell .qhse-upload-row .field{margin:0}
body.tenant-shell .qhse-upload-row .btn{min-width:120px;margin-bottom:0}

/* Actions partagées Audits / Habilitations / DUERP : liste résumée, édition au clic. */
body.tenant-shell .qhse-action-list{display:grid;gap:8px}
body.tenant-shell .qhse-action-disclosure{border:1px solid #e1d5c8;border-radius:15px;background:#fbf8f4;overflow:hidden}
body.tenant-shell .qhse-action-disclosure>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px}
body.tenant-shell .qhse-action-disclosure>summary::-webkit-details-marker{display:none}
body.tenant-shell .qhse-action-disclosure>summary:hover{background:#f7f0e8}
body.tenant-shell .qhse-action-disclosure>summary>div{display:grid;gap:3px;min-width:0}
body.tenant-shell .qhse-action-disclosure>summary strong{font-size:.88rem;color:#1d2d40;line-height:1.35}
body.tenant-shell .qhse-action-disclosure>summary span:not(.badge){font-size:.75rem;color:#778596;line-height:1.35}
body.tenant-shell .qhse-action-disclosure[open]>summary{border-bottom:1px solid #e4d8cc;background:#f7f0e8}
body.tenant-shell .qhse-action-form{display:grid;gap:11px;padding:14px;background:#fffdfa}
body.tenant-shell .qhse-action-form textarea{min-height:68px!important}
body.tenant-shell .qhse-action-create{margin-top:9px}

/* Les formulaires QHSE non-wizard restent plus denses sur tous les modules. */
body.tenant-shell.is-admin .qhse-subsection-panel textarea,
body.tenant-shell.is-admin .qhse-actions-panel textarea,
body.tenant-shell.is-admin .qhse-create-disclosure textarea{min-height:70px!important}
body.tenant-shell .qhse-subsection-panel .form-grid,
body.tenant-shell .qhse-create-disclosure .form-grid{gap:11px}

@media(max-width:820px){
  body.tenant-shell .qhse-catalog-summary{grid-template-columns:1fr;gap:10px}
  body.tenant-shell .qhse-catalog-meta{justify-content:flex-start;margin-left:39px;min-width:0}
  body.tenant-shell .qhse-upload-row{grid-template-columns:1fr}
  body.tenant-shell .qhse-upload-row .btn{justify-self:start}
}
@media(max-width:620px){
  body.tenant-shell .detail-grid,body.tenant-shell .qhse-detail-grid{grid-template-columns:1fr 1fr}
  body.tenant-shell .qhse-create-disclosure>summary{grid-template-columns:auto minmax(0,1fr)}
  body.tenant-shell .qhse-summary-action{grid-column:2;justify-self:start}
  body.tenant-shell .qhse-catalog-meta{margin-left:0}
  body.tenant-shell .qhse-catalog-copy>span{white-space:normal}
  body.tenant-shell .qhse-record-actions{align-items:stretch;flex-direction:column}
  body.tenant-shell .qhse-record-actions .btn{width:100%}
  body.tenant-shell .qhse-relation-strip a{width:100%;margin-left:0}
}
@media(max-width:430px){
  body.tenant-shell .detail-grid,body.tenant-shell .qhse-detail-grid{grid-template-columns:1fr}
  body.tenant-shell .qhse-action-disclosure>summary{grid-template-columns:1fr}
}


/* =====================================================================
 * Filtres instantanés & densité cohérente
 * ===================================================================== */
form.filters[method="get"] .check-row{
  align-self:center!important;
  justify-self:center;
  justify-content:center;
  min-height:44px;
  margin:0!important;
  padding:0 6px;
  white-space:nowrap;
}
form.filters[method="get"] .filter-reset,
form.compact-search[method="get"] .filter-reset{
  align-self:center;
  justify-self:start;
  min-height:42px;
  display:inline-flex;
  align-items:center;
}
form.filters.is-filtering,
form.compact-search.is-filtering{
  opacity:.68;
  pointer-events:none;
  transition:opacity .12s ease;
}
form.filters.is-filtering::after,
form.compact-search.is-filtering::after{
  content:"Actualisation…";
  align-self:center;
  color:var(--muted);
  font-size:.76rem;
  font-weight:760;
  white-space:nowrap;
}
@media(max-width:720px){
  form.filters[method="get"] .check-row{
    justify-self:start;
    justify-content:flex-start;
    min-height:34px;
  }
}


/* =====================================================================
 * Filtres sans bouton et alignement transversal
 * ===================================================================== */
form.filters[method="get"] .check-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 10px!important;
  text-align:center;
}
form.filters[method="get"] .check-row input{
  flex:0 0 auto;
  margin:0!important;
}
form.filters[method="get"] .check-row span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
}
@media(max-width:720px){
  form.filters[method="get"] .check-row{
    justify-content:flex-start!important;
    text-align:left;
    min-height:40px!important;
  }
}


/* =====================================================================
 * Filtres instantanés stables & navigation locale
 * ===================================================================== */
body.tenant-shell form.filters[method="get"]{
  align-items:center;
}
body.tenant-shell form.filters[method="get"]>.check-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:stretch!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 10px!important;
}
body.tenant-shell form.filters[method="get"]>.check-row input{
  margin:0!important;
  flex:0 0 17px!important;
}
body.tenant-shell form.filters[method="get"]>.check-row span{
  display:flex;
  align-items:center;
  min-height:24px;
  line-height:1.25;
}
form.filters.is-filtering::after,
form.compact-search.is-filtering::after{
  content:none!important;
}
form.filters.is-filtering,
form.compact-search.is-filtering{
  opacity:.76;
  cursor:progress;
}
@media(max-width:720px){
  body.tenant-shell form.filters[method="get"]>.check-row{
    justify-content:flex-start!important;
    padding-left:0!important;
  }
}

/* =====================================================================
 * DUERP épuré et harmonisé
 * Même logique visuelle que les référentiels QHSE : synthèse lisible,
 * édition repliée et largeur réellement exploitée sur desktop.
 * ===================================================================== */
body.tenant-shell .duerp-framework-panel{padding:20px!important}
body.tenant-shell .duerp-framework-panel .qhse-subsection-heading{margin-bottom:14px!important}
body.tenant-shell .duerp-framework-form{display:grid;gap:14px;align-items:end;margin-top:0}
body.tenant-shell .duerp-framework-form.is-simple{grid-template-columns:minmax(280px,520px) auto;justify-content:start}
body.tenant-shell .duerp-framework-form.is-papripact{grid-template-columns:minmax(250px,.72fr) minmax(420px,1.35fr) auto}
body.tenant-shell .duerp-framework-form .field{margin:0}
body.tenant-shell .duerp-framework-form textarea{min-height:72px!important}
body.tenant-shell .duerp-framework-save{min-width:132px;margin-bottom:0}
body.tenant-shell .duerp-framework-guidance{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid #e8ddd2;color:#637184;font-size:.82rem;line-height:1.45}
body.tenant-shell .duerp-framework-guidance strong{flex:0 0 auto;color:#25364a;font-size:.8rem}
body.tenant-shell .duerp-framework-guidance span{min-width:0}

body.tenant-shell .duerp-workspace-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:18px;align-items:start}
body.tenant-shell .duerp-workspace-grid>.panel{min-width:0;padding:20px!important}
body.tenant-shell .duerp-unit-list{margin-top:12px}
body.tenant-shell .duerp-unit-card .qhse-catalog-summary{min-height:76px}
body.tenant-shell .duerp-unit-card .qhse-catalog-copy>span{max-width:620px}
body.tenant-shell .duerp-unit-form textarea{min-height:68px!important}
body.tenant-shell .duerp-unit-create{margin-top:12px!important}
body.tenant-shell .duerp-retention-note{display:grid;gap:3px;margin-top:12px;padding:12px 13px;border-top:1px solid #e8ddd2;color:#677587;font-size:.8rem;line-height:1.45}
body.tenant-shell .duerp-retention-note strong{color:#25364a;font-size:.82rem}
body.tenant-shell .duerp-versions-panel .empty-state{margin-top:12px}
body.tenant-shell .duerp-versions-panel .table-wrap{margin-top:10px}

body.tenant-shell .duerp-risk-register{padding:20px!important}
body.tenant-shell .duerp-risk-register .filters{margin-top:12px}
body.tenant-shell .duerp-publish-panel{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body.tenant-shell .duerp-publish-disclosure{background:#fffdf9;border-style:solid}
body.tenant-shell .duerp-publish-disclosure>summary{padding:16px 18px}
body.tenant-shell .duerp-publish-disclosure .qhse-disclosure-body{padding:18px}
body.tenant-shell .duerp-publish-disclosure .notice ul{margin-bottom:0}

@media(max-width:1100px){
  body.tenant-shell .duerp-workspace-grid{grid-template-columns:1fr}
  body.tenant-shell .duerp-framework-form.is-papripact{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr)}
  body.tenant-shell .duerp-framework-form.is-papripact .duerp-framework-save{grid-column:1/-1;justify-self:start}
}
@media(max-width:760px){
  body.tenant-shell .duerp-framework-form.is-simple,
  body.tenant-shell .duerp-framework-form.is-papripact{grid-template-columns:1fr}
  body.tenant-shell .duerp-framework-save{justify-self:start}
  body.tenant-shell .duerp-framework-guidance{display:grid;gap:4px}
  body.tenant-shell .duerp-workspace-grid>.panel,
  body.tenant-shell .duerp-framework-panel,
  body.tenant-shell .duerp-risk-register{padding:16px!important}
}

/* =====================================================================
 * DUERP sans ordre métier, filtres harmonisés,
 * cadre compact et navigation déterministe
 * ===================================================================== */

/* Le numéro d'ordre des unités n'est plus une donnée métier exposée. */
body.tenant-shell .duerp-unit-card .qhse-catalog-meta{min-width:auto}
body.tenant-shell .duerp-unit-card .qhse-catalog-summary{min-height:68px}
body.tenant-shell .duerp-unit-card .qhse-catalog-copy>span{max-width:760px}

/* Cadre d'effectif : sélection et validation forment un seul ensemble visuel. */
body.tenant-shell .duerp-framework-form,
body.tenant-shell .duerp-framework-form.is-simple,
body.tenant-shell .duerp-framework-form.is-papripact{
  display:block;
  margin:0;
}
body.tenant-shell .duerp-framework-primary-row{
  display:grid;
  grid-template-columns:minmax(280px,520px) auto;
  gap:12px;
  align-items:end;
  justify-content:start;
}
body.tenant-shell .duerp-framework-primary-row .field{margin:0}
body.tenant-shell .duerp-framework-save{
  min-width:154px;
  min-height:46px;
  margin:0;
  align-self:end;
}
body.tenant-shell .duerp-framework-help{
  max-width:760px;
  margin:7px 0 0;
  color:#718096;
  font-size:.78rem;
  line-height:1.45;
}
body.tenant-shell .duerp-framework-resources{
  max-width:980px;
  margin:14px 0 0!important;
}
body.tenant-shell .duerp-framework-resources textarea{min-height:70px!important}

/* Barre Actions de prévention : filtres principaux puis options secondaires propres. */
body.tenant-shell .prevention-actions-filters{
  display:block!important;
  padding:14px!important;
}
body.tenant-shell .prevention-actions-filters .filter-main-row{
  display:grid;
  grid-template-columns:minmax(300px,1fr) repeat(3,minmax(150px,190px));
  gap:10px;
  align-items:center;
}
body.tenant-shell .prevention-actions-filters .filter-main-row>*{min-width:0}
body.tenant-shell .prevention-actions-filters .filter-options-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(196,181,166,.52);
}
body.tenant-shell .filter-toggle{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:36px;
  margin:0;
  padding:7px 11px;
  border:1px solid #decfbe;
  border-radius:999px;
  background:#fffdfa;
  color:#334155;
  font-size:.84rem;
  font-weight:760;
  cursor:pointer;
  user-select:none;
}
body.tenant-shell .filter-toggle:hover{background:#fff8ef;border-color:#ccb9a5}
body.tenant-shell .filter-toggle input{
  width:17px!important;
  height:17px!important;
  min-height:0!important;
  margin:0!important;
  accent-color:var(--primary);
}
body.tenant-shell .filter-reset{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:auto!important;
  min-height:36px!important;
  margin:0!important;
  padding:7px 11px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#64748b!important;
  box-shadow:none!important;
  font-size:.8rem!important;
  font-weight:760!important;
  text-decoration:none!important;
}
body.tenant-shell .filter-reset:hover{background:#efe9e2!important;color:#213047!important}

/* Les barres GET restent instantanées et les contrôles annexes restent centrés. */
body.tenant-shell form.filters[method="get"]>.check-row{
  align-self:center!important;
  justify-self:center!important;
}
body.tenant-shell form.filters[method="get"]>.filter-reset{
  align-self:center!important;
  justify-self:end!important;
}

@media(max-width:980px){
  body.tenant-shell .prevention-actions-filters .filter-main-row{
    grid-template-columns:minmax(0,1fr) minmax(150px,1fr);
  }
  body.tenant-shell .duerp-framework-primary-row{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:640px){
  body.tenant-shell .prevention-actions-filters .filter-main-row{grid-template-columns:1fr}
  body.tenant-shell .prevention-actions-filters .filter-options-row{align-items:stretch;flex-direction:column}
  body.tenant-shell .filter-toggle,body.tenant-shell .filter-reset{width:100%!important;justify-content:flex-start!important}
  body.tenant-shell .duerp-framework-primary-row{grid-template-columns:1fr}
  body.tenant-shell .duerp-framework-save{width:100%}
}


/* Durcissement CSP : aucun style inline applicatif */
.u-mt-18{margin-top:18px}.u-mt-14{margin-top:14px}.u-m-0{margin:0}.u-center-420{max-width:420px;margin-left:auto;margin-right:auto}.u-center-480{max-width:480px;margin-left:auto;margin-right:auto}.u-center-520{max-width:520px;margin-left:auto;margin-right:auto}.u-center-860{max-width:860px;margin-left:auto;margin-right:auto}.u-center-900{max-width:900px;margin-left:auto;margin-right:auto}.u-center-980{max-width:980px;margin-left:auto;margin-right:auto}.u-login-panel{max-width:440px;margin:8vh auto 0}.u-toolbar-start{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.u-toolbar-center{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.u-gap-12{gap:12px}.u-danger-panel{border:1px solid #fca5a5;background:#fef2f2;margin-top:14px}.u-danger-outline{border-color:#dc2626!important;color:#dc2626!important}.u-honeypot{position:absolute!important;left:-9999px!important;height:1px!important;width:1px!important;opacity:0!important;visibility:hidden!important}.u-reference-highlight{font-size:32px;font-weight:900;letter-spacing:-.04em;margin:22px auto;max-width:440px}.subscription-cta{margin-top:18px}.subscription-state-panel{max-width:520px;margin:12vh auto;text-align:center}.fatal-error-panel{font-family:Arial,sans-serif;max-width:560px;margin:12vh auto;text-align:center}

/* Accès Support Sentinéo unique + durcissement opérateur */
body.tenant-shell .support-banner{background:var(--tenant-navy)!important}

/* Priorité finale de la navigation tablette : ce bloc reste en fin de feuille
 * afin que les anciens raffinements responsive ne réintroduisent pas le rail. */
@media(max-width:1039px){
  body.tenant-shell .topbar-inner,
  body.tenant-shell.is-admin .topbar-inner{
    width:min(100% - 24px,var(--container))!important;
    min-height:64px!important;
    height:auto!important;
    padding:8px 0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:none!important;
    align-items:center!important;
    gap:10px!important;
  }
  body.tenant-shell .brand,
  body.tenant-shell.is-admin .brand{
    grid-area:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    flex:0 1 auto!important;
    padding:0!important;
    border:0!important;
  }
  body.tenant-shell .brand-mark{width:38px!important;height:38px!important;border-radius:13px!important}
  body.tenant-shell .brand-title{max-width:min(46vw,280px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.tenant-shell .brand-subtitle{max-width:min(46vw,280px)!important}
  body.tenant-shell .nav-zone,
  body.tenant-shell.is-admin .nav-zone{
    grid-area:auto!important;
    position:relative!important;
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:0!important;
  }
  body.tenant-shell .mobile-menu-toggle{
    display:flex!important;
    width:auto!important;
    min-width:150px!important;
    min-height:44px!important;
    align-items:center!important;
    gap:9px!important;
    padding:6px 10px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:14px!important;
    background:linear-gradient(145deg,#203854 0%,#14283f 62%,#102238 100%)!important;
    color:#fff!important;
    box-shadow:0 9px 22px rgba(20,35,53,.2),inset 0 1px 0 rgba(255,255,255,.12)!important;
    cursor:pointer!important;
    text-align:left!important;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
  }
  body.tenant-shell .mobile-menu-toggle:hover{transform:translateY(-1px)!important;box-shadow:0 12px 26px rgba(20,35,53,.24),inset 0 1px 0 rgba(255,255,255,.14)!important}
  body.tenant-shell .mobile-menu-toggle:active{transform:translateY(0)!important}
  body.tenant-shell .mobile-menu-toggle:focus-visible{outline:3px solid rgba(239,127,69,.3)!important;outline-offset:3px!important}
  body.tenant-shell .mobile-menu-icon{display:grid!important;place-content:center!important;gap:3px!important;flex:0 0 30px!important;width:30px!important;height:30px!important;border-radius:10px!important;background:rgba(255,255,255,.11)!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:none!important}
  body.tenant-shell .mobile-menu-icon span{display:block!important;width:13px!important;height:2px!important;border-radius:99px!important;background:#fff!important;transition:transform .18s ease,opacity .18s ease!important}
  body.tenant-shell .mobile-menu-copy{display:grid!important;min-width:0!important;gap:1px!important}
  body.tenant-shell .mobile-menu-copy>span{color:rgba(255,255,255,.62)!important;font-size:9px!important;font-weight:850!important;line-height:1.1!important;letter-spacing:.1em!important;text-transform:uppercase!important}
  body.tenant-shell .mobile-menu-copy strong{display:block!important;max-width:170px!important;color:#fff!important;font-size:12px!important;font-weight:820!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.tenant-shell .nav-zone.open .mobile-menu-toggle{background:linear-gradient(145deg,#273f5c 0%,#172c44 100%)!important}
  body.tenant-shell .nav-zone.open .mobile-menu-icon span:nth-child(1){transform:translateY(5px) rotate(45deg)!important}
  body.tenant-shell .nav-zone.open .mobile-menu-icon span:nth-child(2){opacity:0!important}
  body.tenant-shell .nav-zone.open .mobile-menu-icon span:nth-child(3){transform:translateY(-5px) rotate(-45deg)!important}
  body.tenant-shell .logout-form,
  body.tenant-shell .nav-zone.open>.logout-form{display:none!important}
  body.tenant-shell .nav{display:none!important;position:absolute!important;right:0!important;left:auto!important;top:calc(100% + 10px)!important;width:min(340px,calc(100vw - 24px))!important;max-width:none!important;padding:10px!important;border-radius:18px!important;background:#fffdf9!important;box-shadow:0 18px 42px rgba(21,34,51,.14)!important;overflow:visible!important;flex-direction:column!important;align-items:stretch!important;z-index:30!important}
  body.tenant-shell .nav-zone.open .nav{display:flex!important}
  body.tenant-shell .nav a{display:flex!important;width:100%!important;justify-content:flex-start!important;border-radius:11px!important;padding:10px 12px!important}
  body.tenant-shell .user-context{display:none!important}
  body.tenant-shell .mobile-nav-account{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:6px;padding:11px 4px 1px;border-top:1px solid #e7ddd3}
  body.tenant-shell .mobile-nav-identity{display:grid;min-width:0;gap:1px;color:#24364c}
  body.tenant-shell .mobile-nav-identity span{font-size:.82rem;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.tenant-shell .mobile-nav-identity small{color:#718096;font-size:.72rem;font-weight:720}
  body.tenant-shell .mobile-nav-logout{margin:0}
  body.tenant-shell .mobile-nav-logout .btn{min-height:36px;padding:7px 10px;font-size:.76rem;white-space:nowrap}
}

/* Connexion : les accès secondaires sont de vrais repères, lisibles et tactiles. */
body.tenant-shell .auth-support-links,
body.tenant-shell .auth-technical-access{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #e7ddd3}
body.tenant-shell .auth-technical-access{margin-top:9px;padding-top:0;border-top:0}
body.tenant-shell .auth-support-link{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:11px;min-width:0;padding:10px 11px;border:1px solid #ded3c7;border-radius:15px;background:linear-gradient(135deg,#fffdfa 0%,#f8f3ed 100%);color:var(--tenant-ink);text-decoration:none;box-shadow:0 4px 12px rgba(20,35,53,.035);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
body.tenant-shell .auth-support-link:hover{transform:translateY(-1px);border-color:#c8b7a5;background:#fff;box-shadow:0 9px 20px rgba(20,35,53,.075);color:var(--tenant-ink)}
body.tenant-shell .auth-support-link:focus-visible{outline:3px solid rgba(239,127,69,.22);outline-offset:2px}
body.tenant-shell .auth-support-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf0f6;color:#17304b}
body.tenant-shell .auth-support-icon .ui-icon{width:17px;height:17px}
body.tenant-shell .auth-support-copy{display:grid;min-width:0;gap:2px;line-height:1.25}
body.tenant-shell .auth-support-copy strong{color:#1b2c41;font-size:.84rem;font-weight:850;text-decoration:none}
body.tenant-shell .auth-support-copy small{color:#6a7889;font-size:.72rem;font-weight:620;line-height:1.35}
body.tenant-shell .auth-support-arrow{display:grid;place-items:center;width:27px;height:27px;border-radius:999px;background:#fff;color:#d86f3d;border:1px solid #eadbcf;font-size:.92rem;font-weight:900;transition:transform .16s ease,background .16s ease}
body.tenant-shell .auth-support-link:hover .auth-support-arrow{transform:translateX(2px);background:#fff5ee}
body.tenant-shell .auth-support-link-secondary .auth-support-icon{background:#f2ece5;color:#526173}
body.tenant-shell .auth-panel>p+.auth-support-links{margin-top:16px}

body.tenant-shell .mobile-nav-account{display:none}

@media(max-width:520px){
  body.tenant-shell .topbar-inner,
  body.tenant-shell.is-admin .topbar-inner{width:min(100% - 18px,var(--container))!important;min-height:58px!important;gap:7px!important;padding:7px 0!important}
  body.tenant-shell .brand-mark{width:36px!important;height:36px!important}
  body.tenant-shell .brand-subtitle{display:none!important}
  body.tenant-shell .brand-title{max-width:30vw!important;font-size:14px!important}
  body.tenant-shell .mobile-menu-toggle{min-width:0!important;max-width:58vw!important;min-height:42px!important;padding:6px 9px!important}
  body.tenant-shell .mobile-menu-icon{width:28px!important;height:28px!important;flex-basis:28px!important}
  body.tenant-shell .mobile-menu-copy>span{font-size:9px!important}
  body.tenant-shell .mobile-menu-copy strong{max-width:36vw!important;font-size:12px!important}
  body.tenant-shell .auth-support-link{grid-template-columns:34px minmax(0,1fr) 26px;gap:9px;padding:9px}
  body.tenant-shell .auth-support-icon{width:34px;height:34px}
  body.tenant-shell .auth-support-copy small{font-size:.69rem}
  body.tenant-shell .nav,
  body.tenant-shell .topbar .nav-zone.open>.nav{
    left:auto!important;
    right:-1px!important;
    width:340px!important;
    max-width:calc(100vw - 18px)!important;
  }
}
