:root{
  --abysse:#0B3A4A; --abysse2:#0E4A5C; --lagon:#1B7F8C;
  --corail:#E15B41; --corail-dk:#C8492F;
  --ambre:#C98A2B; --vert:#2E7D5B;
  --sel:#F4F2EC; --ecume:#FFFFFF; --encre:#15262C; --brume:#5E727A;
  --ligne:#E6E3D8; --ligne2:#EFEDE4;
  --serif:'Fraunces',Georgia,'Iowan Old Style','Times New Roman',serif;
  --sans:'Manrope',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --radius:10px;
  --sh:0 1px 2px rgba(11,58,74,.05),0 6px 18px rgba(11,58,74,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
button{cursor:pointer; border:none; background:none; font-family:inherit}
input,textarea{font-family:inherit}
.gw-mono{font-family:var(--mono); font-size:13px; letter-spacing:-.2px}
[data-lucide]{display:inline-flex}

/* ---- sidebar ---- */
.gw-side{
  width:248px; flex-shrink:0; background:var(--abysse); color:#DCE7EA;
  display:flex; flex-direction:column; padding:22px 16px;
  position:sticky; top:0; height:100vh;
}
.gw-brand{display:flex; align-items:center; gap:11px; padding:4px 6px 22px}
.gw-logo{
  width:38px; height:38px; border-radius:11px; background:var(--corail);
  color:#fff; font-family:var(--serif); font-size:22px; font-weight:700;
  display:grid; place-items:center; box-shadow:0 4px 12px rgba(225,91,65,.35);
}
.gw-brand-name{font-family:var(--serif); font-size:18px; color:#fff; line-height:1}
.gw-brand-sub{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#7FA3AD; margin-top:3px}
.gw-nav{display:flex; flex-direction:column; gap:4px; flex:1}
.gw-navitem{
  display:flex; align-items:center; gap:11px; width:100%; text-align:left;
  padding:11px 13px; border-radius:10px; color:#A9C3CA; font-size:14px;
  transition:background .15s,color .15s;
}
.gw-navitem span{flex:1}
.gw-navitem svg{width:18px;height:18px}
.gw-navitem:hover{background:rgba(255,255,255,.06); color:#EAF2F4}
.gw-navitem.is-on{background:var(--abysse2); color:#fff}
.gw-navitem--mini{padding:8px 13px; font-size:12.5px; color:#7FA3AD; margin-bottom:2px}
.gw-navitem--mini svg{width:15px; height:15px}
.gw-navitem--mini:hover{color:#EAF2F4}
.gw-tech-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:16px; margin-top:6px}
.gw-tech-card{display:flex; gap:14px; background:#fff; border:1px solid var(--ligne); border-left:3px solid var(--t); border-radius:14px; padding:18px 20px}
.gw-tech-ic{flex:0 0 auto; width:42px; height:42px; border-radius:11px; background:var(--ecume); color:var(--t); display:flex; align-items:center; justify-content:center}
.gw-tech-ic svg{width:20px; height:20px}
.gw-tech-body{min-width:0}
.gw-tech-titre{font-weight:700; font-size:15px; color:var(--encre); margin-bottom:5px}
.gw-tech-desc{font-size:13px; line-height:1.55; color:#5E727A; margin-bottom:13px}
.gw-tech-go{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--t); text-decoration:none; padding:8px 13px; border:1px solid var(--t); border-radius:9px; transition:background .15s}
.gw-tech-go svg{width:14px; height:14px}
.gw-tech-go:hover{background:var(--ecume)}
.gw-badge{
  background:var(--ambre); color:#fff; font-size:12px; font-weight:600;
  min-width:20px; height:20px; border-radius:10px; display:grid; place-items:center; padding:0 6px;
}
.gw-side-foot{display:flex; align-items:center; gap:11px; padding:14px 8px 4px; border-top:1px solid rgba(255,255,255,.08)}
.gw-side-user{flex:1; min-width:0}
.gw-logout{flex:none; display:grid; place-items:center; width:32px; height:32px; border-radius:9px; color:rgba(255,255,255,.6); text-decoration:none; transition:background .14s, color .14s}
.gw-logout:hover{background:rgba(255,255,255,.1); color:#fff}
.gw-logout svg{width:17px; height:17px}

/* ---- Page de connexion ---- */
.gw-login-body{min-height:100vh; margin:0; display:flex; align-items:center; justify-content:center; padding:20px; box-sizing:border-box; background:radial-gradient(1200px 600px at 50% -10%, #11515f, #0B3A4A); font-family:var(--sans)}
.gw-login-card{width:100%; max-width:400px; background:var(--sel); border-radius:18px; padding:34px 30px 28px; box-shadow:0 24px 64px rgba(0,0,0,.34); box-sizing:border-box}
.gw-login-brand{display:flex; justify-content:center; margin-bottom:14px}
.gw-login-logo{width:188px; max-width:72%; height:auto; display:block}
.gw-login-name{font-family:var(--serif); font-size:18px; font-weight:700; color:var(--encre)}
.gw-login-h1{font-family:var(--serif); font-size:21px; color:var(--encre); text-align:center; margin:2px 0 5px}
.gw-login-sub{font-size:13px; color:var(--brume); text-align:center; margin:0 auto 22px; max-width:300px}
.gw-login-form .gw-field{margin-bottom:15px}
.gw-login-btn{width:100%; justify-content:center; margin-top:8px}
.gw-login-remember{display:flex; align-items:center; gap:9px; font-size:13px; color:var(--encre); cursor:pointer; margin:2px 0 4px}
.gw-login-remember input{width:17px; height:17px; accent-color:var(--lagon); cursor:pointer}
.gw-login-err{background:#F6E2E0; color:#B23B3B; font-size:13px; padding:10px 13px; border-radius:9px; margin-bottom:16px}
.gw-login-foot{margin-top:22px; text-align:center; font-size:12px; color:var(--brume)}
.gw-avatar{
  width:34px;height:34px;border-radius:50%; background:var(--lagon); color:#fff; overflow:hidden;
  display:grid;place-items:center; font-size:13px; font-weight:600;
}
.gw-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.gw-user-name{color:#EAF2F4; font-size:13px}
.gw-user-sub{color:#7FA3AD; font-size:12px; font-family:var(--mono)}

/* ---- main ---- */
.gw-main{flex:1; padding:34px 48px 80px; max-width:1640px; margin:0 auto; width:100%; box-sizing:border-box}
.gw-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:28px; gap:16px}
.gw-eyebrow{font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--lagon); font-weight:600; margin-bottom:8px}
.gw-h1{font-family:var(--serif); font-size:30px; font-weight:600; margin:0; letter-spacing:-.4px}

/* ---- cartes démarches ---- */
.gw-section-lab{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--brume); font-weight:600; margin:0 0 12px 2px}
.gw-section-lab--sep{margin-top:26px}
.gw-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; grid-auto-rows:112px}
.gw-card{
  display:flex; align-items:center; gap:15px; text-align:left;
  background:var(--ecume); border:1px solid var(--ligne); border-radius:14px;
  padding:17px 18px; transition:transform .16s,border-color .16s,box-shadow .16s; width:100%;
  height:100%;
}
.gw-card-ic{
  width:46px;height:46px;border-radius:12px;color:#fff;flex-shrink:0;
  display:grid;place-items:center;
}
.gw-card-ic svg{width:22px;height:22px}
.gw-card-body{flex:1; min-width:0}
.gw-card-title{font-size:16px; font-weight:600; color:var(--encre); line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.gw-card-desc{font-size:13px; color:var(--brume); margin-top:3px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.gw-card-arrow{color:#C9C2B2; flex-shrink:0; transition:transform .16s,color .16s}
.gw-card-arrow svg{width:18px;height:18px}
.gw-card:hover .gw-card-arrow{color:var(--corail); transform:translateX(3px)}

/* ---- stats ---- */
.gw-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px}
.gw-stat{background:var(--ecume); border:1px solid var(--ligne); border-radius:13px; padding:16px 18px; display:flex; flex-direction:column; min-height:104px}
.gw-stat-ic{margin-bottom:10px}
.gw-stat-ic svg{width:18px;height:18px}
.gw-stat-val{font-family:var(--serif); font-size:27px; font-weight:600; line-height:1}
.gw-stat-lab{font-size:12px; color:var(--brume); margin-top:5px}

/* ---- toolbar ---- */
.gw-toolbar{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; flex-wrap:wrap}
.gw-search{
  display:flex; align-items:center; gap:9px; background:var(--ecume);
  border:1px solid var(--ligne); border-radius:10px; padding:0 13px; height:40px; min-width:300px; flex:1; max-width:380px;
  color:var(--brume);
}
.gw-search svg{width:16px;height:16px}
.gw-search input{border:none; outline:none; background:none; flex:1; font-size:13px; color:var(--encre)}
.gw-filters{display:flex; gap:7px; flex-wrap:wrap}
.gw-chip.is-on{background:var(--abysse); color:#fff; border-color:var(--abysse)}
.gw-chip--ok{color:var(--vert); background:#EAF5EF; border-color:#BFE0CF; font-weight:600}
.gw-chip--ok:hover{border-color:var(--vert)}
.gw-chip--ok svg{width:14px; height:14px; vertical-align:-2px; margin-right:3px}
.gw-chip--rep{color:#13606C; background:#E3F1F3; border-color:#BBDDE2; font-weight:600}
.gw-chip--rep:hover{border-color:var(--lagon); color:var(--lagon)}
.gw-validerow{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:2px 0 10px}

/* ---- table ---- */
.gw-table{background:var(--ecume); border:1px solid var(--ligne); border-radius:14px; overflow:hidden}
.gw-tr{
  display:grid; grid-template-columns:1.1fr 1.2fr 1fr 1.2fr 1fr .9fr .85fr;
  align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid var(--ligne2);
}
.gw-tr:last-child{border-bottom:none}
.gw-tr > span{min-width:0}
.gw-tr > .gw-strong, .gw-tr > .gw-muted{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gw-th{
  background:#FBFAF6; font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--brume); font-weight:600; padding:11px 18px;
}
.gw-strong{font-weight:600}
.gw-muted{color:var(--brume); font-size:13px}
.gw-status--purge{color:#7A4FA3 !important; background:#EFE8F6 !important}
.gw-chip--purge.is-on{background:#7A4FA3; border-color:#7A4FA3; color:#fff}
.gw-chip--web.is-on{background:#1B7F8C; border-color:#1B7F8C; color:#fff}
.gw-chip--brut.is-on{background:#0B3A4A; border-color:#0B3A4A; color:#fff}
.gw-tag-web{display:inline-block; font-size:11px; font-weight:700; color:#1B7F8C; background:#E3F0F0; border-radius:5px; padding:1px 6px; margin-left:6px; letter-spacing:.02em; vertical-align:middle}
.gw-qualif{display:inline-block; width:8px; height:8px; border-radius:50%; background:#2E7D5B; box-shadow:0 0 0 2px #E1F0E8; margin-right:7px; vertical-align:middle}
.gw-nc{display:inline-flex; align-items:center; vertical-align:middle; margin-right:5px; color:#C0392B}
.gw-apports{display:flex; flex-direction:column; gap:8px}
.gw-apport{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; background:#F4F2EC; border:1px solid var(--ligne); border-radius:10px}
.gw-apport-main{display:flex; flex-direction:column; gap:2px; min-width:0}
.gw-apport-nom{font-weight:600}
.gw-apport-part{font-size:12px; color:var(--brume); display:flex; align-items:center; gap:5px}
.gw-apport-part svg{width:12px; height:12px}
.gw-apport-act{display:flex; align-items:center; gap:6px; flex-shrink:0}
.gw-apport-inp{width:74px; padding:7px 9px; border:1px solid var(--ligne); border-radius:8px; font-size:13px; text-align:right}
.gw-apport-ok{padding:8px 12px; border:1px solid #2E7D5B; background:#fff; color:#2E7D5B; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap}
.gw-apport-ok:hover{background:#2E7D5B; color:#fff}
.gw-apport-foot{font-size:12px; color:var(--brume); padding:4px 2px}
.gw-qualifp{margin-bottom:12px; padding:12px; background:#fff; border:1px solid var(--ligne); border-radius:10px}
.gw-qualifp-h{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px}
.gw-qbadge{font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; white-space:nowrap}
.gw-qbadge--head{margin-left:2px; vertical-align:middle}
.gw-qrow{margin-bottom:9px}
.gw-qrow-t{font-size:12px; color:var(--brume); margin-bottom:5px}
.gw-qopts{display:flex; flex-wrap:wrap; gap:6px}
.gw-qopt{flex:1; min-width:90px; padding:8px 10px; border:1px solid var(--ligne); border-radius:8px; background:#F9F8F4; color:var(--abysse); font-size:12px; font-weight:600; cursor:pointer; text-align:center}
.gw-qopt.is-on{border-color:#1B7F8C; background:#1B7F8C; color:#fff}
.gw-nc svg{width:15px; height:15px}
.gw-todo-nom .gw-nc svg{width:14px; height:14px}
.gw-lv--payant{border-left:3px solid #2E7D5B; background:#F1F8F4; border-radius:9px; padding:11px 13px}
.gw-lv-payant-tag{display:inline-flex; align-items:center; gap:4px; font-weight:700; color:#2E7D5B; margin-right:6px}
.gw-lv-payant-tag svg{width:14px; height:14px}
.gw-lv-payant-note{font-size:12px; color:#6B7B82; margin-top:5px}
.gw-status{
  display:inline-flex; align-items:center; gap:3px; font-size:12px; font-weight:600;
  padding:5px 10px; border-radius:20px; transition:filter .15s,box-shadow .15s;
}
.gw-status svg{width:13px;height:13px}
.gw-paytag{display:inline-flex; align-items:center; font-size:12px; font-weight:600; padding:4px 9px; border-radius:20px; white-space:nowrap}
.gw-paytag--due{color:#fff; background:#DC2626}
.gw-paytag--ok{color:#2E7D5B; background:#E3F0E9}
.gw-paytag-suivi{display:block; font-size:11px; font-weight:600; color:#8B7355; margin-top:3px}
.gw-status:not(:disabled):hover{filter:brightness(.96); box-shadow:0 0 0 3px rgba(11,58,74,.06)}
.gw-status:disabled{cursor:default}

/* ---- empty / loading ---- */
.gw-empty{
  display:flex; flex-direction:column; align-items:center; gap:12px; justify-content:center;
  padding:70px 20px; color:var(--brume); background:var(--ecume);
  border:1px dashed var(--ligne); border-radius:14px; text-align:center;
}
.gw-empty svg{width:34px;height:34px}
.gw-empty.is-err{border-color:#E7C3B8; background:#FCF1ED; color:var(--corail-dk)}

/* ---- btns ---- */
.gw-btn-primary{
  display:inline-flex; align-items:center; gap:8px; background:var(--corail); color:#fff;
  font-size:13px; font-weight:600; padding:9px 14px; border-radius:10px;
  box-shadow:0 4px 12px rgba(225,91,65,.28); transition:background .15s,transform .12s;
}
.gw-btn-primary svg{width:15px;height:15px}
.gw-btn-primary:hover{background:var(--corail-dk)}
.gw-btn-primary:active{transform:translateY(1px)}
.gw-btn-primary:disabled{opacity:.6; cursor:default}
.gw-btn-save{display:inline-flex; align-items:center; gap:8px; background:var(--vert); color:#fff; font-size:13px; font-weight:600; padding:9px 14px; border-radius:10px; box-shadow:0 4px 12px rgba(46,125,91,.26); transition:background .15s,transform .12s}
.gw-btn-save svg{width:17px;height:17px}
.gw-btn-save:hover{background:#256B4D}
.gw-btn-save:active{transform:translateY(1px)}
.gw-btn-save:disabled{opacity:.6; cursor:default}
.gw-form-acts{display:flex; align-items:center; gap:16px; margin-top:4px}
.gw-readrow{display:flex; gap:14px; padding:8px 0; border-bottom:1px solid var(--ligne); font-size:14px}
.gw-readrow:last-child{border-bottom:none}
.gw-readrow-lab{flex:0 0 116px; color:var(--brume); font-size:13px; padding-top:1px}
.gw-readrow-val{flex:1; color:var(--encre); line-height:1.5; white-space:pre-line; word-break:break-word}
.gw-sub-h{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--brume); font-weight:600; margin:20px 0 10px}
.gw-btn-ghost{color:var(--brume); font-size:14px; padding:10px 16px; border-radius:10px; transition:.15s}
.gw-btn-ghost:hover{background:var(--sel); color:var(--encre)}

/* ---- drawer ---- */
.gw-overlay{position:fixed; inset:0; background:rgba(11,30,38,.4); display:flex; justify-content:flex-end; z-index:50}
.gw-drawer{
  width:min(900px,94vw); background:var(--sel); height:100%; position:relative;
  display:flex; flex-direction:column; box-shadow:-12px 0 40px rgba(11,58,74,.18);
}
.gw-overlay.is-enter{animation:fade .2s ease}
.gw-overlay.is-enter .gw-drawer{animation:slide .26s cubic-bezier(.22,.61,.36,1)}
.gw-drawer-head{display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--ligne); background:var(--ecume)}
.gw-drawer-title{display:flex; align-items:center; gap:13px}
.gw-drawer-ic{width:40px;height:40px;border-radius:11px;color:#fff;display:grid;place-items:center}
.gw-drawer-ic svg{width:18px;height:18px}
.gw-ref{color:var(--brume); margin-top:2px}
.gw-close{width:38px;height:38px;border-radius:9px;color:var(--brume);display:grid;place-items:center;transition:.15s}
.gw-close:hover{background:var(--sel); color:var(--encre)}
.gw-drawer-body{flex:1; overflow:auto; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--ligne)}
.gw-pane{padding:24px; background:var(--sel); overflow:auto}
.gw-pane-mail{background:#FBFAF6}

.gw-field{display:block; margin-bottom:16px}
.gw-field-lab{display:flex; gap:8px; align-items:baseline; font-size:13px; font-weight:600; color:var(--encre); margin-bottom:7px}
.gw-field-lab em{font-style:normal; font-weight:400; color:var(--brume); font-size:12px}
.gw-field input,.gw-field textarea{
  width:100%; padding:11px 13px; border:1px solid var(--ligne); border-radius:10px;
  font-size:14px; color:var(--encre); background:var(--ecume); outline:none; transition:border-color .15s,box-shadow .15s; resize:vertical;
}
.gw-field input:focus,.gw-field textarea:focus{border-color:var(--lagon); box-shadow:0 0 0 3px rgba(27,127,140,.12)}
.gw-input-ic{display:flex; align-items:center; gap:9px; border:1px solid var(--ligne); border-radius:10px; padding:0 13px; background:var(--ecume); color:var(--brume); transition:border-color .15s,box-shadow .15s}
.gw-input-ic svg{width:16px;height:16px}
.gw-input-ic:focus-within{border-color:var(--lagon); box-shadow:0 0 0 3px rgba(27,127,140,.12)}
.gw-field--req .gw-field-lab{color:var(--corail)}
.gw-field--req .gw-field-lab em{color:var(--corail); font-weight:600; text-transform:uppercase; font-size:12px; letter-spacing:.06em}
.gw-field--req .gw-input-ic{border-color:var(--corail); background:#FCEEEA}
.gw-field--req .gw-input-ic:focus-within{border-color:var(--corail); box-shadow:0 0 0 3px rgba(225,91,65,.16)}
.gw-input-ic input{border:none; box-shadow:none; padding:11px 0; flex:1; outline:none; background:none}
.gw-fieldok{display:none; flex:none; color:#2E7D5B; font-weight:800; font-size:15px; line-height:1}
.gw-input-ic input:not(:placeholder-shown) ~ .gw-fieldok{display:inline-flex}

.gw-pieces{margin-top:22px; border-top:1px solid var(--ligne); padding-top:18px}
.gw-pieces-h{display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--brume); margin-bottom:12px}
.gw-pieces-h svg{width:14px;height:14px}
.gw-piece{display:flex; align-items:flex-start; gap:9px; font-size:13px; color:var(--encre); padding:6px 0}
.gw-dot{width:6px;height:6px;border-radius:50%;background:var(--lagon);margin-top:7px;flex-shrink:0}
.gw-piece-main{flex:1; min-width:0}
.gw-piece-nom{font-size:13px; font-weight:600; color:var(--encre); display:flex; flex-wrap:wrap; gap:7px; align-items:center}
.gw-ptag{font-size:12px; letter-spacing:.05em; text-transform:uppercase; font-weight:700; color:var(--lagon); background:#E3F0F0; padding:3px 8px; border-radius:6px}
.gw-ptag--alt{color:var(--ambre); background:#F6ECD8}
.gw-piece-desc{font-size:12px; color:var(--brume); margin-top:3px; line-height:1.5}
.gw-popts{margin:5px 0 0; padding-left:17px; color:var(--brume); font-size:12px; line-height:1.6}
.gw-popts li{margin:1px 0}
.gw-piece-note{color:var(--brume); font-style:italic; font-size:12px; margin-top:6px}

.gw-mail-tag{display:flex; align-items:center; gap:7px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--lagon); font-weight:600; margin-bottom:13px}
.gw-mail-tag svg{width:13px;height:13px}
.gw-mail{background:var(--ecume); border:1px solid var(--ligne); border-radius:12px; overflow:hidden; box-shadow:var(--sh)}
.gw-mail-head{padding:15px 18px; border-bottom:1px solid var(--ligne2); font-size:13px; color:var(--encre); display:flex; flex-direction:column; gap:5px; background:#FCFBF8}
.gw-mail-head b{color:var(--brume); font-weight:600; display:inline-block; width:42px; font-size:12px}
.gw-mail-body{padding:20px 18px; font-size:13px; white-space:pre-wrap; line-height:1.65; color:#26343A}
.gw-mail-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%}
.gw-mail-frame{width:100%; border:0; display:block; background:#F4F2EC; min-height:420px}

.gw-drawer-foot{display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:16px 24px; border-top:1px solid var(--ligne); background:var(--ecume)}

/* ---- Administration ---- */
.gw-lede{margin:-6px 0 22px; color:var(--brume); font-size:14px; max-width:680px}
.gw-drawer--admin{width:min(720px,96vw)}
.gw-drawer--new{width:min(460px,96vw)}
.gw-field--ta{display:block; margin-bottom:10px}
.gw-qdates{display:flex; gap:7px; flex-wrap:wrap; margin-bottom:8px}
.gw-chip--q{cursor:pointer}
.gw-suivi{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:12px}
.gw-suivi-lab{font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--brume)}
.gw-date-inline{padding:8px 10px; border:1px solid var(--ligne); border-radius:9px; font-size:13px; background:var(--ecume); outline:none; font-family:inherit}
.gw-date-inline:focus{border-color:var(--lagon); box-shadow:0 0 0 3px rgba(27,127,140,.12)}
.gw-head-acts{display:flex; gap:16px; align-items:center; flex-wrap:wrap}
.gw-btn-blue{display:inline-flex; align-items:center; gap:8px; background:var(--lagon); color:#fff; font-size:14px; font-weight:600; padding:10px 17px; border-radius:10px; box-shadow:0 4px 12px rgba(27,127,140,.26); transition:background .15s,transform .12s}
.gw-btn-blue svg{width:17px;height:17px}
.gw-btn-blue:hover{background:#166B77}
.gw-btn-blue:active{transform:translateY(1px)}
.gw-actchart-h{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:4px}
.gw-mchips{display:flex; gap:8px; flex-wrap:wrap}
.gw-mchip{cursor:pointer; border:1px solid var(--ligne); background:var(--ecume); color:var(--brume); padding:6px 12px; border-radius:999px; font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:7px; line-height:1}
.gw-mchip::before{content:""; width:9px; height:9px; border-radius:3px; background:var(--mc)}
.gw-mchip.is-on{color:#fff; background:var(--mc); border-color:var(--mc)}
.gw-mchip.is-on::before{background:#fff}
.gw-actchart-total{font-size:13px; color:var(--brume); margin:2px 0 10px}
.gw-actsvg{width:100%; height:auto; display:block}
.gw-actsvg rect{transition:opacity .12s} .gw-actsvg rect:hover{opacity:.82}
.gw-ax-line{stroke:var(--ligne); stroke-width:1}
.gw-ax-lab{fill:var(--brume); font-size:12px; font-family:inherit}
.gw-drawer-h2{font-family:var(--serif); font-size:19px; color:var(--encre); font-weight:700; margin-top:2px}
.gw-admin-body{flex:1; overflow-y:auto; padding:22px 24px; display:flex; flex-direction:column}
.gw-admin-from{font-size:13px; color:var(--brume); background:var(--ecume); border:1px solid var(--ligne); border-radius:9px; padding:9px 12px; margin-bottom:16px}
.gw-admin-from b{color:var(--encre); font-weight:600; margin-right:4px}
.gw-input-lock{background:#F1EFE7 !important; color:var(--brume) !important; cursor:default}
.gw-field-aide{display:block; margin-top:6px; font-size:12px; color:var(--brume)}
.gw-admin-prev{margin-top:4px}
.gw-admin-prev .gw-mail-tag{display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--lagon); margin-bottom:9px}
.gw-admin-prev .gw-mail-scroll{border:1px solid var(--ligne); border-radius:12px; overflow:hidden}
.gw-checks{display:flex; flex-direction:column; gap:8px}
.gw-check{display:flex; align-items:center; gap:12px; padding:11px 13px; border:1px solid var(--ligne); border-radius:10px; background:var(--ecume); cursor:pointer; transition:border-color .12s, background .12s}
.gw-check:hover{border-color:var(--lagon)}
.gw-check input{position:absolute; opacity:0; width:0; height:0}
.gw-check-box{flex:none; width:20px; height:20px; border:2px solid #C7CFD2; border-radius:6px; position:relative; transition:all .12s}
.gw-check input:checked + .gw-check-box{background:var(--lagon); border-color:var(--lagon)}
.gw-check input:checked + .gw-check-box::after{content:""; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg)}
.gw-check input:focus-visible + .gw-check-box{box-shadow:0 0 0 3px rgba(27,127,140,.2)}
.gw-check:has(input:checked){border-color:var(--lagon); background:#F0F7F8}
.gw-check-txt{display:flex; flex-direction:column; line-height:1.3}
.gw-check-txt b{font-size:13px; color:var(--encre); font-weight:600}
.gw-check-txt small{font-size:12px; color:var(--brume)}

/* ---- toast ---- */
.gw-toast{
  position:fixed; bottom:26px; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:9px; background:var(--abysse); color:#fff;
  font-size:13px; font-weight:500; padding:13px 19px; border-radius:11px;
  box-shadow:0 10px 30px rgba(11,58,74,.3); z-index:60; animation:rise .25s ease; max-width:90vw;
}
.gw-toast svg{width:16px;height:16px;flex-shrink:0}
.gw-toast.is-err{background:var(--corail-dk)}

@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes slide{from{transform:translateX(40px); opacity:.4}to{transform:translateX(0); opacity:1}}
@keyframes rise{from{transform:translate(-50%,12px); opacity:0}to{transform:translate(-50%,0); opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
.gw-spin{animation:spin 1s linear infinite}

/* ---- top-bar mobile (cachée en desktop) ---- */
.gw-topbar{display:none; align-items:center; gap:12px; position:fixed; top:0; left:0; right:0; height:56px; padding:0 14px; background:var(--abysse); color:#fff; z-index:60; box-sizing:border-box}
.gw-burger{background:none; border:0; color:#fff; cursor:pointer; padding:6px; display:flex; align-items:center; border-radius:8px}
.gw-burger:hover{background:rgba(255,255,255,.08)}
.gw-burger svg{width:24px; height:24px}
.gw-topbar-brand{font-family:var(--serif); font-size:17px; display:flex; align-items:center; gap:9px; color:#fff}
.gw-topbar-logo{width:30px; height:30px; border-radius:9px; background:var(--corail); color:#fff; display:grid; place-items:center; font-weight:700; font-family:var(--serif); font-size:16px}
.gw-navoverlay{display:none}

/* ---- securite des connexions (onglet Technique) ---- */
.gw-secu{margin-top:26px}
.gw-secu-head{display:flex; align-items:center; gap:8px; font-family:var(--serif); font-size:18px; color:var(--encre); margin-bottom:14px}
.gw-secu-head svg{width:20px; height:20px; color:var(--lagon)}
.gw-secu-bloc{background:var(--ecume); border:1px solid var(--ligne); border-radius:14px; padding:16px 18px; margin-bottom:14px}
.gw-secu-bloc--warn{background:#FBEBDA; border-color:#E7B98F}
.gw-secu-h{display:flex; align-items:center; gap:7px; font-weight:700; font-size:13px; color:var(--encre); margin-bottom:10px}
.gw-secu-h svg{width:16px; height:16px}
.gw-secu-calm{font-size:13px; color:var(--brume)}
.gw-secu-ip{display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:6px 0; font-size:13px}
.gw-secu-ip code{background:#fff; padding:2px 7px; border-radius:6px; border:1px solid var(--ligne)}
.gw-secu-ip span{color:var(--brume)}
.gw-secu-tab{width:100%; border-collapse:collapse; font-size:12.5px}
.gw-secu-tab td{padding:7px 8px; border-bottom:1px solid var(--ligne); vertical-align:middle}
.gw-secu-tab tr:last-child td{border-bottom:0}
.gw-secu-tab code{background:#fff; padding:1px 6px; border-radius:5px; border:1px solid var(--ligne)}
.gw-secu-t{color:var(--brume); white-space:nowrap}
.gw-secu-note{color:var(--brume)}
.gw-secu-tag{display:inline-block; padding:2px 9px; border-radius:999px; font-weight:700; font-size:11px}
.gw-secu-tag--ok{background:#E1F0E8; color:#2E7D5B}
.gw-secu-tag--echec{background:#FBEBDA; color:#C26A12}
.gw-secu-tag--bloque{background:#F8E2DF; color:#C0392B}

/* ---- section Securite CRM (haut du tableau de bord) ---- */
.gw-secudash{margin-top:4px}
.gw-secudash .gw-statgroup-h{align-items:center}
.gw-kpi--static{cursor:default}
.gw-kpi--static:hover{transform:none; box-shadow:none; border-color:var(--ligne)}
.gw-secz{background:var(--ecume); border:1px solid var(--ligne); border-radius:13px; padding:13px 15px}
.gw-secz--alerte{background:#FBEBDA; border-color:#E7B98F}
.gw-secz-h{display:flex; align-items:center; gap:6px; font-weight:700; font-size:12.5px; color:var(--encre); margin-bottom:9px}
.gw-secz-h svg{width:15px; height:15px}
.gw-secz-l{font-size:12.5px; color:var(--encre); padding:3px 0; line-height:1.5}
.gw-secz-l code{background:#fff; padding:1px 6px; border-radius:5px; border:1px solid var(--ligne); font-size:11.5px}
.gw-secz-urg{display:flex; align-items:center; gap:8px; flex-wrap:wrap}

/* ---- onglet Technique : sections + cron ---- */
.gw-techsec{margin-bottom:30px}
.gw-techsec-h{display:flex; align-items:center; gap:8px; font-family:var(--serif); font-size:17px; color:var(--encre); margin-bottom:14px}
.gw-techsec-h svg{width:19px; height:19px; color:var(--lagon)}
.gw-cron{display:flex; flex-direction:column; gap:10px}
.gw-cron-row{display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--ecume); border:1px solid var(--ligne); border-radius:13px; padding:14px 16px; flex-wrap:wrap}
.gw-cron-info{display:flex; flex-direction:column; gap:3px; min-width:150px}
.gw-cron-titre{font-weight:700; font-size:14px; color:var(--encre)}
.gw-cron-freq{display:inline-flex; align-items:center; gap:5px; font-size:12.5px; color:var(--lagon); font-weight:600}
.gw-cron-freq svg{width:14px; height:14px}
.gw-cron-warn{font-size:10.5px; color:#C0392B; font-weight:700; text-transform:uppercase; letter-spacing:.04em; margin-top:2px}
.gw-cron-url{display:flex; align-items:center; gap:10px; flex:1; min-width:240px; justify-content:flex-end}
.gw-cron-url code{flex:1; background:#fff; border:1px solid var(--ligne); border-radius:8px; padding:9px 11px; font-size:12px; color:var(--encre); overflow-x:auto; white-space:nowrap}
.gw-cron-copy{display:inline-flex; align-items:center; gap:5px; background:var(--abysse); color:#fff; border:0; border-radius:8px; padding:9px 13px; font-size:12.5px; font-weight:600; cursor:pointer; white-space:nowrap; font-family:var(--sans)}
.gw-cron-copy:hover{background:var(--abysse2)}
.gw-cron-copy.is-ok{background:var(--vert)}
.gw-cron-copy svg{width:14px; height:14px}
.gw-cron-foot{font-size:12px; color:var(--brume); margin-top:10px; line-height:1.55}

/* ---- responsive ---- */
@media(max-width:900px){
  body{flex-direction:column}
  .gw-topbar{display:flex}
  .gw-side{
    position:fixed; top:0; left:0; bottom:0; width:272px; height:100vh;
    flex-direction:column; align-items:stretch; padding:22px 16px; overflow-y:auto;
    transform:translateX(-100%); transition:transform .25s ease; z-index:70;
  }
  body.nav-open .gw-side{transform:translateX(0)}
  .gw-brand{padding:4px 6px 22px}
  .gw-brand-sub{display:block}
  .gw-nav{flex-direction:column; flex:1; justify-content:flex-start; gap:4px}
  .gw-navitem{padding:11px 13px}
  .gw-navitem span{display:inline}
  .gw-side-foot{display:flex}
  .gw-side-user{display:block}
  .gw-main{padding:78px 16px 60px}
  .gw-navoverlay{display:block; position:fixed; inset:0; background:rgba(11,58,74,.55); z-index:65; opacity:0; pointer-events:none; transition:opacity .2s}
  body.nav-open .gw-navoverlay{opacity:1; pointer-events:auto}
  .gw-grid{grid-template-columns:1fr}
  .gw-stats{grid-template-columns:repeat(2,1fr)}
  .gw-search{min-width:0}
  .gw-drawer-body{grid-template-columns:1fr}
  .gw-pane{max-width:100%}
  .gw-mail-frame{width:600px}
  .gw-tr{grid-template-columns:1fr 1fr; gap:6px 12px}
  .gw-th{display:none}
  .gw-tr span:nth-child(3),.gw-tr span:nth-child(6){display:none}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important; transition:none!important}
}

/* ============ Leads & fiche client ============ */
.gw-row{cursor:pointer; transition:background .12s}
.gw-row:hover{background:#FBFAF6}
.gw-svc{display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; padding:3px 9px; border-radius:999px; line-height:1.4; max-width:100%; box-sizing:border-box}
.gw-svc svg{width:13px; height:13px; flex-shrink:0}
.gw-fiche-svcs{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
.gw-late{color:#B23B3B; font-weight:600}

.gw-prefill{display:flex; align-items:center; gap:8px; background:#E3F0F0; color:#0B3A4A; border:1px solid #CFE4E4; border-radius:10px; padding:10px 14px; font-size:13px; margin-bottom:18px}
.gw-prefill svg{width:16px;height:16px}
.gw-prefill button{margin-left:auto; color:#1B7F8C; font-size:12px; text-decoration:underline}

.gw-drawer--fiche{width:min(840px,96vw)}
.gw-drawer--envoi{width:min(1280px,96vw)}
.gw-resize{position:absolute; left:0; top:0; bottom:0; width:20px; cursor:ew-resize; z-index:15; display:flex; align-items:center; justify-content:center; touch-action:none}
.gw-resize::before{content:""; width:4px; height:44px; border-radius:4px; background:#B9C3C7; box-shadow:0 0 0 1px rgba(255,255,255,.55); transition:background .15s, height .15s}
.gw-resize:hover::before, .gw-resize.is-active::before{background:var(--lagon); height:82px}
body.gw-resizing{cursor:ew-resize; user-select:none}
body.gw-resizing .gw-mail-frame{pointer-events:none}
@media(max-width:900px){ .gw-resize{display:none} }
.gw-fiche-av{width:42px;height:42px;border-radius:50%;background:var(--lagon);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:600;flex-shrink:0}
.gw-fiche-nom{font-family:var(--serif); font-size:19px; font-weight:600; color:var(--encre); line-height:1.1}
.gw-fiche-body{flex:1; overflow:auto; padding:24px 26px; background:var(--sel)}
.gw-fiche-body .gw-sec{margin-bottom:16px}
@media(max-width:640px){ .gw-fiche-body{padding:16px 14px} .gw-tabs{padding-left:14px; padding-right:14px} .gw-bandeau{margin-left:14px; margin-right:14px} .gw-tab{padding-left:11px; padding-right:11px} .gw-relc-lab{flex-wrap:wrap} .gw-relc-suivi{flex-basis:100%; margin-top:3px} }
.gw-sec{margin-bottom:24px}
.gw-sec-h{display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--brume); font-weight:600; margin-bottom:12px}
.gw-sec-add{margin-left:auto; display:inline-flex; align-items:center; gap:6px; background:var(--ecume); border:1px solid var(--ligne); color:var(--abysse); font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; padding:6px 11px; border-radius:8px; cursor:pointer; transition:border-color .15s,background .15s}
.gw-sec-add svg{width:14px; height:14px; color:var(--lagon)}
.gw-sec-add:hover{border-color:var(--lagon); background:#fff}
.gw-btn-soft{display:inline-flex; align-items:center; gap:7px; background:var(--ecume); border:1px solid var(--ligne); color:var(--encre); font-size:13px; font-weight:500; padding:9px 14px; border-radius:9px; transition:border-color .15s,background .15s}
.gw-btn-soft svg{width:15px;height:15px}
.gw-btn-soft:hover{border-color:#D6CFC0; background:#FBFAF6}

.gw-leadbtns{display:flex; gap:8px; flex-wrap:wrap}
.gw-leadbtn{padding:9px 15px; border-radius:20px; border:1px solid var(--ligne); font-size:13px; font-weight:600; color:var(--brume); background:var(--ecume); transition:.15s; display:inline-flex; align-items:center; gap:5px}
.gw-leadbtn--purge{color:#7A4FA3; display:inline-flex; align-items:center; gap:5px}
.gw-leadbtn--purge:hover{background:#7A4FA3; border-color:#7A4FA3; color:#fff}
.gw-leadbtn--resu{color:#2E7D5B; border-color:#BFE0CF; background:#E3F0E9; display:inline-flex; align-items:center; gap:5px}
.gw-leadbtn--resu:hover{background:#2E7D5B; border-color:#2E7D5B; color:#fff}
.gw-leadbtn svg{width:14px; height:14px}
.gw-leadbtn:hover{border-color:#D6CFC0}

.gw-relance{display:flex; align-items:center; gap:10px; background:var(--ecume); border:1px solid var(--ligne); border-radius:10px; padding:12px 14px; font-size:13px; color:var(--encre)}
.gw-pause{display:flex; flex-direction:column; gap:8px; font-size:13px; color:var(--encre)}
.gw-pause .gw-pause-btns{display:flex; gap:8px; flex-wrap:wrap}
.gw-pause.is-on{flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:#FBF3E6; border:1px solid #E8D4AE; border-radius:10px; color:#8A6418}
.gw-pause.is-on strong{color:#6E4F12}
.gw-relance svg{width:15px;height:15px; color:var(--ambre); vertical-align:-2px}
.gw-relance.is-late{border-color:#E7C3B8; background:#FCF1ED}
.gw-relance .gw-link{margin-left:auto}
.gw-relform{margin-top:12px; background:var(--ecume); border:1px solid var(--ligne); border-radius:10px; padding:14px}
.gw-relform-acts{display:flex; align-items:center; gap:16px; margin-top:4px}

.gw-dem-item{display:flex; align-items:flex-start; gap:12px; padding:13px 0; border-bottom:1px solid var(--ligne2)}
.gw-dem-item:last-child{border-bottom:none}
.gw-dem-ic{width:30px;height:30px;border-radius:8px;color:#fff;display:grid;place-items:center;flex-shrink:0}
.gw-dem-ic svg{width:15px;height:15px}
.gw-dem-main{flex:1; min-width:0}
.gw-dem-lab{font-size:14px; font-weight:600}
.gw-dem-sub{color:var(--brume); margin-top:2px}
.gw-dem-refp{display:flex; align-items:center; gap:5px; margin-top:5px; font-size:12px; color:var(--brume)}
.gw-dem-refp code{font-family:var(--mono); font-weight:600; color:var(--abysse); background:var(--ecume); border:1px solid var(--ligne); border-radius:5px; padding:1px 6px}
.gw-dem-refp i,.gw-dem-refp svg{width:13px; height:13px; flex:none}
.gw-dem-refp--warn{color:var(--corail-dk)}
.gw-dem-refp--warn i,.gw-dem-refp--warn svg{color:var(--corail-dk)}
.gw-dem-prog{margin-top:9px}
.gw-dem-step{font-size:12px; color:var(--brume); margin-bottom:5px}
.gw-dem-prog-track{height:5px; background:var(--ligne); border-radius:4px; overflow:hidden; max-width:340px}
.gw-dem-prog-fill{height:100%; border-radius:4px; transition:width .35s ease}
.gw-sec--synth{margin-bottom:16px}
@media(max-width:640px){ .gw-synth{grid-template-columns:repeat(2,1fr)} }

.gw-noteadd{display:flex; gap:9px; align-items:flex-start; margin-bottom:14px}
.gw-noteadd textarea{flex:1; padding:10px 12px; border:1px solid var(--ligne); border-radius:10px; font-size:13px; background:var(--ecume); outline:none; resize:vertical}
.gw-noteadd textarea:focus{border-color:var(--lagon); box-shadow:0 0 0 3px rgba(27,127,140,.12)}
.gw-noteadd-go{display:flex; flex-direction:column; gap:6px; flex-shrink:0}
.gw-noteadd-go .gw-btn-save{white-space:nowrap}
.gw-notetype{padding:8px 10px; border:1px solid var(--ligne); border-radius:9px; background:#fff; font-size:13px; color:var(--encre); outline:none; cursor:pointer}
.gw-notetype:focus{border-color:var(--lagon)}

.gw-jquick-row{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px}
.gw-jquick{display:inline-flex; align-items:center; gap:6px; padding:7px 11px; border:1px solid var(--ligne); border-radius:999px; background:#fff; font-size:13px; color:var(--encre); cursor:pointer; transition:all .12s; white-space:nowrap}
.gw-jquick svg{width:13px; height:13px; color:var(--lagon)}
.gw-jquick:hover{border-color:var(--lagon); background:#F2F8F8; transform:translateY(-1px)}
.gw-jquick:active{transform:translateY(0)}

.gw-jrnl-filters{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px}
.gw-jfilter{padding:5px 11px; border:1px solid var(--ligne); border-radius:999px; background:#fff; font-size:12px; color:var(--brume); cursor:pointer; transition:all .12s}
.gw-jfilter:hover{border-color:var(--lagon); color:var(--encre)}
.gw-jfilter.is-on{background:var(--abysse); border-color:var(--abysse); color:#fff}

.gw-jrnl-item{display:flex; gap:11px; padding:10px 0; border-bottom:1px solid var(--ligne2); align-items:flex-start}
.gw-jrnl-item:last-child{border-bottom:none}
.gw-jrnl-ic{width:26px;height:26px;border-radius:7px;background:#EEF3F3;color:var(--lagon);display:grid;place-items:center;flex-shrink:0}
.gw-jrnl-ic svg{width:13px;height:13px}
.gw-jrnl-main{flex:1; min-width:0}
.gw-jrnl-txt{font-size:13px; color:var(--encre); line-height:1.45; word-break:break-word}
.gw-jrnl-meta{display:flex; align-items:center; gap:8px; margin-top:3px}
.gw-jrnl-type{font-size:12px; letter-spacing:.5px; text-transform:uppercase; font-weight:600; color:var(--brume); background:#EEF3F3; padding:3px 8px; border-radius:5px}
.gw-jrnl-date{font-size:12px; color:var(--brume); font-family:var(--mono)}
.gw-jrnl-del{flex-shrink:0; width:24px; height:24px; border:none; background:none; color:var(--brume); border-radius:6px; cursor:pointer; display:grid; place-items:center; opacity:0; transition:all .12s}
.gw-jrnl-del svg{width:14px; height:14px}
.gw-jrnl-item:hover .gw-jrnl-del{opacity:1}
.gw-jrnl-del:hover{background:#FBEAE6; color:var(--corail)}

.gw-jrnl-ic--mail,.gw-jrnl-ic--courrier{background:#E7F1F2; color:var(--lagon)}
.gw-jrnl-ic--appel,.gw-jrnl-ic--paiement{background:#E4EEEA; color:var(--vert)}
.gw-jrnl-ic--relance,.gw-jrnl-ic--recouvrement{background:#FBEAE6; color:var(--corail)}
.gw-jrnl-ic--rdv,.gw-jrnl-ic--statut{background:#F7EEDD; color:var(--ambre)}
.gw-jrnl-ic--document,.gw-jrnl-ic--note{background:#ECEFF0; color:var(--brume)}
.gw-jrnl-ic--admin{background:#E3E9EB; color:var(--abysse)}

@media(max-width:560px){ .gw-noteadd{flex-direction:column} .gw-noteadd-go{flex-direction:row; justify-content:flex-end} .gw-jquick{flex:1 1 calc(50% - 4px); justify-content:center} }

.gw-back{display:inline-flex; align-items:center; gap:4px; color:var(--lagon); font-size:13px; font-weight:600; margin-bottom:10px}
.gw-back svg{width:15px;height:15px}
.gw-back:hover{text-decoration:underline}

/* ============ Tableau de bord ============ */
.gw-dash-hero{display:grid; grid-template-columns:1.4fr 1fr; gap:16px; margin-bottom:18px}

.gw-stats--dash{grid-template-columns:repeat(3,1fr)}
.gw-stat--euro .gw-stat-val{font-size:22px}

.gw-dash-cols{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px}

.gw-bar-row{display:flex; align-items:center; gap:12px; margin:11px 0}
.gw-bar-lab{flex:0 0 38%; font-size:13px; color:var(--encre); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gw-bar-track{flex:1; height:9px; background:var(--ligne2); border-radius:6px; overflow:hidden}
.gw-bar-fill{height:100%; background:linear-gradient(90deg,var(--lagon),var(--abysse2)); border-radius:6px}
.gw-bar-val{flex:0 0 auto; font-family:var(--mono); font-size:13px; color:var(--brume); min-width:20px; text-align:right}

@media(max-width:860px){ .gw-dash-hero{grid-template-columns:1fr} .gw-dash-cols{grid-template-columns:1fr} .gw-stats--dash{grid-template-columns:repeat(2,1fr)} }
.gw-actchart-empty{display:flex; align-items:center; justify-content:center; min-height:180px; color:var(--brume); font-size:13px; font-style:italic; border:1px dashed var(--ligne); border-radius:10px; margin-top:6px}

.gw-tarif-fixe{padding:11px 13px; border:1px dashed var(--ligne); border-radius:10px; background:#FBFAF6; font-size:14px; font-weight:600; color:var(--encre)}

/* ---- Fiche : contact mail, suppression, confirmation ---- */
.gw-mailform{display:flex; flex-direction:column; gap:10px}
.gw-mailform textarea{padding:10px 12px; border:1px solid var(--ligne); border-radius:10px; font-size:13px; background:var(--ecume); outline:none; resize:vertical; font-family:inherit}
.gw-mailform textarea:focus{border-color:var(--lagon); box-shadow:0 0 0 3px rgba(27,127,140,.12)}
.gw-mailform .gw-btn-primary{align-self:flex-start}
.gw-status.is-confirm{background:var(--corail)!important; color:#fff!important}
.gw-sec--danger{border-top:1px solid var(--ligne2); padding-top:16px}
.gw-btn-danger{display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #E7C3B8; color:#B23B3B; font-size:13px; font-weight:500; padding:9px 14px; border-radius:9px; transition:.15s}
.gw-btn-danger svg{width:15px;height:15px}
.gw-btn-danger:hover{background:#FCF1ED}
.gw-btn-danger.is-confirm{background:#B23B3B; color:#fff; border-color:#B23B3B}

/* ---- Coffre-fort : zone de dépôt + tuiles ---- */
.gw-drop{display:block; border:1.5px dashed var(--ligne); border-radius:12px; padding:16px; background:var(--sel); cursor:pointer; transition:border-color .15s,background .15s; margin-bottom:12px}
.gw-drop:hover{border-color:var(--lagon)}
.gw-drop.is-over{border-color:var(--lagon); background:#E9F3F3}
.gw-drop-inner{display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; color:var(--brume); font-size:13px}
.gw-drop-inner svg{width:26px; height:26px; color:var(--lagon)}
.gw-drop-inner b{color:var(--lagon); font-weight:600}
.gw-drop-inner small{font-size:12px; color:var(--brume)}
.gw-file-hidden{position:absolute; width:1px; height:1px; opacity:0; pointer-events:none}
.gw-docs{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px}
.gw-doctile{border:1px solid var(--ligne); border-radius:11px; background:var(--ecume); overflow:hidden; display:flex; flex-direction:column}
.gw-doctile-thumb{height:82px; display:flex; align-items:center; justify-content:center; background:var(--sel); border-bottom:1px solid var(--ligne2); overflow:hidden}
.gw-doctile-thumb img{width:100%; height:100%; object-fit:cover; display:block}
.gw-doctile-ic{display:flex; flex-direction:column; align-items:center; gap:3px}
.gw-doctile-ic svg{width:26px; height:26px}
.gw-doctile-ic em{font-style:normal; font-size:12px; font-weight:700; letter-spacing:.04em}
.gw-doctile-nom{font-size:12px; font-weight:500; color:var(--encre); padding:8px 9px 0; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; word-break:break-word}
.gw-doctile-meta{font-size:12px; color:var(--brume); padding:2px 9px 0}
.gw-doctile-acts{display:flex; gap:6px; padding:8px 9px; margin-top:auto}
.gw-doc-act{display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:7px; color:var(--brume); border:1px solid var(--ligne); background:#fff; flex-shrink:0}
.gw-doc-act svg{width:15px; height:15px}
.gw-doc-act:hover{color:var(--encre)}
.gw-cf-meta{display:flex; gap:8px; margin-bottom:10px}
.gw-cf-inp{flex:1; min-width:0; padding:8px 11px; border:1px solid var(--ligne); border-radius:9px; font-size:13px; background:#fff; color:var(--encre)}
.gw-cf-inp:focus{outline:none; border-color:var(--lagon)}
.gw-doctile-file{font-size:12px; color:var(--brume); padding:3px 9px 0; display:flex; align-items:center; gap:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gw-doctile-file svg{width:11px; height:11px; flex:none}
.gw-doctile-detail{font-size:12px; color:var(--brume); padding:3px 9px 0; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.gw-doctile.is-editing{border-color:var(--lagon); background:#fff; grid-column:1 / -1}
.gw-doctile-edit{display:flex; flex-direction:column; gap:7px; padding:10px}
.gw-doctile-edit .gw-cf-inp{font-size:12px; padding:7px 9px}
.gw-doctile-fileline{font-size:12px; color:var(--brume); display:flex; align-items:center; gap:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gw-doctile-fileline svg{width:11px; height:11px; flex:none}
.gw-doctile-edacts{display:flex; align-items:center; gap:8px; margin-top:2px}
.gw-doc-del.is-confirm{background:#B23B3B; color:#fff; border-color:#B23B3B}
.gw-coffre-head{display:flex; align-items:center; gap:10px; width:100%; background:none; border:none; padding:0; cursor:pointer; text-align:left}
.gw-coffre-count{display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:var(--lagon); color:#fff; font-size:12px; font-weight:700}
.gw-coffre-chev{margin-left:auto; color:var(--brume); transition:transform .18s; display:flex}
.gw-coffre-chev svg{width:18px; height:18px}
.gw-coffre.is-open .gw-coffre-chev{transform:rotate(180deg)}
.gw-coffre-body{margin-top:12px}
.gw-svc--coffre{cursor:pointer; border:1px solid var(--ligne); background:#fff; color:var(--encre)}
.gw-svc--coffre svg{color:var(--lagon)}
.gw-svc--coffre:hover{border-color:var(--lagon); color:var(--lagon)}
.gw-tpl{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px}
.gw-tplchip{display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid var(--ligne); border-radius:999px; background:#fff; font-size:13px; font-weight:500; color:var(--encre); cursor:pointer; transition:border-color .15s,color .15s,box-shadow .15s,transform .05s}
.gw-tplchip i{width:14px; height:14px; color:var(--tpl); flex:0 0 auto}
.gw-tplchip:hover{border-color:var(--tpl); color:var(--tpl); box-shadow:0 1px 6px rgba(0,0,0,.05)}
.gw-tplchip:active{transform:translateY(1px)}
.gw-chip{transition:.15s; font-size:13px; padding:6px 11px; border:1px solid var(--ligne); border-radius:20px; background:#fff; color:var(--encre)}
.gw-chip:hover{border-color:var(--lagon); color:var(--lagon)}
.gw-mailform select{padding:10px 12px; border:1px solid var(--ligne); border-radius:10px; font-size:13px; background:var(--ecume); width:100%}
.gw-select-wrap{position:relative}.gw-select-wrap select{width:100%; padding:11px 12px; border:1px solid var(--ligne); border-radius:10px; font-size:14px; background:#fff; color:var(--encre); -webkit-appearance:none; appearance:none; cursor:pointer}
.gw-select-wrap::after{content:""; position:absolute; right:14px; top:50%; width:8px; height:8px; border-right:2px solid var(--brume); border-bottom:2px solid var(--brume); transform:translateY(-70%) rotate(45deg); pointer-events:none}
.gw-relc{margin:2px 0 14px; padding:12px 14px; background:#F4F2EC; border:1px solid var(--ligne); border-radius:12px}
.gw-relc-lab{display:flex; align-items:center; gap:6px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--lagon); font-weight:600; margin-bottom:9px}
.gw-relc-suivi{text-transform:none; letter-spacing:0; font-weight:700}
.gw-relc-lab svg{width:13px; height:13px}
.gw-relc-btns{display:flex; flex-wrap:wrap; gap:8px}
.gw-relc-btn{display:inline-flex; align-items:center; gap:6px; padding:9px 14px; border:1px solid var(--lagon); border-radius:9px; background:#fff; color:var(--abysse); font-size:13px; font-weight:600; cursor:pointer}
.gw-relc-btn:hover{background:var(--lagon); color:#fff}
.gw-relc-btn svg{width:15px; height:15px}
.gw-relc--pub{background:linear-gradient(135deg,rgba(225,91,65,.14),rgba(225,91,65,.04)); border:1.5px solid var(--corail); box-shadow:0 4px 16px rgba(225,91,65,.20); animation:gw-pub-glow 3.4s ease-in-out infinite}
@keyframes gw-pub-glow{0%,100%{box-shadow:0 3px 12px rgba(225,91,65,.15)}50%{box-shadow:0 6px 22px rgba(225,91,65,.32)}}
.gw-relc--pub .gw-relc-lab{color:#BC3F28}
.gw-relc--pub .gw-relc-lab svg{color:var(--corail); width:15px; height:15px}
.gw-relc-btn--pub{border-color:var(--corail); color:#BC3F28; background:#fff}
.gw-relc-btn--pub:hover{background:var(--corail); color:#fff}
.gw-relc-btn--pub svg{color:var(--corail)}
.gw-relc-btn--pub:hover svg{color:#fff}
.gw-relc--pay{background:rgba(46,125,91,.07); border:1px solid rgba(46,125,91,.28); border-left:4px solid var(--vert); box-shadow:none}
.gw-relc--pay .gw-relc-lab{color:#1F6048}
.gw-relc--pay .gw-relc-lab svg{color:#2E7D5B; width:15px; height:15px}
.gw-relc-btn--pay{border-color:#2E7D5B; color:#1F6048; background:#fff}
.gw-relc-btn--pay:hover{background:#2E7D5B; color:#fff}
.gw-relc-btn--pay svg{color:#2E7D5B}
.gw-relc-btn--pay:hover svg{color:#fff}
.gw-relc-btn--ferme{border-color:#C8492F; color:#C8492F; background:#fff}
.gw-relc-btn--ferme:hover{background:#C8492F; color:#fff}
.gw-relc-btn--ferme svg{color:#C8492F}
.gw-relc-btn--ferme:hover svg{color:#fff}
.gw-relc--taxe{background:rgba(201,138,43,.07); border:1px solid rgba(201,138,43,.28); border-left:4px solid var(--ambre); box-shadow:none}
.gw-relc--taxe .gw-relc-lab{color:#9A6A1E}
.gw-relc--taxe .gw-relc-lab svg{color:#C98A2B; width:15px; height:15px}
.gw-relc-btn--taxe{border-color:#C98A2B; color:#9A6A1E; background:#fff}
.gw-relc-btn--taxe:hover{background:#C98A2B; color:#fff}
.gw-relc-btn--taxe svg{color:#C98A2B}
.gw-relc-btn--taxe:hover svg{color:#fff}

/* ---- Vue "À traiter" ---- */
.gw-head-sub{margin-top:6px; font-size:14px; color:var(--brume)}
.gw-todo-wrap{display:flex; flex-direction:column; gap:26px; margin-top:8px}
.gw-todo-group{display:flex; flex-direction:column; gap:10px}
.gw-todo-more{font-size:12px; color:var(--brume); font-style:italic; padding:4px 2px 0}
.gw-todo-gh{display:flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--brume); font-weight:600}
.gw-todo-gh .gw-dot{width:9px; height:9px; border-radius:50%}
.gw-todo-count{margin-left:2px; background:var(--ligne2); color:var(--brume); border-radius:20px; padding:1px 9px; font-size:12px; letter-spacing:0}
.gw-todo{display:flex; align-items:center; gap:14px; width:100%; text-align:left; background:var(--ecume); border:1px solid var(--ligne); border-radius:14px; padding:15px 16px 15px 0; overflow:hidden; position:relative; box-shadow:0 1px 2px rgba(11,58,74,.04); transition:transform .14s, box-shadow .14s, border-color .14s}
.gw-todo:hover{transform:translateY(-2px); box-shadow:0 8px 22px rgba(11,58,74,.10); border-color:var(--ligne2)}
.gw-todo--hot{background:linear-gradient(120deg,rgba(46,125,91,.08),var(--ecume) 62%); border-color:rgba(46,125,91,.30)}
.gw-todo--hot .gw-todo-go{background:var(--vert)}
.gw-todo--hot:hover{box-shadow:0 8px 22px rgba(46,125,91,.16)}
.gw-todo--hot:hover .gw-todo-go{background:#256B4D}
.gw-todo-accent{width:4px; align-self:stretch; border-radius:0 4px 4px 0; flex-shrink:0}
.gw-todo-row{display:flex; align-items:stretch; gap:8px}
.gw-todo-row .gw-todo{flex:1 1 auto; min-width:0; width:auto}
.gw-todo-x{flex:0 0 auto; width:46px; display:flex; align-items:center; justify-content:center; background:var(--ecume); border:1px solid var(--ligne); border-radius:14px; color:var(--brume); cursor:pointer; transition:background .14s, color .14s, border-color .14s}
.gw-todo-x:hover{background:#F3ECEA; color:#B23B3B; border-color:#E3C9C4}
.gw-todo-x svg{width:18px; height:18px}
.gw-todo-body{flex:1; min-width:0; padding-left:2px}
.gw-todo-top{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap}
.gw-todo-nom{font-family:var(--serif); font-size:16px; font-weight:700; color:var(--encre)}
.gw-todo-type{font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--lagon); background:#E9F3F3; padding:2px 8px; border-radius:20px}
.gw-todo-motif{margin-top:4px; font-size:13px; color:var(--brume)}
.gw-todo-go{display:inline-flex; align-items:center; gap:6px; flex-shrink:0; font-size:13px; font-weight:600; color:#fff; background:var(--abysse); padding:9px 14px; border-radius:9px; margin-right:16px; transition:background .14s}
.gw-todo-go svg{width:15px; height:15px}
.gw-todo:hover .gw-todo-go{background:var(--lagon)}
@media (max-width:640px){ .gw-todo-go span{display:none} .gw-todo-nom{font-size:15px} }

/* ---- Sélecteur de statut de démarche ---- */
.gw-status-sel{appearance:none; -webkit-appearance:none; border:1px solid transparent; border-radius:20px; padding:6px 28px 6px 13px; font-size:12px; font-weight:600; cursor:pointer; max-width:165px; background-repeat:no-repeat; background-position:right 9px center; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23335' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); transition:filter .12s}
.gw-status-sel:hover{filter:brightness(.97)}
.gw-status-sel:focus{outline:none; box-shadow:0 0 0 3px rgba(27,127,140,.18)}
.gw-status-next{display:inline-flex; align-items:center; gap:5px; border:1px solid var(--lagon); background:#E3F1F3; color:#13606C; font-size:12px; font-weight:700; padding:5px 13px; border-radius:20px; cursor:pointer; white-space:nowrap; transition:filter .12s; line-height:1.3}
.gw-status-next:hover{filter:brightness(.96)}
.gw-status-next:disabled{opacity:.55; cursor:not-allowed}
.gw-status-next i{width:14px; height:14px}

/* ---- Page Relances (mobile d'abord : 1 colonne, 2 colonnes sur grand écran) ---- */
.gw-rl{display:grid; grid-template-columns:1fr; gap:16px; align-items:start; margin-top:4px}
.gw-rl .gw-pane{border:1px solid var(--ligne); border-radius:14px; background:var(--ecume); min-width:0}
.gw-rl .gw-pane-mail{background:#FBFAF6}
.gw-rl .gw-mail-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch}
.gw-rdest-lab{margin-bottom:8px}
.gw-rdest-search{display:flex; align-items:center; gap:9px; border:1px solid var(--ligne); border-radius:10px; padding:0 13px; background:var(--ecume); color:var(--brume); margin-bottom:8px}
.gw-rdest-search svg{width:16px;height:16px}
.gw-rdest-search input{border:none; outline:none; background:none; padding:11px 0; flex:1; font-size:14px; color:var(--encre); min-width:0}
.gw-rdest-list{display:flex; flex-direction:column; gap:7px; max-height:320px; overflow:auto; margin-bottom:16px; padding-right:2px}
.gw-rdest-count{font-size:12px; color:var(--brume); margin:2px 2px 9px; letter-spacing:.01em}
.gw-rdest-item{display:flex; align-items:center; gap:11px; text-align:left; padding:9px 11px; border:1px solid var(--ligne); border-radius:11px; background:var(--ecume); cursor:pointer; transition:border-color .15s,background .15s,box-shadow .15s; width:100%}
.gw-rdest-item:hover{border-color:var(--lagon); background:#F4FAFA; box-shadow:0 1px 6px rgba(11,58,74,.06)}
.gw-rdest-av{flex:0 0 auto; width:38px; height:38px; border-radius:50%; background:var(--abysse); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; letter-spacing:.02em}
.gw-rdest-info{display:flex; flex-direction:column; gap:1px; flex:1; min-width:0}
.gw-rdest-nom{display:flex; align-items:center; gap:7px; font-weight:600; font-size:13px; color:var(--encre); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gw-rdest-mail{font-size:12px; color:var(--brume); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gw-rdest-item .gw-svc,.gw-rdest-sel .gw-svc{flex:0 0 auto}
.gw-rdest-dot{flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:var(--corail)}
.gw-rdest-empty{font-size:13px; color:var(--brume); padding:14px 2px; text-align:center}
.gw-rdest-sel{display:flex; align-items:center; gap:11px; padding:12px 13px; border:1px solid var(--lagon); border-radius:11px; background:#F4FAFA; margin-bottom:16px}
.gw-rdest-sel .gw-rdest-av{background:var(--lagon)}
.gw-rdest-sel .gw-rdest-info{flex:1; min-width:0}
.gw-rdest-x{flex:0 0 auto; border:none; background:none; color:var(--lagon); font-size:13px; font-weight:600; cursor:pointer; text-decoration:underline; padding:0}
.gw-rl-send{margin-top:6px}
.gw-rl-send .gw-btn-primary{width:100%; justify-content:center}
@media(min-width:980px){ .gw-rl{grid-template-columns:1fr 1fr} }

/* ---- Relance : documents manquants à cocher (fiche) ---- */
.gw-misspieces{border:1px solid var(--ligne); border-radius:12px; background:#FBFAF6; padding:14px 15px; margin:0 0 16px}
.gw-misspieces-h{display:flex; align-items:center; gap:7px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--lagon); font-weight:700; margin-bottom:11px}
.gw-misspieces-h svg{width:14px;height:14px}
.gw-reclam-motif{display:flex; gap:6px; margin:0 0 11px}
.gw-reclam-mb{flex:1; padding:6px 10px; font-size:12.5px; font-weight:600; border:1px solid var(--ligne); background:#fff; color:#5E727A; border-radius:8px; cursor:pointer}
.gw-reclam-mb.is-on{background:var(--lagon); color:#fff; border-color:var(--lagon)}
.gw-tokin{display:flex; flex-wrap:wrap; align-items:center; gap:6px; border:1px solid var(--ligne); border-radius:10px; background:var(--ecume); padding:7px 9px; min-height:46px; cursor:text}
.gw-tokin:focus-within{border-color:var(--lagon); box-shadow:0 0 0 3px rgba(27,127,140,.12)}
.gw-tokens{display:contents}
.gw-token{display:inline-flex; align-items:center; gap:5px; background:#EAF5F5; border:1px solid #CFE6E6; color:var(--abysse); font-size:13px; font-weight:600; padding:4px 5px 4px 11px; border-radius:7px; line-height:1.2}
.gw-token button{border:none; background:none; cursor:pointer; color:var(--lagon); display:flex; align-items:center; justify-content:center; width:18px; height:18px; padding:0; border-radius:5px; font-size:16px; line-height:1}
.gw-token button:hover{background:#D3E9E9}
.gw-tokin input{flex:1; min-width:130px; border:none; outline:none; background:none; font-size:13px; color:var(--encre); padding:5px 2px; font-family:inherit}
.gw-suggest{border:1px solid var(--ligne); border-radius:10px; background:var(--ecume); margin-top:7px; max-height:250px; overflow:auto; box-shadow:0 8px 22px rgba(11,58,74,.10)}
.gw-suggest-grp{padding:3px 0}
.gw-suggest-grp+.gw-suggest-grp{border-top:1px solid var(--ligne)}
.gw-suggest-h{font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--brume); padding:8px 13px 4px}
.gw-suggest-item{display:block; width:100%; text-align:left; border:none; background:none; padding:8px 13px; font-size:13px; color:var(--encre); cursor:pointer}
.gw-suggest-item:hover{background:#F4FAFA; color:var(--lagon)}
.gw-suggest-empty{padding:11px 13px; font-size:13px; color:var(--brume)}

/* ---- Documents manquants : recherche + groupes + compteur ---- */
.gw-miss-count{margin-left:auto; font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--corail)}

/* ---- Statut de paiement (fiche démarche) ---- */
.gw-dem-actions{display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; flex-shrink:0}
.gw-pay{border:1px solid var(--corail); background:#FBE4DD; color:var(--corail-dk); font-size:12px; font-weight:700; padding:5px 12px; border-radius:20px; cursor:pointer; white-space:nowrap; transition:filter .12s; line-height:1.3}
.gw-pay::before{content:"\25CF"; margin-right:6px; font-size:8px; vertical-align:middle}
.gw-pay:hover{filter:brightness(.96)}
.gw-pay.is-paid{border-color:var(--vert); background:#E7F3EC; color:#256B4C}

/* ---- Pagination (vue Suivi) ---- */
.gw-pagin{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:14px; padding-top:13px; border-top:1px solid var(--ligne)}
.gw-pagin-info{font-size:13px; color:var(--brume)}
.gw-pagin-btns{display:flex; align-items:center; gap:10px}
.gw-pagin-pg{font-size:13px; color:var(--encre); font-weight:600}
.gw-pagin-b{border:1px solid var(--ligne); background:var(--ecume); color:var(--encre); font-size:13px; font-weight:600; padding:7px 14px; border-radius:8px; cursor:pointer; transition:border-color .15s,background .15s}
.gw-pagin-b:hover:not(:disabled){border-color:var(--lagon); background:#F4FAFA}
.gw-pagin-b:disabled{opacity:.4; cursor:default}

/* ---- Fiche client : en-tête actionnable ---- */
.gw-fiche-id{min-width:0}
.gw-fiche-meta{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:5px 0 3px}
.gw-fiche-nomrow{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.gw-fiche-nomrow .gw-fiche-nom{line-height:1.15}
.gw-fiche-du{font-size:12px; font-weight:700; color:#9A6A1E; background:#FBF3E2; border:1px solid #E9D5A8; padding:2px 9px; border-radius:20px}
.gw-fiche-gerant{display:flex; align-items:center; gap:5px; font-size:13px; color:var(--brume); margin-top:2px}
.gw-fiche-gerant svg{width:13px; height:13px}
.gw-fiche-aj{font-size:12px; font-weight:700; color:#256B4C; background:#E7F3EC; border:1px solid #BFE0CD; padding:2px 9px; border-radius:20px}
.gw-fiche-contacts{display:flex; flex-wrap:wrap; gap:7px; margin:8px 0 6px; min-width:0}
.gw-hchip{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; padding:5px 11px; border-radius:999px; border:1px solid var(--ligne); background:#fff; color:var(--encre); text-decoration:none; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:border-color .15s, color .15s}
.gw-hchip svg{width:13px; height:13px; flex:none; color:var(--brume)}
.gw-hchip:hover{border-color:var(--lagon)}
.gw-hchip--mail{font-weight:500; color:var(--brume)}
.gw-hchip--mail.is-empty{opacity:.7}
.gw-hchip--call svg{color:var(--vert)}
.gw-fiche-contact{display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--lagon); text-decoration:none; font-weight:600; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gw-fiche-contact svg{width:14px; height:14px; flex:0 0 auto}
.gw-fiche-contact:hover{text-decoration:underline}
.gw-fiche-contact.gw-muted{color:var(--brume); font-weight:400}

/* ---- Bouton « Voir tout » (listes limitées dans la fiche) ---- */
.gw-seemore{display:inline-flex; align-items:center; gap:6px; margin-top:10px; border:1px solid var(--ligne); background:var(--ecume); color:var(--lagon); font-size:13px; font-weight:600; padding:7px 13px; border-radius:8px; cursor:pointer; transition:border-color .15s,background .15s}
.gw-seemore:hover{border-color:var(--lagon); background:#F4FAFA}
.gw-seemore svg{width:14px; height:14px}
.gw-pager{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:14px; padding-top:12px; border-top:1px solid var(--ligne)}
.gw-pager-lab{font-size:12px; color:var(--brume); white-space:nowrap}
.gw-pager-btns{display:flex; gap:6px; flex-wrap:wrap}
.gw-pgbtn{font:inherit; font-size:12px; padding:5px 10px; border-radius:7px; border:1px solid var(--ligne); background:#fff; color:var(--encre); cursor:pointer; line-height:1; transition:border-color .15s,background .15s,color .15s}
.gw-pgbtn:hover{border-color:var(--corail); color:var(--corail)}
.gw-pgbtn.is-on{background:var(--corail); border-color:var(--corail); color:#fff}
.gw-dpager{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:10px; padding-top:8px; border-top:1px solid var(--ligne)}
.gw-dpager-i{font-size:12px; color:var(--brume); font-weight:500}
.gw-dpager-b{display:inline-flex; align-items:center; justify-content:center; width:30px; height:28px; border:1px solid var(--ligne); border-radius:8px; background:transparent; color:var(--lagon); cursor:pointer; transition:border-color .15s,background .15s,opacity .15s}
.gw-dpager-b:hover:not(:disabled){border-color:var(--lagon); background:rgba(27,127,140,.06)}
.gw-dpager-b:disabled{opacity:.4; cursor:default}
.gw-dpager-b svg{width:15px; height:15px}
.gw-demdest{margin-bottom:14px}
.gw-demdest-on{display:flex; align-items:center; gap:8px; margin-bottom:14px; padding:9px 12px; border:1px solid var(--lagon); border-radius:9px; background:rgba(27,127,140,.07); color:var(--abysse); font-size:13px; font-weight:600}
.gw-demdest-on svg{width:16px; height:16px; color:var(--lagon); flex:none}
.gw-demdest-on .gw-link{margin-left:auto; font-weight:600}
.gw-godem{display:flex; align-items:center; gap:9px; width:100%; margin-bottom:12px; padding:11px 14px; border:1px solid var(--lagon); border-radius:10px; background:rgba(27,127,140,.06); color:var(--abysse); font:inherit; font-size:14px; font-weight:600; cursor:pointer; text-align:left; transition:background .15s,border-color .15s}
.gw-godem:hover{background:rgba(27,127,140,.12)}
.gw-godem svg{width:17px; height:17px; color:var(--lagon); flex:none}
.gw-godem-arr{margin-left:auto}

/* ============ Tableau de bord — poste de pilotage ============ */
.gw-dash-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px}
.gw-miniclock{display:flex; flex-direction:column; align-items:flex-end; gap:2px; padding-top:6px}
.gw-miniclock #dash-time{font-size:20px; font-weight:700; color:var(--abysse); letter-spacing:.5px; font-family:ui-monospace,monospace; font-variant-numeric:tabular-nums}
.gw-miniclock #dash-date{font-size:12px; color:var(--brume)}

.gw-kpis--3{grid-template-columns:repeat(3,1fr)}
.gw-kpis--2{grid-template-columns:repeat(2,1fr)}
.gw-statgroup .gw-kpis{margin:0}
.gw-kpi--total{background:#fff; border-color:var(--abysse)}
.gw-kpi:hover{transform:translateY(-2px); box-shadow:0 8px 22px rgba(11,58,74,.1); border-color:var(--lagon)}
.gw-kpi-lab{font-size:13px; color:var(--brume); font-weight:600}
.gw-jauge{margin-top:9px; max-width:440px}
.gw-jauge-bar{position:relative; height:9px; border-radius:6px; background:linear-gradient(90deg,#2D7DD2 0%,#5DBB63 30%,#2E7D5B 50%,#B23B3B 72%,#15262C 88%,#6B3FA0 100%)}
.gw-jauge-cur{position:absolute; top:50%; width:15px; height:15px; border-radius:50%; background:#fff; border:3px solid #15262C; transform:translate(-50%,-50%); box-shadow:0 1px 4px rgba(0,0,0,.25); transition:left .45s ease}
.gw-jauge-lab{display:flex; align-items:center; gap:7px; font-size:13px; color:var(--brume); margin-top:7px}
.gw-jauge-dot{width:9px; height:9px; border-radius:50%; flex:none}
.gw-tabs{display:flex; gap:2px; padding:10px 22px 0; border-bottom:1px solid var(--ligne); background:#fff; flex:none; overflow-x:auto}
.gw-tab{display:inline-flex; align-items:center; gap:6px; padding:9px 14px; border:none; background:none; font-size:13px; font-weight:600; color:var(--brume); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap}
.gw-tab svg{width:15px; height:15px; color:var(--tabc, var(--brume))}
.gw-tab.is-on{color:var(--tabc, var(--abysse)); border-bottom-color:var(--tabc, var(--lagon))}
.gw-tab:hover{color:var(--encre)}
.gw-bandeau{display:flex; align-items:center; gap:10px; margin:12px 22px 16px; padding:10px 14px; background:#FBFAF6; border:1px solid var(--ligne); border-left:3px solid var(--lagon); border-radius:12px; flex:none}
.gw-bandeau-ic{display:inline-flex; flex:none}
.gw-bandeau-ic svg{width:18px; height:18px}
.gw-bandeau-tx{flex:1; font-size:13px; font-weight:600; color:var(--encre)}
.gw-bandeau-cta{display:inline-flex; align-items:center; gap:5px; padding:7px 12px; border:none; border-radius:8px; background:var(--abysse); color:#fff; font-size:13px; font-weight:600; cursor:pointer; flex:none}
.gw-bandeau-cta svg{width:14px; height:14px}
.gw-bandeau--hot{background:linear-gradient(135deg,rgba(46,125,91,.13),rgba(46,125,91,.04)); border-color:rgba(46,125,91,.30); box-shadow:0 3px 14px rgba(46,125,91,.16); animation:gw-hot-glow 3.4s ease-in-out infinite}
@keyframes gw-hot-glow{0%,100%{box-shadow:0 2px 10px rgba(46,125,91,.13)}50%{box-shadow:0 5px 20px rgba(46,125,91,.28)}}
.gw-bandeau--hot .gw-bandeau-tx{color:#1F6048}
.gw-bandeau--hot .gw-bandeau-cta{background:var(--vert)}
.gw-derniers{margin-bottom:16px; padding:12px 14px; background:#fff; border:1px solid var(--ligne); border-radius:12px}
.gw-derniers--empty{color:var(--brume); font-size:13px; display:flex; gap:7px; align-items:center}
.gw-derniers--empty svg{width:15px; height:15px}
.gw-dz-h{display:flex; align-items:center; gap:6px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--brume); font-weight:600; margin-bottom:8px}
.gw-dz-h svg{width:13px; height:13px}
.gw-dz-row{display:flex; align-items:center; gap:9px; padding:4px 0; font-size:13px}
.gw-dz-ic{width:24px; height:24px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; flex:none; background:#F4F2EC; color:var(--lagon)}
.gw-dz-ic svg{width:13px; height:13px}
.gw-dz-tx{flex:1; color:var(--encre); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gw-dz-dt{color:var(--brume); font-size:12px; flex:none}
.gw-ligne-vie{margin-bottom:16px; padding:12px 14px; background:#fff; border:1px solid var(--ligne); border-radius:12px}
.gw-lv-h{display:flex; align-items:baseline; gap:8px; font-size:13px; font-weight:700; color:var(--encre); margin-bottom:12px}
.gw-lv-ref{font-size:12px; font-weight:600; color:var(--brume); letter-spacing:.02em}
.gw-lv-dot{width:13px; height:13px; border-radius:50%}
.gw-lv-link{flex:1; min-width:14px; height:2px; background:var(--ligne); margin-top:5px}
.gw-mail-details{margin-top:16px}
.gw-mail-details > summary{cursor:pointer; list-style:none; display:inline-flex}
.gw-mail-details > summary::-webkit-details-marker{display:none}
.gw-kpi-note{font-size:12px; color:var(--brume); margin-top:2px; font-weight:600; text-transform:uppercase; letter-spacing:.08em}

.gw-block--wide{margin-top:16px}
.gw-block-h svg{width:16px; height:16px}

.gw-dsub{margin-bottom:18px}
.gw-dsub:last-child{margin-bottom:0}
.gw-dsub-h{display:flex; align-items:center; gap:7px; font-size:13px; font-weight:700; color:var(--encre); margin-bottom:6px}
.gw-dsub-n{background:var(--sel); color:var(--brume); font-size:12px; font-weight:700; padding:1px 8px; border-radius:20px}
.gw-dsub-empty{font-size:13px; padding:3px 0 2px}
.gw-dsub-more{font-size:12px; color:var(--brume); padding:5px 0 0 4px}

.gw-dl:hover{background:var(--sel)}
.gw-dl-ic{width:22px; flex:0 0 auto; display:grid; place-items:center}
.gw-dl-ic svg{width:17px; height:17px}
.gw-dl-main{flex:1; min-width:0; display:flex; flex-direction:column; gap:1px}
.gw-dl-nom{font-size:13px; font-weight:600; color:var(--encre); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gw-dl-sub{font-size:12px; color:var(--brume); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gw-dl-right{flex:0 0 auto; font-size:13px; color:var(--vert)}

.gw-acts{display:flex; flex-direction:column; gap:2px}
.gw-act:hover{background:var(--sel)}
.gw-act-ic{width:30px; height:30px; flex:0 0 auto; border-radius:9px; display:grid; place-items:center; background:var(--sel); color:var(--brume)}
.gw-act-ic svg{width:16px; height:16px}
.gw-act-mail{background:#E3F0F0; color:#1B7F8C}
.gw-act-paiement{background:#E7F3EC; color:#2E7D5B}
.gw-act-note{background:#F6ECD8; color:#C98A2B}
.gw-act-statut{background:#EAEFF4; color:#0B3A4A}
.gw-act-admin{background:#E7ECF0; color:#0B3A4A}
.gw-act-recouvrement{background:#FBEDE9; color:#C0432A}
.gw-act-courrier{background:#ECF1F4; color:#3C6E7A}
.gw-act--noclick{cursor:default}
.gw-act--noclick:hover{background:transparent}
.gw-act-main{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px}
.gw-act-txt{font-size:13px; color:var(--encre); line-height:1.4}
.gw-act-date{font-size:12px; color:var(--brume)}

@media(max-width:860px){ .gw-kpis{grid-template-columns:repeat(2,1fr)} .gw-kpis--3,.gw-kpis--2{grid-template-columns:repeat(2,1fr)} .gw-kpis--3 .gw-kpi--total{grid-column:1 / -1} .gw-secudash-grid{grid-template-columns:1fr} .gw-dash-head{flex-direction:column} .gw-miniclock{align-items:flex-start; padding-top:0} }

/* ---- Bouton Appeler (fiche) + activité d'appel ---- */
.gw-act-appel{background:#EAF1F3; color:#0B3A4A}
.gw-login-card .gw-login-btn{background:var(--abysse); box-shadow:0 4px 12px rgba(11,58,74,.28)}
.gw-login-card .gw-login-btn:hover{background:#0A2F3D}

/* ===== Optimisations métier : funnel, honoraires recouvrement, cross-sell suggéré ===== */
.gw-funnel-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 14px; }
.gw-fchip { display: inline-flex; align-items: baseline; gap: 5px; padding: 6px 11px; border-radius: 999px;
  background: #EEF2F3; color: #0B3A4A; font-size:13px; line-height: 1; }
.gw-fchip b { font-size:15px; font-weight: 700; }
.gw-fchip--ok { background: #E1F0E8; color: #2E7D5B; }
.gw-fchip--wait { background: #FBE4DD; color: #C8492F; }
.gw-fchip--bad { background: #F6E2E0; color: #B23B3B; }
.gw-rec-note { margin-top: 8px; font-size:12px; }
.gw-relc-btn.is-suggested { border-color: #C98A2B; box-shadow: 0 0 0 1px #C98A2B inset; color: #8a5e1c; font-weight: 600; }

/* ===== Modernisation visuelle (fluidité, finitions) — ajouts en surcharge, non destructifs ===== */

/* Lissage de police pour un rendu net de Manrope/Fraunces */

/* Courbe d'easing homogène sur les interactions (remplace l'ease plat par défaut) */
.gw-card,.gw-card-arrow,.gw-navitem,.gw-logout,.gw-kpi,.gw-leadbtn,.gw-chip,
.gw-btn-primary,.gw-btn-save,.gw-btn-blue,.gw-btn-ghost,.gw-btn-soft,.gw-close,
.gw-input-ic,.gw-status-sel,.gw-pay,.gw-relc-btn,.gw-jquick,.gw-jfilter,.gw-dl,
.gw-todo,.gw-act,.gw-seemore,.gw-doctile,.gw-link,.gw-fchip,
input,textarea,select{ transition-timing-function:var(--ease); }

/* Feedback tactile : le bouton « s'enfonce » au clic */
.gw-btn-primary:active,.gw-btn-save:active,.gw-btn-blue:active,.gw-btn-ghost:active,
.gw-btn-soft:active,.gw-chip:active,.gw-kpi:active,.gw-leadbtn:active,
.gw-relc-btn:active,.gw-jquick:active,.gw-jfilter:active,.gw-navitem:active,
.gw-pay:active,.gw-dl:active,.gw-todo:active{ transform:scale(.97); }

/* Survol de carte un peu plus présent (ombre en couches) */
.gw-card:hover{transform:translateY(-2px); border-color:#D6CFC0; box-shadow:0 2px 6px rgba(11,58,74,.06),0 14px 30px rgba(11,58,74,.10)}

/* Sélection de texte aux teintes de la marque */
::selection{ background:rgba(27,127,140,.22); color:var(--encre); }

/* Scrollbars fines et discrètes */
*{ scrollbar-width:thin; scrollbar-color:#C9D4D8 transparent; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{ background:#C9D4D8; border-radius:8px; border:2px solid transparent; background-clip:content-box; }
::-webkit-scrollbar-thumb:hover{ background:#A9BCC2; background-clip:content-box; }

/* Respect de la préférence « animations réduites » pour les nouveaux effets */
@media(prefers-reduced-motion:reduce){
  .gw-btn-primary:active,.gw-btn-save:active,.gw-btn-blue:active,.gw-btn-ghost:active,
  .gw-btn-soft:active,.gw-chip:active,.gw-kpi:active,.gw-leadbtn:active,
  .gw-relc-btn:active,.gw-jquick:active,.gw-jfilter:active,.gw-navitem:active,
  .gw-pay:active,.gw-dl:active,.gw-todo:active{ transform:none; }
}

/* ===== Création de lead en relance + filtre paiement ===== */
.gw-rdest-new{ margin-top:14px; padding-top:14px; border-top:1px dashed var(--ligne); }
.gw-rdest-new-h{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--brume); margin-bottom:10px; }
.gw-rdest-new-h i{ width:16px; height:16px; }
.gw-rdest-new .gw-btn-blue{ margin-top:4px; }
.gw-filters--pay{ margin-top:8px; }
.gw-filters--pay .gw-chip[data-payfilter="paye"].is-on{ color:var(--vert); background:#E1F0E8; border-color:#E1F0E8; }
.gw-filters--pay .gw-chip[data-payfilter="attente"].is-on{ color:var(--ambre); background:#F6ECD8; border-color:#F6ECD8; }

/* ===== Menu de statut verrouillé tant que non payé + parcours à étapes multiples ===== */
.gw-status-sel:disabled{ opacity:.55; cursor:not-allowed; }
.gw-lv-track::-webkit-scrollbar{ height:6px; }

/* ===== Badge d'alerte pour les incidents (hors barre de progression) ===== */
.gw-lv-alert{ display:inline-flex; align-items:center; gap:5px; margin-left:8px; padding:3px 9px; border-radius:999px; font-size:12px; font-weight:600; }
.gw-lv-alert i{ width:13px; height:13px; }
.gw-ligne-vie.is-incident .gw-lv-track{ opacity:.6; }
.gw-lv-action{ display:flex; align-items:center; gap:6px; margin-top:8px; font-size:12px; color:#5E727A; }
.gw-lv-action i{ width:13px; height:13px; }
.gw-lv-next{ color:#C98A2B; font-weight:600; }
.gw-lv-etat{ display:flex; align-items:center; gap:6px; margin:6px 0 2px; font-size:12.5px; font-weight:600 }
.gw-lv-etat i{ width:14px; height:14px }
.gw-lv-etat--wait{ color:#C98A2B }
.gw-lv-etat--act{ color:#C8492F }
.gw-lv-etat--fin{ color:#2E7D5B }
.gw-dem-alert{ display:inline-flex; align-items:center; gap:6px; font-weight:600; }
.gw-dem-alert i{ width:14px; height:14px; }

/* ===== Bouton "Confirmer au client" (mail de confirmation de paiement) ===== */
.gw-confpay{ display:inline-flex; align-items:center; gap:5px; font-size:12px; padding:5px 11px; border-radius:999px; border:1px solid #1B7F8C; color:#1B7F8C; background:#E9F3F3; cursor:pointer; white-space:nowrap; }
.gw-confpay i{ width:13px; height:13px; }
.gw-confpay.is-done{ border-color:#CDE3D8; color:#2E7D5B; background:#E1F0E8; cursor:default; }

/* ===== Zones tactiles confortables sur mobile (>= ~40px) ===== */
@media(max-width:900px){
  .gw-chip, .gw-confpay, .gw-jquick, .gw-pay, .gw-status-sel, .gw-status-next{ min-height:38px; }
  .gw-navitem{ min-height:42px; }
  .gw-tab{ min-height:40px; }
}

/* ===== Chat : réponses clients ===== */
.gw-chatwrap{display:flex;border:1px solid var(--ligne);border-radius:14px;overflow:hidden;background:var(--ecume);height:calc(100vh - 230px);min-height:430px}
.gw-chatlist{width:300px;flex:0 0 300px;border-right:1px solid var(--ligne);overflow-y:auto;background:var(--ecume)}
.gw-cvrow{display:block;width:100%;text-align:left;border:none;background:none;border-bottom:1px solid var(--ligne);padding:12px 14px;cursor:pointer;transition:background .12s}
.gw-cvrow:hover{background:var(--sel)}
.gw-cvrow.is-on{background:#E3F0F0}
.gw-cvrow--arep{background:#FCEEEA;box-shadow:inset 3px 0 0 var(--corail)}
.gw-cvrow--arep:hover{background:#FBE4DD}
.gw-cvrow--unread .gw-cvnom{font-weight:700}
.gw-cvtag{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.gw-cvtag svg{width:12px;height:12px}
.gw-cvtag--rep{color:var(--corail-dk);background:#FBE4DD}
.gw-cvtag--ok{color:#2E7D5B;background:#E7F1EB}
.gw-cvtop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gw-cvnom{font-size:14px;font-weight:600;color:var(--encre)}
.gw-cvprev{font-size:13px;color:var(--brume);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gw-cvmeta{font-size:12px;color:var(--brume);margin-top:3px}
.gw-chatconv{flex:1;display:flex;flex-direction:column;min-width:0}
.gw-convnom{font-size:15px;font-weight:600;color:var(--encre)}
.gw-convsub{font-size:13px;color:var(--brume);margin-top:1px}
.gw-convfil{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--sel)}
.gw-msg{max-width:78%;padding:9px 12px;border-radius:13px;font-size:14px;line-height:1.5}
.gw-msg--in{align-self:flex-start;background:var(--ecume);border:1px solid var(--ligne);color:var(--encre)}
.gw-msg--out{align-self:flex-end;background:var(--abysse);color:#fff}
.gw-msgbody{white-space:normal;word-break:break-word}
.gw-msgmeta{font-size:11px;opacity:.7;margin-top:4px}
.gw-msgpj{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.gw-pjlink{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--ligne);background:var(--ecume);color:var(--encre);font-size:13px;padding:5px 9px;border-radius:8px;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}
.gw-pjlink:hover{border-color:var(--corail);color:var(--corail)}
.gw-pjlink svg{width:14px;height:14px}
.gw-msg--out .gw-pjlink{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32);color:#fff}
.gw-msg--out .gw-pjlink:hover{border-color:#fff;color:#fff}
.gw-msgtrace{display:flex;flex-direction:column;gap:1px;background:var(--ligne);border:1px solid var(--ligne);border-radius:10px;overflow:hidden}
.gw-mt-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--ecume);font-size:13px}
.gw-mt-ic{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:6px;flex:0 0 22px}
.gw-mt-ic svg{width:14px;height:14px}
.gw-mt-row--in .gw-mt-ic{background:#E3F0F0;color:#1B7F8C}
.gw-mt-row--out .gw-mt-ic{background:#EAF3EE;color:#2E7D5B}
.gw-mt-lab{font-weight:600;color:var(--encre);flex:0 0 56px}
.gw-mt-suj{flex:1;color:var(--encre);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.gw-mt-dt{color:var(--brume);font-size:12px;flex:0 0 auto;white-space:nowrap}
.gw-mt-pj{display:inline-flex;align-items:center;gap:3px;color:var(--brume);font-size:12px;margin-left:6px}
.gw-mt-pj svg{width:12px;height:12px;vertical-align:-1px}
.gw-emailwrap{display:flex;gap:20px;align-items:flex-start}
.gw-emailform{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:18px;background:var(--ecume);border:1px solid var(--ligne);border-radius:16px;padding:22px 24px;box-shadow:0 1px 3px rgba(11,58,74,.05)}
.gw-emailform .gw-field{margin-bottom:0}
.gw-emailsec{display:flex;flex-direction:column;gap:14px}
.gw-emailsec + .gw-emailsec{border-top:1px solid var(--ligne2);padding-top:18px;margin-top:2px}
.gw-emailsec-h{display:flex;align-items:center;gap:7px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--lagon);font-weight:700}
.gw-emailsec-h svg{width:14px;height:14px}
.gw-emailta{display:block}
.gw-emailtpl .gw-tpl{margin-bottom:0}
.gw-emailrow{display:flex;gap:14px}
.gw-emailrow .gw-field{flex:1;min-width:0}
.gw-emailsel{border:none;background:none;flex:1;font-family:inherit;font-size:14px;outline:none;color:var(--encre);cursor:pointer}
.gw-emailtpl{display:flex;flex-direction:column;gap:7px}
.gw-emailmsg{width:100%;border:1px solid var(--ligne);border-radius:10px;padding:13px;font-family:inherit;font-size:14px;line-height:1.55;outline:none;resize:vertical;min-height:200px;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.gw-emailmsg:focus{border-color:var(--corail);box-shadow:0 0 0 3px rgba(225,91,65,.14)}
.gw-emailbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--ligne2);padding-top:16px;margin-top:2px}
.gw-emailprev .gw-mail-tag{margin-bottom:10px}
.gw-emailref{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--brume)}
.gw-emailref svg{width:14px;height:14px}
.gw-emailbar .gw-btn-primary{margin-left:auto}
.gw-emailprev{flex:1 1 380px;min-width:0;position:sticky;top:0}
.gw-emailprev .gw-mail{margin:0}
.gw-emailprev .gw-mail-scroll{height:calc(100vh - 250px);min-height:420px;overflow:auto}
.gw-emailprev .gw-mail-frame{width:100%;height:100%;border:0;background:#fff}
@media (max-width:900px){
  .gw-emailwrap{flex-direction:column}
  .gw-emailform,.gw-emailprev{flex:none;width:100%}
  .gw-emailrow{flex-direction:column}
  .gw-emailprev{position:static}
  .gw-emailprev .gw-mail-scroll{height:auto;min-height:340px}
}
.gw-chatreply input#gw-chatinput{flex:1;border:1px solid var(--ligne);border-radius:10px;padding:10px 13px;font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}
.gw-chatreply input#gw-chatinput:focus{border-color:var(--corail);box-shadow:0 0 0 3px rgba(225,91,65,.14)}
.gw-chatclip{display:inline-flex;align-items:center;justify-content:center;width:42px;flex:0 0 42px;height:40px;border:1px solid var(--ligne);border-radius:10px;background:var(--ecume);color:var(--brume);cursor:pointer;transition:border-color .15s,color .15s}
.gw-chatclip:hover{border-color:var(--corail);color:var(--corail)}
.gw-chatclip svg{width:18px;height:18px}
.gw-chatpiecename{display:flex;align-items:center;gap:6px;padding:0 12px 10px;font-size:13px;color:var(--encre);background:var(--ecume)}
.gw-chatpiecename:empty{display:none}
.gw-chatpiecename svg{width:15px;height:15px;color:var(--corail)}
.gw-piecedel{border:none;background:none;color:var(--corail);font-size:12px;cursor:pointer;text-decoration:underline;padding:0;margin-left:4px}
.gw-chatreply--off{justify-content:center;align-items:center;color:var(--brume)}
.gw-chatempty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--brume);padding:30px;text-align:center}
.gw-chatempty i{width:30px;height:30px}
.gw-soundtog{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--encre);cursor:pointer}
@media(max-width:900px){
  .gw-chatwrap{flex-direction:column;height:auto}
  .gw-chatlist{width:100%;flex:none;max-height:240px;border-right:none;border-bottom:1px solid var(--ligne)}
  .gw-convfil{min-height:300px}
}

/* ---- Référence de paiement à reporter sur Sogecommerce ---- */
.gw-refpaie{margin-top:12px; padding:12px 14px; border:1px solid var(--lagon); border-radius:var(--radius); background:linear-gradient(180deg,#EAF4F5,#F7F5EF)}
.gw-refpaie-h{display:flex; align-items:center; gap:7px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--abysse)}
.gw-refpaie-h i,.gw-refpaie-h svg{width:15px; height:15px; color:var(--lagon)}
.gw-refpaie-row{display:flex; align-items:center; gap:10px; margin-top:8px}
.gw-refpaie-code{flex:1; min-width:0; font-family:var(--mono); font-size:19px; font-weight:600; letter-spacing:.08em; color:var(--abysse); background:var(--ecume); border:1px solid var(--ligne); border-radius:8px; padding:8px 12px}
.gw-refpaie-copy{display:inline-flex; align-items:center; gap:6px; white-space:nowrap; cursor:pointer; border:1px solid var(--corail); background:var(--corail); color:#fff; font:inherit; font-size:13px; font-weight:600; padding:9px 14px; border-radius:8px; transition:background .15s var(--ease)}
.gw-refpaie-copy:hover{background:var(--corail-dk); border-color:var(--corail-dk)}
.gw-refpaie-copy i,.gw-refpaie-copy svg{width:15px; height:15px}
.gw-refpaie-aide{margin-top:8px; font-size:12px; line-height:1.5; color:var(--brume)}

/* ---- Notifications discrètes (paiements, messages) ---- */
.gw-notif-root{position:fixed; right:20px; bottom:22px; z-index:70; display:flex; flex-direction:column; gap:10px; max-width:360px; pointer-events:none}
.gw-notif{pointer-events:auto; display:flex; align-items:flex-start; gap:11px; background:var(--ecume); color:var(--encre); border:1px solid var(--ligne); border-left:4px solid var(--lagon); border-radius:12px; padding:12px 13px; box-shadow:0 12px 34px rgba(11,58,74,.18); opacity:0; transform:translateY(14px); transition:opacity .26s var(--ease-out), transform .26s var(--ease-out)}
.gw-notif.is-in{opacity:1; transform:translateY(0)}
.gw-notif.is-out{opacity:0; transform:translateY(14px)}
.gw-notif.is-click{cursor:pointer}
.gw-notif.is-click:hover{box-shadow:0 14px 40px rgba(11,58,74,.26)}
.gw-notif--paiement{border-left-color:var(--vert)}
.gw-notif--message{border-left-color:var(--lagon)}
.gw-notif-ic{flex-shrink:0; width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:#EAF4F5; color:var(--lagon)}
.gw-notif--paiement .gw-notif-ic{background:#E1F0E8; color:var(--vert)}
.gw-notif-ic svg{width:18px; height:18px}
.gw-notif-body{flex:1; min-width:0}
.gw-notif-t{font-size:13.5px; font-weight:700; color:var(--abysse); line-height:1.25}
.gw-notif-x{margin-top:2px; font-size:12.5px; color:var(--brume); line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gw-notif-close{flex-shrink:0; cursor:pointer; border:none; background:transparent; color:var(--brume); padding:2px; border-radius:6px; line-height:0}
.gw-notif-close:hover{background:var(--sel); color:var(--encre)}
.gw-notif-close svg{width:15px; height:15px}
@media (max-width:560px){ .gw-notif-root{left:12px; right:12px; bottom:12px; max-width:none} }

/* ---- Sélecteur de contact dans la boîte d'envoi ---- */
.gw-pickwrap { position: relative; }
.gw-pickres { position: absolute; left: 0; right: 0; top: 100%; margin-top: 4px; background: #fff; border: 1px solid #E3E0D6; border-radius: 10px; box-shadow: 0 10px 28px rgba(11,58,74,.14); z-index: 40; max-height: 260px; overflow-y: auto; display: none; }
.gw-pickres.is-open { display: block; }
.gw-pickitem { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; text-align: left; padding: 9px 12px; background: none; border: 0; border-bottom: 1px solid #F1EFE7; cursor: pointer; }
.gw-pickitem:last-child { border-bottom: 0; }
.gw-pickitem:hover { background: #F4F8F8; }
.gw-pickitem-nom { font-size: 14px; font-weight: 600; color: #15262C; }
.gw-pickitem-mail { font-size: 12px; color: #5E727A; }
.gw-pickempty { padding: 10px 12px; font-size: 13px; color: #5E727A; }

/* ---- Messagerie : état Lu/Non lu + suppression ---- */
.gw-cvtag--nonlu{color:#fff;background:var(--corail)}
.gw-cvtag--lu{color:#2E7D5B;background:#E7F1EB}
.gw-convhead{padding:14px 16px; border-bottom:1px solid var(--ligne); background:var(--ecume); display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.gw-convhead-id{min-width:0}
.gw-convdel{flex:0 0 auto;background:none;border:0;color:var(--corail);cursor:pointer;padding:6px;border-radius:8px;line-height:0}
.gw-convdel:hover{background:#FBE4DD}
.gw-convdel svg{width:18px;height:18px}

/* ---- Réponse multi-lignes + contexte métier de conversation ---- */
.gw-chatreply{display:flex; gap:8px; padding:12px; border-top:1px solid var(--ligne); background:var(--ecume); align-items:flex-end}
.gw-chatreply textarea#gw-chatinput:focus{border-color:var(--corail);box-shadow:0 0 0 3px rgba(225,91,65,.14)}
.gw-convchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid var(--ligne);color:var(--encre)}
.gw-convchip strong{font-weight:600}
.gw-convchip-ref{color:var(--brume)}
.gw-convchip-st{font-weight:600}
.gw-convchip-pay{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}
.gw-convchip-pay--ok{color:#2E7D5B;background:#E7F1EB}
.gw-convchip-pay--wait{color:var(--corail-dk);background:#FBE4DD}
.gw-convchip--rel{background:#FFF6E6;border-color:#F0E1C0;color:#8A6A1F}
.gw-convchip--rel svg{width:13px;height:13px}

/* ---- Parcours (ligne de vie) : densification + lisibilité sur les flux longs ---- */
.gw-lv-track{display:flex; align-items:flex-start; overflow-x:auto; scroll-behavior:smooth; padding-bottom:4px}
.gw-lv-lab{color:var(--brume); white-space:nowrap; font-size:11px; line-height:1.25}
.gw-lv-step{display:flex; flex-direction:column; align-items:center; flex:none; gap:4px; padding:0 1px}
.gw-lv-step.is-cur .gw-lv-lab{font-weight:700}
.gw-lv-step.is-done .gw-lv-lab{color:#2E7D5B}

/* ---- Entête de conversation compacte + zone de réponse agrandie ---- */
.gw-convsub-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:4px}
.gw-convsub-row .gw-convsub{margin:0}
.gw-chatreply textarea#gw-chatinput{flex:1; border:1px solid var(--ligne); border-radius:10px; padding:10px 13px; font-family:inherit; font-size:14px; line-height:1.4; outline:none; resize:none; overflow-y:auto; transition:border-color .15s,box-shadow .15s; min-height:96px; max-height:280px}

/* ---- Badge de paiement par démarche dans le suivi (parcours) ---- */
.gw-lv-pay{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;margin-left:8px}
.gw-lv-pay svg{width:12px;height:12px}
.gw-lv-pay--ok{color:#2E7D5B;background:#E1F0E8}
.gw-lv-pay--due{color:#fff;background:#DC2626}

/* ============================================================
   Finition V2.1 - micro-details (additif, ni structure ni palette modifiees)
   ============================================================ */
html{scroll-behavior:smooth}
body{display:flex; min-height:100vh; width:100%; font-family:var(--sans); color:var(--encre); background:var(--sel); font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility}

/* selection de texte aux couleurs maison */
::selection{background:rgba(27,127,140,.20); color:var(--encre)}

/* cases et boutons radio cohérents partout */
input[type=checkbox],input[type=radio]{accent-color:var(--lagon)}

/* scrollbars fines et discretes */
*{scrollbar-width:thin; scrollbar-color:#C7D2D5 transparent}
*::-webkit-scrollbar{width:10px; height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#C7D2D5; border-radius:999px; border:2px solid transparent; background-clip:content-box}
*::-webkit-scrollbar-thumb:hover{background:#A7B8BE; background-clip:content-box}

/* focus clavier accessible et net ; aucun anneau disgracieux au clic souris */
:focus{outline:none}
:focus-visible{outline:2px solid var(--lagon); outline-offset:2px}
/* les champs ont deja leur halo : pas de double marquage au clavier */
.gw-field input:focus-visible,.gw-field textarea:focus-visible,.gw-input-ic input:focus-visible,.gw-noteadd textarea:focus-visible,.gw-mailform textarea:focus-visible,.gw-mailform select:focus-visible,.gw-search input:focus-visible,.gw-date-inline:focus-visible{outline:none}

/* badge de version : finition premium */
.gw-ver{display:inline-block; font-size:9px; font-weight:700; letter-spacing:.06em; color:#fff; padding:2px 6px; border-radius:6px; vertical-align:middle; margin-left:5px; background:linear-gradient(135deg,var(--corail),var(--corail-dk)); box-shadow:0 2px 8px rgba(225,91,65,.34)}

/* liens texte : transition douce */
.gw-link{color:var(--lagon); font-size:12px; text-decoration:underline; font-weight:500; text-transform:none; letter-spacing:0; transition:color .15s var(--ease)}

/* ---- compte pro / recurrent (apporteur) ---- */
.gw-tag-pro{display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:700; color:#8A5E12; background:#F6ECD6; padding:2px 9px; border-radius:999px; vertical-align:middle}
.gw-tag-pro svg{width:12px; height:12px}
.gw-chip--pro.is-on{background:#8A5E12; color:#fff; border-color:#8A5E12}
.gw-leadbtn--pro.is-on{color:#8A5E12; background:#F6ECD6; border-color:#F6ECD6}
.gw-dem-note{display:flex; align-items:center; gap:6px; font-size:12px; color:var(--encre); margin-top:6px}
.gw-dem-note svg{width:13px; height:13px; color:#8A5E12}
.gw-dem-note span{font-weight:600}
.gw-dem-note-add{display:inline-flex; align-items:center; gap:5px; margin-top:6px; font-size:12px}
.gw-dem-note-add svg{width:13px; height:13px}
.gw-prorecap{background:linear-gradient(135deg,#FBF5E8,#F6ECD6); border:1px solid #E7D3A8; border-radius:12px; padding:12px 14px; margin-bottom:16px}
.gw-prorecap-h{display:flex; align-items:center; gap:7px; font-weight:700; font-size:13px; color:#8A5E12; margin-bottom:12px}
.gw-prorecap-h svg{width:16px; height:16px}
.gw-prorecap-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.gw-prorecap-c{display:flex; flex-direction:column; gap:2px}
.gw-prorecap-v{font-size:22px; font-weight:800; font-family:var(--serif); color:var(--encre); line-height:1}
.gw-prorecap-l{font-size:11.5px; color:var(--brume); font-weight:600; text-transform:uppercase; letter-spacing:.04em}

/* ===== Tableau de bord : bandes segmentées + sécurité discrète ===== */
.gw-sec2{display:flex; align-items:baseline; gap:9px; margin:20px 0 9px}
.gw-sec2 .t{font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--brume)}
.gw-sec2 .hint{font-size:11.5px; color:var(--brume); opacity:.85}
.gw-sec2 .line{flex:1; height:1px; background:var(--ligne)}

.gw-band{display:flex; background:var(--ecume); border:1px solid var(--ligne); border-radius:14px; box-shadow:var(--sh); overflow:hidden}
.t-abysse{background:rgba(11,58,74,.10); color:var(--abysse)}
.t-lagon{background:rgba(27,127,140,.12); color:var(--lagon)}
.t-vert{background:rgba(46,125,91,.13); color:var(--vert)}
.t-corail{background:rgba(200,73,47,.12); color:var(--corail-dk)}
.t-ambre{background:rgba(201,138,43,.15); color:#A06F15}
.t-violet{background:rgba(122,79,163,.12); color:#7A4FA3}
.gw-evo{margin-top:2px; display:inline-flex; align-items:center; gap:2px; font-size:11px; font-weight:700}
.gw-evo svg{width:11px; height:11px}
.gw-evo--up{color:var(--vert)}
.gw-evo--down{color:var(--corail-dk)}
.gw-evo--flat{font-weight:600; color:var(--brume)}

details.gw-secbar{background:var(--ecume); border:1px solid var(--ligne); border-radius:11px; box-shadow:var(--sh); margin:4px 0 6px}
details.gw-secbar[open]{box-shadow:0 6px 20px rgba(11,58,74,.07)}
.gw-secbar-sum{display:flex; align-items:center; gap:10px; padding:10px 14px; cursor:pointer; list-style:none; font-size:12.5px}
.gw-secbar-sum::-webkit-details-marker{display:none}
.gw-secbar-dot{width:8px; height:8px; border-radius:50%; background:var(--vert); box-shadow:0 0 0 3px rgba(46,125,91,.16); flex:0 0 auto}
.gw-secbar.is-alert .gw-secbar-dot{background:var(--corail-dk); box-shadow:0 0 0 3px rgba(200,73,47,.16)}
.gw-secbar-lab{font-weight:700; color:var(--encre)}
.gw-secbar-state{color:var(--vert); font-weight:600}
.gw-secbar.is-alert .gw-secbar-state{color:var(--corail-dk)}
.gw-secbar-stats{margin-left:auto; color:var(--brume); display:flex; gap:13px; align-items:center; font-variant-numeric:tabular-nums; flex-wrap:wrap}
.gw-secbar-stats b{color:var(--encre); font-weight:700}
.gw-secbar-chev{color:var(--brume); transition:transform .2s; flex:0 0 auto; display:grid; place-items:center}
.gw-secbar-chev svg{width:15px; height:15px}
details.gw-secbar[open] .gw-secbar-chev{transform:rotate(180deg)}
.gw-secbar-body{display:grid; grid-template-columns:repeat(3,1fr); gap:11px; padding:4px 14px 14px; border-top:1px solid var(--ligne2)}
.gw-secbar-body .gw-secz{border-radius:11px; padding:11px 13px}
.gw-secz--info{border-left:3px solid var(--lagon)}
.gw-secz--ok{border-left:3px solid var(--vert)}
.gw-secz--act{border-left:3px solid var(--brume)}

/* compacité des blocs du bas */
.gw-block{box-shadow:var(--sh); background:var(--ecume); border:1px solid var(--ligne); border-radius:16px; padding:15px 17px}
.gw-block-h{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--lagon); margin-bottom:11px}
.gw-dl{display:flex; align-items:center; gap:11px; width:100%; text-align:left; background:transparent; border:0; border-radius:10px; cursor:pointer; transition:background .13s; padding:6px 8px}
.gw-act{display:flex; align-items:flex-start; gap:11px; width:100%; text-align:left; background:transparent; border:0; border-radius:10px; cursor:pointer; transition:background .13s; padding:6px 8px}

@media(max-width:820px){
  .gw-band{flex-wrap:wrap}
  .gw-secbar-stats{display:none}
  .gw-secbar-chev{margin-left:auto}
  .gw-secbar-body{grid-template-columns:1fr}
}

/* ===== Fiche : coordonnees structurees + qualification (v2) ===== */
.gw-cgrp{border:1px solid var(--ligne);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--ecume)}
.gw-cgrp-h{display:flex;align-items:center;gap:7px;font-family:var(--serif);font-size:13px;font-weight:600;color:var(--abysse);margin-bottom:8px}
.gw-cgrp-h svg{width:15px;height:15px;color:var(--lagon)}
.gw-cgrp-body{display:flex;flex-direction:column;gap:2px}
.gw-cform{display:flex;flex-direction:column;gap:10px}
.gw-score{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gw-score-lab{font-size:13px;color:var(--brume);font-weight:600}
.gw-stars{display:inline-flex;gap:3px}
.gw-star{border:0;background:none;padding:2px;cursor:pointer;color:var(--ligne);line-height:0;border-radius:6px}
.gw-star svg{width:24px;height:24px;fill:none;stroke:currentColor}
.gw-star:hover{color:var(--ambre)}
.gw-star.is-on{color:var(--ambre)}
.gw-star.is-on svg{fill:var(--ambre)}
.gw-tiers{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.gw-tier{border:1px solid var(--ligne);background:var(--ecume);color:var(--brume);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .12s}
.gw-tier:hover{border-color:var(--tc);color:var(--tc)}
.gw-tier.is-on{background:var(--tc);border-color:var(--tc);color:#fff}
.gw-notes{width:100%;border:1px solid var(--ligne);border-radius:10px;padding:11px 13px;font:inherit;font-size:14px;line-height:1.55;color:var(--encre);resize:vertical;background:var(--ecume)}
.gw-notes:focus{outline:none;border-color:var(--lagon);box-shadow:0 0 0 3px rgba(27,127,140,.12)}

/* ===== Tableau de bord : cartes KPI + actu IA + securite animee ===== */
.gw-kpis{margin:18px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:6px}
@media(max-width:880px){.gw-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gw-kpis{grid-template-columns:1fr}}
.gw-kpi{align-items:flex-start; gap:3px; cursor:pointer; transition:transform .14s, box-shadow .14s, border-color .14s; position:relative; background:var(--ecume); border:1px solid var(--ligne2); border-radius:14px; padding:15px 17px 13px; display:flex; flex-direction:column; overflow:hidden; text-align:left; font:inherit; width:100%}
button.gw-kpi{cursor:pointer}
button.gw-kpi:hover{border-color:var(--ligne);box-shadow:var(--sh)}
.gw-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac)}
.gw-kpi.is-hero{background:linear-gradient(180deg,rgba(46,125,91,.06),rgba(46,125,91,0))}
.gw-kpi-top{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.gw-kpi-ic{width:30px; height:30px; flex:0 0 auto; border-radius:9px; display:grid; place-items:center}
.gw-kpi-ic svg{width:16px; height:16px}
.gw-kpi-ic.ic-abysse{background:rgba(11,58,74,.10);color:var(--abysse)}
.gw-kpi-ic.ic-green{background:var(--vert);color:#fff}
.gw-kpi-ic.ic-corail{background:var(--corail-dk);color:#fff}
.gw-kpi-ic.ic-rouge{background:#DC2626;color:#fff}
.gw-kpi-ic.ic-ambre{background:var(--ambre);color:#fff}
.gw-kpi-ic.ic-grey{background:#EAE8DF;color:#8B969B}
.gw-kpi-name{font-size:11px;letter-spacing:.7px;text-transform:uppercase;font-weight:700;color:var(--brume)}
.gw-kpi-valrow{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.gw-kpi-val{font-family:var(--serif); font-size:28px; font-weight:600; line-height:1; letter-spacing:-.5px; color:var(--ac)}
.gw-kpi-val.is-muted{color:#9AA6AB}
.gw-kpi-unit{font-size:12px;color:var(--brume);font-weight:600}
.gw-kpi-foot{margin-top:11px;padding-top:9px;border-top:1px solid var(--ligne2);font-size:12.5px;color:var(--brume);line-height:1.4}
.gw-kpi-foot b{color:var(--encre);font-weight:700}
.gw-kpi-foot .gw-w{color:var(--lagon)}
.gw-kpi-foot .gw-z{color:var(--brume)}
.gw-kpi-valrow .gw-evo svg{animation:gwblink 1.7s ease-in-out infinite}
@keyframes gwblink{0%,100%{opacity:1}50%{opacity:.25}}
.gw-secdots{display:inline-flex;align-items:center;gap:4px;margin-left:8px}
.gw-secdots i{width:6px;height:6px;border-radius:50%;background:var(--vert);display:inline-block;animation:gwpulse 1.2s ease-in-out infinite}
.gw-secdots i:nth-child(2){animation-delay:.2s}
.gw-secdots i:nth-child(3){animation-delay:.4s}
@keyframes gwpulse{0%,100%{opacity:.25;transform:scale(.78)}50%{opacity:1;transform:scale(1)}}
.gw-news-list{display:flex;flex-direction:column;gap:0}
.gw-news-item{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:9px;text-decoration:none;border-bottom:1px solid var(--ligne2)}
.gw-news-item:last-child{border-bottom:0}
.gw-news-item:hover{background:var(--sel)}
.gw-news-ti{font-size:13.5px;color:var(--encre);line-height:1.4;font-weight:500}
.gw-news-meta{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--brume)}
.gw-news-src{font-weight:600;color:var(--lagon)}

/* ===== Sélecteur multiple de formalités (relances : INPI/greffe) ===== */
.gw-mchoix{display:flex;flex-direction:column;gap:9px}
.gw-mchoix-tokens{display:flex;flex-wrap:wrap;gap:6px}
.gw-mchoix-empty{font-size:12.5px;color:var(--brume)}
.gw-mchoix-opts{display:flex;flex-wrap:wrap;gap:6px}
.gw-mchoix-opt{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--lagon);background:rgba(27,127,140,.08);border:1px solid rgba(27,127,140,.28);border-radius:999px;padding:4px 11px;cursor:pointer;transition:background .12s}
.gw-mchoix-opt:hover{background:rgba(27,127,140,.16)}
.gw-mchoix-opt svg{width:12px;height:12px}
.gw-mchoix-add{display:flex;gap:6px}
.gw-mchoix-add input{flex:1;min-width:0}

/* Encadré interne (grille tarifaire, non envoyé au client) dans le formulaire de relance */
.gw-noteint{background:#FBF3DD;border:1px solid #ECD9A6;border-radius:11px;padding:10px 13px;margin:14px 0 16px}
.gw-noteint-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#A06F15}
.gw-noteint-tag svg{width:13px;height:13px}
.gw-noteint-tx{margin-top:5px;font-size:12.5px;color:var(--encre);line-height:1.55}
.gw-localtog{position:relative;display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid var(--ligne);border-radius:11px;background:var(--ecume);cursor:pointer;transition:border-color .15s}
.gw-localtog:hover{border-color:var(--lagon)}
.gw-localtog input{position:absolute;opacity:0;width:0;height:0}
.gw-localtog-box{flex:0 0 auto;width:22px;height:22px;border:1.5px solid var(--ligne);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:#fff;transition:background .15s,border-color .15s;margin-top:1px}
.gw-localtog-box svg{width:14px;height:14px;color:#fff;opacity:0;transition:opacity .12s}
.gw-localtog input:checked + .gw-localtog-box{background:var(--lagon);border-color:var(--lagon)}
.gw-localtog input:checked + .gw-localtog-box svg{opacity:1}
.gw-localtog-tx{display:flex;flex-direction:column;gap:2px;font-size:13px}
.gw-localtog-tx b{font-weight:700;color:var(--encre)}
.gw-localtog-tx em{font-style:normal;color:var(--brume);font-size:12px;line-height:1.45}
.gw-localtog input:checked ~ .gw-localtog-tx b{color:var(--lagon)}

/* Réinjection du lien de paiement mémorisé */
.gw-lieninfo{margin-top:8px;font-size:12.5px;color:#5E727A;display:flex;align-items:center;gap:6px;line-height:1.45}
.gw-lieninfo strong{color:#0B3A4A}
.gw-lienpick{margin-top:8px;padding:10px 12px;background:#FBF3EF;border:1px solid #F0D9CF;border-radius:10px}
.gw-lienpick-h{font-size:12.5px;color:#B23B3B;display:flex;align-items:center;gap:6px;margin-bottom:8px;line-height:1.4}
.gw-lienpick-btn{display:block;width:100%;text-align:left;margin:5px 0 0;padding:8px 10px;background:#fff;border:1px solid #E3D9CF;border-radius:8px;font-size:13px;color:#0B3A4A;cursor:pointer}
.gw-lienpick-btn:hover{border-color:#E15B41;background:#fff8f5}
.gw-lienpick-btn strong{color:#15505F}

/* ---- Vue Suivi : pipeline de travail groupé par étape ---- */
.gw-pipe{display:flex; flex-direction:column; gap:16px}
.gw-pipe-head{display:grid; grid-template-columns:1.3fr 1.1fr 1.5fr .8fr .7fr; gap:12px; padding:2px 16px 0; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--brume); font-weight:600}
.gw-pipe-grp{background:var(--ecume); border:1px solid var(--ligne); border-radius:14px; overflow:hidden; box-shadow:var(--sh)}
.gw-pipe-sec{display:flex; align-items:center; gap:9px; padding:11px 16px; font-weight:700; font-size:13px; color:var(--encre); background:var(--ligne2); border-bottom:1px solid var(--ligne)}
.gw-pipe-dot{width:9px; height:9px; border-radius:50%; flex:none}
.gw-pipe-n{margin-left:auto; color:var(--brume); font-weight:600; font-size:12px}
.gw-pipe-row{display:grid; grid-template-columns:1.3fr 1.1fr 1.5fr .8fr .7fr; gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--ligne2); cursor:pointer; transition:background .12s var(--ease)}
.gw-pipe-row:last-child{border-bottom:none}
.gw-pipe-row:hover{background:var(--sel)}
.gw-pipe-row > span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gw-pipe-action{font-size:13px; color:var(--encre)}
@media(max-width:760px){
  .gw-pipe-head{display:none}
  .gw-pipe-row{grid-template-columns:1fr 1fr; gap:5px 12px}
  .gw-pipe-row > span:nth-child(5){display:none}
}
