/* ===== Senzo CRM — mobile-first ===== */
:root{
  --navy:#0d1b2a; --navy2:#1b263b; --accent:#e0a458; --accent2:#c98a3c;
  --bg:#f4f6f9; --card:#fff; --line:#e6e9ef; --txt:#1c2430; --muted:#6b7785;
  --ok:#2e8b57; --danger:#c0392b; --radius:14px; --shadow:0 2px 10px rgba(13,27,42,.07);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--txt);font-size:16px;line-height:1.45;
  padding-top:56px;padding-bottom:64px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0 0 .4em}
.muted{color:var(--muted)}.center{text-align:center}
small{color:var(--muted)}

/* ---- top bar ---- */
.topbar{position:fixed;top:0;left:0;right:0;height:56px;z-index:40;background:var(--navy);
  color:#fff;display:flex;align-items:center;gap:12px;padding:0 14px;
  padding-top:env(safe-area-inset-top)}
.burger{background:none;border:0;color:#fff;font-size:22px;cursor:pointer;display:none}
.brand{font-weight:800;font-size:19px;letter-spacing:.3px}
.brand span{color:var(--accent)}
.lang-form{margin-left:auto;flex:0 0 auto}
.lang-sel{background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:8px;padding:6px 8px;font-size:13px;cursor:pointer;outline:none}
.lang-sel option{color:#1c2430}
.topbar-user{display:flex;align-items:center;gap:9px;text-align:right;font-size:13px;line-height:1.1;flex:0 0 auto;margin-left:10px;color:#fff;text-decoration:none;padding:3px 6px;border-radius:22px}
.topbar-user:hover{background:rgba(255,255,255,.12)}
.topbar-user .ag-av{border-color:rgba(255,255,255,.5);box-shadow:none}
.topbar-user small{display:block;color:var(--accent);text-transform:capitalize;font-size:11px}
.topbar-bell{position:relative;color:#fff;font-size:20px;text-decoration:none;padding:0 4px;line-height:1;flex:0 0 auto;margin-left:8px}
.bell-badge{position:absolute;top:-5px;right:-4px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;min-width:16px;height:16px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 3px}
.notif-list{display:flex;flex-direction:column;gap:8px}
.notif-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--txt)}
.notif-item.unread{background:#eef6ff;border-color:#cfe2fb}
.notif-ic{font-size:20px}
.notif-main{flex:1;min-width:0}.notif-main b{display:block}.notif-main small{color:var(--muted)}
.notif-date{color:var(--muted);font-size:12px;white-space:nowrap}
/* Recherche globale (topbar, toutes les pages) */
.gsearch{position:relative;flex:1 1 auto;max-width:440px;min-width:120px;margin-left:8px}
#gsearch{width:100%;height:36px;border:0;border-radius:18px;padding:0 14px;background:rgba(255,255,255,.14);color:#fff;font-size:14px;outline:none}
#gsearch::placeholder{color:rgba(255,255,255,.6)}
#gsearch:focus{background:rgba(255,255,255,.24)}
.gsearch-box{display:none;position:absolute;top:44px;left:0;right:0;background:var(--card);color:var(--txt);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px rgba(13,27,42,.18);max-height:72vh;overflow:auto;z-index:60}
.gs-grp{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:8px 12px 4px;background:var(--bg)}
.gs-item{display:flex;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;color:var(--txt);border-top:1px solid var(--line)}
.gs-item:hover,.gs-item.on{background:var(--bg)}
.gs-item .gs-t{display:flex;flex-direction:column;flex:1;min-width:0}
.gs-item .gs-t b{font-weight:600}
.gs-item .gs-t small{color:var(--muted);font-weight:400;font-size:12px;margin-left:4px}
.gs-sub{font-size:12px;color:var(--muted)}
.gs-badge{display:inline-block;align-self:flex-start;font-size:10.5px;font-weight:700;border-radius:20px;padding:1px 7px;margin:2px 0 1px;white-space:nowrap;vertical-align:middle}
.gs-badge.gs-prospect{background:#fdf3d6;color:#8a6a1f}
.gs-badge.gs-client{background:#e6f4ea;color:#1e6b3a}
.gs-side{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.gs-ic{flex-shrink:0}
.gs-empty{padding:14px;color:var(--muted);font-size:13px}
.gs-ic{font-size:15px;flex:0 0 auto}
.gs-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.gs-t small{color:var(--muted)}
.gs-lock{flex:0 0 auto;font-size:13px;opacity:.8}
.gs-empty{padding:14px 12px;color:var(--muted);font-size:13px}
@media(max-width:600px){.topbar-user{display:none}#gsearch{background:rgba(255,255,255,.2)}}

/* ---- side nav (desktop) ---- */
/* Le menu compte 16 entrées : il DOIT pouvoir défiler, sinon les dernières
   (Rôles et droits, Journal, Déconnexion) sont invisibles sur un écran de portable. */
.sidenav{position:fixed;top:56px;left:0;bottom:0;width:220px;background:var(--navy2);
  padding:14px 10px;display:flex;flex-direction:column;gap:3px;z-index:30;transform:translateX(-100%);
  transition:transform .25s;overflow-y:auto;overscroll-behavior:contain}
.sidenav a{color:#cdd6e3;padding:10px 14px;border-radius:10px;display:flex;align-items:center;gap:12px;font-weight:600;flex:none}
.sidenav a span{width:22px;text-align:center}
.sidenav a.on,.sidenav a:active{background:rgba(224,164,88,.16);color:#fff}
.sidenav a .nav-badge{margin-left:auto;width:auto;min-width:18px;height:18px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;text-align:center}
.tabbar a{position:relative}
.tab-badge{position:absolute;top:5px;left:50%;margin-left:4px;background:var(--danger);color:#fff;font-size:9px;font-weight:800;min-width:15px;height:15px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}
.sidenav a.logout{margin-top:auto;color:#9fb0c3}
.nav-scrim{display:none}

/* ---- content ---- */
.content{padding:18px 14px;max-width:1100px;margin:0 auto}
.content.wide{max-width:none}
.content.auth{display:flex;min-height:70vh;align-items:center;justify-content:center}
.page-title{font-size:22px;font-weight:800}
.page-title .count,.count{display:inline-block;background:var(--navy);color:#fff;font-size:13px;
  padding:2px 9px;border-radius:20px;vertical-align:middle;margin-left:6px}
.section{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 8px}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
.card h3{font-size:16px}

/* ---- alerts / buttons ---- */
.alert{background:#fff3f0;border:1px solid #f4c7bd;color:var(--danger);padding:12px 14px;border-radius:10px;margin-bottom:14px}
.alert.ok{background:#eef8f1;border-color:#bfe3cd;color:var(--ok)}
button,.btn-primary{font:inherit;cursor:pointer}
button[type=submit],.btn-primary{background:var(--accent);color:#3a2a12;border:0;font-weight:700;
  padding:13px 18px;border-radius:11px;width:100%;font-size:16px}
button[type=submit]:active,.btn-primary:active{background:var(--accent2)}
.btn-primary{display:inline-block;width:auto;margin-bottom:12px}

/* ---- forms ---- */
label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:10px 0 4px}
label.check{display:flex;align-items:center;gap:8px;color:var(--txt)}
input,select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
input:focus,select:focus{outline:2px solid var(--accent);border-color:var(--accent)}
label.check input{width:auto}

/* ---- login ---- */
.login-card{background:#fff;border-radius:18px;box-shadow:0 10px 40px rgba(13,27,42,.15);
  padding:30px 24px;width:100%;max-width:380px}
.login-logo{font-size:28px;font-weight:800;text-align:center;margin-bottom:18px}
.login-logo span{color:var(--accent)}
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;color:#1c2430;border:1px solid #dadce0;border-radius:10px;padding:12px;font-weight:600;font-size:15px;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.btn-google:active{background:#f7f8fa}
.login-pw{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.login-pw summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:600;text-align:center;list-style:none}
.login-pw summary::-webkit-details-marker{display:none}
.center{text-align:center}

/* ---- stats ---- */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;
  box-shadow:var(--shadow);display:flex;flex-direction:column}
.stat b{font-size:26px;font-weight:800;color:var(--navy)}
.stat span{color:var(--muted);font-size:13px}

/* ---- bars ---- */
.bar-row{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:14px}
.bar-label{flex:0 0 38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar{flex:1;background:#eef1f6;border-radius:8px;height:12px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.bar-val{flex:0 0 36px;text-align:right;font-weight:700;color:var(--navy)}

/* ---- search ---- */
.searchbar{display:flex;gap:8px;margin-bottom:14px}
.searchbar input{flex:1}
.searchbar button{background:var(--navy);color:#fff;border:0;border-radius:10px;width:48px;font-size:18px}

/* ---- contact list ---- */
.contact-row{display:flex;align-items:center;gap:12px;padding:12px 14px}
.cr-main{flex:1;min-width:0}
.cr-main b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;
  display:flex;align-items:center;justify-content:center;flex:0 0 42px}
.avatar.lg{width:60px;height:60px;flex:0 0 60px;font-size:24px}
.chip{background:#eef1f6;color:var(--navy);padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600}

/* ---- contact detail ---- */
.back{display:inline-block;color:var(--accent2);font-weight:600;margin-bottom:8px}
.contact-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.quick-actions{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.qa{flex:1;min-width:90px;text-align:center;background:var(--navy);color:#fff;padding:12px;border-radius:11px;font-weight:600;font-size:14px}
.qa.wa{background:#25d366;color:#063}
.info-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.info-row:last-child{border:0}
.info-l{color:var(--muted);flex:0 0 40%}
.app-version{text-align:center;color:var(--muted);font-size:12px;padding:22px 0 10px;opacity:.7}
.app-version b{color:var(--navy);font-weight:700}
.dup-live{font-size:13px;margin:2px 0 6px;color:#7a5a12}
.dup-live.on{background:#fff6e6;border:1px solid #e6cf9a;border-radius:8px;padding:8px 11px}
.dup-live a{font-weight:700}
/* Avatars d'agents (photo ou initiale) — affichés selon le N° agent */
.ag-avs{display:inline-flex;align-items:center;vertical-align:middle}
.ag-av{border-radius:50%;object-fit:cover;background:#8895a7;flex:0 0 auto;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.ag-avs .ag-av{margin-left:-7px}
.ag-avs .ag-av:first-child{margin-left:0}
.ag-ini{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;line-height:1}
/* Pastille agent réutilisable (avatar + n° + nom), cliquable vers la fiche agent */
.ag-chip{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit;vertical-align:middle;max-width:100%}
.ag-chip:hover .ag-nom{text-decoration:underline}
.ag-chip .ag-num{font-weight:700;font-size:12px;color:#2f5fa3;background:#eef4ff;border-radius:5px;padding:1px 6px;white-space:nowrap}
.ag-chip .ag-nom{font-size:13px;color:#28323d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-chip.mini .ag-nom{display:none}
.ag-chip-none{color:#9aa4b0;font-size:12.5px}
.code-wrap{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}
.ag-avc{display:inline-flex;text-decoration:none;flex:0 0 auto}
.ag-avc .ag-av{width:18px;height:18px}
.cadastre-block{padding:10px 0 2px}
.cadastre-block .info-l{display:block;flex:none;margin-bottom:5px;font-size:13px}
.cadastre-txt{font-size:13px;color:#5b6572;line-height:1.55;background:#f7f9fb;border:1px solid var(--line);border-radius:9px;padding:10px 12px}
.mini-btn{font-size:12px;font-weight:700;background:var(--accent);color:#3a2a12;padding:3px 10px;border-radius:20px;margin-left:6px}
.deal-row{padding:9px 0;border-bottom:1px solid var(--line)}
.deal-link{display:block;color:inherit}
.deal-link:hover b{color:var(--accent2)}
.deal-row:last-child{border:0}.deal-row b{display:block}

/* ---- agents ---- */
.form-card{display:none}.form-card.open{display:block}
.agent-list{display:grid;gap:12px;grid-template-columns:1fr}
.agent.inactive{opacity:.55}
.agent-head{display:flex;align-items:center;gap:12px}
.agent-head>div:nth-child(2){flex:1;min-width:0}
.agent-head b{display:block}.agent-head small{display:block;overflow:hidden;text-overflow:ellipsis}
.role-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:uppercase}
.r-super_admin{background:#3a2a12;color:var(--accent)}
.r-admin{background:#1b263b;color:#fff}
.r-agent{background:#e7eef9;color:#2c5282}
.r-lecture{background:#eee;color:#666}
.agent-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:10px 0 0}
.agent-meta .on{color:var(--ok);font-weight:700}.agent-meta .off{color:var(--danger);font-weight:700}
.agent-edit{margin-top:10px}.agent-edit summary{cursor:pointer;color:var(--accent2);font-weight:600;font-size:14px}

/* ---- pipelines ---- */
.pipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pipe-tile{display:flex;flex-direction:column;justify-content:space-between;min-height:84px;font-weight:700}
.pipe-tile .count{align-self:flex-start;margin:8px 0 0}

/* ---- kanban ---- */
.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:14px;-webkit-overflow-scrolling:touch}
.kcol{flex:0 0 260px;background:#eef1f6;border-radius:12px;padding:10px}
.kcol-head{font-weight:700;font-size:14px;margin-bottom:8px;display:flex;align-items:center;gap:5px}
.kcol-head[draggable=true]{cursor:grab}
.kcol-head[draggable=true]:active{cursor:grabbing}
.kcol.col-dragging{opacity:.4}
.kcol-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kcol-head .kcount{background:#fff;border-radius:20px;padding:0 8px;font-size:12px;flex:0 0 auto}
.kedit{background:none;border:0;cursor:pointer;font-size:13px;padding:0 2px;color:var(--muted);flex:0 0 auto}
.kedit:hover{color:var(--navy)}
.kedit-form{display:flex;gap:4px;margin-bottom:8px}
.kedit-form input[name=nom]{flex:1;min-width:0;padding:5px 7px;border:1px solid var(--line);border-radius:7px;font-size:13px}
.kedit-form button{border:0;background:var(--ok);color:#fff;border-radius:7px;padding:0 12px;cursor:pointer;font-weight:800;width:auto;flex:0 0 auto}
.kdel-form{display:inline;margin:0}
.kdel-form .kdel{width:auto;background:none;border:0;cursor:pointer;font-size:12px;padding:0 1px;opacity:.5;line-height:1;border-radius:0}
.kdel-form .kdel:hover{opacity:1}
.kcol-add{background:transparent;padding:0}
.kaddcol{width:100%;background:#fff;border:1.5px dashed #c7cdd8;border-radius:12px;padding:14px 10px;cursor:pointer;color:var(--muted);font-weight:700;font-size:13px}
.kaddcol:hover{border-color:var(--accent);color:var(--navy)}
.kadd-form{display:flex;flex-direction:column;gap:6px}
.kadd-form input{padding:9px;border:1px solid var(--line);border-radius:9px;font-size:14px}
.kadd-form button{border:0;background:var(--accent);color:#3a2a12;border-radius:9px;padding:9px;font-weight:800;cursor:pointer}
.board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.board-head .page-title{margin:0}
.btn-add-deal{display:inline-flex;align-items:center;gap:6px;background:#2e8b57;color:#fff;border-radius:10px;padding:10px 18px;font-weight:800;font-size:15px;text-decoration:none;white-space:nowrap}
.btn-add-deal:hover{background:#27754a}
.kadd-deal{display:block;text-align:center;margin-top:6px;padding:8px;border:1px dashed #c7cdd8;border-radius:9px;color:var(--muted);font-weight:700;font-size:12px;text-decoration:none}
.kadd-deal:hover{background:#fff;color:var(--navy);border-color:var(--navy)}
.kcard{display:block;position:relative;background:#fff;border:1px solid #cdd4dd;border-radius:10px;padding:10px;margin-bottom:9px;box-shadow:0 1px 3px rgba(20,35,60,.07)}
.kcard-avs{position:absolute;top:8px;right:8px}
.kcard b{padding-right:52px}
.ech-contact .ag-avs{vertical-align:middle;margin-right:2px}
.kcard b{display:block;font-size:14px}
.kcard.won{border-left:3px solid var(--ok)}.kcard.lost{border-left:3px solid var(--danger);opacity:.7}
.kval{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;color:var(--accent2)}
.kbadge{display:inline-block;margin-top:6px;font-size:10px;font-weight:800;padding:2px 8px;border-radius:20px;text-transform:uppercase}
/* Bannière d'état d'un lead portail sur la fiche contact */
.lead-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 15px;border-radius:12px;margin-bottom:14px;font-size:14px}
.lead-status.ls-reserved{background:#eaf1fb;border:1px solid #cfe0ff;color:#1d4ed8}
.lead-status.ls-expired{background:#f4f5f7;border:1px dashed #c5ccd6;color:#5b6572}
.lead-status.ls-none{background:#fff8ec;border:1px solid #e6c88a;color:#8a5a12}
.lead-status .ls-info{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.lead-status .ag-avs{vertical-align:middle}
.lead-status .ls-codes{font-weight:800}
.ls-admin{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ls-form{display:flex;gap:6px;align-items:center}
.ls-form input{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;min-width:180px}
.ls-admin button{padding:7px 12px;border-radius:8px;font-size:13px;width:auto;flex:0 0 auto}
.ls-admin .ls-free{background:#eef1f6;color:var(--navy);border:1px solid var(--line)}
.kbadge.k-resa{background:#eaf1fb;color:#2e6bb0}
.kbadge.k-free{background:#f0f2f5;color:#7a8290}
/* Lead libéré (réservation expirée, 7 j sans traitement) : carte grisée, sans avatar */
.kcard.kcard-freed{background:#f4f5f7;border-style:dashed;opacity:.85}
.kcard.kcard-freed b{color:#8a93a0}
.kcard.kcard-freed .kval{color:#9aa5b1}
.kempty{color:#aab;text-align:center;padding:8px}
.kcard{cursor:grab}
.kcard.dragging{opacity:.4}
.kcol.dragover{outline:2px dashed var(--accent);outline-offset:-2px;background:#e9edf3}

/* ---- pager ---- */
.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;flex-wrap:wrap}
.pager a{background:var(--navy);color:#fff;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}
.pg-go{display:inline-flex;align-items:center;gap:7px}
.pg-go input{width:64px;padding:7px 6px;border:1px solid var(--line);border-radius:9px;text-align:center;font-size:15px;font-weight:700}
.pg-go button{padding:8px 14px;border:0;border-radius:9px;background:var(--accent);color:#3a2a12;font-weight:800;cursor:pointer;font-size:14px}
.pg-go button:active{background:var(--accent2)}

/* ---- bottom tab bar (mobile) ---- */
.tabbar{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;border-top:1px solid var(--line);
  display:flex;z-index:35;padding-bottom:env(safe-area-inset-bottom)}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:0}
.tabbar a span{font-size:20px}.tabbar a b{font-size:10px;font-weight:600}

/* ---- produits ---- */
.filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.filters select{width:auto;flex:1;min-width:120px}
.clearf{align-self:center;color:var(--danger);font-weight:600;font-size:13px}
.prod-grid{display:grid;grid-template-columns:1fr;gap:12px}
.prod-card{display:flex;flex-direction:column;gap:4px;position:relative}
.prod-card b{font-size:15px;line-height:1.25}
/* Avatars des agents responsables du bien, en haut à droite de la carte */
.prod-agents{position:absolute;top:8px;right:8px;z-index:3;display:flex;padding:3px;border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 1px 5px rgba(0,0,0,.18)}
.prod-agents .ag-av{box-shadow:none;border:2px solid #fff}
.prod-top{display:flex;gap:8px;align-items:center;margin-bottom:2px}
.vente{color:#fff;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px}
.prod-bot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.prix{font-weight:800;color:var(--navy)}
.rdt{font-size:12px;font-weight:700;color:var(--accent2);background:#fbf3e6;padding:2px 8px;border-radius:20px}
.match-card h3{display:flex;align-items:center;gap:6px}
.match-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.match-row:last-child{border:0}
.match-main{flex:1;min-width:0}
.match-main b{display:block}
.match-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.match-act{display:flex;gap:8px}
.match-act a{font-size:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#eef1f6;border-radius:50%}

/* ---- étiquettes (tags) ---- */
.tags-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 14px}
.tag{display:inline-flex;align-items:center;gap:4px;color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px}
.tag-xform{display:inline;margin:0}
.tag-x{background:rgba(255,255,255,.25);color:#fff;border:0;border-radius:50%;width:16px;height:16px;line-height:1;font-size:13px;cursor:pointer;padding:0}
.tag-add{position:relative}
.tag-add summary{list-style:none;cursor:pointer;font-size:12px;font-weight:700;color:var(--navy);background:#eef1f6;padding:4px 10px;border-radius:20px}
.tag-add summary::-webkit-details-marker{display:none}
.tag-add-form{position:absolute;z-index:10;top:28px;left:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;width:230px}
.tag-add-form select,.tag-add-form input{width:100%}
.tag-add-form button{width:100%}

/* ---- statut affaire coloré ---- */
.deal-row2{display:flex;flex-direction:column;gap:9px;padding:12px 12px;margin-bottom:10px;border-radius:11px;border:1px solid var(--line);border-left:5px solid #b9c2d0;background:#fff}
.deal-row2:last-of-type{margin-bottom:0}
/* Couleur de l'affaire selon son statut — visible d'un coup d'œil */
.deal-row2.deal-open{border-left-color:#2c5282;background:#f6f9fe}
.deal-row2.deal-won{border-left-color:#2e8b57;background:#f2faf5}
.deal-row2.deal-lost{border-left-color:#c0392b;background:#fdf4f3}
.deal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.deal-titlewrap{flex:1;min-width:0}.deal-titlewrap b{display:block}
.deal-title-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.deal-title-line a{min-width:0}.deal-title-line b{display:inline}
.title-edit summary{cursor:pointer;list-style:none}
.title-edit summary::-webkit-details-marker{display:none}
.title-edit-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--navy);background:#eef2f7;border:1px solid var(--line);border-radius:7px;padding:3px 9px;white-space:nowrap}
.title-edit-btn:hover{background:#e2e8f2}
.title-edit[open] .title-edit-btn{background:var(--navy);color:#fff}
.title-edit-form{display:none;gap:6px;margin-top:6px;flex-basis:100%}
.title-edit[open] .title-edit-form{display:flex}
.title-edit-form input{flex:1;min-width:180px;padding:7px 9px;border:1px solid var(--line);border-radius:8px}
.title-edit-form button{border:0;background:var(--navy);color:#fff;border-radius:8px;padding:7px 12px;font-weight:700;cursor:pointer;width:auto;flex:0 0 auto}
.deal-main{flex:1;min-width:0}.deal-main b{display:block}
.deal-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.deal-price{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;font-size:13px;background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.dp-bien{font-weight:700}
.dp-line{color:var(--muted)} .dp-line b{color:var(--txt)}
.dp-rem{font-weight:800;padding:1px 7px;border-radius:10px;font-size:12px}
.dp-rem.down{background:#eafaf0;color:#1a7a43}
.dp-rem.up{background:#fff6e6;color:#b9791b}
.dp-edit{flex-basis:100%}
.dp-edit summary{cursor:pointer;color:var(--navy);font-weight:700;font-size:12px}
.dp-form{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}
.dp-form input[name=valeur]{width:170px;padding:7px 9px;border:1px solid var(--line);border-radius:8px}
.dp-form button{border:0;background:var(--navy);color:#fff;border-radius:8px;padding:7px 12px;font-weight:700;cursor:pointer;width:auto;flex:0 0 auto}
.dp-form input[name=code]{width:170px;padding:7px 9px;border:1px solid var(--line);border-radius:8px}
.dp-unlink{border:0;background:none;color:#c0392b;font-size:12px;font-weight:600;cursor:pointer;padding:0}
.deal-linkprod{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.btn-linkprod{border:1px solid #cfe0cf;background:#eaf5ea;color:#256b3f;border-radius:9px;padding:7px 12px;font-weight:700;font-size:13px;cursor:pointer}
.btn-linkprod:hover{background:#dcefdc}
.deal-del{margin-top:8px}
.btn-affdel{border:1px solid #e5b8b2;background:#fff;color:#b23b3b;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:600;cursor:pointer}
.btn-affdel:hover{background:#fbece9}
.inl{display:inline;margin:0}
.statut-badge{font-size:12px;font-weight:800;padding:5px 12px;border-radius:20px;text-transform:uppercase;white-space:nowrap;letter-spacing:.3px}
.s-open{background:#2c5282;color:#fff}
.s-won{background:#2e8b57;color:#fff}
.s-lost{background:#c0392b;color:#fff}
/* Menu « ⋯ » discret pour changer le statut (ne compète plus avec le badge) */
.status-change{position:relative}
.status-change summary{list-style:none;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--muted);font-weight:800;font-size:16px;border:1px solid var(--line);background:#fff}
.status-change summary::-webkit-details-marker{display:none}
.status-change summary:hover{background:#eef2f7;color:var(--navy)}
.status-menu{position:absolute;right:0;top:34px;z-index:6;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:6px;min-width:180px}
.status-menu-t{font-size:11px;color:var(--muted);font-weight:700;padding:2px 2px 4px}
.status-menu form{margin:0}
.status-menu button{width:100%;text-align:left;border:0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700;cursor:pointer}
.btn-won{background:#e7f4ec;color:#1f6b3f}.btn-won:hover{background:#d4ecdd}
.btn-lost{background:#fbe9e7;color:#a52c1e}.btn-lost:hover{background:#f6d7d3}
.btn-reopen{background:#eef2f9;color:#2c5282}.btn-reopen:hover{background:#e0e8f5}

/* ---- messages ---- */
.msg{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:#fafbfc}
.msg-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;flex-wrap:wrap}
.msg-head b{flex:1;min-width:0}
.msg-canal{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:20px;background:#eef1f6;color:var(--navy)}
.msg-canal.c-whatsapp{background:#dcf8e8;color:#0a7a3d}
.msg-canal.c-email{background:#e7eef9;color:#2c5282}
.msg-date{color:var(--muted);font-size:12px}
.msg-body{font-size:14px;line-height:1.5;word-break:break-word}
.msg-body a{color:var(--accent2);font-weight:600}
.msg-dir{font-size:11px;font-weight:700}
.msg-out{background:#f3f8ff;border-color:#cfe2ff}
.msg-out .msg-dir{color:#2c5282}
.msg-in{background:#f5fbf6;border-color:#cdeacf}
.msg-in .msg-dir{color:#2e8b57}

/* ---- messagerie (inbox) ---- */
.msg-row.unseen{border-left:3px solid var(--accent)}
.msg-row.unseen .cr-main b{font-weight:800}
.msg-row .msg-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}

/* ---- page Rubriques (champs) ---- */
.champ-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.champ-type{font-size:11px;font-weight:700;color:var(--accent2);background:#fbf3e6;padding:2px 8px;border-radius:20px;margin-left:6px}
.opt-list{margin:6px 0 10px}
.opt-row{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px solid var(--line)}
.opt-rename{display:flex;align-items:center;gap:4px;flex:1}
.opt-rename input{flex:1;padding:8px 10px}
.opt-rename button{background:#eef1f6;color:var(--navy);border:0;border-radius:8px;padding:7px 9px;font-size:14px;cursor:pointer}
.inl{display:inline}
.opt-mini{background:#eef1f6;color:var(--navy);border:0;border-radius:8px;width:30px;height:34px;font-size:11px;cursor:pointer}
.opt-mini:disabled{opacity:.35;cursor:default}
.opt-del{background:#fdecea;color:var(--danger);border:0;border-radius:8px;width:34px;height:34px;font-size:13px;font-weight:700;cursor:pointer}
.opt-add{display:flex;gap:8px;margin-top:8px}
.opt-add input{flex:1}
.opt-add button{white-space:nowrap}

/* ---- édition fiche contact ---- */
.btn-edit{flex:0 0 auto;align-self:flex-start;background:var(--navy);color:#fff;font-weight:700;font-size:13px;padding:8px 14px;border-radius:10px;white-space:nowrap}
.btn-edit:active{background:var(--navy2)}
.btn-cancel{display:inline-flex;align-items:center;background:#eef1f6;color:var(--navy);font-weight:700;padding:0 16px;border-radius:10px}
.edit-grid{display:grid;grid-template-columns:1fr;gap:0 14px}
.edit-grid label{margin-top:10px}
.notes-box{white-space:pre-wrap;font-size:15px;line-height:1.5;color:var(--txt)}
.chk-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.chk{display:inline-flex;align-items:center;gap:6px;background:#f4f6f9;border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:14px;cursor:pointer;width:auto}
.chk input{width:auto;margin:0}
.chk:has(input:checked){background:#eef8f1;border-color:#bfe3cd;font-weight:600}
.masked{color:#9aa4b1;font-style:italic;letter-spacing:.5px}
.alert.locked{background:#fbf3e6;border-color:#e9d3a8;color:#8a6d3b}

/* ---- recherche instantanée (autocomplete) ---- */
.ac-wrap{position:relative}
.ac-box{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(13,27,42,.15);overflow:hidden;max-height:420px;overflow-y:auto}
.ac-group{padding:6px 0}
.ac-group-h{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted);padding:6px 14px 2px;letter-spacing:.5px}
.ac-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;text-decoration:none;color:var(--txt)}
.ac-item:hover,.ac-item.sel{background:#f4f6f9}
.ac-ic{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:14px;background:#eef1f6;flex:0 0 26px}
.ac-main{flex:1;min-width:0}
.ac-main b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-main small{color:var(--muted);font-size:12px}
.ac-lock{font-size:12px;color:#9aa4b1}
.ac-empty{padding:14px;color:var(--muted);font-size:13px;text-align:center}

/* ---- tableau contacts (aperçu type Pipedrive) ---- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
.ctable{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}
.ctable th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:800;padding:11px 14px;border-bottom:2px solid var(--line);background:#fafbfc}
.ctable td{padding:10px 14px;border-bottom:1px solid var(--line);max-width:280px;overflow:hidden;text-overflow:ellipsis}
.ctable tbody tr{cursor:pointer}
.ctable tbody tr:hover{background:#f4f6f9}
.ctable tbody tr:last-child td{border-bottom:0}
.sticky-l{position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 0 var(--line)}
.ctable th.sticky-l{background:#fafbfc}
.ctable tbody tr:hover .sticky-l{background:#f4f6f9}
.c-nom b{color:var(--navy)}
.c-num{color:var(--accent2);font-weight:700}
.c-mail,.c-tel{color:var(--muted)}
.tag-mini{display:inline-block;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;margin:1px 2px}

/* ---- déplacer une affaire vers un autre pipeline ---- */
.move-pipe{margin-top:6px}
.move-pipe summary{list-style:none;cursor:pointer;display:inline-block;font-size:12px;font-weight:700;color:var(--navy);background:#eef1f6;padding:4px 10px;border-radius:20px}
.move-pipe summary::-webkit-details-marker{display:none}
.move-form{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.move-form select{width:auto;min-width:150px;flex:1;padding:8px 10px}
.move-form button{white-space:nowrap;padding:8px 14px;width:auto;flex:0 0 auto}
/* barre d'étapes cliquable (chevrons façon Pipedrive) */
.stage-bar{display:flex;margin:8px 0 4px;overflow-x:auto;padding-bottom:3px}
.stage-bar.busy{opacity:.55;pointer-events:none}
.stage-seg{flex:0 0 auto;border:0;background:#e9edf2;color:#6b7785;font-size:11px;font-weight:700;line-height:1.1;
  padding:9px 13px 9px 21px;margin-right:-9px;cursor:pointer;white-space:nowrap;
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 50%, calc(100% - 9px) 100%, 0 100%, 9px 50%)}
.stage-seg:first-child{padding-left:13px;clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 50%, calc(100% - 9px) 100%, 0 100%)}
.stage-seg:last-child{padding-right:15px;margin-right:0;clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 9px 50%)}
.stage-seg:only-child{clip-path:none;border-radius:7px}
.stage-seg.done{background:#bfe8cd;color:#1a7a43}
.stage-seg.current{background:var(--ok);color:#fff}
.stage-seg:not(:disabled):hover{filter:brightness(.93)}
.stage-seg:disabled{cursor:default}
.dealsh-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.dealsh-exp{display:flex;gap:8px}
/* ligne surlignée = un client a fait une vraie offre (remise ≠ 0) — couleur légère */
.ctable tbody tr.row-offer{background:#d3edde}
.ctable tbody tr.row-offer:hover{background:#c4e7d2}
.ctable tbody tr.row-offer td:first-child{box-shadow:inset 3px 0 0 var(--ok)}
/* Ligne « gagnant » (offre acceptée / en signature) */
.ctable tbody tr.row-lead{background:#e3f0ff}
.ctable tbody tr.row-lead:hover{background:#d3e6ff}
.ctable tbody tr.row-lead td{font-weight:600}
.ctable tbody tr.row-lead td:first-child{box-shadow:inset 4px 0 0 #2563eb}
.lead-banner{background:#eef5ff;border:1px solid #cfe0ff;border-left:4px solid #2563eb;border-radius:10px;padding:10px 14px;margin:2px 0 12px;font-size:14px;color:var(--navy)}
.lead-banner a{color:#1d4ed8}
.lead-stage{background:#2563eb;color:#fff;font-size:11px;font-weight:800;padding:2px 8px;border-radius:20px;text-transform:uppercase}
.deal-existing{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:#fafbfc}
.deal-existing .de-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.make-more summary{cursor:pointer;color:var(--muted);font-weight:600;font-size:13px;margin-top:6px}
.mm-body{margin-top:12px}

/* ---- journal des modifications (audit) ---- */
.audit-list{display:flex;flex-direction:column;gap:8px}
.audit-row{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#fafbfc}
.audit-h{font-size:13px;color:var(--txt)}
.audit-date{color:var(--muted);font-size:12px;margin-left:6px}
.audit-act{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;padding:1px 7px;border-radius:20px;background:#eef1f6;color:var(--navy);margin:0 4px}
.audit-act.a-suppression{background:#fdecea;color:var(--danger)}
.audit-act.a-ajout{background:#eef8f1;color:var(--ok)}
.audit-diff{font-size:13px;margin-top:4px}
.audit-old{color:var(--danger);text-decoration:line-through}
.audit-arrow{color:var(--muted);margin:0 4px}
.audit-new{color:var(--ok);font-weight:600}

/* ---- actions Contacts + export ---- */
.ct-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px}
.btn-export{display:inline-flex;align-items:center;gap:6px;background:#1e7e46;color:#fff;font-weight:700;padding:10px 16px;border-radius:10px;text-decoration:none}
.btn-export:active{background:#186537}

/* ---- photos produits ---- */
.prod-image-zone{margin-bottom:14px}
.prod-hero{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0d1b2a}
.prod-hero img{width:100%;max-height:360px;object-fit:cover;display:block}
.prod-hero-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:170px;background:#f4f6f9;border:2px dashed #c7cdd8;color:var(--muted);font-size:34px}
.prod-hero-empty span{font-size:14px;font-weight:600}
.prod-img-form{display:flex;gap:10px;align-items:center;margin-top:8px}
.prod-img-btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:var(--navy);color:#fff;border-radius:10px;padding:9px 15px;font-weight:700;font-size:14px}
.prod-img-btn:hover{background:#16304d}
.prod-img-form .prod-img-del{background:#fff;color:#b23b3b;border:1px solid #e5b8b2;border-radius:9px;padding:9px 14px;font-weight:600;font-size:13px;cursor:pointer;width:auto;flex:0 0 auto}
.prod-img-form .prod-img-del:hover{background:#fbece9}
.prod-img-thumbs{display:flex;flex-wrap:wrap;gap:8px}
.prod-img-thumb{width:84px;height:64px;padding:0;border:2px solid var(--line);border-radius:9px;overflow:hidden;cursor:pointer;background:#f4f6f9;display:flex;align-items:center;justify-content:center}
.prod-img-thumb:hover{border-color:var(--navy)}
.prod-img-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.prod-img-thumb .pit-ic{font-size:24px}
.prod-thumb-e{max-width:220px;max-height:150px;border-radius:10px;border:1px solid var(--line);object-fit:cover}
.prod-card.has-img{padding-top:0;overflow:hidden}
.prod-card-img{margin:-1px -1px 10px;height:150px;overflow:hidden;background:#eef1f6}
.prod-card-img img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- prospect verrouillé (matching) ---- */
.match-row.locked{opacity:.6}
.match-row.locked .match-main b{color:var(--muted)}

/* ---- listes multi (emails / téléphones) ---- */
.ml-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.ml-row{display:flex;gap:6px;align-items:center}
.ml-row input{flex:1}
.ml-del{flex:0 0 auto;background:#fdecea;color:var(--danger);border:0;border-radius:8px;width:38px;height:40px;font-weight:700;cursor:pointer}
.ml-add{background:#eef1f6;color:var(--navy);border:0;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700;cursor:pointer;margin-top:6px;align-self:flex-start}

/* ---- documents / fichiers ---- */
.file-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.file-link{font-weight:600;color:var(--accent2);text-decoration:none}
.file-meta{font-size:12px;color:var(--muted)}
.file-del{background:#fdecea;color:var(--danger);border:0;border-radius:8px;width:30px;height:30px;font-weight:700;cursor:pointer;margin-left:auto}
.file-upload{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}

/* ---- historique / timeline ---- */
.hist-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.btn-word{background:#2b579a;color:#fff;font-weight:700;padding:8px 14px;border-radius:10px;text-decoration:none;font-size:13px;white-space:nowrap}
.btn-word:active{background:#1e3f70}
.hist-add{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}
.hist-add details{flex:1;min-width:170px}
.hist-add summary{cursor:pointer;list-style:none;background:#eef1f6;color:var(--navy);font-weight:700;font-size:13px;padding:9px 12px;border-radius:10px;text-align:center}
.hist-add summary::-webkit-details-marker{display:none}
.hist-add details[open] summary{background:#e0e6ef}
.hist-add form{padding:10px 2px}
.timeline{display:flex;flex-direction:column}
.tl-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.tl-item:last-child{border-bottom:0}
.tl-ic{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#eef1f6;display:flex;align-items:center;justify-content:center;font-size:15px}
.tl-body{flex:1;min-width:0}
.tl-h{font-size:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tl-date{color:var(--muted);font-size:12px;margin-left:auto}
.tl-dir{font-size:11px;font-weight:700;color:var(--muted)}
.tl-txt{font-size:14px;margin-top:3px;white-space:pre-line;word-break:break-word}
.tl-meta{font-size:12px;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tl-tag{font-size:11px;font-weight:700;background:#fbf3e6;color:var(--accent2);padding:1px 7px;border-radius:20px}
.tl-rdv{background:#fbfaf5;border-radius:10px;padding-left:10px;padding-right:10px}
.tl-rdv.done{opacity:.6}
.tl-rdv.done .tl-h b{text-decoration:line-through}
.tl-toggle{background:#eef1f6;border:0;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700;cursor:pointer;color:var(--navy)}
.tl-del{background:#fdecea;color:var(--danger);border:0;border-radius:6px;width:22px;height:22px;font-size:11px;cursor:pointer}
.tl-msg.out .tl-ic{background:#eef8f1}
.tl-msg.in .tl-ic{background:#f3f8ff}
/* Étiquettes bien visibles sur la fiche contact */
.tags-bar{background:#fbfcfe;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.tags-lead{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-right:2px}
.tags-none{font-size:13px;color:var(--muted);font-style:italic}
.tag-lg{font-size:14px;padding:7px 14px;box-shadow:0 1px 3px rgba(13,27,42,.18)}
/* Page admin Étiquettes */
.et-actions{margin:6px 0 14px}
.et-add{padding:14px;margin-bottom:16px}
.et-add-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.et-add-form input[name=nom]{flex:1 1 220px;min-width:180px}
.et-colors{display:inline-flex;flex-wrap:wrap;gap:5px}
.et-swatch{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0;display:inline-block}
.et-swatch.on{box-shadow:0 0 0 2px var(--txt)}
.et-swatch input{display:none}
.et-list{display:flex;flex-direction:column;gap:8px}
.et-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;transition:background .1s}
.et-row:hover{background:#f4f6f9}
.et-link{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-decoration:none;color:inherit}
.et-link .tag{cursor:pointer}
.et-count{color:var(--muted);font-size:13px;margin-left:auto;white-space:nowrap}
.et-tools{display:flex;align-items:center;gap:8px}
.et-edit{position:relative}
.et-edit summary{list-style:none;cursor:pointer;font-size:15px;padding:4px 8px;border-radius:8px;background:#eef1f6}
.et-edit summary::-webkit-details-marker{display:none}
.et-edit-box{position:absolute;z-index:20;right:0;top:34px;width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:10px}
.et-edit-box input[name=nom]{width:100%}
.et-del{background:none;border:0;cursor:pointer;font-size:16px;padding:4px}
.lost-affaires{margin-top:6px}
.lost-affaires summary{cursor:pointer;font-size:13px;color:var(--muted);padding:6px 0}
.pipe-cell{position:relative;display:flex;flex-direction:column}
.pipe-manage{display:flex;align-items:center;gap:6px;margin-top:4px;justify-content:flex-end}
.pipe-rename{position:relative}
.pipe-rename summary{list-style:none;cursor:pointer;font-size:14px;padding:3px 8px;border-radius:8px;background:#eef1f6}
.pipe-rename summary::-webkit-details-marker{display:none}
.pipe-rename-form{position:absolute;z-index:20;right:0;top:30px;width:230px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:10px;display:flex;flex-direction:column;gap:6px}
.pipe-rename-form input[name=nom]{width:100%}
.pipe-del{background:none;border:0;cursor:pointer;font-size:15px;padding:3px 6px;border-radius:8px}
.pipe-del:hover{background:#fbeaea}
.np-box{margin:10px 0 4px;padding:14px}
.np-box summary{cursor:pointer;font-weight:700}
.np-box label{display:block;margin:10px 0 4px;font-size:13px;font-weight:600}
.np-box input[name=nom]{width:100%;max-width:360px}
.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn-del-fiche{background:#fbeaea;color:var(--danger);border:1px solid #e3b7b7;border-radius:10px;padding:8px 12px;font-weight:600;cursor:pointer;font-size:14px}
.btn-del-fiche:hover{background:#f6dede}
.mail-card{padding:6px}
.mail-frame{width:100%;min-height:280px;border:0;background:#fff;border-radius:8px}
.tl-mailframe{min-height:160px;max-height:520px;border:1px solid var(--line);margin-top:6px}
.prop-pick{position:relative}
.cfile-rename{display:inline;position:relative}
.cfile-rename summary{list-style:none;cursor:pointer;display:inline}
.cfile-rename summary::-webkit-details-marker{display:none}
.cfile-rename-form{position:absolute;z-index:20;left:0;top:18px;width:240px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:10px;display:flex;flex-direction:column;gap:6px}
.cfile-rename-form input{width:100%}
/* Onglets de filtre de l'historique (comme Pipedrive) */
.tl-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px;border-bottom:1px solid var(--line);padding-bottom:8px}
.tl-tab{background:none;border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:var(--muted);padding:6px 10px;border-radius:8px}
.tl-tab .span,.tl-tab span{color:var(--muted);font-weight:700}
.tl-tab:hover{background:var(--bg)}
.tl-tab.on{background:var(--navy);color:#fff}
.tl-tab.on span{color:var(--accent)}
/* Email condensé (repliable) */
.tl-email{border:1px solid var(--line);border-radius:10px;background:var(--card)}
.tl-email>summary{list-style:none;cursor:pointer;padding:8px 10px}
.tl-email>summary::-webkit-details-marker{display:none}
.tl-email>summary::before{content:'▸';color:var(--muted);margin-right:6px;font-size:11px}
.tl-email[open]>summary::before{content:'▾'}
.tl-email .tl-snippet{display:block;color:var(--muted);font-size:13px;margin-top:2px;margin-left:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-email[open] .tl-snippet{display:none}
.tl-email-full{padding:0 10px 10px}
.tl-email .tl-mailframe{margin-top:0}
.mail-raw{margin-top:8px}
/* ===== Fiche client : barre d'ajout rapide + Points clés + timeline colorée (style Pipedrive) ===== */
.qadd{border:1px solid var(--line);border-radius:12px;margin:2px 0 14px;overflow:hidden}
/* Barre d'ajout rapide en HAUT de la fiche (dans sa propre carte, sans double bordure) */
.qadd-card{margin-bottom:14px}
.qadd-card .qadd{border:none;border-radius:0;margin:0}
.qadd-card .qadd-tabs{border-radius:8px}
.qadd-tabs{display:flex;flex-wrap:wrap;gap:3px;background:#f4f6f9;padding:5px}
.qadd-tab{background:none;border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:700;color:#5b6572;padding:8px 13px;border-radius:8px;text-decoration:none;display:inline-block}
.qadd-tab:hover{background:#e7ebf1}
.qadd-tab.on{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.qadd-panel{padding:12px}
.qadd-panel .edit-grid{margin-bottom:6px}
.pts-cles{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:10px 13px;margin:0 0 14px}
.pc-title{font-size:11.5px;font-weight:800;color:#6b7788;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}
.pc-item{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 0;border-top:1px solid #eef1f5;font-size:14px}
.pc-item:first-of-type{border-top:0}
.pc-item b{color:var(--navy)}
.pc-ic{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:14px}
.pc-late{background:#c0392b;color:#fff;font-size:10px;font-weight:800;padding:2px 8px;border-radius:20px;letter-spacing:.4px}
.pc-when{color:#6b7788;font-size:12.5px}
.pc-type{color:#8895a7;font-size:11px;background:#eef1f6;padding:2px 8px;border-radius:20px}
.pc-done{background:#e4f4ec;color:#1a7f4b;border:1px solid #bfe6d0;width:28px;height:28px;border-radius:50%;cursor:pointer;font-weight:800;font-size:14px}
.pc-done:hover{background:#1a7f4b;color:#fff}
.tl-item.tl-note{background:#fff9e0;border:1px solid #f2e4a6;border-radius:10px;padding:10px}
.tl-item.tl-note .tl-ic{background:#fdf1bf}
.tl-ic.ic-done{background:#1a7f4b;color:#fff}
.tl-ic.ic-late{background:#fbe7e4;color:#c0392b;border:1px solid #f0b8b0}
.tl-rdv.late{background:#fdf3f2}
.mail-raw summary{cursor:pointer;font-size:12px;color:var(--muted);padding:4px}
.lost-toggle{display:inline-block;margin:2px 0 10px;padding:6px 12px;border-radius:20px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600}
.lost-toggle.on{background:#fbeaea;border-color:#e3b7b7;color:var(--danger)}
/* Affaire d'un autre agent : grisée (texte/avatars atténués) MAIS le badge de réservation reste bien visible */
.kcard.foreign{background:#f6f7f9;cursor:pointer}
.kcard.foreign b,.kcard.foreign small,.kcard.foreign .kval{color:#a8b0bc}
.kcard.foreign .kcard-avs{opacity:.7}
.kcard.foreign .kbadge.k-resa,.kcard.foreign .kbadge.k-free{opacity:1}
/* Carte RÉSERVÉE : fond vert clair (bien visible pour tous, même si l'affaire n'est pas à soi) */
.kcard.kcard-resa{background:#d9f0e2}
.kcard.kcard-resa.foreign{background:#d9f0e2}
.recap-ventes{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 4px}
.recap-card{flex:1 1 160px;min-width:150px;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--rc);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .08s}
.recap-card:hover{transform:translateY(-2px)}
.recap-card.on{outline:2px solid var(--rc)}
.recap-lbl{font-size:12px;font-weight:700;color:var(--rc);text-transform:uppercase;letter-spacing:.3px}
.recap-nb{font-size:13px;color:var(--muted)}
.recap-mt{font-size:19px;font-weight:800;color:var(--txt)}
.rdv-edit{display:inline}
.note-edit{display:inline}
.note-edit summary{cursor:pointer;color:var(--muted);font-size:12px;display:inline;list-style:none}
.note-edit summary::-webkit-details-marker{display:none}
.note-edit[open]{display:block;margin-top:6px}
.rdv-edit summary{cursor:pointer;color:var(--accent2);font-weight:700;font-size:12px;list-style:none;display:inline}
.rdv-edit summary::-webkit-details-marker{display:none}
.rdv-edit form{margin-top:8px;padding:10px;background:#fafbfc;border:1px solid var(--line);border-radius:10px}
.addr-box{position:absolute;z-index:40;top:100%;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:240px;overflow-y:auto;margin-top:2px}
.addr-item{padding:8px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--line)}
.addr-item:last-child{border-bottom:0}
.addr-item:hover{background:#f4f6f9}

/* ---- fusion doublons ---- */
.dup-group{padding-bottom:14px}
.dup-table{width:100%;border-collapse:collapse;font-size:13px}
.dup-table th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800;padding:6px 8px;border-bottom:1px solid var(--line)}
.dup-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.dup-table tr:last-child td{border-bottom:0}
.btn-merge{margin-top:12px;background:var(--accent);color:#3a2a12;border:0;border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer}
.btn-merge:active{background:var(--accent2)}

/* ===== desktop ===== */
@media(min-width:860px){
  .edit-grid{grid-template-columns:1fr 1fr}
  body{padding-bottom:0}
  .sidenav{transform:none}
  .content{margin-left:220px;padding:26px 30px}
  .tabbar{display:none}
  .stats{grid-template-columns:repeat(5,1fr)}
  .agent-list{grid-template-columns:repeat(2,1fr)}
  .pipe-grid{grid-template-columns:repeat(4,1fr)}
  .prod-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:859px){
  .burger{display:block}
  body.nav-open .sidenav{transform:translateX(0)}
  body.nav-open .nav-scrim{display:block;position:fixed;inset:56px 0 0;background:rgba(0,0,0,.4);z-index:25}
}

/* ===== échéancier ===== */
.ech-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 16px}
.ech-tab{padding:7px 13px;border-radius:20px;background:#eef1f6;color:var(--navy);font-size:13px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.ech-tab span{background:rgba(13,27,42,.12);border-radius:12px;padding:0 7px;margin-left:4px;font-size:11px}
.ech-tab.on{background:var(--navy);color:#fff}
.ech-tab.on span{background:rgba(255,255,255,.25)}
.mail-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:2px 0 14px}
.btn-newmail{display:inline-flex;align-items:center;gap:6px;background:#2e8b57;color:#fff;border-radius:10px;padding:10px 16px;font-weight:800;font-size:14px;white-space:nowrap}
.btn-newmail:hover{background:#27754a}
.mail-folders{display:flex;flex-wrap:wrap;gap:6px}
.mfolder{padding:7px 13px;border-radius:20px;background:#eef1f6;color:var(--navy);font-size:13px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.mfolder.on{background:var(--navy);color:#fff}
.rte{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:7px 9px;background:#f4f6f9;border-bottom:1px solid var(--line)}
.rte-toolbar button{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:30px;height:30px;padding:0 9px;cursor:pointer;font-size:13px;color:var(--navy)}
.rte-toolbar button:hover{background:#eef2f7}
.rte-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.rte-attach{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:13px;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:6px;padding:5px 10px}
.rte-attach:hover{background:#eef2f7}
.rte-body{min-height:200px;padding:12px 14px;font:inherit;outline:none;background:#fff}
.rte-body:empty:before{content:attr(data-ph);color:var(--muted)}
.rte-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 0}
.rte-file{background:#eef2f7;border-radius:6px;padding:4px 9px;font-size:12px}
.mail-atts h3{margin:0 0 10px}
.att-list{display:flex;flex-direction:column;gap:8px}
.att-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border:1.5px solid #bcd2f0;border-radius:11px;text-decoration:none;color:var(--navy);background:#e9f1fd}
.att-item:hover{background:#dbe8fb;border-color:#2563eb;box-shadow:0 1px 6px rgba(37,99,235,.15)}
.att-ic{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;border-radius:9px;font-size:17px}
.att-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;font-size:14px}
.att-size{flex:0 0 auto;font-size:12px;color:#5b6572;font-weight:600}
.att-dl{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;border-radius:8px;font-size:15px}
.att-item:hover .att-dl{background:#1d4ed8}
/* Liste Messagerie compacte (façon Pipedrive) */
.mlist{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.mrow{position:relative;display:flex;align-items:center;border-bottom:1px solid #eef1f5}
.mrow:last-child{border-bottom:0}
.mrow:hover{background:#f7f9fb}
.mrow.unread{background:#f3f8ff}
.mrow.unread:hover{background:#e9f2ff}
.mrow-link{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;padding:10px 14px;text-decoration:none;color:inherit}
.mrow-quick{position:absolute;right:10px;top:0;bottom:0;display:flex;align-items:center;gap:4px;padding-left:22px;background:#f7f9fb;box-shadow:-14px 0 12px -6px #f7f9fb;opacity:0;pointer-events:none;transition:opacity .1s}
.mrow.unread .mrow-quick{background:#e9f2ff;box-shadow:-14px 0 12px -6px #e9f2ff}
.mrow:hover .mrow-quick{opacity:1;pointer-events:auto}
.mq{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:14px;cursor:pointer;text-decoration:none;padding:0;flex:0 0 auto}
.mq:hover{background:#eef2f7}
.mq.danger{color:#b23b3b}
.mq.danger:hover{background:#fbece9}
@media(max-width:640px){ .mrow-quick{position:static;opacity:1;pointer-events:auto;background:none;box-shadow:none;padding:0 10px 8px} }
.mrow-dot{width:9px;height:9px;border-radius:50%;flex:none;background:transparent;border:1px solid #d4dae2}
.mrow.unread .mrow-dot{background:#2563eb;border-color:#2563eb}
.mrow-from{flex:0 0 235px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--navy)}
.mrow.unread .mrow-from{font-weight:800}
/* Étiquette d'origine (portail : SMG Real Estate, ImmoScout…) affichée en tête du nom d'expéditeur */
.mrow-src{display:inline-block;background:#eef2fb;color:#33507a;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:5px;margin-right:4px;vertical-align:middle;letter-spacing:.2px}
.mrow-sub{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#5b6572}
.mrow.unread .mrow-sub{color:var(--navy);font-weight:700}
.mrow-meta{flex:none;display:flex;align-items:center;gap:8px;margin-left:auto}
.mrow-date{font-size:12px;color:var(--muted);white-space:nowrap;min-width:74px;text-align:right}
.chip-deal{background:#e6f0ff;color:#1d4ed8;border:1px solid #cfe0ff}
.chip-ref{background:#f0f3f8;color:#6b7788;font-weight:700;border:1px solid #e5e9f0}
/* Sélecteur de destinataire cherchable (envoi d'un bien) */
.rcp-pick{position:relative}
.rcp-list{position:absolute;left:0;right:0;top:100%;z-index:8;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:260px;overflow:auto;margin-top:2px}
.rcp-list:empty{display:none}
.rcp-item{padding:9px 12px;cursor:pointer;font-size:14px;border-bottom:1px solid #f0f2f5}
.rcp-item:last-child{border-bottom:0}
.rcp-item:hover{background:#eef2f7}
.rcp-chosen{margin-top:8px;font-size:14px}
.rcp-chosen a{margin-left:6px;font-size:12px}
.im-pick{position:relative}
/* Encadré « Joindre le dossier d'un immeuble » — mis en évidence (or Senzo) */
.dossier-attach{margin-top:14px;background:#fdf6e9;border:1.5px solid #e3c485;border-radius:12px;padding:14px 16px}
.dossier-attach .da-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-weight:800;color:#8a5a12;font-size:15.5px;margin-bottom:11px}
.dossier-attach .da-head .da-ico{font-size:22px;line-height:1}
.dossier-attach .da-head small{font-weight:400;color:#ab8340;font-size:12.5px}
.dossier-attach #im-search{width:100%;padding:12px 14px;border:1.5px solid #e3c485;border-radius:10px;font:inherit;background:#fff}
.dossier-attach #im-search:focus{outline:none;border-color:#cfa347;box-shadow:0 0 0 3px rgba(210,163,71,.18)}
.im-files{margin-top:8px}
.im-files-t{font-size:13px;margin-bottom:6px;color:var(--navy)}
.im-files .chk-list{margin-bottom:6px}
/* Barre d'actions en haut de l'email (Répondre/Transférer/Non lu/Supprimer) */
.mail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.mail-head-info{min-width:0;flex:1 1 300px}
.mail-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mail-act{display:inline-flex;align-items:center;gap:5px;background:#eef2f7;color:var(--navy);border:1px solid var(--line);border-radius:9px;padding:8px 13px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none}
.mail-act:hover{background:#e2e8f2}
.mail-act.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.mail-act.primary:hover{background:#16304d}
.mail-act.danger{color:#b23b3b;border-color:#e5b8b2}
.mail-act.danger:hover{background:#fbece9}
@media(max-width:640px){ .mail-actions{width:100%} .mail-act{flex:1 1 auto;justify-content:center} }
.mail-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px}
.mfilter{padding:6px 13px;border-radius:20px;background:#eef1f6;color:var(--navy);font-size:13px;font-weight:700;white-space:nowrap;border:1px solid transparent;cursor:pointer;text-decoration:none}
.mfilter:hover{background:#e2e8f2}
.mfilter.on{background:var(--navy);color:#fff}
@media(max-width:640px){
  .mrow{flex-wrap:wrap;gap:3px 10px;padding:10px 12px}
  .mrow-from{flex:1 1 auto;font-size:13px}
  .mrow-sub{flex:1 1 100%;order:3;font-size:13px;white-space:normal}
  .mrow-meta{order:2}
}
.act-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap;background:#eef1f6;color:var(--navy)}
.act-badge.act-call{background:#e6f0ff;color:#1d4ed8}
.act-badge.act-meeting{background:#eafaf0;color:#1a7a43}
.act-badge.act-task{background:#f3f0ff;color:#6b3fd4}
.act-badge.act-deadline{background:#fdeceb;color:#c0392b}
.act-badge.act-email{background:#fff6e6;color:#b9791b}
.act-badge.act-lunch{background:#f0f3f6;color:#516070}
.ech-table td{vertical-align:middle}
.ech-table .ech-subj b{display:block}
.ech-table .ech-subj small,.ech-table .ech-date .ech-late{display:block;font-size:11px;color:var(--muted)}
.ech-date{white-space:nowrap;font-weight:600}
.ech-date.late{color:var(--danger)}
.ech-date .ech-late{color:var(--danger);font-weight:700}
.ech-dtxt{display:block;margin-bottom:3px}
.ech-edit{display:inline-block;vertical-align:middle}
.ech-edit[open]{display:block}
.ech-edit summary{cursor:pointer;list-style:none;color:var(--navy);font-weight:600;font-size:12px;border:1px solid var(--line);background:#eef2f7;border-radius:6px;padding:3px 9px;display:inline-block;white-space:nowrap}
.ech-edit summary::-webkit-details-marker{display:none}
.ech-edit summary:hover{background:#e2e8f2}
.ech-edit[open] summary{background:var(--navy);color:#fff;border-color:var(--navy)}
.ech-edit-form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:8px;background:#f7f9fb;border:1px solid var(--line);border-radius:9px}
.ech-edit-form input[type=datetime-local]{width:auto;min-width:180px;padding:6px 8px;font-size:13px}
.ech-edit-form button{width:auto;flex:0 0 auto;border:0;background:var(--navy);color:#fff;border-radius:7px;padding:7px 12px;font-weight:700;cursor:pointer;font-size:13px}
.ech-allday{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin:0;font-weight:600;white-space:nowrap}
.ech-allday input{width:auto}
.ech-own{font-size:12px;color:var(--muted);white-space:nowrap}
.ech-aff{font-size:12px;color:var(--muted)}
.ech-chk{width:86px}
.ech-table .ech-done-btn{width:auto;padding:6px 12px;border-radius:8px;border:1.5px solid var(--ok);background:#fff;color:var(--ok);cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}
.ech-table .ech-done-btn:hover{background:var(--ok);color:#fff}
.ech-table .ech-done-btn.ok{background:var(--ok);color:#fff}
.ech-click{cursor:pointer}
.ech-click:hover{background:#f4f6f9}
.ech-tel a,.ech-mail a{color:var(--navy);font-size:12px;white-space:nowrap}
.ech-mail a{font-size:11px}
.ech-done{opacity:.55}
.ech-done .ech-subj b{text-decoration:line-through}
/* échéancier : barre de recherche inline (ne pas étirer le bouton) */
.filters input[type=search]{flex:1;min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;font-size:15px;background:#fff}
.filters button[type=submit]{width:auto;flex:0 0 auto;padding:10px 16px;font-size:16px;border-radius:11px}

/* ===== Page Leads (liste des leads portails) ===== */
.lead-kpis{display:flex;gap:10px;margin:14px 0 16px;flex-wrap:wrap}
.lkpi{flex:1;min-width:130px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.lkpi:hover{border-color:#c9a24b;box-shadow:0 2px 10px rgba(13,27,42,.07)}
.lkpi.on{border-color:#c9a24b;box-shadow:0 0 0 2px rgba(201,162,75,.18)}
.lkpi b{display:block;font-size:24px;color:var(--ink);line-height:1.15}
.lkpi span{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
.lkpi-new b{color:#c0392b}
.lsrc{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:20px;white-space:nowrap}
.lsrc.s-immoscout{background:#fdeceb;color:#c0392b}
.lsrc.s-homegate{background:#e4eefd;color:#1d4ed8}
.lbadge{display:inline-block;font-size:10px;font-weight:800;padding:3px 9px;border-radius:20px;text-transform:uppercase;white-space:nowrap}
.lbadge.b-new{background:#fff3d6;color:#8a6b12}
.lbadge.b-resa{background:#d9f0e2;color:#1a7a43;text-transform:none}
.lbadge.b-open{background:#e6f0ff;color:#1d4ed8}
.lbadge.b-won{background:#eafaf0;color:#1a7a43}
.lbadge.b-lost{background:#f0f2f5;color:#7a8290}
.ctable tbody tr.row-new{background:#fffdf5}
.ctable tbody tr.row-new:hover{background:#fff8e6}
.ctable tbody tr.row-new .sticky-l{background:#fffdf5}
.ctable tbody tr.row-new:hover .sticky-l{background:#fff8e6}

/* Leads déjà traités : ligne en très clair, pour que les leads à traiter ressortent */
.ctable tbody tr.row-done td{color:#b3bac4}
.ctable tbody tr.row-done .c-nom b{font-weight:600;color:#9aa2ad}
.ctable tbody tr.row-done .lsrc{background:#f2f4f7;color:#aeb6c0}
.ctable tbody tr.row-done .chip{background:#f4f6f9;color:#aeb6c0;border-color:#eef1f5}
.ctable tbody tr.row-done .lbadge{background:#f4f6f9;color:#aeb6c0}
.ctable tbody tr.row-done .agent-av,.ctable tbody tr.row-done img{opacity:.4;filter:grayscale(1)}
.ctable tbody tr.row-done:hover td{color:#7a8290}
.ctable tbody tr.row-done:hover .agent-av,.ctable tbody tr.row-done:hover img{opacity:1;filter:none}

/* ===== Campagnes ===== */
.btn-camp{display:inline-block;padding:9px 15px;border-radius:11px;background:#c9a24b;color:#fff;font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap}
.btn-camp:hover{background:#b8913f}
.camp-agents{display:flex;flex-wrap:wrap;gap:8px}
.camp-ag{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;font-size:14px}
.camp-ag:hover{border-color:#c9a24b}
.camp-ag.on{border-color:#c9a24b;background:#fffdf5;box-shadow:0 0 0 2px rgba(201,162,75,.15)}
.camp-ag input{width:auto;margin:0}
.camp-ag b{color:var(--ink)}
.camp-ag span{color:var(--muted)}
.ctable th.r,.ctable td.r{text-align:right}
.ktake{margin-top:8px}
.ktake button{width:100%;padding:7px 10px;font-size:12px;font-weight:800;border:0;border-radius:8px;background:#c9a24b;color:#fff;cursor:pointer}
.ktake button:hover{background:#b8913f}

/* Pipeline créé par une campagne : fond jaune clair + bordure dorée + étiquette */
.pipe-tile.pipe-camp{border:1px solid #c9a24b;background:#fff8e1;box-shadow:0 2px 10px rgba(201,162,75,.14)}
.pipe-tile.pipe-camp:hover{background:#fff3cd;box-shadow:0 4px 16px rgba(201,162,75,.24)}
.pipe-camp-tag{align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#8a6b12;background:#fff;padding:2px 8px;border-radius:20px;margin-bottom:6px}
.pipe-tile.pipe-camp .count{background:#c9a24b;color:#fff}

/* Organisation ayant déjà une campagne : fond jaune clair + étiquette (cohérent avec les pipelines) */
.contact-row.org-has-camp{background:#fff8e1;border-color:#e6cf94}
.contact-row.org-has-camp:hover{background:#fff3cd}
.org-camp{display:inline-block;margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#8a6b12;background:#fff;border:1px solid #e6cf94;padding:2px 8px;border-radius:20px;white-space:nowrap;vertical-align:middle}

/* Vue liste des campagnes */
.camp-row .cr-main small{display:block;font-size:12px;margin-top:2px}
.camp-row .lbadge{margin-left:8px;align-self:center}
.camp-etape{margin:0}
.camp-etape select{width:auto;min-width:190px;padding:6px 8px;font-size:13px;border:1px solid var(--line);border-radius:8px;background:#fff}
.camp-etape select:hover{border-color:#c9a24b}
.ctable .ktake button{padding:5px 10px;font-size:11px}
.camp-note{display:flex;gap:4px;margin:0}
.camp-note input{width:auto;min-width:150px;padding:6px 8px;font-size:13px;border:1px solid var(--line);border-radius:8px}
.camp-note input:focus{border-color:#c9a24b;outline:none}
.camp-note button{width:auto;flex:0 0 auto;padding:6px 10px;font-size:13px;border:0;border-radius:8px;background:#0d1b2a;color:#fff;cursor:pointer}
.camp-note-n{display:inline-block;margin-top:4px;font-size:11px;font-weight:800;color:#1a7a43}
.camp-note-n.miss{color:#c0392b}
/* Demandes d'attribution de fiches */
.dem-head{margin-bottom:10px}
.dem-act{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.dem-act label{margin:0;font-size:12px;color:var(--muted)}
.dem-act input{width:auto;min-width:150px}
.dem-act button{width:auto;flex:0 0 auto;padding:9px 16px}
/* Rappel agendable depuis la liste de campagne */
.camp-rdv{display:block;font-size:11px;font-weight:800;color:#1d4ed8;white-space:nowrap}

.rdv-btn{width:26px;height:26px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:800;color:var(--muted);cursor:pointer;line-height:1}
.rdv-btn:hover{border-color:#c9a24b;color:#c9a24b}
.rdv-modal{border:0;border-radius:14px;padding:22px;max-width:340px;width:92%;box-shadow:0 16px 50px rgba(13,27,42,.3)}
.rdv-modal::backdrop{background:rgba(13,27,42,.45)}
.rdv-modal h3{margin:0 0 4px}
.rdv-modal label{display:block;margin:12px 0 4px;font-size:13px;color:var(--muted);font-weight:700}
.rdv-modal select,.rdv-modal input{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;font:inherit}
.rdv-modal-act{display:flex;gap:10px;margin-top:16px}
.rdv-modal-act button{flex:1;padding:10px;font-weight:800;border:0;border-radius:10px;cursor:pointer}
.rdv-modal-act button[type=submit]{background:#0d1b2a;color:#fff}
.camp-rdv-del{margin-left:6px;color:#c0392b;text-decoration:none;font-weight:800;font-size:12px}
.camp-rdv-del:hover{color:#a02820}
.camp-attr{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.camp-attr input{width:70px;padding:5px 7px;font-size:12px;border:1px solid var(--line);border-radius:8px}
.camp-attr button{padding:5px 10px;font-size:12px;font-weight:800;border:0;border-radius:8px;background:#c9a24b;color:#fff;cursor:pointer}

/* Liste de campagne : tient sur toute la largeur, sans défilement horizontal */
.camp-table{width:100%;table-layout:fixed;white-space:normal}
.camp-table th,.camp-table td{overflow:hidden;text-overflow:ellipsis;padding:10px 8px;vertical-align:top}
.camp-table col{}
.camp-table th:nth-child(1),.camp-table td:nth-child(1){width:17%}   /* Contact */
.camp-table th:nth-child(2),.camp-table td:nth-child(2){width:9%}    /* Rappel */
.camp-table th:nth-child(3),.camp-table td:nth-child(3){width:12%}   /* Téléphone */
.camp-table th:nth-child(4),.camp-table td:nth-child(4){width:7%;text-align:center} /* Agent */
.camp-table th:nth-child(5),.camp-table td:nth-child(5){width:19%}   /* Étape */
.camp-table th:nth-child(6),.camp-table td:nth-child(6){width:20%}   /* Note */
.camp-table th:nth-child(7),.camp-table td:nth-child(7){width:16%}   /* État */
.camp-table .c-nom b{white-space:normal;word-break:break-word;font-size:14px}
.camp-table select,.camp-table .camp-note input,.camp-table .camp-attr input{max-width:100%}
.camp-table .camp-etape select{min-width:0;width:100%}
.camp-table .camp-note{flex-wrap:nowrap}
.camp-table .camp-note input{min-width:0;flex:1}
.camp-table .lbadge{white-space:normal}
@media (max-width:900px){
  .camp-table{table-layout:auto;white-space:nowrap}
  .camp-table th,.camp-table td{width:auto !important}
}

/* Messagerie : recherche + étoile de suivi */
.mail-search{display:flex;gap:8px;margin:12px 0}
.mail-search input[type=search]{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:11px;font-size:15px;background:#fff}
.mail-search button{flex:0 0 auto;width:auto;padding:10px 18px;font-weight:800;border:0;border-radius:11px;background:#0d1b2a;color:#fff;cursor:pointer}
.mrow-star button{width:auto}
.mail-search .clearf{align-self:center}
.mrow-star{margin:0;display:flex;align-items:center}
.mrow-star button{background:none;border:0;cursor:pointer;font-size:19px;line-height:1;color:#c9ccd2;padding:0 4px}
.mrow-star button:hover{color:#c9a24b}
.mrow.flagged .mrow-star button{color:#c9a24b}
.mrow.flagged{background:#fffdf5}

/* ---- Sélecteur de client (recherche instantanée dans un formulaire) ---- */
.cli-pick{position:relative;margin-top:5px}
.cli-pick .cp-q{width:100%;padding:9px 12px;border:1px solid #d6dde5;border-radius:9px;font:inherit}
.cli-pick .cp-choisi{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#eef4fb;
  border:1px solid #cfdcea;border-radius:9px;font-size:13.5px}
.cli-pick .cp-choisi b{flex:1;font-weight:600;color:#28486b}
.cli-pick .cp-x{border:0;background:transparent;color:#6b7684;font-size:19px;line-height:1;cursor:pointer;padding:0 2px}
.cli-pick .cp-x:hover{color:#b23b3b}
.cli-pick .cp-box{display:none;position:absolute;left:0;right:0;top:100%;margin-top:4px;background:#fff;
  border:1px solid #dbe3ec;border-radius:10px;box-shadow:0 8px 24px rgba(13,27,42,.14);z-index:20;
  max-height:260px;overflow-y:auto}
.cli-pick .cp-item{padding:8px 12px;cursor:pointer;border-top:1px solid #f1f5f9}
.cli-pick .cp-item:first-child{border-top:0}
.cli-pick .cp-item:hover{background:#f5f8fb}
.cli-pick .cp-item b{display:block;font-size:13.5px;font-weight:600;color:#1e2b3a}
.cli-pick .cp-item small{display:block;font-size:11.5px;color:#8b95a1;margin-top:1px}
.cli-pick .cp-item.bloque{cursor:not-allowed;opacity:.6}
.cli-pick .cp-item.bloque:hover{background:#fff}
.cli-pick .cp-rien{padding:10px 12px;font-size:13px;color:#8b95a1}
