:root {
  --navy: #163b2d;
  --navy-2: #0d2a20;
  --blue: #d97706;
  --blue-soft: #fff6e7;
  --ink: #1f2937;
  --muted: #6b7280;
  --line: #dbe3ec;
  --bg: #f5f7fa;
  --white: #ffffff;
  --green: #198754;
  --amber: #c97800;
  --red: #c9363e;
  --radius: 14px;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--bg); }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 240px 1fr; }
.sidebar { background: linear-gradient(180deg, var(--navy-2), var(--navy)); color: white; padding: 22px 16px; position: sticky; top: 0; height: 100vh; }
.brand { display: flex; gap: 10px; align-items: center; font-weight: 800; font-size: 21px; margin-bottom: 26px; }
.brand-mark { width: 36px; height: 36px; border-radius: 10px; background: white; color: var(--navy); display: grid; place-items: center; font-weight: 900; }
.org-name { color: #c7d8eb; font-size: 12px; margin: -15px 5px 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav { display: grid; gap: 6px; }
.nav a { color: #dce9f7; padding: 11px 12px; border-radius: 10px; display: flex; gap: 9px; align-items: center; font-weight: 650; font-size: 14px; }
.nav a:hover, .nav a.active { background: rgba(255,255,255,.12); color: white; text-decoration: none; }
.sidebar-footer { position: absolute; bottom: 18px; left: 16px; right: 16px; }
.sidebar-footer form { margin: 0; }
.sidebar-footer button { width: 100%; }
.main { min-width: 0; }
.topbar { min-height: 66px; background: white; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 28px; position: sticky; top: 0; z-index: 10; }
.topbar h1 { font-size: 20px; margin: 0; }
.user-chip { color: var(--muted); font-size: 13px; }
.content { padding: 26px 28px 50px; max-width: 1500px; margin: 0 auto; }
.actions { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; }
.btn { appearance: none; border: 1px solid transparent; border-radius: 10px; padding: 10px 14px; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 7px; text-decoration: none; }
.btn:hover { text-decoration: none; filter: brightness(.98); }
.btn-primary { background: var(--navy); color: white; }
.btn-secondary { background: white; color: var(--navy); border-color: #b9c9da; }
.btn-success { background: var(--green); color: white; }
.btn-warning { background: #fff4df; color: #8c5300; border-color: #f1c879; }
.btn-danger { background: #fff0f1; color: #a62730; border-color: #edb7bb; }
.btn-sm { padding: 7px 10px; font-size: 12px; border-radius: 8px; }
.btn-block { width: 100%; }
.card { background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(28, 50, 75, .05); }
.card-header { padding: 18px 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.card-header h2, .card-header h3 { margin: 0; font-size: 16px; }
.card-body { padding: 20px; }
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stat { padding: 20px; }
.stat-label { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.stat-value { font-size: 27px; font-weight: 850; margin-top: 7px; color: var(--navy); }
.stat-note { font-size: 12px; color: var(--muted); margin-top: 4px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 12px 13px; border-bottom: 1px solid var(--line); font-size: 13px; vertical-align: top; }
th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; background: #fafbfd; }
tbody tr:hover { background: #fbfdff; }
.text-right { text-align: right; }
.text-muted { color: var(--muted); }
.text-danger { color: var(--red); }
.text-success { color: var(--green); }
.nowrap { white-space: nowrap; }
.badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; background: #eef2f7; color: #475569; }
.badge-draft { background: #f0f2f5; color: #5d6672; }
.badge-issued, .badge-sent { background: #e9f2ff; color: #1f5f9f; }
.badge-paid, .badge-accepted { background: #e9f8ef; color: #176f42; }
.badge-partially_paid { background: #fff3df; color: #9b5b00; }
.badge-rejected, .badge-cancelled { background: #fff0f1; color: #a32a31; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.form-group { display: grid; gap: 7px; }
.form-group.full { grid-column: 1 / -1; }
label { font-size: 12px; font-weight: 750; color: #3f4b59; }
input, select, textarea { width: 100%; border: 1px solid #cbd6e2; border-radius: 9px; padding: 10px 11px; font: inherit; font-size: 13px; color: var(--ink); background: white; }
textarea { min-height: 100px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(47,107,177,.12); border-color: #77a4d6; }
.help { color: var(--muted); font-size: 11px; }
.page-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
.page-head h2 { margin: 0 0 5px; font-size: 24px; color: var(--navy); }
.page-head p { margin: 0; color: var(--muted); font-size: 13px; }
.alert { padding: 12px 14px; border-radius: 10px; margin-bottom: 14px; font-size: 13px; font-weight: 650; border: 1px solid; }
.alert-success { background: #edf9f2; border-color: #b9e4c8; color: #17633c; }
.alert-danger { background: #fff0f1; border-color: #efc0c4; color: #9f2931; }
.alert-warning { background: #fff7e9; border-color: #f0d29f; color: #875200; }
.searchbar { display: flex; gap: 8px; max-width: 520px; }
.searchbar input { min-width: 260px; }
.empty { padding: 45px 20px; text-align: center; color: var(--muted); }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, 520px) 1fr; background: white; }
.auth-panel { padding: 50px 54px; display: flex; flex-direction: column; justify-content: center; }
.auth-visual { background: linear-gradient(140deg, var(--navy-2), #2e6a4e); color: white; padding: 70px; display: flex; flex-direction: column; justify-content: center; }
.auth-visual h1 { font-size: 42px; line-height: 1.08; margin: 0 0 18px; }
.auth-visual p { max-width: 620px; color: #dce9f7; font-size: 18px; }
.auth-card { max-width: 430px; width: 100%; margin: auto; }
.auth-card h2 { font-size: 28px; color: var(--navy); margin: 0 0 8px; }
.auth-card .subtitle { color: var(--muted); margin: 0 0 26px; }
.auth-card form { display: grid; gap: 16px; }
.invoice-lines input, .invoice-lines select { min-width: 90px; }
.invoice-lines .desc { min-width: 260px; }
.line-remove { border: none; background: #fff0f1; color: #a62730; width: 34px; height: 34px; border-radius: 8px; cursor: pointer; font-weight: 900; }
.summary-box { margin-left: auto; max-width: 420px; }
.summary-row { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: 13px; }
.summary-row.total { font-size: 18px; font-weight: 850; color: var(--navy); border-bottom: 0; padding-top: 12px; }
.document-hero { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: start; }
.document-number { font-size: 26px; color: var(--navy); font-weight: 850; }
.payment-list { display: grid; gap: 8px; }
.payment-item { display: grid; grid-template-columns: 120px 1fr auto; gap: 12px; padding: 10px 12px; background: #f9fbfd; border: 1px solid var(--line); border-radius: 9px; font-size: 12px; }
.audit-hash { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; word-break: break-all; color: var(--muted); }
.footer-note { margin-top: 28px; color: var(--muted); font-size: 11px; }
.mobile-menu { display: none; }
@media (max-width: 1050px) {
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .sidebar-footer { position: static; margin-top: 20px; }
  .topbar { position: static; padding: 15px 18px; }
  .content { padding: 20px 14px 40px; }
  .form-grid, .form-grid-3, .grid-2, .grid-3, .grid-4, .document-hero { grid-template-columns: 1fr; }
  .page-head { flex-direction: column; }
  .auth-shell { grid-template-columns: 1fr; }
  .auth-visual { display: none; }
  .auth-panel { padding: 35px 22px; }
}

.trade-pill { display:inline-flex; padding:5px 9px; border-radius:999px; background:#eef7f1; color:#235d43; border:1px solid #c9e1d1; font-size:11px; font-weight:800; white-space:nowrap; }
.trade-banner { margin-bottom:20px; padding:18px 20px; border-radius:14px; background:linear-gradient(105deg,#163b2d,#2e6a4e); color:#fff; display:flex; justify-content:space-between; align-items:center; gap:16px; box-shadow:0 10px 26px rgba(13,42,32,.16); }
.trade-banner strong { display:block; font-size:17px; margin-bottom:4px; }
.trade-banner span { color:#dceee4; font-size:13px; }
.trade-banner .btn-secondary { border-color:#d6e8dd; }
.check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.check-card { display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; padding:10px 11px; background:#fbfdfb; font-size:12px; }
.check-card input { width:auto; }
.preline { white-space:pre-line; }
.invoice-lines .product-picker { min-width:220px; }
@media (max-width:820px) { .trade-banner { align-items:flex-start; flex-direction:column; } .check-grid { grid-template-columns:1fr; } }

/* GestiConnect Bâtiment V4 */
.sidebar { overflow-y:auto; }
.sidebar-footer { position:static; margin-top:24px; }
.dashboard-kpis .stat-value { font-size:23px; }
.compact-grid { gap:10px; }
.mini-stat { padding:14px; border:1px solid var(--line); border-radius:11px; background:#fafcfd; display:grid; gap:6px; }
.mini-stat span { color:var(--muted); font-size:11px; text-transform:uppercase; font-weight:750; }
.mini-stat strong { color:var(--navy); font-size:18px; }
.status-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.status-tile { display:flex; justify-content:space-between; align-items:center; padding:15px; border-radius:11px; border:1px solid var(--line); color:var(--ink); background:#fafcfd; }
.status-tile:hover { text-decoration:none; border-color:#9db1c5; }
.status-tile span { font-size:12px; font-weight:750; }
.status-tile strong { font-size:22px; color:var(--navy); }
.status-waiting { background:#fff8e8; border-color:#efd39c; }
.status-scheduled { background:#edf6ff; border-color:#bad9f5; }
.status-in_progress { background:#eef5f1; border-color:#bcd8c8; }
.status-completed { background:#ebf8ef; border-color:#b8dfc5; }
.person-chip { display:inline-flex; padding:4px 7px; border-radius:7px; background:#f0f4f8; border:1px solid #d7e0e8; font-size:11px; font-weight:700; margin:2px; white-space:nowrap; }
.badge.project-waiting, .project-waiting { background:#fff4dc; color:#8a5500; }
.badge.project-scheduled, .project-scheduled { background:#e8f3ff; color:#185f9b; }
.badge.project-in_progress, .project-in_progress { background:#e9f6ee; color:#176b3f; }
.badge.project-completed, .project-completed { background:#e5f8eb; color:#126637; }
.badge.project-cancelled, .project-cancelled { background:#f0f1f3; color:#6b7280; }
.payment-state { display:inline-flex; margin-top:5px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.payment-paid { color:var(--green); }
.payment-partial { color:var(--amber); }
.payment-unpaid { color:var(--red); }
.payment-not_invoiced { color:var(--muted); }
.search-inline, .filter-bar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; width:100%; }
.search-inline input { max-width:380px; }
.filter-bar input { min-width:240px; flex:1; }
.filter-bar select { width:auto; min-width:170px; }
.check-group { align-content:end; }
.check-group label { min-height:42px; display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); border-radius:9px; }
.check-group input { width:auto; }
.technician-picker-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.select-card { border:1px solid var(--line); border-radius:11px; padding:12px; display:flex; align-items:flex-start; gap:9px; background:#fbfcfd; cursor:pointer; }
.select-card:hover { border-color:#9eb2c6; }
.select-card input { width:auto; margin-top:2px; }
.select-card span { display:grid; gap:3px; }
.select-card small { color:var(--muted); font-weight:500; }
.note-box { padding:11px; border-radius:9px; background:#fff7e9; border:1px solid #efd6a8; font-size:12px; white-space:pre-line; }
.inline-status-form { display:flex; gap:8px; margin-top:14px; align-items:center; }
.inline-status-form select { flex:1; }
.add-inline-form { border-top:1px solid var(--line); }
.form-action { align-content:end; }
.kpi-inline { display:inline-flex; gap:6px; align-items:center; background:#f3f6f8; border:1px solid var(--line); border-radius:8px; padding:7px 9px; font-size:11px; }
.material-form { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; border-top:1px solid var(--line); }
.material-form .span-2 { grid-column:span 2; }
.material-update { display:grid; grid-template-columns:80px 145px 140px 130px auto; gap:5px; min-width:580px; }
.material-update input, .material-update select { padding:7px; font-size:11px; }
.badge.material-to_buy { background:#fff0f1; color:#a32a31; }
.badge.material-ordered { background:#fff4dc; color:#8a5500; }
.badge.material-purchased { background:#e8f3ff; color:#185f9b; }
.badge.material-on_site, .badge.material-used { background:#e9f8ef; color:#176f42; }
.empty.compact { padding:18px 10px; }

.bar-chart { min-height:250px; display:flex; gap:8px; align-items:stretch; overflow-x:auto; padding-top:34px; }
.bar-column { flex:1 0 52px; min-width:52px; display:grid; grid-template-rows:22px 1fr 30px; gap:5px; text-align:center; }
.bar-value { font-size:9px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bar-track { height:170px; background:#eef2f5; border-radius:8px 8px 3px 3px; display:flex; align-items:flex-end; overflow:hidden; }
.bar-fill { width:100%; min-height:2px; background:linear-gradient(180deg,#d97706,#163b2d); border-radius:7px 7px 0 0; }
.bar-label { font-size:10px; color:var(--muted); }
.horizontal-bars { display:grid; gap:16px; }
.hbar-row { display:grid; gap:6px; }
.hbar-head { display:flex; justify-content:space-between; gap:12px; font-size:12px; }
.hbar-track { height:11px; background:#edf1f4; border-radius:999px; overflow:hidden; }
.hbar-fill { height:100%; background:linear-gradient(90deg,#163b2d,#d97706); border-radius:999px; min-width:3px; }

.calendar-toolbar { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:12px; margin-bottom:16px; }
.calendar-toolbar form { display:flex; gap:7px; }
.calendar-toolbar h2 { margin:0; text-align:center; color:var(--navy); font-size:20px; }
.calendar-card { overflow:hidden; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-head { background:#163b2d; color:white; }
.calendar-head > div { padding:10px; text-align:center; font-size:11px; font-weight:800; text-transform:uppercase; }
.calendar-week { border-top:1px solid var(--line); min-height:150px; }
.calendar-day { min-width:0; padding:7px; border-right:1px solid var(--line); background:white; }
.calendar-day:last-child { border-right:0; }
.calendar-day.outside-month { background:#f6f7f8; opacity:.6; }
.calendar-date { font-size:12px; font-weight:850; color:var(--navy); margin-bottom:5px; }
.calendar-events { display:grid; gap:4px; }
.calendar-event { display:grid; gap:1px; padding:6px; border-radius:7px; border-left:3px solid currentColor; font-size:9px; color:var(--ink); }
.calendar-event:hover { text-decoration:none; filter:brightness(.98); }
.calendar-event strong { font-size:9px; }
.calendar-event span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kanban-board { display:grid; grid-template-columns:repeat(4,minmax(240px,1fr)); gap:14px; overflow-x:auto; align-items:start; }
.kanban-column { background:#edf1f4; border:1px solid var(--line); border-radius:13px; min-width:240px; }
.kanban-title { display:flex; justify-content:space-between; align-items:center; padding:13px; font-size:13px; font-weight:850; color:var(--navy); }
.kanban-title strong { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:white; }
.kanban-list { display:grid; gap:9px; padding:0 9px 9px; }
.kanban-card { background:white; border:1px solid var(--line); border-radius:10px; padding:12px; color:var(--ink); display:grid; gap:8px; box-shadow:0 4px 12px rgba(31,41,55,.04); }
.kanban-card:hover { text-decoration:none; border-color:#9eb2c6; }
.kanban-card > div:first-child, .kanban-meta { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.kanban-card h3 { margin:0; font-size:13px; }
.kanban-card p { margin:0; font-size:11px; color:var(--muted); }
.kanban-meta { font-size:10px; color:var(--muted); }

@media (max-width:1200px) {
  .technician-picker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .material-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .calendar-day { min-height:130px; }
}
@media (max-width:820px) {
  .status-summary, .technician-picker-grid { grid-template-columns:1fr 1fr; }
  .material-form { grid-template-columns:1fr; }
  .material-form .span-2 { grid-column:auto; }
  .calendar-toolbar { grid-template-columns:1fr 1fr; }
  .calendar-toolbar h2 { grid-column:1/-1; grid-row:1; }
  .calendar-card { overflow-x:auto; }
  .calendar-grid { min-width:900px; }
  .kanban-board { grid-template-columns:repeat(4,280px); }
}

/* GestiConnect Bâtiment V4 — interventions et prise de rendez-vous */
.intervention-legend { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:16px; }
.legend-item { display:inline-flex; align-items:center; gap:6px; padding:8px 11px; border-radius:9px; border:1px solid transparent; font-size:11px; font-weight:850; }
.legend-note { color:var(--muted); font-size:11px; }
.badge.intervention-booked, .intervention-booked { background:#fff3b0; color:#6d5200; border-color:#efd458; }
.badge.intervention-assigned, .intervention-assigned { background:#fee2e2; color:#991b1b; border-color:#f4a7a7; }
.badge.intervention-in_progress, .intervention-in_progress { background:#dbeafe; color:#1d4ed8; border-color:#93c5fd; }
.badge.intervention-completed, .intervention-completed { background:#dcfce7; color:#166534; border-color:#86d7a1; }
.badge.intervention-cancelled, .intervention-cancelled { background:#f0f1f3; color:#6b7280; border-color:#d6d8dc; }
.calendar-event.intervention-event { border:1px solid currentColor; border-left-width:5px; box-shadow:0 2px 5px rgba(31,41,55,.05); }
.calendar-day.today { background:#fffdf2; box-shadow:inset 0 0 0 2px #e4b43c; }
.calendar-date { display:flex; align-items:center; justify-content:space-between; gap:5px; }
.day-add { display:grid; place-items:center; width:20px; height:20px; padding:0; border:1px solid #c7d1da; border-radius:6px; background:white; color:var(--navy); cursor:pointer; font-weight:900; opacity:.15; }
.calendar-day:hover .day-add, .calendar-day.today .day-add { opacity:1; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:15px; margin:24px 0 12px; }
.section-heading h2 { margin:0 0 3px; color:var(--navy); font-size:19px; }
.section-heading p { margin:0; color:var(--muted); font-size:12px; }
.intervention-card { border-left:5px solid currentColor; }
.intervention-column-booked { background:#fffbea; }
.intervention-column-assigned { background:#fff1f1; }
.intervention-column-in_progress { background:#edf5ff; }
.intervention-column-completed { background:#edfbf2; }

.modal-overlay { position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(10,22,33,.68); backdrop-filter:blur(3px); }
.modal-overlay.is-open { display:flex; }
.modal-dialog { width:min(1100px,96vw); max-height:94vh; display:flex; flex-direction:column; overflow:hidden; border-radius:18px; background:white; box-shadow:0 30px 90px rgba(0,0,0,.35); }
.intervention-modal-dialog { width:min(1180px,97vw); }
.modal-header, .modal-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 20px; background:white; border-bottom:1px solid var(--line); }
.modal-header h2 { margin:0 0 3px; color:var(--navy); font-size:20px; }
.modal-header p { margin:0; color:var(--muted); font-size:12px; }
.modal-close { width:38px; height:38px; border:1px solid var(--line); border-radius:10px; background:#f6f8fa; color:var(--ink); font-size:25px; line-height:1; cursor:pointer; }
.modal-form { min-height:0; display:flex; flex:1; flex-direction:column; }
.modal-body { min-height:0; overflow-y:auto; padding:20px; background:#f4f6f7; }
.modal-footer { justify-content:flex-end; border-top:1px solid var(--line); border-bottom:0; }
body.modal-open { overflow:hidden; }
.intervention-form-sections { display:grid; gap:16px; }
.form-section { padding:19px; border:1px solid var(--line); border-radius:14px; background:white; box-shadow:0 4px 14px rgba(20,35,50,.04); }
.form-section-title { display:flex; align-items:flex-start; gap:11px; margin-bottom:16px; }
.form-section-title > span { flex:0 0 32px; width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:#d97706; color:white; font-weight:900; }
.form-section-title h3 { margin:0 0 2px; color:var(--navy); font-size:16px; }
.form-section-title p { margin:0; color:var(--muted); font-size:11px; }
.form-grid-3 .span-2 { grid-column:span 2; }
.form-grid-3 .span-3 { grid-column:1/-1; }
.onsite-contact-block { display:grid; gap:12px; margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); }
.onsite-contact-block .check-card { max-width:520px; }
.intervention-full-form { display:grid; gap:16px; }
.sticky-form-actions { position:sticky; bottom:12px; z-index:20; display:flex; justify-content:flex-end; gap:10px; padding:12px; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.96); box-shadow:0 10px 35px rgba(20,35,50,.15); }
.intervention-hero { display:flex; justify-content:space-between; gap:25px; align-items:center; margin-bottom:20px; padding:24px; border:1px solid currentColor; border-radius:16px; }
.intervention-hero h2 { margin:5px 0 8px; font-size:22px; color:currentColor; }
.intervention-hero p { margin:0; max-width:780px; color:var(--ink); white-space:pre-line; }
.intervention-hero .eyebrow { font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.intervention-time { flex:0 0 150px; display:grid; gap:2px; padding:14px; border-radius:12px; background:rgba(255,255,255,.65); text-align:center; }
.intervention-time strong { font-size:28px; }
.intervention-time span { font-weight:800; }
.intervention-time small { color:var(--muted); }
.detail-list { display:grid; grid-template-columns:150px 1fr; gap:9px 13px; margin:0; }
.detail-list dt { color:var(--muted); font-size:11px; font-weight:850; }
.detail-list dd { margin:0; font-size:12px; }

@media (max-width:820px) {
  .modal-overlay { padding:0; align-items:stretch; }
  .modal-dialog { width:100%; max-height:100vh; border-radius:0; }
  .modal-body { padding:12px; }
  .form-section { padding:14px; }
  .form-grid-3 .span-2, .form-grid-3 .span-3 { grid-column:auto; }
  .section-heading, .intervention-hero { align-items:flex-start; flex-direction:column; }
  .intervention-time { width:100%; box-sizing:border-box; }
  .detail-list { grid-template-columns:1fr; }
}

/* GestiConnect Plateforme V7 - attribution publicitaire */
.grid-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.marketing-notice { margin:0 0 18px; padding:14px 16px; border:1px solid #aac6df; border-left:5px solid #2563eb; border-radius:12px; background:#eff6ff; color:#17385e; font-size:12px; line-height:1.65; }
.marketing-kpis .stat-value { font-size:25px; }
.platform-badge { display:inline-flex; align-items:center; margin:0 0 5px; padding:5px 8px; border:1px solid transparent; border-radius:999px; font-size:10px; font-weight:900; white-space:nowrap; }
.platform-google_ads { color:#174ea6; background:#e8f0fe; border-color:#b5cdf5; }
.platform-meta { color:#0759c7; background:#e7f1ff; border-color:#aacdf8; }
.platform-x_ads { color:#111827; background:#eef0f2; border-color:#cdd2d8; }
.platform-snapchat { color:#524900; background:#fffbd4; border-color:#f4e54d; }
.platform-microsoft_ads { color:#006b5b; background:#e4f6f1; border-color:#a3d8cb; }
.platform-other, .platform-unknown { color:#4b5563; background:#f3f4f6; border-color:#d1d5db; }
.match-unmatched { color:#6b7280; background:#f3f4f6; border-color:#d1d5db; }
.match-review { color:#92400e; background:#fff3cd; border-color:#f5cf72; }
.match-matched { color:#1d4ed8; background:#dbeafe; border-color:#93c5fd; }
.match-confirmed { color:#166534; background:#dcfce7; border-color:#86d7a1; }
.match-rejected { color:#991b1b; background:#fee2e2; border-color:#f4a7a7; }
.account-list { display:grid; }
.account-row { display:grid; grid-template-columns:1fr auto; gap:8px 15px; padding:14px 16px; border-bottom:1px solid var(--line); }
.account-row:last-child { border-bottom:0; }
.account-row > div:first-child { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.account-row small { flex-basis:100%; color:var(--muted); }
.account-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.account-actions form { margin:0; }
.account-error { grid-column:1/-1; padding:8px 10px; border-radius:8px; background:#fff1f1; color:#991b1b; font-size:11px; }
.account-status-demo { background:#fef3c7; color:#854d0e; }
.account-status-connected { background:#dcfce7; color:#166534; }
.account-status-credentials_required { background:#fee2e2; color:#991b1b; }
.conversion-hero { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:20px; padding:23px; border:1px solid var(--line); border-left:7px solid #64748b; border-radius:16px; background:white; box-shadow:0 8px 22px rgba(20,35,50,.06); }
.conversion-hero h2 { margin:4px 0; color:var(--navy); font-size:23px; }
.conversion-hero p { margin:0; color:var(--muted); }
.match-panel-matched { border-left-color:#2563eb; }
.match-panel-confirmed { border-left-color:#16a34a; }
.match-panel-review { border-left-color:#d97706; }
.match-panel-rejected { border-left-color:#dc2626; }
.conversion-score { flex:0 0 175px; display:grid; padding:14px; border-radius:12px; background:#f5f7f9; text-align:center; }
.conversion-score strong { color:var(--navy); font-size:30px; }
.conversion-score span { font-size:11px; font-weight:900; }
.conversion-score small { color:var(--muted); }
.reason-list { margin:0; padding-left:20px; }
.reason-list li { margin:7px 0; font-size:12px; }
.linked-records { display:grid; gap:8px; margin-top:15px; }
.linked-records a { display:grid; grid-template-columns:100px 1fr; gap:10px; padding:11px; border:1px solid var(--line); border-radius:9px; color:var(--ink); }
.linked-records a:hover { text-decoration:none; border-color:#94a3b8; background:#f8fafc; }
.webhook-box { overflow-wrap:anywhere; margin:8px 0 12px; padding:11px 13px; border:1px solid #bbcad6; border-radius:8px; background:#142b3d; color:#e5f2ff; font:12px/1.55 Consolas,monospace; }
.raw-json { max-height:420px; overflow:auto; margin:0; padding:15px; border-radius:9px; background:#102334; color:#e8f1f7; font:11px/1.55 Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.break-word { overflow-wrap:anywhere; word-break:break-word; }
.inline-form { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.form-actions { justify-content:flex-end; margin-top:18px; }
details.card > summary { cursor:pointer; list-style:none; }
details.card > summary::-webkit-details-marker { display:none; }

@media (max-width:1200px) {
  .grid-5 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .grid-5 { grid-template-columns:1fr 1fr; }
  .account-row { grid-template-columns:1fr; }
  .account-actions { justify-content:flex-start; flex-wrap:wrap; }
  .conversion-hero { align-items:flex-start; flex-direction:column; }
  .conversion-score { width:100%; box-sizing:border-box; }
  .linked-records a { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .grid-5 { grid-template-columns:1fr; }
}


/* GestiConnect Plateforme V7 */
.onboarding-hero { margin-bottom:20px; padding:28px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#163b2d,#2d6c52 62%,#d97706); display:flex; justify-content:space-between; align-items:center; gap:24px; box-shadow:0 16px 34px rgba(22,59,45,.18); }
.onboarding-hero h2 { margin:5px 0 8px; font-size:28px; }
.onboarding-hero p { margin:0; color:#e3f0e8; max-width:760px; }
.eyebrow { font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; color:#ffdfad; }
.onboarding-step { max-width:260px; padding:13px 16px; border:1px solid rgba(255,255,255,.25); border-radius:12px; background:rgba(255,255,255,.1); font-size:12px; font-weight:800; }
.btn-lg { padding:14px 22px; font-size:14px; }
.row-muted { opacity:.55; }
.badge-success { background:#e5f8eb!important; color:#126637!important; }
.advisor-info-list { display:grid; gap:15px; }
.advisor-info-list div { display:grid; gap:4px; padding-bottom:13px; border-bottom:1px solid var(--line); }
.advisor-info-list span { color:var(--muted); font-size:12px; }
.advisor-kpis { margin-bottom:20px; }
.advisor-kpis a { color:inherit; }
.advisor-kpis a:hover { text-decoration:none; border-color:#8fac9b; }
.advisor-tags { display:flex; flex-wrap:wrap; gap:8px; }
.advisor-tags span, .advisor-category, .advisor-priority { display:inline-flex; padding:5px 9px; border-radius:999px; border:1px solid #d7e0e8; background:#f4f7f9; color:#425466; font-size:10px; font-weight:800; }
.recommendation-list { display:grid; gap:15px; }
.recommendation-card { border:1px solid var(--line); border-left:5px solid #6b7280; border-radius:14px; padding:20px; background:white; box-shadow:0 7px 20px rgba(31,41,55,.05); }
.recommendation-card.priority-high { border-left-color:#c23b42; }
.recommendation-card.priority-medium { border-left-color:#d97706; }
.recommendation-card.priority-low { border-left-color:#3975a7; }
.recommendation-top { display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; }
.recommendation-top > div { display:flex; gap:7px; flex-wrap:wrap; }
.recommendation-card h3 { margin:14px 0 7px; color:var(--navy); font-size:18px; }
.recommendation-summary { margin:0 0 15px; color:#394b59; font-weight:650; }
.recommendation-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:15px; }
.recommendation-grid > div { padding:13px; border-radius:10px; background:#f7f9fa; border:1px solid #e1e7eb; }
.recommendation-grid strong { display:block; margin-bottom:5px; font-size:11px; text-transform:uppercase; color:#52616b; }
.recommendation-grid p { margin:0; font-size:12px; line-height:1.6; }
.impact-box { margin-top:12px; padding:10px 12px; border-radius:9px; background:#edf7f1; border:1px solid #c7dfd0; color:#285c3e; font-size:12px; }
.recommendation-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:15px; }
@media(max-width:820px){ .onboarding-hero{flex-direction:column;align-items:flex-start}.recommendation-grid{grid-template-columns:1fr}.onboarding-step{max-width:none} }

.topbar-actions{display:flex;align-items:center;gap:12px}.org-switcher select{min-width:190px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.selection-list{display:grid;gap:10px}.selection-row{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.selection-row input{width:auto;margin-top:4px}.selection-row span{display:grid;gap:3px}.selection-row small{color:var(--muted)}.event-conversion{background:#dcfce7;color:#166534}.event-activity{background:#e0f2fe;color:#075985}.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}code{white-space:normal;word-break:break-all}@media(max-width:1100px){.grid-6,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.topbar-actions{align-items:flex-end;flex-direction:column}.org-switcher select{min-width:150px}.grid-6,.grid-4{grid-template-columns:1fr}}

/* Navigation V8 : categories, etat actif et defilement confortable */
.sidebar { display:flex; flex-direction:column; padding:22px 14px 16px; overflow:hidden; }
.sidebar-head { flex:0 0 auto; padding:0 2px; }
.brand { margin-bottom:26px; }
.nav { flex:1 1 auto; min-height:0; display:block; overflow-y:auto; overflow-x:hidden; padding:2px 2px 16px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.28) transparent; }
.nav::-webkit-scrollbar { width:7px; }
.nav::-webkit-scrollbar-thumb { background:rgba(255,255,255,.24); border-radius:999px; }
.nav-section { margin:0 0 8px; border:1px solid transparent; border-radius:12px; }
.nav-section.is-current { background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.08); }
.nav-section summary { list-style:none; display:grid; grid-template-columns:22px minmax(0,1fr) 18px; gap:8px; align-items:center; min-height:42px; padding:9px 10px; border-radius:10px; color:#f6fbff; cursor:pointer; font-size:12px; font-weight:850; letter-spacing:.025em; user-select:none; }
.nav-section summary::-webkit-details-marker { display:none; }
.nav-section summary:hover { background:rgba(255,255,255,.08); }
.nav-section-icon { display:grid; place-items:center; width:22px; height:22px; border-radius:7px; background:rgba(255,255,255,.10); color:#fff3d2; font-size:12px; }
.nav-chevron { justify-self:end; color:#b9ccdc; font-size:18px; line-height:1; transition:transform .18s ease; }
.nav-section[open] .nav-chevron { transform:rotate(90deg); }
.nav-items { display:grid; gap:3px; padding:2px 5px 7px 32px; }
.nav .nav-items a { position:relative; min-height:36px; padding:8px 10px 8px 13px; border-radius:8px; color:#d8e5ef; font-size:12.5px; font-weight:650; line-height:1.35; }
.nav .nav-items a::before { content:""; position:absolute; left:0; top:10px; bottom:10px; width:3px; border-radius:999px; background:transparent; }
.nav .nav-items a:hover { background:rgba(255,255,255,.08); color:#fff; }
.nav .nav-items a.active { background:#fff; color:var(--navy-2); box-shadow:0 8px 20px rgba(0,0,0,.13); font-weight:850; }
.nav .nav-items a.active::before { background:var(--blue); }
.sidebar-footer { position:static; flex:0 0 auto; padding:12px 2px 0; border-top:1px solid rgba(255,255,255,.10); }
.sidebar-footer .btn { background:rgba(255,255,255,.95); }

@media (max-width: 980px) {
  .app-shell { grid-template-columns:220px 1fr; }
  .nav .nav-items a { font-size:12px; }
}

/* GestiConnect Plateforme V10 - suite complète */
.portal-shell { min-height:100vh; background:#f5f7fa; }
.portal-header { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:18px 28px; color:white; background:linear-gradient(120deg,#0d2a20,#2e6a4e); }
.portal-header div { display:grid; gap:3px; }
.portal-header span { color:#dceee4; font-size:12px; }
.portal-main { max-width:1180px; margin:0 auto; padding:30px 20px 60px; }
.alert-chip { padding:7px 10px; border-radius:999px; background:#fff3cd; color:#7a4a00; font-size:11px; font-weight:850; }
.row-warning { background:#fff9e8; }
.alert-card { border-left:6px solid #64748b; }
.alert-severity-danger { border-left-color:#c9363e; }
.alert-severity-warning { border-left-color:#d97706; }
.alert-severity-info { border-left-color:#2563eb; }
.mobile-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.nav-section-icon { display:inline-grid; place-items:center; width:20px; }
@media (max-width:820px){.portal-header{padding:15px;align-items:flex-start;flex-direction:column}.portal-main{padding:18px 12px 40px}.mobile-quick-actions{grid-template-columns:1fr}}

/* GestiConnect V10 */
.planning-controls{padding:18px;margin-bottom:18px}.planning-view-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.planning-filter-form{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;align-items:end}.planning-filter-actions{display:flex;gap:8px}.day-timeline{display:flex;flex-direction:column}.hour-row{display:grid;grid-template-columns:82px 1fr;min-height:72px;border-bottom:1px solid var(--border,#dfe6e1)}.hour-label{padding:12px;font-weight:800;color:#64756d;border-right:1px solid var(--border,#dfe6e1)}.hour-content{position:relative;padding:8px;display:flex;gap:8px;flex-wrap:wrap}.hour-content .calendar-event{min-width:260px;max-width:420px}.hour-add{position:absolute;right:6px;top:5px;border:0;border-radius:50%;width:25px;height:25px;cursor:pointer}.week-planning-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));overflow-x:auto}.week-column{min-height:540px;border-right:1px solid #dfe6e1;padding:8px}.week-column.today{background:#fff8d8}.week-column-head{position:sticky;top:0;background:inherit;padding:8px;display:flex;flex-direction:column;gap:3px;z-index:1}.week-column-events{display:flex;flex-direction:column;gap:7px}.mobile-sync-state{padding:10px 14px;background:#e8f7ef;border:1px solid #b8dfca;border-radius:10px;margin-bottom:14px}.mobile-sync-state.is-offline{background:#fff0d5;border-color:#edc66c}.mobile-job-grid{align-items:start}.mobile-job-card .card-header{align-items:flex-start}.mobile-job-address{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f7f9f8;border-radius:10px;margin-bottom:12px}.mobile-action-grid{display:flex;flex-wrap:wrap;gap:8px}.mobile-tools{border-top:1px solid #e1e7e3;padding:10px 0}.mobile-tools summary{font-weight:800;cursor:pointer}.mobile-collapsible{margin-top:10px}.dictation-field{display:flex;gap:8px;align-items:flex-start}.dictation-field textarea{flex:1}.signature-canvas{width:100%;height:180px;border:2px dashed #9fb1a8;border-radius:10px;background:#fff;touch-action:none}.attachment-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.timeline-list{padding-left:20px}.portal-progress-list{display:flex;flex-direction:column;gap:10px}.portal-progress-item{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dfe6e1;border-radius:10px}.portal-sign-form{padding:12px;background:#f7f9f8;border-radius:10px;margin-top:8px}.reminder-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.reminder-item{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:9px;border:1px solid #dfe6e1;border-radius:8px}.profit-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.inline-form{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.inline-form select{min-width:120px}pre{white-space:pre-wrap;word-break:break-word;background:#f5f7f6;padding:10px;border-radius:8px}
@media(max-width:1100px){.planning-filter-form{grid-template-columns:repeat(3,1fr)}.week-planning-grid{grid-template-columns:repeat(7,220px)}}@media(max-width:700px){.planning-filter-form{grid-template-columns:1fr}.hour-row{grid-template-columns:58px 1fr}.hour-content .calendar-event{min-width:0;width:100%}.mobile-job-grid{grid-template-columns:1fr!important}.portal-progress-item{flex-direction:column}.dictation-field{flex-direction:column}.planning-view-tabs .btn{flex:1 1 45%}}

/* GestiConnect Plateforme V12 — lisibilité, flotte, attribution et IA */
.ff-kpis { margin-bottom:20px; }
.ff-panel[hidden] { display:none!important; }
.ff-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ff-layout-split { align-items:start; }
.ff-inline-wrap { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-width:0; }
.ff-page-head-mobile { align-items:flex-start; }
.ff-table { width:100%; table-layout:auto; }
.ff-table th, .ff-table td { max-width:320px; vertical-align:top; overflow-wrap:anywhere; word-break:normal; }
.ff-table td strong, .ff-table td a { overflow-wrap:anywhere; }
.row-warning { background:#fff9e8; }
.badge-warning { background:#fff1bf; color:#7a4b00; }
.empty.compact { padding:18px; }

.ff-fleet-card { min-width:0; }
.ff-vehicle-title { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-bottom:15px; }
.ff-vehicle-title span { color:var(--muted); font-weight:800; }
.ff-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ff-data-grid > div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:10px; background:#f8faf9; }
.ff-data-grid span { display:block; margin-bottom:4px; color:var(--muted); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.ff-data-grid strong { display:block; color:var(--navy); overflow-wrap:anywhere; }

.ff-mobile-filter { margin-bottom:18px; }
.ff-mobile-filter .filter-bar { align-items:end; }
.ff-filter-submit { display:flex; align-items:flex-end; }
.ff-mobile-agenda { display:grid; gap:18px; }
.ff-mobile-card-head { display:grid; grid-template-columns:105px minmax(0,1fr) minmax(150px,auto); gap:16px; align-items:center; padding:17px 19px; border-bottom:1px solid var(--line); }
.ff-mobile-time { display:grid; gap:2px; padding:10px; border-radius:11px; background:#f3f6f5; text-align:center; }
.ff-mobile-time strong { font-size:24px; color:var(--navy); }
.ff-mobile-time span { color:var(--muted); font-size:10px; }
.ff-mobile-title { min-width:0; }
.ff-mobile-title h3 { margin:7px 0 3px; color:var(--navy); font-size:17px; overflow-wrap:anywhere; }
.ff-mobile-title p { margin:0; color:var(--muted); }
.ff-mobile-techs { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.ff-mobile-techs > span:not(.badge) { padding:6px 9px; border-radius:999px; background:#e8f4ee; color:#1f6045; font-size:10px; font-weight:850; }
.ff-mobile-body { display:grid; gap:16px; }
.ff-mobile-info-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.ff-mobile-info-grid > div { min-width:0; padding:13px; border:1px solid var(--line); border-radius:11px; background:#fafcfc; }
.ff-mobile-info-grid span { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:850; text-transform:uppercase; }
.ff-mobile-info-grid strong, .ff-mobile-info-grid a, .ff-mobile-info-grid small { display:block; overflow-wrap:anywhere; }
.ff-mobile-info-grid a { margin-top:5px; font-size:11px; }
.ff-action-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ff-action-grid form, .ff-action-grid button { min-width:0; width:100%; }
.ff-mobile-panel { padding:15px; border:1px solid #abd6bc; border-radius:12px; background:#f0faf4; }
.ff-mobile-tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ff-mobile-tools-grid details { min-width:0; }
.ff-timeline { margin-top:0; }
.ff-mobile-empty { min-height:240px; display:grid; place-content:center; text-align:center; }

.ff-attribution-search textarea, .ff-filter-card textarea { resize:vertical; }
.ff-list { display:grid; gap:8px; }
.ff-list-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; border:1px solid var(--line); border-radius:10px; color:inherit; }
.ff-list-row:hover, .ff-list-row.is-selected { text-decoration:none; border-color:#77a88e; background:#f3faf6; }
.ff-list-row > span:first-child { min-width:0; display:grid; gap:3px; }
.ff-list-row small { color:var(--muted); overflow-wrap:anywhere; }
.page-subhead { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:26px 0 16px; }
.page-subhead h3 { margin:0 0 4px; color:var(--navy); }
.page-subhead p { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.ff-attribution-table { min-width:1180px; }

.ff-filter-card { margin-bottom:18px; }
.ff-filter-grid { display:grid; grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) auto; gap:12px; align-items:end; }
.ff-conversion-list { display:grid; gap:16px; }
.ff-conversion-card { overflow:hidden; min-width:0; }
.ff-conversion-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 17px; border-bottom:1px solid var(--line); background:#fafcfc; }
.ff-conversion-date { color:var(--muted); font-size:11px; white-space:nowrap; }
.ff-conversion-main { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.ff-conversion-main section { min-width:0; padding:16px; border-right:1px solid var(--line); }
.ff-conversion-main section:last-child { border-right:0; }
.ff-conversion-main h3 { margin:5px 0; color:var(--navy); font-size:16px; overflow-wrap:anywhere; }
.ff-conversion-main strong, .ff-conversion-main p { display:block; margin:5px 0 0; overflow-wrap:anywhere; }
.ff-label { display:block; color:var(--muted); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.ff-conversion-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:14px 16px; border-top:1px solid var(--line); background:#f8faf9; }
.ff-conversion-links > div { min-width:0; display:grid; gap:3px; }
.ff-conversion-links span { color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
.ff-conversion-links strong, .ff-conversion-links small, .ff-conversion-links a { overflow-wrap:anywhere; }
.ff-conversion-money { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:12px; align-items:center; padding:14px 16px; border-top:1px solid var(--line); }
.ff-conversion-money > div { min-width:0; display:grid; gap:3px; }
.ff-conversion-money span { color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
.ff-mini-conversions { display:grid; }
.ff-mini-conversion { display:grid; grid-template-columns:150px minmax(0,1fr) 170px; gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--line); color:inherit; }
.ff-mini-conversion:last-child { border-bottom:0; }
.ff-mini-conversion:hover { text-decoration:none; background:#f8faf9; }
.ff-mini-conversion > span { min-width:0; display:grid; gap:3px; }
.ff-mini-conversion strong, .ff-mini-conversion small { overflow-wrap:anywhere; }

.ff-insight-list { display:grid; gap:16px; }
.ff-insight { border-left:5px solid #64748b; }
.ff-insight.priority-high { border-left-color:#dc2626; }
.ff-insight.priority-medium { border-left-color:#d97706; }
.ff-insight.priority-low { border-left-color:#2563eb; }
.ff-insight h3 { margin:0 0 15px; color:var(--navy); }
.ff-ai-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ff-ai-grid > div { min-width:0; padding:13px; border:1px solid var(--line); border-radius:10px; background:#fafcfc; }
.ff-ai-grid > div > span { display:block; margin-bottom:6px; color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.ff-ai-grid p { margin:0; overflow-wrap:anywhere; }

@media (max-width:1200px) {
  .ff-mobile-info-grid, .ff-conversion-main, .ff-conversion-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ff-conversion-main section:nth-child(2) { border-right:0; }
  .ff-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ff-filter-grid .ff-filter-submit { grid-column:1/-1; }
}
@media (max-width:900px) {
  .ff-card-grid, .ff-mobile-tools-grid, .ff-ai-grid { grid-template-columns:1fr; }
  .ff-mobile-card-head { grid-template-columns:90px minmax(0,1fr); }
  .ff-mobile-techs { grid-column:1/-1; justify-content:flex-start; }
  .ff-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ff-conversion-money { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ff-mini-conversion { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .ff-data-grid, .ff-mobile-info-grid, .ff-conversion-main, .ff-conversion-links, .ff-conversion-money, .ff-filter-grid { grid-template-columns:1fr; }
  .ff-mobile-card-head { grid-template-columns:1fr; align-items:start; }
  .ff-mobile-time { width:100%; }
  .ff-action-grid { grid-template-columns:1fr; }
  .ff-conversion-top, .page-subhead { align-items:flex-start; flex-direction:column; }
  .ff-conversion-date { white-space:normal; }
  .ff-conversion-main section { border-right:0; border-bottom:1px solid var(--line); }
  .ff-conversion-main section:last-child { border-bottom:0; }
}

/* GestiConnect Plateforme V12 — application terrain, visite commerciale et administration SaaS */
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4}
.site-address-field{transition:opacity .18s ease,filter .18s ease}
.site-address-field.is-address-locked{opacity:.68}
.site-address-field.is-address-locked input{background:#e8ecea!important;color:#63706a!important;border-color:#cfd7d3!important;cursor:not-allowed}
.ff-badge-sales{background:#f3e8ff;color:#6b21a8;border-color:#d8b4fe}
.ff-sales-person{background:#f3e8ff!important;color:#6b21a8!important}
.nav-section-platform{background:linear-gradient(135deg,rgba(242,184,65,.18),rgba(255,255,255,.03));border-color:rgba(242,184,65,.35)}

.ff-mobile-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:22px;align-items:stretch;margin-bottom:16px;padding:26px;border:1px solid #cddbd4;border-radius:20px;background:linear-gradient(135deg,#123d2e 0%,#1f6549 58%,#d9a62e 150%);box-shadow:0 16px 34px rgba(18,61,46,.14);color:#fff}
.ff-mobile-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.ff-mobile-hero-copy h2{margin:5px 0 8px;color:#fff;font-size:30px;line-height:1.15}
.ff-mobile-hero-copy p{max-width:780px;margin:0;color:#dcece5;line-height:1.65}
.ff-eyebrow{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#ffe7a7}
.ff-mobile-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.ff-mobile-profile{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.10);backdrop-filter:blur(8px);min-width:0}
.ff-mobile-avatar{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:18px;background:#fff3cf;color:#173e30;font-size:20px;font-weight:950}
.ff-mobile-profile>div:last-child{min-width:0;display:grid;gap:3px}
.ff-mobile-profile span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#cfe6dc}
.ff-mobile-profile strong,.ff-mobile-profile small{overflow-wrap:anywhere}
.ff-mobile-profile strong{font-size:16px}.ff-mobile-profile small{color:#e6f2ed}
.ff-mobile-filter-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,.55fr) auto;gap:14px;align-items:end}
.ff-mobile-section{margin:28px 0}
.ff-mobile-section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.ff-mobile-section-head>div{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:10px;align-items:center}
.ff-mobile-section-head span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#173e30;color:#fff;font-size:17px;font-weight:950}
.ff-mobile-section-head h3{margin:0;color:var(--navy);font-size:19px}.ff-mobile-section-head p{margin:2px 0 0;color:var(--muted);font-size:11px}
.ff-mobile-section-overdue .ff-mobile-section-head span{background:#b91c1c}.ff-mobile-section-completed .ff-mobile-section-head span{background:#16804f}
.ff-field-card{position:relative;overflow:hidden;border:1px solid #d7e1dc;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(18,48,37,.065)}
.ff-field-status-line{height:6px;background:#d9a62e}.ff-field-card.intervention-assigned .ff-field-status-line{background:#dc2626}.ff-field-card.intervention-in_progress .ff-field-status-line{background:#2563eb}.ff-field-card.intervention-completed .ff-field-status-line{background:#16a34a}
.ff-field-card-head{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(160px,auto);gap:16px;align-items:center;padding:17px 19px;border-bottom:1px solid #e3e9e6;background:linear-gradient(180deg,#fff,#fbfdfc)}
.ff-field-date{display:grid;place-items:center;padding:8px;border-radius:13px;background:#f0f5f2;color:#173e30}.ff-field-date span,.ff-field-date small{font-size:9px;font-weight:850;text-transform:uppercase;color:#687970}.ff-field-date strong{font-size:27px;line-height:1}
.ff-field-heading{min-width:0}.ff-field-heading h3{margin:7px 0 3px;color:#153b2e;font-size:18px;overflow-wrap:anywhere}.ff-field-heading p{margin:0;color:#66766e;font-size:11px}.ff-client-request{display:block;margin-top:6px;color:#7c5d10;font-weight:750}
.ff-field-assignees{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ff-field-assignees>span:not(.badge){padding:7px 10px;border-radius:999px;background:#e7f4ed;color:#195f43;font-size:10px;font-weight:850}
.ff-field-card-body{display:grid;gap:15px;padding:18px}
.ff-field-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:stretch}
.ff-field-summary-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ff-field-summary-main>div{min-width:0;padding:13px;border:1px solid #dfe7e3;border-radius:12px;background:#f8fbf9}.ff-field-summary-main span,.ff-field-request span{display:block;margin-bottom:5px;color:#6f7d76;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.ff-field-summary-main strong,.ff-field-summary-main a,.ff-field-summary-main small{display:block;overflow-wrap:anywhere}.ff-field-summary-main a{margin-top:4px;font-weight:850}.ff-field-summary-main small{margin-top:4px;color:#6f7d76}
.ff-field-quick-actions{display:grid;grid-template-columns:1fr;gap:7px;min-width:145px}.ff-field-quick-actions .btn{justify-content:center}
.ff-field-request{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ff-field-request>div{min-width:0;padding:13px;border-radius:12px;background:#fff8e6;border:1px solid #ecd99f}.ff-field-request strong,.ff-field-request p,.ff-field-request small{display:block;margin:0;overflow-wrap:anywhere}.ff-field-risk{background:#fff0f0!important;border-color:#efb1b1!important}
.ff-field-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ff-field-progress form,.ff-field-progress .btn{width:100%;min-width:0}.ff-field-submit{display:flex;align-items:flex-end}
.ff-field-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ff-field-tools details{min-width:0;border:1px solid #dfe7e3;border-radius:13px;background:#fbfdfc;overflow:hidden}.ff-field-tools summary{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:13px;cursor:pointer;list-style:none}.ff-field-tools summary::-webkit-details-marker{display:none}.ff-field-tools summary>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf3ee;font-size:16px}.ff-field-tools summary>div{min-width:0;display:grid;gap:2px}.ff-field-tools summary strong,.ff-field-tools summary small{overflow-wrap:anywhere}.ff-field-tools summary small{color:#6d7c75;font-size:9px}.ff-field-tools details[open] summary{background:#f0f7f3;border-bottom:1px solid #dfe7e3}.ff-tool-content{padding:14px}.ff-field-timeline{border-top:1px solid #dfe7e3;padding-top:12px}.ff-field-timeline summary{font-weight:900;cursor:pointer}.ff-field-timeline li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:7px 12px;padding:8px 0}.ff-field-timeline li small{grid-column:2;color:#66766e}

.ff-platform-head{align-items:flex-start}.ff-platform-section{margin-bottom:18px}.ff-platform-grid{align-items:start}.ff-platform-actions{display:grid;gap:8px;min-width:300px}.ff-platform-actions .inline-form{display:grid;grid-template-columns:1fr 1fr auto}.ff-platform-user-list,.ff-platform-events{display:grid;max-height:650px;overflow:auto}.ff-platform-user,.ff-platform-events article{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #e1e8e4}.ff-platform-user:last-child,.ff-platform-events article:last-child{border-bottom:0}.ff-platform-user>div:first-child,.ff-platform-events article>div{min-width:0;display:grid;gap:3px}.ff-platform-user span,.ff-platform-user small,.ff-platform-events span,.ff-platform-events small{overflow-wrap:anywhere}.ff-platform-user small,.ff-platform-events small{color:#6c7a73}.ff-platform-user-state{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.ff-platform-events time{white-space:nowrap;color:#6c7a73;font-size:10px}

@media(max-width:1200px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.ff-mobile-hero{grid-template-columns:1fr}.ff-field-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-field-summary{grid-template-columns:1fr}.ff-field-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.ff-platform-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-field-card-head{grid-template-columns:60px minmax(0,1fr)}.ff-field-assignees{grid-column:1/-1;justify-content:flex-start}.ff-field-summary-main,.ff-field-request{grid-template-columns:1fr}.ff-field-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-mobile-filter-form{grid-template-columns:1fr 1fr}.ff-mobile-filter-form .ff-filter-submit{grid-column:1/-1}.ff-platform-grid{grid-template-columns:1fr}.ff-platform-actions .inline-form{grid-template-columns:1fr}}
@media(max-width:620px){.grid-5{grid-template-columns:1fr 1fr}.ff-mobile-hero{padding:19px}.ff-mobile-hero-copy h2{font-size:24px}.ff-mobile-profile{align-items:flex-start}.ff-field-card-head{grid-template-columns:1fr}.ff-field-date{grid-template-columns:auto auto auto;justify-content:start;gap:6px}.ff-field-date strong{font-size:20px}.ff-field-assignees{grid-column:auto}.ff-field-quick-actions,.ff-field-tools,.ff-field-progress,.ff-mobile-filter-form{grid-template-columns:1fr}.ff-platform-user,.ff-platform-events article{flex-direction:column}.ff-platform-user-state{justify-content:flex-start}.ff-platform-events time{white-space:normal}}

/* V12 — filtres du journal global */
.ff-platform-event-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) auto;gap:12px;align-items:end;margin:0 0 16px}
.ff-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
@media(max-width:900px){.ff-platform-event-filters{grid-template-columns:1fr 1fr}.ff-platform-event-filters .ff-field-submit{grid-column:1/-1}}
@media(max-width:620px){.ff-platform-event-filters{grid-template-columns:1fr}}

/* GestiConnect V13 - administration plateforme et formulaires web */
.platform-body,.platform-login-body,.account-status-body{margin:0;background:#f3f6fb;color:#17263a;font-family:Inter,Arial,sans-serif}.platform-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.platform-sidebar{position:sticky;top:0;height:100vh;background:#12243a;color:#fff;padding:24px 18px;display:flex;flex-direction:column;box-sizing:border-box}.platform-brand{display:flex;gap:12px;align-items:center;padding:8px 8px 24px}.platform-brand>span,.platform-login-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#2f74ff;color:#fff;font-weight:900}.platform-brand strong{display:block;font-size:18px}.platform-brand small{display:block;color:#a8bbd1;margin-top:3px}.platform-sidebar nav{display:grid;gap:6px}.platform-sidebar nav a{color:#dce7f4;text-decoration:none;padding:12px 14px;border-radius:10px;font-weight:700;font-size:14px}.platform-sidebar nav a:hover,.platform-sidebar nav a.active{background:#243c58;color:#fff}.platform-logout{margin-top:auto}.platform-main{min-width:0}.platform-topbar{background:#fff;border-bottom:1px solid #dfe6ef;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.platform-topbar h1{font-size:25px;margin:0 0 5px}.platform-topbar p{margin:0;color:#66758a}.platform-content{padding:26px 30px 50px;max-width:1600px}.platform-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.platform-kpi{display:block;background:#fff;border:1px solid #dfe6ef;border-radius:16px;padding:18px;text-decoration:none;color:#17263a;box-shadow:0 7px 20px rgba(29,49,73,.05)}.platform-kpi span,.platform-kpi small{display:block;color:#6a788b}.platform-kpi strong{display:block;font-size:30px;margin:8px 0}.platform-kpi.pending{border-top:4px solid #f3b21a}.platform-kpi.active{border-top:4px solid #27a765}.platform-kpi.suspended,.platform-kpi.rejected{border-top:4px solid #d94c4c}.platform-filter-card{margin-top:18px;padding:18px}.platform-filter-form{display:grid;grid-template-columns:minmax(250px,1fr) 230px auto auto;align-items:end;gap:12px}.platform-org-list{display:grid;gap:14px;padding:16px}.platform-org-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,440px);gap:18px;border:1px solid #dfe6ef;border-left:6px solid #aab6c4;border-radius:14px;padding:18px;background:#fff}.platform-org-card.status-pending{border-left-color:#f3b21a}.platform-org-card.status-active,.platform-org-card.status-trial{border-left-color:#27a765}.platform-org-card.status-suspended,.platform-org-card.status-rejected{border-left-color:#d94c4c}.platform-org-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.platform-org-title h3{margin:0 0 5px;font-size:19px}.platform-org-title p{margin:0;color:#6a788b}.platform-org-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.platform-org-meta span{background:#f2f5f8;border-radius:999px;padding:7px 10px;font-size:12px;color:#526174}.platform-org-actions{display:grid;gap:10px}.platform-status-form{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px}.platform-status-form button{grid-column:1/-1}.platform-plan-form{display:flex;gap:8px}.platform-note{margin-top:12px;padding:10px 12px;background:#fff7d9;border:1px solid #f1d67b;border-radius:9px;color:#69540e}.platform-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#edf1f5;font-size:12px;font-weight:800;white-space:nowrap}.platform-status.status-pending{background:#fff1bc;color:#795900}.platform-status.status-active,.platform-status.status-trial,.platform-status.status-converted{background:#dff6e9;color:#17673d}.platform-status.status-suspended,.platform-status.status-rejected,.platform-status.status-spam{background:#ffe1e1;color:#8d2f2f}.platform-status.status-new{background:#e2edff;color:#215ba8}.platform-status.status-contacted,.platform-status.status-qualified{background:#e9e1ff;color:#5e3c9c}.platform-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,620px) minmax(0,1fr)}.platform-login-card{padding:60px clamp(30px,7vw,90px);background:#fff;display:flex;flex-direction:column;justify-content:center}.platform-login-card h1{font-size:36px;margin:8px 0 12px}.platform-login-card .subtitle{max-width:560px;color:#647286;line-height:1.65}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#2f74ff;margin:20px 0 0}.platform-login-visual{background:linear-gradient(135deg,#12243a,#245281);color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:center}.platform-login-visual h2{font-size:38px;max-width:600px}.platform-login-visual li{margin:17px 0;font-size:17px;color:#dbe8f8}.platform-login-links{text-align:center;margin-top:20px}.account-status-body{display:grid;place-items:center;min-height:100vh;padding:25px}.account-status-card{max-width:650px;background:#fff;padding:42px;border:1px solid #dfe6ef;border-radius:20px;box-shadow:0 20px 60px rgba(25,44,68,.12)}.account-status-card h1{margin-bottom:12px}.account-status-card h2{margin-top:28px}.platform-return-link{display:block;background:#f0b323;color:#211a08!important;margin:0 6px 12px;padding:12px 14px;border-radius:10px;text-decoration:none;font-weight:900}.lead-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.lead-kpi{background:#fff;border:1px solid #dfe6ef;border-radius:13px;padding:14px;text-decoration:none;color:#17263a}.lead-kpi span{display:block;color:#68778a;font-size:12px}.lead-kpi strong{display:block;font-size:24px;margin-top:7px}.lead-filter-form{padding:18px;display:grid;grid-template-columns:minmax(260px,1fr) 230px auto;align-items:end;gap:12px}.lead-card-list{display:grid;gap:14px;margin-top:18px}.lead-card{background:#fff;border:1px solid #dfe6ef;border-radius:16px;padding:18px;box-shadow:0 7px 20px rgba(29,49,73,.04)}.lead-card-head{display:flex;justify-content:space-between;gap:15px}.lead-card-head h3{margin:9px 0 5px}.lead-card-head h3 a{text-decoration:none;color:#17263a}.lead-card-head p{margin:0;color:#65758a}.lead-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:15px 0}.lead-card-grid>div{background:#f5f7fa;border-radius:10px;padding:10px;min-width:0}.lead-card-grid small,.lead-card-grid strong{display:block}.lead-card-grid small{color:#6c7a8c;margin-bottom:4px}.lead-card-grid strong{overflow-wrap:anywhere}.lead-message,.lead-full-message{white-space:pre-wrap;line-height:1.65;color:#445267}.lead-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}.lead-mini-card{border:1px solid #dfe6ef;border-radius:13px;padding:14px;min-width:0}.lead-mini-card h3{margin:10px 0 5px}.lead-mini-card p{color:#65758a;min-height:42px}.lead-prefill-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 17px;margin-bottom:16px;background:#eaf3ff;border:1px solid #9ec5ff;border-radius:12px}.lead-prefill-banner strong,.lead-prefill-banner span{display:block}.lead-prefill-banner span{font-size:13px;color:#53647a;margin-top:4px}.break-word{overflow-wrap:anywhere}.detail-list>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #edf0f4}.detail-list span{color:#718095}.detail-list strong{overflow-wrap:anywhere}
@media(max-width:1200px){.platform-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-org-card{grid-template-columns:1fr}.lead-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.platform-shell{display:block}.platform-sidebar{position:relative;height:auto}.platform-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-topbar{align-items:flex-start;flex-direction:column;padding:20px}.platform-content{padding:18px}.platform-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-filter-form,.lead-filter-form{grid-template-columns:1fr}.platform-status-form{grid-template-columns:1fr}.platform-status-form button{grid-column:auto}.platform-login-shell{display:block}.platform-login-visual{display:none}.platform-login-card{min-height:100vh;padding:35px 24px}.lead-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-mini-grid{grid-template-columns:1fr}}
@media(max-width:520px){.platform-kpi-grid,.lead-kpi-grid,.lead-card-grid{grid-template-columns:1fr}.platform-org-title,.lead-card-head,.lead-prefill-banner{flex-direction:column}.platform-plan-form{display:grid}.detail-list>div{grid-template-columns:1fr}.platform-sidebar nav{grid-template-columns:1fr}}
.platform-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 0;flex-wrap:wrap}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* GestiConnect V15 - configuration multi-secteurs */
.onboarding-form { display:grid; gap:22px; padding-bottom:92px; }
.onboarding-section-card { overflow:visible; }
.onboarding-card-header { align-items:center; gap:18px; }
.onboarding-card-header > div:first-child { display:flex; align-items:center; gap:13px; }
.onboarding-card-header h2 { margin:0 0 3px; }
.onboarding-card-header p { margin:0; color:var(--muted); font-size:12px; }
.step-number { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:11px; background:#163b2d; color:#fff; font-weight:900; }
.header-actions { display:flex; gap:8px; flex-wrap:wrap; }
.business-search { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.business-search input { flex:1; min-width:0; padding:13px 15px; border-radius:12px; background:#f8fafb; }
.business-search span { color:var(--muted); font-size:12px; white-space:nowrap; }
.sector-config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.sector-config-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sector-config-card { overflow:hidden; border:1px solid #d8e1e8; border-radius:14px; background:#fff; box-shadow:0 5px 16px rgba(20,40,55,.035); }
.sector-config-card.is-selected { border-color:#79a58d; box-shadow:0 8px 22px rgba(22,59,45,.08); }
.sector-config-card[hidden] { display:none; }
.sector-config-card > summary { display:grid; grid-template-columns:minmax(0,1fr) 22px; align-items:center; gap:8px; min-height:64px; padding:12px 14px; cursor:pointer; list-style:none; background:#fbfcfd; }
.sector-config-card > summary::-webkit-details-marker { display:none; }
.sector-config-card[open] > summary { border-bottom:1px solid #e5eaee; background:#f6faf7; }
.sector-main-toggle { display:flex; align-items:flex-start; gap:10px; min-width:0; cursor:pointer; }
.sector-main-toggle input { width:18px; height:18px; margin-top:2px; flex:0 0 auto; }
.sector-main-toggle span { display:grid; min-width:0; gap:4px; }
.sector-main-toggle strong { color:var(--navy); font-size:13px; line-height:1.35; }
.sector-main-toggle small { color:var(--muted); font-size:11px; }
.sector-arrow { justify-self:end; font-size:22px; color:#6b7d8b; transition:transform .18s ease; }
.sector-config-card[open] .sector-arrow { transform:rotate(90deg); }
.sector-config-body { padding:14px; }
.sector-toolbar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.activity-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.activity-check { display:flex; align-items:flex-start; gap:8px; min-width:0; padding:9px 10px; border:1px solid #e2e8ed; border-radius:10px; background:#fff; cursor:pointer; font-size:12px; line-height:1.35; }
.activity-check:hover { border-color:#9ab3a4; background:#f8fbf9; }
.activity-check:has(input:checked) { border-color:#70a083; background:#edf7f1; color:#174d35; font-weight:750; }
.activity-check[hidden] { display:none; }
.activity-check input { flex:0 0 auto; width:16px; height:16px; margin-top:1px; }
.module-config-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.module-group-card { padding:15px; border:1px solid #dce4e9; border-radius:14px; background:#fbfcfd; }
.module-group-card.is-selected { border-color:#91b5a0; background:#f6faf7; }
.module-group-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:11px; }
.module-group-head > div { display:grid; gap:3px; }
.module-group-head strong { color:var(--navy); font-size:13px; }
.module-group-head small { color:var(--muted); font-size:10px; }
.text-button { padding:0; border:0; background:transparent; color:#0f6b49; cursor:pointer; font-size:10px; font-weight:850; }
.module-check-list { display:grid; gap:6px; }
.module-check { display:flex; align-items:center; gap:8px; padding:8px 9px; border-radius:8px; background:#fff; border:1px solid #e5eaee; font-size:11px; cursor:pointer; }
.module-check:has(input:checked) { background:#edf7f1; border-color:#b9d4c3; color:#194d37; font-weight:750; }
.module-check input { width:15px; height:15px; }
.sticky-save-bar { position:sticky; bottom:14px; z-index:30; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 16px; border:1px solid #b9cbd3; border-radius:15px; background:rgba(255,255,255,.96); box-shadow:0 16px 35px rgba(17,36,50,.15); backdrop-filter:blur(12px); }
.sticky-save-bar > div { display:grid; gap:3px; }
.sticky-save-bar strong { color:var(--navy); }
.sticky-save-bar span { color:var(--muted); font-size:11px; }
.registration-shell { min-height:100vh; background:#f4f7f9; }
.registration-header { display:flex; justify-content:space-between; align-items:center; padding:18px max(24px,calc((100vw - 1240px)/2)); background:#fff; border-bottom:1px solid #dfe6eb; }
.registration-header .brand { margin:0; color:#163b2d; }
.registration-main { max-width:1240px; margin:0 auto; padding:42px 22px 70px; }
.registration-intro { max-width:790px; margin-bottom:25px; }
.registration-intro h1 { margin:7px 0 10px; color:var(--navy); font-size:36px; }
.registration-intro p { color:#536674; line-height:1.7; }
.eyebrow.dark { color:#b45f04; }
.registration-form { display:grid; gap:20px; }
.registration-submit { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 19px; border-radius:14px; background:#fff; border:1px solid #dce4e9; }
.accept-note { display:flex; align-items:center; gap:9px; color:#536674; font-size:12px; }
.accept-note input { width:17px; height:17px; }
.btn-ghost { border:0; background:transparent; color:#5a6b77; }

@media (max-width:1180px) {
  .sector-config-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .module-config-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .sector-config-grid, .sector-config-grid.compact, .module-config-grid { grid-template-columns:1fr; }
  .activity-check-grid { grid-template-columns:1fr; }
  .onboarding-card-header, .sticky-save-bar, .registration-submit { align-items:stretch; flex-direction:column; }
  .sticky-save-bar .btn, .registration-submit .btn { width:100%; }
  .registration-intro h1 { font-size:28px; }
  .registration-header { padding:15px 18px; }
}

/* GestiConnect V16 - formulaires metier adaptatifs */
.dynamic-service-panel{display:grid;gap:16px}.dynamic-service-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#f0f7f3,#fff8ed);border:1px solid #cfe2d7}.dynamic-service-head h3{margin:3px 0 5px;font-size:20px}.dynamic-service-head p{margin:0;color:var(--muted);max-width:760px}.dynamic-field-group{margin:0;padding:16px;border:1px solid #d8e3dd;border-radius:14px;background:#fff}.dynamic-field-group legend{padding:0 9px;color:#163b2d;font-weight:800;font-size:14px}.dynamic-check{height:100%;margin:0}.dynamic-billing-preview{display:flex;flex-wrap:wrap;gap:10px 18px;padding:13px 16px;border-radius:12px;background:#f8fafc;border:1px dashed #b9c7d3;color:#425466;font-size:12px}.dynamic-billing-preview strong{color:#163b2d}.service-specific-section{border-color:#b9d6c5!important;box-shadow:0 12px 30px rgba(22,59,45,.06)}.eyebrow{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#d97706}@media(max-width:760px){.dynamic-service-head{flex-direction:column}.dynamic-field-group{padding:12px}.dynamic-billing-preview{display:grid}}
.service-answer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.service-answer{display:grid;gap:4px;padding:13px 14px;border:1px solid #dce6e0;border-radius:12px;background:#fbfdfc;min-width:0}.service-answer small{color:#7a8892;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.service-answer strong{color:#163b2d}.service-answer span{overflow-wrap:anywhere;color:#425466}

/* GestiConnect V18 - formulaires strictement adaptés au métier */
[hidden]{display:none!important}
.adaptive-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}
.adaptive-form-grid>.form-group{grid-column:span 4;min-width:0;margin:0;display:flex;flex-direction:column;align-self:start}
.adaptive-form-grid>.form-group>label:not(.check-card){display:flex;align-items:flex-end;min-height:22px;margin-bottom:7px;line-height:1.25}
.adaptive-form-grid>.form-group input,.adaptive-form-grid>.form-group select,.adaptive-form-grid>.form-group textarea{width:100%;box-sizing:border-box}
.adaptive-form-grid>.adaptive-wide{grid-column:span 8}
.adaptive-form-grid>.adaptive-full{grid-column:1/-1}
.assignment-block{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.subsection-title{display:flex;align-items:center;gap:10px;margin:18px 0 12px;padding-top:15px;border-top:1px dashed var(--line)}
.subsection-title h4{margin:0;color:var(--navy);font-size:14px}
.compact-check{min-height:46px;padding:10px 12px}
.advanced-section{padding:0;overflow:hidden}
.advanced-section>summary{padding:16px 19px;cursor:pointer;font-weight:850;color:var(--navy);background:#fbfcfd;list-style:none}
.advanced-section>summary::-webkit-details-marker{display:none}
.advanced-section[open]>summary{border-bottom:1px solid var(--line)}
.advanced-section>p,.advanced-section>.adaptive-form-grid{margin:14px 19px}
.dynamic-field-group .adaptive-form-grid>.form-group>label:not(.check-card){min-height:22px}
.address-autocomplete-host{position:relative}
.address-suggestions{position:absolute;z-index:1200;top:calc(100% + 5px);left:0;right:0;overflow:hidden;border:1px solid #b9c8d4;border-radius:12px;background:#fff;box-shadow:0 16px 45px rgba(18,40,55,.2)}
.address-suggestion{display:grid;width:100%;gap:3px;padding:11px 13px;border:0;border-bottom:1px solid #e7ecef;background:#fff;text-align:left;cursor:pointer}
.address-suggestion:hover,.address-suggestion:focus{background:#edf7f1;outline:0}
.address-suggestion strong{font-size:12px;color:var(--navy);font-weight:800}
.address-suggestion small{font-size:10px;color:var(--muted)}
.address-attribution{padding:7px 12px;background:#f6f8fa;color:#6d7c87;font-size:9px;text-align:right}
.service-specific-section .dynamic-service-head{padding:14px 16px}
.service-specific-section .dynamic-service-head h3{font-size:17px}
.service-specific-section .dynamic-service-head p{font-size:11px}
.form-section[data-ui-section="site_address"] .subsection-title:first-of-type{margin-top:14px}
@media(max-width:1050px){.adaptive-form-grid>.form-group{grid-column:span 6}.adaptive-form-grid>.adaptive-wide,.adaptive-form-grid>.adaptive-full{grid-column:1/-1}}
@media(max-width:640px){.adaptive-form-grid{grid-template-columns:1fr}.adaptive-form-grid>.form-group,.adaptive-form-grid>.adaptive-wide,.adaptive-form-grid>.adaptive-full{grid-column:auto}.form-section-title p{font-size:10px}.address-suggestions{position:fixed;left:10px;right:10px;top:auto;bottom:10px;max-height:55vh;overflow:auto}}


/* GestiConnect V18 - les informations client passent avant l'organisation interne */
.appointment-priority-section{border-color:#b9d4c6;box-shadow:0 5px 18px rgba(19,78,57,.07)}
.internal-organization-section{padding:0;overflow:hidden;background:#f8fafc;border-color:#d5dee8}
.internal-organization-summary{list-style:none;display:flex;align-items:center;gap:12px;padding:18px 20px;cursor:pointer;color:var(--navy);user-select:none}
.internal-organization-summary::-webkit-details-marker{display:none}
.internal-organization-summary .section-number{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#64748b;color:#fff;font-weight:900}
.internal-organization-summary>span:nth-child(2){display:grid;gap:2px;min-width:0}
.internal-organization-summary strong{font-size:16px}
.internal-organization-summary small{color:var(--muted);font-weight:500}
.internal-organization-summary .summary-hint{margin-left:auto;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;font-weight:800}
.internal-organization-section[open]>.internal-organization-summary{border-bottom:1px solid var(--line);background:#fff}
.internal-organization-section[open] .summary-hint{font-size:0}
.internal-organization-section[open] .summary-hint::after{content:'Masquer';font-size:11px}
.internal-organization-content{padding:20px}
.internal-organization-content .assignment-block{margin-bottom:0}
@media(max-width:640px){.internal-organization-summary{padding:15px}.internal-organization-summary small{font-size:10px}.internal-organization-summary .summary-hint{display:none}.internal-organization-content{padding:15px}}

/* GestiConnect V19 - réclamations et planning haute densité */
.legend-item.appointment-complaint,
.badge.appointment-complaint,
.appointment-kind-badge.appointment-complaint,
.appointment-complaint {
  background:#f3e8ff;
  color:#6b21a8;
  border-color:#c084fc;
}
.calendar-event.appointment-complaint,
.kanban-card.appointment-complaint,
.intervention-hero.appointment-complaint {
  background:#f7efff;
  color:#6b21a8;
  border-color:#a855f7;
  box-shadow:0 3px 10px rgba(126,34,206,.12);
}
.intervention-hero.appointment-complaint p,
.intervention-hero.appointment-complaint small { color:#4c1d63; }
.appointment-complaint-row { background:#fbf7ff; }
.appointment-complaint-row td:first-child { border-left:4px solid #9333ea; }
.ff-field-card.appointment-complaint { border-color:#c084fc; box-shadow:0 10px 30px rgba(126,34,206,.12); }
.ff-field-card.appointment-complaint .ff-field-status-line { background:#9333ea; }
.appointment-kind-badge { display:inline-flex; align-items:center; width:max-content; margin-top:6px; padding:4px 7px; border:1px solid #d7dce2; border-radius:999px; background:#f5f7f9; color:#48545e; font-size:9px; font-style:normal; font-weight:900; line-height:1; }

.planning-filter-form { grid-template-columns:repeat(7,minmax(125px,1fr)); }
.planning-day-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:15px 18px; margin-bottom:14px; position:sticky; top:8px; z-index:12; }
.planning-day-kpis { display:grid; grid-template-columns:repeat(4,minmax(110px,1fr)); gap:10px; }
.planning-day-kpis>div { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; padding:10px 12px; border:1px solid #dfe6e1; border-radius:10px; background:#f8faf9; }
.planning-day-kpis span { color:#68766f; font-size:9px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.planning-day-kpis strong { color:#173e30; font-size:20px; }
.planning-day-kpis .complaint-kpi { border-color:#d8b4fe; background:#faf5ff; }
.planning-day-kpis .complaint-kpi strong { color:#7e22ce; }
.planning-day-tools { display:flex; align-items:flex-end; gap:12px; }
.planning-search { display:grid; gap:5px; min-width:280px; }
.planning-search span { color:#68766f; font-size:9px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.planning-search input { min-height:38px; }
.planning-density { display:flex; flex-wrap:wrap; gap:6px; }
.timeline-card { overflow:visible; }
.day-timeline { min-width:0; }
.hour-row { grid-template-columns:76px minmax(0,1fr); min-height:64px; scroll-margin-top:110px; }
.hour-label { position:sticky; top:92px; z-index:7; align-self:start; display:grid; gap:2px; padding:10px 8px; background:#fff; }
.hour-label span { font-weight:900; }
.hour-label small { color:#7a8880; font-size:8px; font-weight:800; }
.hour-content { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); align-items:start; gap:8px; min-width:0; padding:7px 36px 7px 8px; }
.hour-content .calendar-event { min-width:0; max-width:none; }
.planning-event-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.planning-event-head strong { font-size:12px; }
.planning-event-head span { font-size:9px; font-weight:900; opacity:.78; }
.planning-event-title { margin-top:4px; overflow:hidden; font-size:11px; font-weight:850; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.planning-event-meta { display:flex; flex-wrap:wrap; gap:3px 8px; margin-top:5px; font-size:9px; opacity:.82; }
.planning-event-meta span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; }
.timeline-card.is-compact .hour-row { min-height:46px; }
.timeline-card.is-compact .hour-label { padding:7px 8px; }
.timeline-card.is-compact .hour-content { grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); gap:5px; padding-top:5px; padding-bottom:5px; }
.timeline-card.is-compact .calendar-event { padding:7px 9px; border-left-width:4px; }
.timeline-card.is-compact .planning-event-title { margin-top:2px; font-size:10px; }
.timeline-card.is-compact .planning-event-meta { margin-top:3px; font-size:8px; }
.timeline-card.is-compact .appointment-kind-badge { margin-top:4px; padding:3px 6px; font-size:8px; }
.planning-search-empty { margin:14px; }
.planning-agenda-tools { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:14px 18px; margin-bottom:12px; }
.planning-agenda-tools .planning-search { flex:1; max-width:620px; }
.planning-agenda-table { font-size:10px; }
.planning-agenda-table thead th { position:sticky; top:0; z-index:4; background:#f6f8f7; }
.planning-agenda-table td { padding-top:8px; padding-bottom:8px; vertical-align:top; }
.week-column-head small { color:#76847d; font-size:9px; }

@media(max-width:1250px){
  .planning-filter-form{grid-template-columns:repeat(4,minmax(130px,1fr))}
  .planning-day-summary{grid-template-columns:1fr}
  .planning-day-tools{justify-content:space-between}
}
@media(max-width:850px){
  .planning-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planning-day-summary{position:static}
  .planning-day-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planning-day-tools{align-items:stretch;flex-direction:column}
  .planning-search{min-width:0;width:100%}
  .hour-label{top:0}
  .hour-content,.timeline-card.is-compact .hour-content{grid-template-columns:1fr}
}
@media(max-width:560px){
  .planning-filter-form{grid-template-columns:1fr}
  .planning-day-kpis{grid-template-columns:1fr 1fr}
  .planning-day-kpis>div{padding:8px}
  .planning-day-kpis strong{font-size:17px}
  .hour-row{grid-template-columns:55px minmax(0,1fr)}
  .hour-content{padding-right:32px}
  .planning-agenda-tools{align-items:stretch;flex-direction:column}
}
.profile-advice-section{margin:22px 0}.profile-advice-grid{margin-bottom:20px}.profile-advice-card{padding:18px;border-left:5px solid #94a3b8}.profile-advice-card.priority-high{border-left-color:#dc2626;background:#fff8f8}.profile-advice-card.priority-medium{border-left-color:#d97706;background:#fffaf0}.profile-advice-card.priority-low{border-left-color:#2563eb;background:#f7fbff}.profile-advice-card>span{display:inline-flex;margin-bottom:8px;padding:4px 7px;border-radius:999px;background:#eef2f6;color:#52616d;font-size:9px;font-weight:900;text-transform:uppercase}.profile-advice-card h3{margin:0 0 8px;color:var(--navy);font-size:16px}.profile-advice-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}@media(max-width:850px){.profile-advice-grid{grid-template-columns:1fr}}

/* GestiConnect V20 - Stripe Connect */
.stripe-connect-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(135deg,#f7f5ff,#fff 55%,#f0fdf8);border-color:#ddd6fe}.stripe-connect-copy{min-width:0}.stripe-connect-copy h2{margin:4px 0 8px}.stripe-connect-copy p{margin:0;color:var(--muted)}.stripe-connect-actions{display:flex;gap:10px;flex-wrap:wrap}.stripe-capabilities{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.capability{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff1f2;color:#9f1239;font-size:11px;font-weight:800;border:1px solid #fecdd3}.capability.is-ready{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.stripe-kpis{margin-top:18px}.stripe-document-card{border-color:#ddd6fe;box-shadow:0 12px 35px rgba(91,33,182,.07)}.stripe-empty-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.stripe-empty-state p{margin:4px 0 0;color:var(--muted)}.stripe-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#635bff;color:#fff;font-size:22px;font-weight:900}.stripe-create-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) auto;gap:14px;align-items:end}.stripe-create-grid .form-group{margin:0}.stripe-create-action{padding-bottom:1px}.stripe-help{margin:10px 0 0}.stripe-request-list{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.stripe-request-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.stripe-request-main{display:flex;align-items:center;gap:12px}.stripe-request-main div{display:grid;gap:2px}.stripe-request-main small{color:var(--muted)}.stripe-request-actions,.stripe-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.stripe-refund-form{display:flex;align-items:center;gap:6px}.stripe-refund-form input{width:90px;padding:7px 8px}.payment-status{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.payment-status-paid{background:#dcfce7;color:#166534}.payment-status-open,.payment-status-creating{background:#fef3c7;color:#92400e}.payment-status-failed,.payment-status-expired,.payment-status-cancelled{background:#fee2e2;color:#991b1b}.payment-status-partially_refunded{background:#ede9fe;color:#6d28d9}.payment-status-refunded{background:#e0e7ff;color:#3730a3}.stripe-security-note{border-left:5px solid #635bff}.stripe-security-note p{margin:5px 0 0;color:var(--muted)}.payment-public-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f4f1ff,#f8fafc 48%,#ecfdf5)}.payment-public-card{width:min(560px,100%);padding:28px;border-radius:22px;background:#fff;box-shadow:0 25px 70px rgba(15,23,42,.14);text-align:center}.payment-public-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px}.payment-public-brand div{display:grid;text-align:left}.payment-public-brand small{color:var(--muted)}.payment-result-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 16px;border-radius:50%;font-size:34px;font-weight:900}.payment-result-icon.is-success{background:#dcfce7;color:#15803d}.payment-result-icon.is-warning{background:#ede9fe;color:#6d28d9}.payment-result-icon.is-danger{background:#fee2e2;color:#b91c1c}.payment-result-icon.is-waiting{background:#fef3c7;color:#a16207}.payment-public-card h1{margin:0 0 8px;font-size:28px}.payment-public-card>p{color:var(--muted)}.payment-public-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;text-align:left}.payment-public-summary div{display:grid;gap:4px;padding:12px;border-radius:12px;background:#f8fafc}.payment-public-summary span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.payment-contact{font-size:12px}.empty-state{padding:25px;text-align:center}.empty-state p{margin:5px 0;color:var(--muted)}
@media(max-width:820px){.stripe-connect-hero,.stripe-request-item{align-items:stretch;flex-direction:column}.stripe-empty-state{grid-template-columns:auto 1fr}.stripe-empty-state .btn{grid-column:1/-1}.stripe-create-grid{grid-template-columns:1fr}.stripe-create-action .btn{width:100%}.stripe-request-actions{justify-content:flex-start}}
@media(max-width:560px){.payment-public-summary{grid-template-columns:1fr}.payment-public-card{padding:22px 17px}.stripe-refund-form{width:100%}.stripe-refund-form input{flex:1}}

/* GestiConnect V25 — onboarding, supervision SaaS et catalogue métiers */
.omni-layout{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.55fr);gap:18px;align-items:start}
.omni-list,.omni-thread{min-height:650px}.omni-list{overflow:hidden}.omni-filters{margin-bottom:4px}
.conversation-list{display:grid;max-height:660px;overflow:auto}.conversation-item{display:block;padding:14px 16px;border-top:1px solid var(--line);color:inherit;text-decoration:none;background:#fff}.conversation-item:hover,.conversation-item.active{background:#f3faf6}.conversation-item.active{box-shadow:inset 4px 0 0 #168457}.conversation-top,.conversation-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.conversation-subject{font-size:13px;margin:7px 0;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{font-size:11px;color:var(--muted)}.conversation-meta b{display:grid;place-items:center;background:#168457;color:white;min-width:22px;height:22px;border-radius:999px}
.message-thread{display:flex;flex-direction:column;gap:12px;max-height:510px;overflow:auto;padding:10px 2px 18px}.message-bubble{max-width:82%;padding:12px 14px;border-radius:14px;line-height:1.45;white-space:pre-wrap}.message-bubble.inbound{align-self:flex-start;background:#f1f4f7;border-bottom-left-radius:4px}.message-bubble.outbound{align-self:flex-end;background:#e6f6ed;color:#144c35;border-bottom-right-radius:4px}.message-author{font-size:10px;font-weight:800;opacity:.7;margin-bottom:5px}.message-composer{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:16px}
.route-timeline{display:grid;padding:8px 20px 22px}.route-stop{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.route-stop:last-child{border-bottom:0}.route-position{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#173f30;color:#fff;font-weight:900}.route-stop h3{margin:3px 0;font-size:15px}.route-stop p{margin:0 0 3px;color:#475467}
.automation-flow{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;margin-bottom:16px;border:1px dashed #9fb9ad;border-radius:14px;background:#f3faf6}.automation-flow span{padding:8px 10px;border-radius:9px;background:white;border:1px solid var(--line);font-weight:800;font-size:12px}.automation-card{margin-bottom:15px}
.inline-metrics{display:grid;grid-template-columns:repeat(6,minmax(80px,1fr)) auto;gap:8px;align-items:center}.inline-metrics input,.inline-metrics select{min-width:0}
.public-review-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef7f2,#f8fafc)}.public-review-card{width:min(620px,100%)}.public-review-card h1{font-size:26px}.review-stars{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:24px 0}.review-stars input{position:absolute;opacity:0}.review-stars span{display:block;text-align:center;padding:12px 4px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:#fff}.review-stars input:checked+span{background:#fff4d6;border-color:#e4b63c;color:#875d00;font-weight:900}
.badge-warning{background:#fff2c7!important;color:#7d5400!important}
@media(max-width:1050px){.omni-layout{grid-template-columns:1fr}.omni-list,.omni-thread{min-height:auto}.inline-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.route-stop{grid-template-columns:42px 1fr}.route-stop>.badge{grid-column:2}.inline-metrics{grid-template-columns:1fr 1fr}.review-stars{grid-template-columns:1fr}.message-bubble{max-width:94%}}

/* GestiConnect V25 - inscription, verification et assistant de configuration */
.registration-simple{max-width:620px;margin:30px auto}.registration-benefits{display:grid;gap:10px;margin:18px 0}.registration-benefit{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fafbff}.verification-card{max-width:650px;margin:36px auto;text-align:center}.verification-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;margin:0 auto 16px;background:#eeebff;color:#6146d7;font-size:30px}.verification-preview{margin:18px 0;padding:14px;border-radius:14px;background:#fff7e8;border:1px solid #f4d9a8;text-align:left}.verification-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.v25-onboarding-shell{max-width:1180px;margin:0 auto}.v25-onboarding-hero{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:center;margin-bottom:20px}.v25-onboarding-hero h2{font-size:29px;letter-spacing:-.04em;margin:8px 0}.v25-onboarding-hero p{color:var(--muted);line-height:1.65}.v25-onboarding-progress-card{padding:18px;border-radius:18px;background:linear-gradient(145deg,#171b35,#24294f);color:#fff}.v25-onboarding-progress-card strong,.v25-onboarding-progress-card small{display:block}.v25-onboarding-progress-card small{color:#b9bfd5;font-size:11px;line-height:1.5;margin-top:9px}.v25-progress-track{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:10px}.v25-progress-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#5e74ff,#a15cff)}.v25-wizard-step{display:none}.v25-wizard-step.active{display:block}.v25-wizard-actions{position:sticky;bottom:10px;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 18px 45px rgba(25,30,65,.14);backdrop-filter:blur(12px)}.v25-wizard-actions>div{display:flex;align-items:center;gap:12px}.v25-wizard-actions small{color:var(--muted)}.v25-sector-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.v25-custom-catalog{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.v25-custom-catalog h3{font-size:15px}.v25-trade-choice[hidden]{display:none!important}.v25-trade-choice span small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.v25-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v25-service-option{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff;cursor:pointer}.v25-service-option:has(input:checked){border-color:#8064ef;background:#f5f2ff;box-shadow:0 0 0 3px rgba(128,100,239,.08)}.v25-service-option input{margin-top:2px}.v25-service-option strong,.v25-service-option small{display:block}.v25-service-option strong{font-size:12px}.v25-service-option small{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}.v25-service-empty{padding:18px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);text-align:center}.v25-custom-services{margin-top:18px}.v25-custom-services small{color:var(--muted)}.v25-ready-note{display:flex;gap:12px;align-items:center;margin-top:18px;padding:14px;border-radius:14px;background:#eaf8f2;color:#176b4f}.v25-ready-note span{font-size:11px}.dashboard-configuration{margin-bottom:20px}.configuration-layout{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:center}.configuration-score{width:126px;height:126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#7655ef var(--configuration-percent),#edf0f5 0);position:relative}.configuration-score:after{content:"";position:absolute;inset:11px;background:#fff;border-radius:50%}.configuration-score strong,.configuration-score small{position:relative;z-index:1;display:block;text-align:center}.configuration-score strong{font-size:25px}.configuration-score small{font-size:9px;color:var(--muted)}.configuration-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.configuration-item{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:12px;font-size:11px}.configuration-item.done{background:#eff9f5;border-color:#d6eee4}.configuration-item.optional:not(.done){background:#fafafd}.configuration-item b{font-size:10px}.configuration-item span{color:var(--muted)}
@media(max-width:900px){.v25-onboarding-hero,.configuration-layout{grid-template-columns:1fr}.v25-service-grid,.configuration-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}.configuration-score{margin:auto}}@media(max-width:620px){.v25-service-grid,.configuration-checklist{grid-template-columns:1fr}.v25-wizard-actions,.v25-wizard-actions>div{align-items:stretch;flex-direction:column}.v25-wizard-actions .btn{width:100%}}

/* GestiConnect V26 - formulaires reçus lisibles et connexions simplifiées */
.ff-lead-detail-head{align-items:flex-start}.ff-lead-detail-head h2{margin:8px 0 4px}
.ff-lead-summary-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px;padding:14px;border:1px solid #dfe6ef;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(29,49,73,.04)}
.ff-lead-summary-bar>div{min-width:0;padding:11px 13px;border-radius:12px;background:#f7f9fc}.ff-lead-summary-bar span,.ff-lead-summary-bar strong{display:block}.ff-lead-summary-bar span{margin-bottom:5px;color:#718095;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.ff-lead-summary-bar strong,.ff-lead-summary-bar a{overflow-wrap:anywhere;color:#17263a}
.ff-lead-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.ff-lead-info-card{min-width:0;overflow:hidden}.ff-lead-info-card .card-header>div,.ff-lead-message-card .card-header>div{display:flex;align-items:center;gap:11px}.ff-lead-info-card .card-header h2,.ff-lead-message-card .card-header h2{margin:0 0 3px}.ff-card-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#eaf3ff;font-size:17px}.ff-marketing-card .ff-card-icon{background:#f1edff;color:#5e3dcc}
.ff-lead-field-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important}.ff-lead-field{display:block!important;min-width:0;padding:13px!important;border:1px solid #e5e9f0!important;border-radius:12px;background:#f9fafc}.ff-lead-field-wide{grid-column:1/-1}.ff-lead-field span,.ff-lead-field strong{display:block}.ff-lead-field span{margin-bottom:6px;color:#748297;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.ff-lead-field strong{font-size:13px;line-height:1.5;color:#17263a;overflow-wrap:normal;word-break:normal;white-space:normal}.ff-value-wrap,.ff-value-wrap a{overflow-wrap:anywhere!important;word-break:break-word!important}.ff-lead-message-card,.ff-lead-treatment-card{margin-top:18px}.ff-lead-message-card .lead-full-message{margin:10px 0 0;padding:15px;border-radius:13px;background:#f8fafc;border:1px solid #e5e9f0;font-size:13px}.ff-lead-status-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.ff-lead-status-form .form-group{min-width:230px;margin:0}

.ff-connection-page-head{align-items:flex-start}.ff-connection-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:24px;overflow:hidden}.ff-connection-steps>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:3px 11px;padding:18px;border-right:1px solid #e5e9f0}.ff-connection-steps>div:last-child{border-right:0}.ff-connection-steps span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#173e30;color:#fff;font-size:12px;font-weight:950}.ff-connection-steps strong{font-size:12px}.ff-connection-steps small{color:#6f7b8d;font-size:10px;line-height:1.45}
.ff-connection-section{margin:26px 0}.ff-connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ff-connection-card{min-width:0;padding:17px;display:flex;flex-direction:column;gap:14px;border-top:4px solid #dfe5ec}.ff-connection-card.is-connected{border-top-color:#22a875}.ff-connection-card.is-pending{border-top-color:#e1a524}.ff-connection-card-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:start}.ff-connection-card-head h3{margin:2px 0 5px;font-size:15px}.ff-connection-card-head p{margin:0;color:#68778a;font-size:10px;line-height:1.5}.ff-provider-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#4057ff,#7b52ff);color:#fff;font-size:11px;font-weight:950;letter-spacing:-.02em}.provider-google_business{background:linear-gradient(135deg,#3182f6,#35b879)}.provider-meta{background:linear-gradient(135deg,#405de6,#a436db)}.provider-whatsapp{background:linear-gradient(135deg,#18a86b,#43d497)}.provider-ai_receptionist{background:linear-gradient(135deg,#7850ff,#b44dff)}.provider-website{background:linear-gradient(135deg,#1778b8,#34b8df)}.provider-stripe{background:linear-gradient(135deg,#635bff,#8b82ff)}.provider-x_ads{background:#171a24}.provider-microsoft_ads{background:linear-gradient(135deg,#00a4ef,#7fba00)}
.ff-connection-accounts{display:grid;gap:8px}.ff-connection-account{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border-radius:12px;background:#f7f9fc}.ff-connection-account>div:first-child{min-width:0}.ff-connection-account strong,.ff-connection-account small{display:block;overflow-wrap:anywhere}.ff-connection-account strong{font-size:10px}.ff-connection-account small{margin-top:3px;color:#7a8595;font-size:8px}.ff-connection-account .actions{grid-column:1/-1}.connection-status{display:inline-flex;padding:5px 7px;border-radius:999px;background:#edf1f5;color:#617085;font-size:8px;font-weight:900;white-space:nowrap}.connection-status.status-connected{background:#dcf5e8;color:#176c42}.connection-status.status-authorization_pending,.connection-status.status-assistance_requested{background:#fff0bd;color:#765700}.connection-status.status-error{background:#ffe0e2;color:#9a3039}
.ff-quick-connect-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start;max-width:1050px}.ff-quick-connect-card{overflow:hidden}.ff-quick-connect-card .card-header>div{display:flex;align-items:center;gap:11px}.ff-quick-connect-card .card-header h2{margin:0}.ff-consent-line{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #dfe5ec;border-radius:12px;background:#f9fafc;color:#59677a;font-size:10px;line-height:1.5}.ff-consent-line input{width:auto;margin-top:2px}.ff-quick-connect-help{position:sticky;top:94px}.ff-quick-connect-help h3{font-size:14px;margin:18px 0 8px}.ff-quick-connect-help ul,.ff-quick-connect-help ol{margin:0;padding-left:19px;color:#5f6c7e;font-size:11px;line-height:1.8}
.ff-authorization-card{max-width:950px;overflow:hidden}.ff-authorization-hero{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:center;padding:24px;background:linear-gradient(135deg,#f9fbff,#f6f3ff);border-bottom:1px solid #e3e7ef}.ff-authorization-hero .ff-provider-icon{width:58px;height:58px;border-radius:17px}.ff-authorization-hero h2{margin:8px 0 6px}.ff-authorization-hero p{margin:0;color:#647287;line-height:1.6;font-size:12px}.ff-authorization-progress{display:grid;grid-template-columns:repeat(3,1fr);padding:20px 24px;border-bottom:1px solid #e5e9f0}.ff-authorization-progress>div{position:relative;text-align:center}.ff-authorization-progress>div:not(:last-child):after{content:"";position:absolute;top:17px;left:58%;right:-42%;height:2px;background:#dfe4ec}.ff-authorization-progress span{position:relative;z-index:1;display:grid;place-items:center;width:35px;height:35px;margin:0 auto 7px;border-radius:50%;background:#eef1f5;color:#7a8594;font-weight:900}.ff-authorization-progress .done span{background:#dff6e9;color:#167145}.ff-authorization-progress .current span{background:#7454ed;color:#fff}.ff-authorization-progress b,.ff-authorization-progress small{display:block}.ff-authorization-progress b{font-size:11px}.ff-authorization-progress small{margin-top:3px;color:#7a8595;font-size:9px}.ff-authorization-actions{display:grid;gap:11px;justify-items:start}.btn-lg{padding:14px 20px;font-size:14px}

@media(max-width:1200px){.ff-connection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.ff-lead-detail-grid,.ff-quick-connect-layout{grid-template-columns:1fr}.ff-lead-summary-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-connection-steps{grid-template-columns:1fr}.ff-connection-steps>div{border-right:0;border-bottom:1px solid #e5e9f0}.ff-quick-connect-help{position:static}}
@media(max-width:620px){.ff-lead-summary-bar,.ff-lead-field-list,.ff-connection-grid{grid-template-columns:1fr!important}.ff-lead-field-wide{grid-column:auto}.ff-lead-status-form{display:grid}.ff-lead-status-form .form-group{min-width:0}.ff-connection-card-head{grid-template-columns:46px minmax(0,1fr)}.ff-connection-card-head>.badge{grid-column:1/-1;width:max-content}.ff-authorization-progress{grid-template-columns:1fr;gap:10px}.ff-authorization-progress>div:not(:last-child):after{display:none}}
.ff-simple-connect-banner{margin-bottom:18px;border-color:#cfdcf2;background:linear-gradient(135deg,#f8fbff,#f7f4ff)}.ff-simple-connect-banner>.card-body{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:15px;align-items:center}.ff-simple-connect-banner h3{margin:7px 0 5px;font-size:16px}.ff-simple-connect-banner p{margin:0;color:#627186;font-size:11px;line-height:1.55}.ff-advanced-connection>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}.ff-advanced-connection>summary::-webkit-details-marker{display:none}.ff-advanced-connection>summary span{color:#748196;font-size:10px}.ff-advanced-connection[open]>summary{border-bottom:1px solid #e5e9f0;background:#f8fafc}
@media(max-width:760px){.ff-simple-connect-banner>.card-body{grid-template-columns:48px minmax(0,1fr)}.ff-simple-connect-banner .btn{grid-column:1/-1}.ff-advanced-connection>summary{align-items:flex-start;flex-direction:column}}

/* GestiConnect V39 — packs métiers sectoriels */
.nav-pack-title{margin:10px 10px 4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:7px;align-items:center;color:#8fa39a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.nav-pack-title:first-of-type{margin-top:5px;border-top:0}
.nav-items .nav-pack-link{padding-left:28px;font-size:12px}
.sector-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sector-pack-card .card-header h2{display:flex;align-items:center;gap:9px}
.sector-pack-icon,.sector-pack-link-icon{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#eef7f1;color:#163b2d}
.sector-pack-icon{width:34px;height:34px;font-size:17px}
.sector-pack-links{display:grid;gap:9px}
.sector-pack-link{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid #dfe8e2;border-radius:13px;background:#fff;color:#1d2b25;transition:.18s ease}
.sector-pack-link:hover{transform:translateY(-1px);border-color:#93b7a3;box-shadow:0 8px 24px rgba(22,59,45,.08)}
.sector-pack-link-icon{width:38px;height:38px;font-size:17px}
.sector-pack-link strong{display:block;font-size:13px}.sector-pack-link small{display:block;margin-top:3px;color:#78847e;font-size:10px}.sector-pack-arrow{font-size:20px;color:#779184}
.sector-record-form{max-width:980px}.sector-record-actions{display:flex;justify-content:space-between;gap:14px;align-items:center}.sector-record-actions>div{display:flex;gap:9px}.sector-record-table td{vertical-align:middle}.back-link{display:inline-block;margin-bottom:7px;color:#526b60;font-size:12px;font-weight:800}.empty-state{text-align:center;padding:34px 16px}.empty-state strong{display:block;font-size:17px}.empty-state p{color:#748078;margin:8px 0 16px}
@media(max-width:900px){.sector-pack-grid{grid-template-columns:1fr}}
@media(max-width:600px){.sector-record-actions{align-items:stretch;flex-direction:column-reverse}.sector-record-actions>div{display:grid}.sector-pack-link{grid-template-columns:34px 1fr auto;padding:10px}}

/* GestiConnect V48 — cases à cocher harmonisées et configuration simplifiée */
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;flex:0 0 auto;width:18px;height:18px;margin:0;vertical-align:middle;accent-color:#16734b}
.check-card,.activity-check,.sector-main-toggle,.module-check,.module-group-head:has(input[type="checkbox"]),.form-group>label:has(>input[type="checkbox"]){display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;justify-content:start;gap:9px;text-align:left;line-height:1.4}
.check-card input,.activity-check input,.sector-main-toggle input,.module-check input,.module-group-head:has(input[type="checkbox"]) input,.form-group>label:has(>input[type="checkbox"])>input{width:18px;height:18px;margin:1px 0 0}
.module-group-head:has(input[type="checkbox"]){grid-template-columns:minmax(0,1fr) 20px}
.module-group-head:has(input[type="checkbox"]) input{grid-column:2;grid-row:1}
.module-group-head:has(input[type="checkbox"])>div{grid-column:1;grid-row:1}
.activity-check,.check-card,.module-check{min-height:42px;border-radius:11px}
.activity-check:has(input:checked),.check-card:has(input:checked),.module-check:has(input:checked){border-color:#79aa90;background:#edf8f2;color:#174e36}
.essential-module-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.essential-module-summary span{position:relative;padding:12px 12px 12px 39px;border:1px solid #dbe8e0;border-radius:12px;background:#f8fcf9;color:#214638;font-size:12px;font-weight:850}
.essential-module-summary span:before{content:"✓";position:absolute;left:13px;top:10px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#d9f3e4;color:#147048;font-size:12px}
.advanced-module-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px;padding:15px;border:1px dashed #b9c8c0;border-radius:13px;background:#f5f7f6}
.advanced-module-callout p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
@media(max-width:800px){.essential-module-summary{grid-template-columns:1fr 1fr}.advanced-module-callout{align-items:stretch;flex-direction:column}}
@media(max-width:520px){.essential-module-summary{grid-template-columns:1fr}}
.check-grid>label:has(>input[type="checkbox"]),.check-grid>label:has(>input[type="radio"]),.accept-note,.privacy,.subscription-transfer-note,.selection-row,.ff-consent-line,.pa-check,.pa-feature-check,.pa-message-form>label:has(>input[type="checkbox"]){display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;justify-content:start;gap:9px;text-align:left;line-height:1.4}
.check-grid>label>input[type="checkbox"],.check-grid>label>input[type="radio"],.accept-note>input,.privacy>input,.subscription-transfer-note>input,.selection-row>input,.ff-consent-line>input,.pa-check>input,.pa-feature-check>input,.pa-message-form>label>input{width:18px!important;height:18px!important;margin:1px 0 0!important}

/* GestiConnect V50 — inscription épurée */
.signup-page{min-height:100vh;background:linear-gradient(145deg,#f4f8f6 0%,#f7f8fb 55%,#fff8ef 100%);color:#122b22}
.signup-header{width:min(1120px,calc(100% - 36px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px 0}
.signup-brand{display:flex;align-items:center;gap:11px;color:#163b2d;text-decoration:none;font-size:17px;font-weight:900;letter-spacing:-.02em}
.signup-brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#163b2d;color:#fff;font-size:13px;box-shadow:0 10px 24px rgba(22,59,45,.18)}
.signup-login-link{color:#163b2d;text-decoration:none;font-size:13px;font-weight:850;padding:10px 15px;border:1px solid #cddbd4;border-radius:11px;background:rgba(255,255,255,.74)}
.signup-login-link:hover{background:#fff;border-color:#9bb7aa}
.signup-main{width:min(620px,calc(100% - 32px));margin:34px auto 72px}
.signup-card{overflow:hidden;border:1px solid #d9e3de;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 26px 70px rgba(26,52,42,.12)}
.signup-card-head{padding:30px 34px 24px;border-bottom:1px solid #e5ebe8;background:linear-gradient(135deg,#fff,#f7fbf9)}
.signup-kicker{display:block;margin-bottom:7px;color:#c26b08;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.signup-card-head h1{margin:0;color:#14382b;font-size:30px;line-height:1.12;letter-spacing:-.04em}
.signup-card-body{padding:30px 34px 34px}
.signup-form{display:grid;gap:17px}
.signup-field{display:grid;gap:7px;min-width:0}
.signup-field label{color:#243c33;font-size:12px;font-weight:850}
.signup-field input{width:100%;min-height:50px;box-sizing:border-box;border:1px solid #cad8d1;border-radius:13px;background:#fff;padding:0 14px;color:#142d24;font:inherit;font-size:14px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.signup-field input::placeholder{color:#97a39e}
.signup-field input:hover{border-color:#a9bdb4}
.signup-field input:focus{border-color:#2f795a;box-shadow:0 0 0 4px rgba(47,121,90,.11);background:#fff}
.signup-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.signup-terms{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin-top:1px;padding:13px 14px;border:1px solid #e0e7e3;border-radius:13px;background:#f9fbfa;color:#53635c;font-size:11px;line-height:1.5;cursor:pointer}
.signup-terms input{width:18px;height:18px;margin:1px 0 0;accent-color:#1f6b4c}
.signup-terms a{color:#1d6549;font-weight:800;text-decoration:none}
.signup-terms a:hover{text-decoration:underline}
.signup-submit{width:100%;min-height:52px;border:0;border-radius:13px;background:#163b2d;color:#fff;font:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 12px 24px rgba(22,59,45,.2);transition:transform .16s,background .16s,box-shadow .16s}
.signup-submit:hover{background:#1d513c;transform:translateY(-1px);box-shadow:0 15px 29px rgba(22,59,45,.24)}
.signup-submit:active{transform:none}
@media(max-width:640px){.signup-header{padding:17px 0}.signup-main{margin-top:18px}.signup-card{border-radius:19px}.signup-card-head{padding:24px 21px 20px}.signup-card-head h1{font-size:25px}.signup-card-body{padding:22px 21px 25px}.signup-password-grid{grid-template-columns:1fr}.signup-login-link{padding:9px 12px}.signup-brand-mark{width:38px;height:38px}}
.legal-public-page{min-height:100vh;background:#f4f7f5;color:#163b2d}.legal-public-card{width:min(820px,calc(100% - 32px));margin:24px auto 70px;padding:36px;border:1px solid #dbe5e0;border-radius:22px;background:#fff;box-shadow:0 22px 60px rgba(22,59,45,.09)}.legal-public-card h1{margin:0 0 22px;font-size:31px}.legal-public-card h2{margin:25px 0 7px;font-size:17px}.legal-public-card p{margin:0;color:#52645c;line-height:1.7}@media(max-width:640px){.legal-public-card{padding:24px 20px}.legal-public-card h1{font-size:25px}}

/* GestiConnect V63 - oeil sur les champs mot de passe */
.password-eye-field{position:relative;width:100%}.password-eye-field>input{width:100%;padding-right:52px!important}.password-eye-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:#526579;display:grid;place-items:center;cursor:pointer;font-size:18px;line-height:1}.password-eye-toggle:hover,.password-eye-toggle:focus-visible{background:#eef5f1;color:#123f31;outline:2px solid rgba(22,82,62,.18)}.password-eye-toggle.is-visible{color:#123f31;background:#e8f3ed}
.review-link-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.review-link-actions a{flex:1;min-width:190px;text-align:center}.review-success-box{padding:14px 16px;border:1px solid #a7d7bd;border-radius:14px;background:#effaf4;color:#174f37;margin-bottom:16px}.review-default-note{margin:0 0 12px;color:#68786f;font-size:13px}.portal-review-form textarea{min-height:140px}.signature-page-note{font-size:9px;color:#33443d}

/* GestiConnect V91-108 — drill-down Google Ads */
.gc-ads-row-hint{margin:7px 0 10px;color:#6d7b74;font-size:11px;font-weight:750}
.gc-ads-drilldown-table tbody tr.gc-ads-clickable-row{cursor:pointer;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}
.gc-ads-drilldown-table tbody tr.gc-ads-clickable-row:hover{background:#eef8f2!important;box-shadow:inset 4px 0 0 #21704f}
.gc-ads-drilldown-table tbody tr.gc-ads-clickable-row:focus-visible{outline:3px solid rgba(33,112,79,.22);outline-offset:-3px;background:#f0f9f4}
.gc-ads-drilldown-table tbody tr.gc-ads-clickable-row td:first-child:after{content:"Voir détails";display:inline-flex;margin-left:8px;padding:2px 7px;border-radius:999px;background:#edf5f0;color:#376453;font-size:8px;font-weight:900;vertical-align:middle;opacity:0;transform:translateX(-4px);transition:.16s}
.gc-ads-drilldown-table tbody tr.gc-ads-clickable-row:hover td:first-child:after,.gc-ads-drilldown-table tbody tr.gc-ads-clickable-row:focus-visible td:first-child:after{opacity:1;transform:none}
body.gc-ads-modal-open{overflow:hidden}
.gc-ads-detail-modal[hidden]{display:none!important}.gc-ads-detail-modal{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:minmax(0,1fr) min(760px,94vw)}
.gc-ads-detail-backdrop{grid-column:1/-1;grid-row:1;position:absolute;inset:0;background:rgba(8,28,21,.48);backdrop-filter:blur(2px)}
.gc-ads-detail-panel{grid-column:2;grid-row:1;position:relative;z-index:1;height:100vh;overflow:auto;background:#f6f9f7;box-shadow:-24px 0 70px rgba(10,36,27,.18);animation:gcAdsPanelIn .18s ease-out}
@keyframes gcAdsPanelIn{from{transform:translateX(24px);opacity:.5}to{transform:none;opacity:1}}
.gc-ads-detail-panel>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px 26px 20px;border-bottom:1px solid #dce8e1;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.gc-ads-detail-panel h2{margin:5px 0 5px;color:#123d2f;font-size:24px;line-height:1.15}.gc-ads-detail-panel header p{margin:0;color:#728078;font-size:11px}.gc-ads-detail-kicker{color:#2c7657;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.gc-ads-detail-close{flex:0 0 auto;width:42px;height:42px;border:1px solid #d6e2db;border-radius:12px;background:#fff;color:#315347;font-size:25px;line-height:1;cursor:pointer}.gc-ads-detail-close:hover{background:#eef7f2}
.gc-ads-detail-body{display:grid;gap:16px;padding:20px 26px 34px}.gc-ads-detail-body>section{padding:18px;border:1px solid #dce8e1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(22,59,45,.04)}.gc-ads-detail-body h3{margin:0 0 13px;color:#173c2f;font-size:14px}
.gc-ads-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.gc-ads-detail-metrics article{min-width:0;padding:12px;border:1px solid #e1ebe5;border-radius:12px;background:#f8fbf9}.gc-ads-detail-metrics span,.gc-ads-detail-metrics strong{display:block}.gc-ads-detail-metrics span{color:#718078;font-size:9px;font-weight:850;text-transform:uppercase}.gc-ads-detail-metrics strong{margin-top:5px;color:#123d2f;font-size:17px;overflow-wrap:anywhere}
.gc-ads-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid #e2ebe6;border-radius:12px;overflow:hidden;background:#e2ebe6}.gc-ads-detail-fields>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:12px;padding:10px 12px;background:#fff}.gc-ads-detail-fields span{color:#718078;font-size:10px}.gc-ads-detail-fields strong{color:#203d33;font-size:10px;text-align:right;overflow-wrap:anywhere}
.gc-ads-advice-list{display:grid;gap:9px}.gc-ads-advice{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px;border:1px solid #e2e9e5;border-radius:12px;background:#f9fbfa}.gc-ads-advice-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#edf2ef}.gc-ads-advice-icon:before{content:"i";font-size:12px;font-weight:950}.gc-ads-advice strong{display:block;color:#244237;font-size:11px}.gc-ads-advice p{margin:3px 0 0;color:#68766f;font-size:10px;line-height:1.48}.gc-ads-advice.is-good{border-color:#c8e4d4;background:#f3fbf6}.gc-ads-advice.is-good .gc-ads-advice-icon{background:#dff4e7;color:#187046}.gc-ads-advice.is-good .gc-ads-advice-icon:before{content:"✓"}.gc-ads-advice.is-warning{border-color:#ead8ae;background:#fffaf0}.gc-ads-advice.is-warning .gc-ads-advice-icon{background:#fff0c9;color:#886000}.gc-ads-advice.is-warning .gc-ads-advice-icon:before{content:"!"}.gc-ads-advice.is-danger{border-color:#edc8cb;background:#fff6f6}.gc-ads-advice.is-danger .gc-ads-advice-icon{background:#f9dfe1;color:#a0323c}.gc-ads-advice.is-danger .gc-ads-advice-icon:before{content:"!"}.gc-ads-detail-note{margin:12px 0 0;padding-top:10px;border-top:1px solid #e6ece8;color:#829087;font-size:9px;line-height:1.5}
@media(max-width:760px){.gc-ads-detail-modal{grid-template-columns:1fr}.gc-ads-detail-panel{grid-column:1;width:100vw}.gc-ads-detail-panel>header{padding:18px}.gc-ads-detail-body{padding:14px 14px 28px}.gc-ads-detail-metrics{grid-template-columns:1fr 1fr}.gc-ads-detail-fields{grid-template-columns:1fr}.gc-ads-detail-fields>div{grid-template-columns:1fr}.gc-ads-detail-fields strong{text-align:left}.gc-ads-drilldown-table tbody tr.gc-ads-clickable-row td:first-child:after{display:none}}

/* GestiConnect V91-109 — Centre d'optimisation Google Ads */
.gc-ads-opt-center{margin:0 0 22px;border:1px solid #d9e7df;border-radius:22px;background:#f7faf8;box-shadow:0 14px 40px rgba(22,59,45,.07);overflow:hidden;color:#173d30}
.gc-ads-opt-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px;border-bottom:1px solid #deebe4;background:linear-gradient(135deg,#fff,#f2f8f5)}
.gc-ads-opt-kicker{display:block;margin-bottom:5px;color:#2f795a;font-size:9px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.gc-ads-opt-head h2{margin:0;color:#123c2e;font-size:25px;letter-spacing:-.03em}.gc-ads-opt-head p{margin:7px 0 0;color:#6c7d74;font-size:11px;line-height:1.5}.gc-ads-opt-refresh{flex:0 0 auto;padding:10px 14px;border:1px solid #cfe0d6;border-radius:11px;background:#fff;color:#1d5a42;font-weight:900;cursor:pointer}.gc-ads-opt-refresh:hover{background:#eef8f2}
.gc-ads-opt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 22px 0}.gc-ads-opt-kpis article{display:grid;align-content:start;gap:4px;min-height:112px;padding:16px;border:1px solid #dce9e2;border-radius:15px;background:#fff}.gc-ads-opt-kpis span{color:#708077;font-size:9px;font-weight:900;text-transform:uppercase}.gc-ads-opt-kpis strong{color:#123c2e;font-size:26px;line-height:1}.gc-ads-opt-kpis strong small{margin-left:2px;color:#87968e;font-size:11px}.gc-ads-opt-kpis em{margin-top:5px;color:#738078;font-size:10px;font-style:normal;line-height:1.4}.gc-ads-opt-score{background:linear-gradient(145deg,#eff9f3,#fff)!important;border-color:#c8e3d4!important}.gc-ads-opt-score strong{color:#176b47!important}
.gc-ads-opt-quick{display:flex;flex-wrap:wrap;gap:8px;padding:14px 22px 18px}.gc-ads-opt-quick button{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #d5e2dc;border-radius:999px;background:#fff;color:#466057;font-size:10px;font-weight:900;cursor:pointer}.gc-ads-opt-quick button b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#edf3ef;color:#315347;font-size:9px}.gc-ads-opt-quick button.is-active{border-color:#1f6f50;background:#1f6f50;color:#fff}.gc-ads-opt-quick button.is-active b{background:rgba(255,255,255,.18);color:#fff}
.gc-ads-opt-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:14px;padding:0 22px 20px}.gc-ads-opt-actions,.gc-ads-opt-side>section{border:1px solid #dce8e1;border-radius:16px;background:#fff}.gc-ads-opt-actions{overflow:hidden}.gc-ads-opt-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 17px;border-bottom:1px solid #e4ece7}.gc-ads-opt-section-head h3,.gc-ads-opt-side h3{margin:0;color:#173d30;font-size:14px}.gc-ads-opt-section-head p{margin:3px 0 0;color:#79877f;font-size:9px}.gc-ads-opt-section-head>span{padding:5px 8px;border-radius:999px;background:#eef4f0;color:#4f675d;font-size:9px;font-weight:900}.gc-ads-opt-action-list{display:grid}
.gc-ads-opt-action{display:grid;grid-template-columns:120px minmax(0,1fr) 110px auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid #e8eeea}.gc-ads-opt-action:last-child{border-bottom:0}.gc-ads-opt-action.is-high{background:#fff8f8}.gc-ads-opt-action.is-medium{background:#fffdf7}.gc-ads-opt-action.is-good{background:#f7fcf8}.gc-ads-opt-priority{display:grid;gap:4px}.gc-ads-opt-priority span{width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;background:#edf2ef;color:#52665d;font-size:8px;font-weight:950;text-transform:uppercase}.gc-ads-opt-action.is-high .gc-ads-opt-priority span{background:#f8dfe1;color:#9d3038}.gc-ads-opt-action.is-medium .gc-ads-opt-priority span{background:#fff0cb;color:#8a6307}.gc-ads-opt-action.is-good .gc-ads-opt-priority span{background:#dff3e7;color:#1f704a}.gc-ads-opt-priority small{color:#7d8b84;font-size:8px;font-weight:800}.gc-ads-opt-action-main h4{margin:0 0 4px;color:#213f34;font-size:11px}.gc-ads-opt-action-main>strong{display:block;color:#315347;font-size:10px}.gc-ads-opt-action-main p{margin:4px 0 0;color:#718078;font-size:9px;line-height:1.45}.gc-ads-opt-action-metric{color:#173d30;font-size:11px;font-weight:950;text-align:right}.gc-ads-opt-action-buttons{display:flex;flex-direction:column;gap:5px}.gc-ads-opt-action-buttons button{white-space:nowrap;padding:7px 9px;border:1px solid #cfddd6;border-radius:8px;background:#fff;color:#2b604a;font-size:8px;font-weight:900;cursor:pointer}.gc-ads-opt-action-buttons button:hover{background:#eff7f2}.gc-ads-opt-action-buttons .is-done{border-color:#b9dec9;color:#1d6c48}.gc-ads-opt-action-buttons .is-ignore{border-color:#e2e5e3;color:#738078}
.gc-ads-opt-side{display:grid;align-content:start;gap:14px}.gc-ads-opt-side>section{padding:15px}.gc-ads-opt-side h3{margin-bottom:10px}.gc-ads-opt-mini{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;padding:10px 0;border:0;border-bottom:1px solid #e8eeea;background:transparent;text-align:left;cursor:pointer}.gc-ads-opt-mini:last-child{border-bottom:0}.gc-ads-opt-mini span{overflow:hidden;color:#385348;font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.gc-ads-opt-mini strong{color:#173d30;font-size:9px}.gc-ads-opt-mini.is-top:hover span{color:#1b724b}.gc-ads-opt-mini.is-flop:hover span{color:#9c3c43}.gc-ads-opt-empty{margin:0;color:#819087;font-size:9px}.gc-ads-opt-empty-state{padding:28px;text-align:center}.gc-ads-opt-empty-state strong{display:block;color:#2e4a3f;font-size:12px}.gc-ads-opt-empty-state p{margin:5px auto 0;max-width:480px;color:#7d8983;font-size:10px;line-height:1.5}
.gc-ads-opt-footer{display:flex;align-items:center;gap:10px;padding:11px 22px;border-top:1px solid #deebe4;background:#f2f7f4}.gc-ads-opt-footer span{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#e3f0e8;color:#2f6b50;font-size:8px;font-weight:950;text-transform:uppercase}.gc-ads-opt-footer p{margin:0;color:#718078;font-size:9px;line-height:1.45}
@media(max-width:1180px){.gc-ads-opt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gc-ads-opt-grid{grid-template-columns:1fr}.gc-ads-opt-side{grid-template-columns:1fr 1fr}.gc-ads-opt-action{grid-template-columns:110px minmax(0,1fr) 100px}.gc-ads-opt-action-buttons{grid-column:2/-1;flex-direction:row;justify-content:flex-end}}
@media(max-width:760px){.gc-ads-opt-center{border-radius:16px}.gc-ads-opt-head{padding:18px;flex-direction:column}.gc-ads-opt-kpis{grid-template-columns:1fr 1fr;padding:14px 14px 0}.gc-ads-opt-kpis article{min-height:96px;padding:13px}.gc-ads-opt-kpis strong{font-size:21px}.gc-ads-opt-quick{padding:12px 14px 15px;overflow:auto;flex-wrap:nowrap}.gc-ads-opt-quick button{flex:0 0 auto}.gc-ads-opt-grid{padding:0 14px 14px}.gc-ads-opt-side{grid-template-columns:1fr}.gc-ads-opt-action{grid-template-columns:1fr;gap:8px;padding:13px}.gc-ads-opt-action-metric{text-align:left}.gc-ads-opt-action-buttons{grid-column:auto;justify-content:flex-start;flex-wrap:wrap}.gc-ads-opt-footer{align-items:flex-start;padding:10px 14px}}

/* GestiConnect V91-110 — optimisation Google Ads séparée, plus explicite */
.gc-ads-opt-hidden-by-mode{display:none!important}
.gc-ads-opt-center.is-standalone{margin-top:0}
.gc-ads-opt-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.gc-ads-opt-back{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #cfe0d6;border-radius:11px;background:#eef7f2;color:#1d5a42;font-size:10px;font-weight:950;text-decoration:none}
.gc-ads-opt-back:hover{background:#e2f1e9}
.gc-ads-opt-how{margin:16px 22px 0;padding:16px 18px;border:1px solid #d9e7df;border-radius:16px;background:#fff}
.gc-ads-opt-how-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.gc-ads-opt-how-title span{color:#173d30;font-size:15px;font-weight:950}.gc-ads-opt-how-title strong{padding:5px 8px;border-radius:999px;background:#edf5f0;color:#426055;font-size:9px}
.gc-ads-opt-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gc-ads-opt-how-grid article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px;border:1px solid #e1ebe5;border-radius:12px;background:#f9fbfa}.gc-ads-opt-how-grid article>b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#1f6f50;color:#fff;font-size:13px}.gc-ads-opt-how-grid strong{display:block;color:#214438;font-size:11px}.gc-ads-opt-how-grid p{margin:4px 0 0;color:#66776f;font-size:10px;line-height:1.5}
.gc-ads-opt-explainer{display:flex;flex-wrap:wrap;gap:8px 14px;margin:14px 22px 0;padding:12px 14px;border:1px dashed #ceded5;border-radius:12px;background:#fbfdfc;color:#607269;font-size:9px;line-height:1.4}.gc-ads-opt-explainer>strong{width:100%;color:#264b3d;font-size:11px}.gc-ads-opt-explainer span b{color:#1f684c}
.gc-ads-opt-side-help{margin:-4px 0 8px;color:#7c8a83;font-size:9px;line-height:1.45}
.gc-ads-opt-action-main h4{font-size:13px;line-height:1.3}.gc-ads-opt-action-main>strong{font-size:11px}.gc-ads-opt-explain{display:grid;gap:6px;margin-top:7px}.gc-ads-opt-explain p{margin:0!important;color:#64756d!important;font-size:10.5px!important;line-height:1.55!important}.gc-ads-opt-explain p b{color:#294c3f}.gc-ads-opt-action-metric{font-size:12px}.gc-ads-opt-action-buttons button{font-size:9px;padding:8px 10px}
.gc-ads-opt-section-head h3{font-size:16px}.gc-ads-opt-section-head p{font-size:10px;line-height:1.45;max-width:720px}.gc-ads-opt-side h3{font-size:15px}
.gc-ads-opt-kpis span{font-size:10px}.gc-ads-opt-kpis em{font-size:10.5px;line-height:1.45}
.gc-ads-opt-quick button{font-size:10.5px}

/* Détails : rendre Analyse & conseils nettement plus lisible */
.gc-ads-advice-section h3{font-size:19px!important;line-height:1.2;margin-bottom:14px!important}
.gc-ads-advice{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px}
.gc-ads-advice-icon{width:34px;height:34px;border-radius:10px}.gc-ads-advice-icon:before{font-size:14px}
.gc-ads-advice strong{font-size:13px;line-height:1.35}
.gc-ads-advice p{font-size:12px;line-height:1.58;margin-top:5px}
.gc-ads-detail-note{font-size:10.5px;line-height:1.55}

@media(max-width:900px){.gc-ads-opt-how-grid{grid-template-columns:1fr}.gc-ads-opt-head-actions{justify-content:flex-start}.gc-ads-opt-explainer{display:grid;gap:6px}}
@media(max-width:760px){.gc-ads-opt-how{margin:12px 14px 0;padding:13px}.gc-ads-opt-how-title{align-items:flex-start;flex-direction:column}.gc-ads-opt-explainer{margin:12px 14px 0}.gc-ads-advice-section h3{font-size:17px!important}.gc-ads-advice strong{font-size:12.5px}.gc-ads-advice p{font-size:11.5px}}

/* GestiConnect V91-111 — filtres de période du Centre d’optimisation Google Ads */
.gc-ads-opt-period{margin:18px 0 20px;padding:18px 20px;border:1px solid #d8e8df;border-radius:18px;background:#fff}.gc-ads-opt-period-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px}.gc-ads-opt-period-head>div{display:flex;flex-direction:column;gap:3px}.gc-ads-opt-period-head span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64786e}.gc-ads-opt-period-head strong{font-size:21px;color:#173f31}.gc-ads-opt-period-head small{max-width:650px;font-size:13px;line-height:1.45;color:#667a71;text-align:right}.gc-ads-opt-period-presets{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.gc-ads-opt-period-chip{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid #cfe0d7;border-radius:999px;background:#fff;color:#234a3c;text-decoration:none;font-weight:750;font-size:13px}.gc-ads-opt-period-chip:hover{border-color:#1d7758;background:#f4fbf7}.gc-ads-opt-period-chip.is-active{background:#1f7d5c;border-color:#1f7d5c;color:#fff;box-shadow:0 4px 12px rgba(31,125,92,.16)}.gc-ads-opt-custom-period{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding-top:13px;border-top:1px dashed #d8e8df}.gc-ads-opt-custom-period label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#51685d}.gc-ads-opt-custom-period input[type=date]{min-height:40px;padding:0 11px;border:1px solid #bfd5ca;border-radius:10px;background:#fff;color:#173f31;font:inherit}.gc-ads-opt-custom-period button{min-height:40px;padding:0 18px;border:0;border-radius:10px;background:#173f31;color:#fff;font-weight:800;cursor:pointer}.gc-ads-opt-custom-period button:hover{background:#1f7d5c}@media(max-width:900px){.gc-ads-opt-period-head{align-items:flex-start;flex-direction:column;gap:6px}.gc-ads-opt-period-head small{text-align:left}.gc-ads-opt-period-presets{gap:7px}.gc-ads-opt-period-chip{font-size:12px;padding:0 12px}.gc-ads-opt-custom-period{align-items:stretch}.gc-ads-opt-custom-period label{flex:1 1 150px}.gc-ads-opt-custom-period button{width:100%}}
\n\n/* GestiConnect V91-187 - correctif affichage Google Ads detail / optimisation */\n#gc-ads-detail-modal.gc-ads-detail-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid!important;grid-template-columns:minmax(0,1fr) min(780px,95vw)!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;background:transparent!important}\n#gc-ads-detail-modal.gc-ads-detail-modal[hidden]{display:none!important}\n#gc-ads-detail-modal .gc-ads-detail-backdrop{position:absolute!important;inset:0!important;background:rgba(8,28,21,.52)!important}\n#gc-ads-detail-modal .gc-ads-detail-panel{grid-column:2!important;position:relative!important;z-index:2!important;width:100%!important;height:100vh!important;max-height:100vh!important;overflow:auto!important;background:#f6f9f7!important}\n#gc-ads-detail-modal .gc-ads-detail-body{display:grid!important;gap:16px!important;padding:20px 26px 34px!important}\n#gc-ads-detail-modal .gc-ads-detail-body>section{display:block!important;padding:18px!important;border:1px solid #dce8e1!important;border-radius:16px!important;background:#fff!important}\n#gc-ads-optimization-center.gc-ads-opt-center{display:block!important;width:auto!important;max-width:none!important;margin:0 0 22px!important;border:1px solid #d9e7df!important;border-radius:22px!important;background:#f7faf8!important;overflow:hidden!important}\n#gc-ads-optimization-center .gc-ads-opt-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}\n#gc-ads-optimization-center .gc-ads-opt-grid{display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)!important;gap:14px!important}\n#gc-ads-optimization-center .gc-ads-opt-action{display:grid!important;grid-template-columns:120px minmax(0,1fr) 110px auto!important;gap:14px!important;align-items:center!important}\n@media(max-width:1180px){#gc-ads-optimization-center .gc-ads-opt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}#gc-ads-optimization-center .gc-ads-opt-grid{grid-template-columns:1fr!important}}\n@media(max-width:760px){#gc-ads-detail-modal.gc-ads-detail-modal{grid-template-columns:1fr!important}#gc-ads-detail-modal .gc-ads-detail-panel{grid-column:1!important;width:100vw!important}#gc-ads-optimization-center .gc-ads-opt-kpis{grid-template-columns:1fr 1fr!important}#gc-ads-optimization-center .gc-ads-opt-action{grid-template-columns:1fr!important}}\n
/* GestiConnect V91-190 - fiches conversion Google Ads lisibles + aucune donnée agrégée répétée */
.gc-conversion-detail-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.gc-conversion-detail-card{min-width:0!important;overflow:hidden!important}
.gc-conversion-detail-card .card-header{padding:18px 24px!important}
.gc-conversion-detail-card .card-header h2{font-size:18px!important;line-height:1.25!important;margin:0!important}
.gc-conversion-detail-card .card-body{padding:20px 24px 24px!important;min-width:0!important}
.gc-conversion-detail-list{
  display:grid!important;
  grid-template-columns:minmax(135px,38%) minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:12px!important;
  align-items:start!important;
  margin:0!important;
}
.gc-conversion-detail-list dt{
  min-width:0!important;
  margin:0!important;
  color:#65736d!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.42!important;
}
.gc-conversion-detail-list dd{
  min-width:0!important;
  margin:0!important;
  color:#29443a!important;
  font-size:13px!important;
  line-height:1.48!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.gc-conversion-detail-list dd strong{display:block!important;min-width:0!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.gc-conversion-detail-list dd small,
.gc-conversion-detail-list .gc-detail-value small{
  display:block!important;
  margin:4px 0 0!important;
  color:#66776f!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
.gc-conversion-detail-list .gc-detail-value>strong{font-size:13.5px!important;line-height:1.4!important}
.gc-conversion-value-list .gc-detail-value>strong{font-size:14px!important;color:#173f31!important}
.gc-conversion-detail-card .break-word{overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important}
@media(max-width:1180px){
  .gc-conversion-detail-grid{grid-template-columns:1fr 1fr!important}
  .gc-conversion-detail-grid>.gc-conversion-detail-card:last-child{grid-column:1/-1!important}
}
@media(max-width:760px){
  .gc-conversion-detail-grid{grid-template-columns:1fr!important}
  .gc-conversion-detail-grid>.gc-conversion-detail-card:last-child{grid-column:auto!important}
  .gc-conversion-detail-list{grid-template-columns:1fr!important;row-gap:5px!important}
  .gc-conversion-detail-list dt{margin-top:8px!important}
  .gc-conversion-detail-list dd{padding-bottom:6px!important;border-bottom:1px solid #edf2ef!important}
}
