:root{--bg:#f4f6fa;--card:#fff;--ink:#101828;--muted:#667085;--line:#e4e7ec;--nav:#101828;--blue:#175cd3;--green:#067647;--orange:#b54708;--red:#b42318;--purple:#6938ef;--shadow:0 10px 30px rgba(16,24,40,.07);--r:14px}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.wrap{max-width:1540px;margin:auto;padding:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.pad{padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:9px 12px;font-weight:700;text-decoration:none}.btn:hover{background:#f9fafb}.btn.primary{background:var(--nav);border-color:var(--nav);color:#fff}.btn.blue{background:var(--blue);border-color:var(--blue);color:#fff}.btn.green{background:#079455;border-color:#079455;color:#fff}.btn.danger{color:var(--red)}.btn.small{font-size:12px;padding:6px 8px}.btn:disabled{opacity:.45;cursor:not-allowed}.field,input,select,textarea{border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:var(--ink);padding:9px 10px}.label{display:block;font-size:12px;color:#475467;font-weight:750;margin:0 0 5px}.sub,.muted{color:var(--muted);font-size:12px}.name{font-weight:800}.nowrap{white-space:nowrap}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.brand h1{font-size:22px;margin:0}.brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.mainnav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.navbtn{border:0;background:#e9edf3;color:#475467;border-radius:10px;padding:9px 13px;font-weight:800}.navbtn.on{background:var(--nav);color:#fff}.toolrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.toolrow .btn{box-shadow:0 2px 10px rgba(16,24,40,.04)}
.stats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin-bottom:14px}.stat{padding:14px}.stat .v{font-size:26px;font-weight:850}.stat .k{font-size:11px;color:var(--muted);margin-top:3px}.stat.green .v{color:var(--green)}.stat.orange .v{color:var(--orange)}.stat.blue .v{color:var(--blue)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px;margin-bottom:14px}.toolbar input[type=search]{flex:1;min-width:260px}.tableWrap{overflow:auto;border-radius:var(--r)}table{width:100%;border-collapse:separate;border-spacing:0;min-width:1220px}th,td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{position:sticky;top:0;z-index:2;background:#fafbfc;text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#667085}td{font-size:12.5px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:800;background:#eef2f6;color:#344054}.badge.client{background:#ecfdf3;color:#067647}.badge.prospect{background:#fff7ed;color:#b54708}.badge.refund{background:#fef3f2;color:#b42318}.badge.verify{background:#eef4ff;color:#3538cd}.badge.sale{background:#f4f3ff;color:#5925dc}.empty{padding:38px;text-align:center;color:var(--muted)}
.importGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.importBox{border:1px dashed #cfd4dc;border-radius:12px;padding:12px;background:#fafbfc}.importBox strong,.importBox small{display:block}.importBox small{color:var(--muted);font-size:11px;margin:5px 0 9px}.importBox input{width:100%;font-size:11px;margin-bottom:8px}.notice{padding:11px;border-radius:10px;font-size:12px;margin:10px 0}.notice.ok{background:#ecfdf3;border:1px solid #abefc6;color:#067647}.notice.warn{background:#fff7ed;border:1px solid #fedf89;color:#93370d}.notice.bad{background:#fef3f2;border:1px solid #fecdca;color:#b42318}
.modalBack{position:fixed;inset:0;background:rgba(15,23,42,.48);display:flex;justify-content:flex-end;z-index:20}.drawer{width:min(660px,100%);height:100%;background:#fff;overflow:auto;box-shadow:-12px 0 35px rgba(0,0,0,.15)}.drawerHead{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--line);padding:15px;display:flex;justify-content:space-between;gap:10px}.drawerBody{padding:15px}.section{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:11px}.section h3{font-size:13px;margin:0 0 10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.history{display:flex;flex-direction:column;gap:7px}.hist{border-left:3px solid #d0d5dd;background:#fafafa;border-radius:7px;padding:8px 10px}.hist .meta{font-size:10.5px;color:var(--muted);margin-bottom:4px}.hist .txt{font-size:12px;white-space:pre-wrap}
.login{max-width:540px;margin:7vh auto}.login h2{margin:0 0 6px}.login p{font-size:13px;color:var(--muted)}.row{margin-top:12px}.configCode{font-family:ui-monospace,Consolas,monospace;font-size:11px;word-break:break-all;background:#f2f4f7;border-radius:8px;padding:8px}.kpiTable table{min-width:1000px}.kpiHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.kpiHead h2{font-size:17px;margin:0}.bar{height:7px;border-radius:99px;background:#eaecf0;overflow:hidden;min-width:90px}.bar>i{display:block;height:100%;background:#344054}.teamGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.teamList{display:flex;flex-direction:column;gap:8px}.member{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px}.member .role{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.right{margin-left:auto}
@media(max-width:1050px){.stats{grid-template-columns:repeat(3,1fr)}.importGrid{grid-template-columns:1fr 1fr}.teamGrid{grid-template-columns:1fr}.wrap{padding:12px}.two{grid-template-columns:1fr}}
@media(max-width:620px){.stats,.importGrid{grid-template-columns:1fr 1fr}.top{flex-direction:column}.toolbar input[type=search]{min-width:100%}.toolrow .btn{flex:1}.wrap{padding:9px}}

/* Nurturing WhatsApp */
.nurturingSection{background:#fbfcff}.nurturingTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.nurturingTitle h3{margin-bottom:4px}.nurtureGrid{display:flex;flex-direction:column;gap:9px}.nurtureCard{border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff}.nurtureCard.sent{border-color:#abefc6;background:#f6fef9}.nurtureHead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.nurtureHead>div{display:flex;align-items:center;gap:7px}.nurtureNum{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#101828;color:#fff;font-weight:850;font-size:11px}.nurtureDone{font-size:10px;font-weight:800;color:#067647;white-space:nowrap}.nurtureText{font-size:13px;line-height:1.45;white-space:pre-wrap}.nurtureLink{margin-top:7px;padding:7px 8px;border-radius:8px;background:#f2f4f7;color:#175cd3;font-size:11.5px;word-break:break-all}.nurtureActions{margin-top:9px}.nurtureShot{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:10px;margin-top:9px;padding:8px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--ink);background:#fafafa;font-size:12px;font-weight:800}.nurtureShot img{display:block;width:88px;height:68px;object-fit:cover;border-radius:6px;border:1px solid #d0d5dd}.nurtureShot:hover{background:#f2f4f7}@media(max-width:620px){.nurtureHead{flex-direction:column}.nurtureDone{white-space:normal}.nurtureShot{grid-template-columns:72px 1fr}.nurtureShot img{width:72px;height:58px}.nurtureActions .btn{flex:1}}


/* V4 — mobile first + relance closing */
.mobileLeadCards{display:none}.sectionTitleRow{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.sectionTitleRow h3{margin-bottom:4px}.closingSection{background:#fcfcfd}.closingScenarioPicker{display:flex;gap:6px;overflow:auto;padding:2px 0 10px;scrollbar-width:none}.closingScenarioPicker::-webkit-scrollbar{display:none}.scenarioChoice{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:800;color:#475467}.scenarioChoice.on{background:var(--nav);border-color:var(--nav);color:#fff}.closingIntro{font-size:12px;color:var(--muted);margin:0 0 9px}.scriptStep{border:1px solid var(--line);border-radius:11px;background:#fff;margin-bottom:8px;overflow:hidden}.scriptStepHead{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:9px 10px;background:#fafbfc;border-bottom:1px solid var(--line)}.scriptStepHead>span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#eef2f6;font-size:10px;font-weight:900}.scriptStepHead b{font-size:12px}.scriptStepText{white-space:pre-wrap;font-size:13px;line-height:1.48;padding:11px}.closingBottom{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.mobileLeadCard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;box-shadow:0 5px 18px rgba(16,24,40,.05)}.mobileLeadTop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mobileLeadName{font-size:16px}.mobileLeadMeta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0}.mobileLeadMeta span{font-size:12px;color:#344054;background:#f8fafc;border-radius:9px;padding:7px 8px}.mobileLeadMeta b{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.mobileLastAction{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:9px}.mobileLeadActions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:10px}.mobileLeadActions .btn{min-height:42px;padding:8px;font-size:12px}
@media(max-width:720px){body{padding-bottom:74px;background:#f5f7fa}.wrap{padding:8px}.top{margin-bottom:8px}.top .actions{display:none}.brand h1{font-size:18px}.brand p{font-size:11px}.mainnav{position:fixed;left:8px;right:8px;bottom:8px;z-index:30;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(16,24,40,.18);border-radius:16px;padding:6px;display:grid;grid-template-columns:repeat(3,1fr);margin:0}.navbtn{padding:11px 6px;font-size:12px;border-radius:11px}.toolrow{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.toolrow .btn{min-height:44px;font-size:12px;padding:8px}.stats{display:flex;overflow-x:auto;gap:8px;margin:0 -8px 9px;padding:0 8px;scrollbar-width:none}.stats::-webkit-scrollbar{display:none}.stat{flex:0 0 128px;padding:11px}.stat .v{font-size:22px}.toolbar{position:sticky;top:0;z-index:10;border-radius:14px;padding:8px;margin-bottom:9px;box-shadow:0 6px 18px rgba(16,24,40,.08)}.toolbar input[type=search]{width:100%;min-width:100%;height:44px}.toolbar select{flex:1;min-width:calc(50% - 5px);font-size:12px}.toolbar #exportBtn{display:none}.desktopLeadTable{display:none}.mobileLeadCards{display:flex;flex-direction:column;gap:8px}.modalBack{align-items:flex-end;background:rgba(15,23,42,.38)}.drawer{width:100%;height:100dvh;border-radius:0;box-shadow:none}.drawerHead{padding:12px 13px}.drawerHead .name{font-size:17px}.drawerBody{padding:9px}.section{padding:11px;border-radius:14px;margin-bottom:8px}.section h3{font-size:13px}.section:first-child .actions{position:sticky;top:63px;z-index:5;background:#fff;margin-left:-3px;margin-right:-3px;padding:7px 3px;border-radius:10px}.section:first-child .actions .btn{flex:1;min-width:46%;min-height:46px}.closingScenarioPicker{margin-left:-2px;margin-right:-2px}.scriptStepText{font-size:14px;line-height:1.5}.scriptStepHead{grid-template-columns:26px 1fr auto}.closingBottom{display:grid;grid-template-columns:1fr 1fr}.closingBottom .btn:first-child{grid-column:1/-1;min-height:46px}.nurtureActions{display:grid;grid-template-columns:1fr 1fr}.nurtureActions .btn{min-height:44px}.two{grid-template-columns:1fr}.kpiTable{padding:10px}.kpiHead{align-items:flex-start}.kpiTable .tableWrap{overflow:auto}.teamGrid{gap:9px}.login{margin:3vh auto}.login .card{border-radius:18px}.mobileLeadActions{grid-template-columns:1.15fr 1fr 1fr}}
@media(min-width:721px){.desktopLeadTable{display:block}}

/* V4.7 — filtres téléphone + accordéons fiche */
.leadAccordion{padding:0;overflow:hidden}.leadAccordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;font-size:13px;font-weight:850;cursor:pointer;background:#fff}.leadAccordion>summary::-webkit-details-marker{display:none}.leadAccordion>summary:after{content:"＋";font-size:18px;line-height:1;color:#667085}.leadAccordion[open]>summary:after{content:"−"}.leadAccordion[open]>summary{border-bottom:1px solid var(--line);background:#fafbfc}.accordionHint{margin-left:auto;font-size:10px;color:var(--muted);font-weight:700}.leadAccordion[open] .accordionHint{display:none}.accordionBody{padding:12px}.sectionSep{border:0;border-top:1px solid var(--line);margin:14px 0}.closingSection.leadAccordion,.nurturingSection.leadAccordion{background:#fff}.leadAccordion[open] .closingScenarioPicker{padding-top:8px}
@media(max-width:720px){.leadAccordion>summary{min-height:52px;padding:13px 12px;font-size:14px}.accordionBody{padding:10px}.toolbar #filterPhone{min-width:calc(50% - 5px)}}

/* V4.12 — compteurs par catégorie */
.categoryCounters{padding:12px 14px;margin-bottom:14px}.categoryCountersHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.counterGroup{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}.counterGroupTitle{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#667085;min-width:72px}.counterChip{appearance:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;display:inline-flex;align-items:baseline;gap:7px;cursor:pointer;color:#344054;transition:.15s ease}.counterChip:hover{border-color:#98a2b3;background:#f9fafb}.counterChip b{font-size:17px;color:#101828}.counterChip span{font-size:11px;font-weight:700}.counterChip.active{border-color:#344054;background:#f2f4f7;box-shadow:inset 0 0 0 1px #344054}.counterChip.active b{color:#175cd3}
@media(max-width:720px){.categoryCounters{padding:10px;margin-bottom:9px}.categoryCountersHead{align-items:flex-start}.categoryCountersHead .sub{font-size:10px}.counterGroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.counterGroupTitle{grid-column:1/-1;min-width:0}.counterChip{justify-content:space-between;width:100%;padding:8px 9px}.counterChip b{font-size:16px}.counterChip span{font-size:10px;text-align:right}}


/* V4.13 — séparation Relance / Closing et Data à qualifier */
.closingRule{margin-top:0;margin-bottom:14px}
.staticChip{cursor:pointer}
.qualHero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.qualHero h2{font-size:18px;margin:0 0 5px}
.qualStats{grid-template-columns:repeat(6,minmax(120px,1fr))}
.qualToolbar{margin-top:0}
.qualTable{min-width:1450px}
.qualSources{display:block;max-width:260px;white-space:normal;line-height:1.35}
.qualCheck{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px;border-radius:10px;background:#fff7ed;color:#93370d;font-size:12px;font-weight:750}
.qualCheck input{width:17px;height:17px}
.qualTrace{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;font-size:12px;line-height:1.45}
.qualTrace>b{color:#475467}
.qualTrace>div{white-space:pre-wrap;word-break:break-word}
.qualCardSource{font-size:11px;color:#475467;margin:8px 0;line-height:1.4}
.btn.disabled{pointer-events:none;opacity:.45}
.qualMobile{display:none}

@media(max-width:720px){
  .mainnav{display:flex;grid-template-columns:none;gap:4px}
  .mainnav .navbtn{flex:1;min-width:0;padding:10px 4px;font-size:10.5px}
  .qualHero{margin-bottom:9px;padding:12px;align-items:flex-start}
  .qualHero h2{font-size:17px}
  .qualStats{display:flex}
  .qualDesktop{display:none}
  .qualMobile{display:flex;flex-direction:column;gap:8px}
  .qualToolbar{position:sticky;top:0}
  .qualTrace{grid-template-columns:1fr;gap:3px}
  .qualTrace>b{margin-top:8px}
  #qualImportBox .actions{display:grid;grid-template-columns:1fr 1fr}
  #qualImportBox input{grid-column:1/-1;width:100%;min-width:0!important}
}
@media(min-width:721px){.qualDesktop{display:block}.qualMobile{display:none}}

.qualCategoryCounters{margin-bottom:14px}
.qualCounterChip.active{border-color:#101828;box-shadow:0 0 0 2px rgba(16,24,40,.08);background:#f8fafc}

/* V4.14 — dossier personne / coordonnées multiples */
.contactPoints{display:grid;gap:10px}.contactPoint{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.contactPointMain{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.contactBadges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.contactPoint .actions{margin-top:9px}.contactPoint .sub{margin-top:4px;overflow-wrap:anywhere}@media(max-width:720px){.contactPointMain{display:block}.contactBadges{justify-content:flex-start;margin-top:6px}}

/* V4.16 — cadence d'appel mobile / vue compacte */
.mobileToolbarButtons,.quickFilters{display:none}
@media(max-width:720px){
  /* Objectif : arriver aux leads dès le premier écran. */
  .wrap{padding-top:6px}
  .top{margin-bottom:5px}
  .brand h1{font-size:17px;line-height:1.12}
  .brand p{display:none}
  #deployVersion{font-size:9px!important;padding:3px 6px!important;margin-left:4px!important}
  .toolrow{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:6px;margin:0 -8px 6px;padding:0 8px 2px;scrollbar-width:none}
  .toolrow::-webkit-scrollbar{display:none}
  .toolrow .btn{flex:0 0 auto;min-height:36px;font-size:11px;padding:7px 9px;white-space:nowrap}
  .stats{margin-bottom:6px}
  .stat{flex-basis:104px;padding:8px 10px;border-radius:12px}
  .stat .v{font-size:19px;line-height:1}
  .stat .k{font-size:9px;line-height:1.15;margin-top:4px}
  .closingRule{display:none}
  #adminImport{display:none!important}

  /* Recherche visible, filtres secondaires repliés. */
  .toolbar{position:sticky;top:0;padding:7px;margin-bottom:7px;gap:6px}
  .toolbar input[type=search]{height:40px;font-size:14px}
  .mobileToolbarButtons{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
  .mobileToolbarButtons .btn{min-height:34px;font-size:11px;padding:6px 8px}
  .quickFilters{display:flex;gap:5px;width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}
  .quickFilters::-webkit-scrollbar{display:none}
  .quickFilter{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;color:#475467}
  .quickFilter.on{background:var(--nav);border-color:var(--nav);color:#fff}
  #leadToolbar>select{display:none}
  #leadToolbar.filtersOpen>select{display:block;min-width:calc(50% - 4px);height:38px;font-size:11px;padding:6px}

  /* Les gros compteurs restent accessibles, mais ne bloquent plus la liste. */
  #leadCategoryCounters{display:none}
  #leadCategoryCounters.mobileOpen{display:block}

  /* 1 lead = une petite ligne exploitable, pas une grande fiche. */
  .mobileLeadCards{gap:5px}
  .mobileLeadCard.compactLead{padding:9px 10px;border-radius:12px;box-shadow:0 2px 8px rgba(16,24,40,.04)}
  .compactLeadHead{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}
  .compactIdentity{min-width:0;flex:1}
  .compactLead .mobileLeadName{font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .compactEmail{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
  .compactLead .badge{font-size:9px;padding:3px 6px;flex:0 0 auto}
  .compactLeadLine{display:flex;align-items:center;gap:8px;overflow:hidden;margin-top:6px;font-size:10.5px;color:#344054}
  .compactLeadLine>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .compactPhone{font-weight:800;color:#101828;max-width:42%}
  .compactStage{margin-left:auto;color:#667085;max-width:30%}
  .compactFollow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5px;margin-top:6px;font-size:9.5px}
  .compactFollow>span{padding:5px 6px;border-radius:7px;background:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lastActionState.done{color:#067647;background:#ecfdf3}
  .lastActionState.never{color:#b54708;background:#fff7ed;font-weight:800}
  .nextFollow{color:#475467}
  .compactActions{display:grid;grid-template-columns:1fr 46px 46px;gap:5px;margin-top:6px}
  .compactActions .btn{min-height:34px;height:34px;padding:5px 7px;font-size:11px;border-radius:8px}
  .compactActions .quickContact{font-weight:900}
}
/* V4.17 — lecture déclarative Coaching dans le CRM Closing */
.compactPurchase{margin-top:5px;font-size:10.5px;font-weight:800;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compactCoaching{margin-top:3px;padding:5px 7px;border-radius:8px;background:#eefbf4;color:#067647;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compactAttempts{display:flex;gap:8px;align-items:center;margin-top:5px;font-size:9.5px;color:#667085;white-space:nowrap;overflow:hidden}
.compactAttempts span{flex:0 0 auto}
.compactAttempts span:nth-child(3){overflow:hidden;text-overflow:ellipsis;flex:1}
.buyCell{font-weight:700;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coachingMirrorSection{background:#f7fef9;border-color:#abefc6}
.coachingMirrorHead{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.coachingMirrorGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px}
.coachingMirrorGrid>div{background:#fff;border:1px solid #d1fadf;border-radius:10px;padding:8px;text-align:center}
.coachingMirrorGrid b{display:block;font-size:15px;color:#101828}
.coachingMirrorGrid span{display:block;font-size:9px;color:#667085;margin-top:2px;text-transform:uppercase;font-weight:800}
.coachingMirrorFoot{margin-top:8px}
@media(max-width:720px){
  .compactLeadLine{margin-top:4px}
  .compactActions{margin-top:6px}
  .compactActions .btn{min-height:34px;padding:5px 7px}
  .coachingMirrorGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .coachingMirrorGrid>div{padding:6px 2px}
  .coachingMirrorGrid b{font-size:13px}
  .coachingMirrorGrid span{font-size:7.5px}
}

/* V4.18 — résumé Coaching déclaratif */
.coachingLate{background:#fff1f2!important}.coachingLate b{color:#b42318!important}.coachingOverdueAlert{margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff1f2;color:#b42318;font-weight:800;font-size:12px}.compactCoaching{line-height:1.35}


/* ============================================================
   V4.19 — UX mobile opérationnelle Closing
   Objectif : appeler vite, voir l'historique sans ouvrir la fiche.
   Aucun changement de données / Supabase.
   ============================================================ */
.mobileOperationalCount{display:none}

@media(max-width:720px){
  /* On retire les blocs qui obligeaient à scroller avant les leads. */
  #viewLeads>.stats{display:none}
  #viewLeads>.closingRule{display:none}
  .top{display:none}

  /* Les outils restent accessibles mais sur une seule ligne horizontale. */
  .toolrow{
    display:flex;
    overflow-x:auto;
    gap:6px;
    margin:0 -8px 6px;
    padding:0 8px 2px;
    scrollbar-width:none
  }
  .toolrow::-webkit-scrollbar{display:none}
  .toolrow .btn{
    flex:0 0 auto;
    min-height:34px;
    height:34px;
    padding:6px 9px;
    font-size:10.5px;
    border-radius:9px;
    white-space:nowrap
  }

  /* Recherche + filtres = premier vrai bloc de travail. */
  #leadToolbar{
    top:0;
    margin-top:0;
    border-radius:11px;
    padding:6px;
  }
  #leadToolbar input[type=search]{
    height:38px;
    border-radius:9px;
    font-size:13px;
  }
  .mobileToolbarButtons .btn{min-height:31px;height:31px}
  .quickFilter{padding:5px 8px;font-size:9.5px}

  /* Compteur ultra-court juste avant la liste. */
  .mobileOperationalCount{
    display:flex;
    align-items:center;
    gap:5px;
    color:#667085;
    font-size:10px;
    padding:1px 2px 5px;
  }
  .mobileOperationalCount b{font-size:12px;color:#101828}

  /* Carte encore plus compacte, type ligne AppSheet. */
  .mobileLeadCard.compactLead{
    padding:7px 8px;
    border-radius:10px;
    min-height:0;
  }
  .compactLead .mobileLeadName{font-size:13px}
  .compactEmail{font-size:9.5px}
  .compactPurchase{margin-top:3px;font-size:10px}
  .compactCoaching{margin-top:2px;padding:4px 6px;font-size:9.5px}
  .compactLeadLine{gap:6px;font-size:10px;margin-top:3px}
  .compactAttempts{
    margin-top:3px;
    gap:5px;
    font-size:9px;
    align-items:center;
  }
  .compactAttempts>span{
    padding:3px 5px;
    border-radius:6px;
    background:#f8fafc;
  }
  .compactAttempts .lastActionState{
    flex:1 1 auto;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0;
  }
  .compactAttempts .nextFollow{flex:0 0 auto}
  .compactActions{
    grid-template-columns:minmax(0,1fr) 40px 40px;
    gap:4px;
    margin-top:4px;
  }
  .compactActions .btn{
    height:31px;
    min-height:31px;
    padding:4px 6px;
    font-size:10.5px;
  }

  /* L'import admin ne doit pas bloquer l'usage mobile. */
  #adminImport{padding:8px;margin-bottom:6px!important}
  #adminImport>div:first-child{margin-bottom:0!important}
  #adminImport .sub{font-size:9px}
}


/* ============================================================
   V4.20 — UX À qualifier : lisible PC + mobile
   Aucun changement de données / Supabase.
   ============================================================ */
.qualWorkbar{
  padding:10px;
  margin-bottom:10px;
  position:sticky;
  top:0;
  z-index:8;
}
.qualSearchRow{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto auto;
  gap:8px;
  align-items:center;
}
.qualSearchRow input{
  width:100%;
  min-width:0;
  height:42px;
}
.qualQuickFilters{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:8px 0 0;
  scrollbar-width:none;
}
.qualQuickFilters::-webkit-scrollbar{display:none}
.qualQuick{
  flex:0 0 auto;
  border:1px solid var(--line);
  background:#fff;
  color:#475467;
  border-radius:999px;
  padding:6px 10px;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
.qualQuick.on{background:var(--nav);border-color:var(--nav);color:#fff}
.qualAdvancedFilters{
  display:none;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:7px;
  padding-top:8px;
  border-top:1px solid #eef2f6;
  margin-top:8px;
}
.qualAdvancedFilters.open{display:grid}
.qualAdvancedFilters select,.qualAdvancedFilters .btn{min-width:0;height:38px}
.qualWorkCount{font-size:10.5px;color:#667085;margin-top:6px}
.qualWorkCount b{color:#101828;font-size:12px}

.qualCountersCollapsed{display:none}
.qualCategoryCounters{max-height:420px;overflow:auto}
.qualStats{grid-template-columns:repeat(5,minmax(120px,1fr))}
.qualStats .stat{min-width:0}

.qualTable{min-width:980px;table-layout:fixed}
.qualTable th:nth-child(1){width:20%}
.qualTable th:nth-child(2){width:13%}
.qualTable th:nth-child(3){width:15%}
.qualTable th:nth-child(4){width:18%}
.qualTable th:nth-child(5){width:22%}
.qualTable th:nth-child(6){width:8%}
.qualTable th:nth-child(7){width:70px}
.qualTable td{vertical-align:top;padding:10px 9px}
.qualContactCell .name{font-size:12.5px}
.qualPhoneCell{font-weight:750;color:#101828}
.qualStatusCell,.qualOriginCell,.qualReasonCell{font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}
.qualOriginCell .sub{margin-top:3px}
.qualReasonCell{color:#475467}
.qualStateCell .badge{white-space:nowrap}
.qualActionCell{text-align:right}

@media(max-width:720px){
  #viewQual>.qualHero{display:none}
  #viewQual>.qualStats{display:none}
  #viewQual>#qualImportBox{display:none!important}
  #viewQual>#adminMatches{display:none!important}

  .qualWorkbar{
    top:0;
    padding:7px;
    margin-bottom:6px;
    border-radius:10px;
  }
  .qualSearchRow{grid-template-columns:minmax(0,1fr) auto auto;gap:5px}
  .qualSearchRow input{height:38px;font-size:13px}
  .qualSearchRow .btn{height:34px;min-height:34px;padding:5px 7px;font-size:9.5px}
  .qualQuickFilters{padding-top:6px;gap:4px}
  .qualQuick{padding:5px 8px;font-size:9px}
  .qualAdvancedFilters{grid-template-columns:1fr 1fr;gap:5px;padding-top:6px;margin-top:6px}
  .qualAdvancedFilters select,.qualAdvancedFilters .btn{height:35px;font-size:10px;padding:5px}
  .qualWorkCount{margin-top:4px}

  .qualCategoryCounters{margin-bottom:6px;max-height:55vh}
  .qualCategoryCounters .categoryCountersHead .sub{display:none}
  .qualCategoryCounters .counterGroup{grid-template-columns:1fr 1fr}
  .qualCategoryCounters .counterChip{padding:6px 7px}
  .qualCategoryCounters .counterChip b{font-size:14px}
  .qualCategoryCounters .counterChip span{font-size:9px}

  .qualMobile{gap:5px}
  .compactQualCard{
    padding:8px 9px;
    border-radius:10px;
    box-shadow:0 2px 7px rgba(16,24,40,.04);
  }
  .qualCompactHead{display:flex;justify-content:space-between;gap:7px;align-items:flex-start}
  .qualCompactIdentity{min-width:0;flex:1}
  .compactQualCard .mobileLeadName{font-size:13.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .compactQualCard .compactEmail{font-size:9.5px}
  .compactQualCard .badge{font-size:8.5px;padding:3px 5px;flex:0 0 auto}
  .qualCompactLine{display:flex;gap:7px;align-items:center;margin-top:4px;font-size:9.5px;color:#475467;overflow:hidden}
  .qualCompactLine span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .qualCompactPhone{font-weight:800;color:#101828;max-width:42%}
  .qualCompactReason{
    margin-top:4px;
    padding:4px 6px;
    background:#f8fafc;
    border-radius:6px;
    color:#475467;
    font-size:9px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .qualCompactSource{
    margin-top:3px;
    font-size:8.5px;
    color:#98a2b3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .qualCompactActions{
    display:grid;
    grid-template-columns:1fr 40px 40px;
    gap:4px;
    margin-top:5px;
  }
  .qualCompactActions .btn{
    min-height:31px;
    height:31px;
    padding:4px 6px;
    font-size:10px;
    border-radius:8px;
  }
  .quickQualContact{font-weight:900}
  #qualMoreWrap{margin:7px 0 3px!important}
  #qualMore{min-height:34px;font-size:10px}
}

@media(min-width:721px){
  .qualHero{padding:12px 14px;margin-bottom:10px}
  .qualHero .sub{max-width:1100px;font-size:10.5px}
  .qualStats{margin-bottom:9px}
  .qualStats .stat{padding:10px 12px}
  .qualStats .stat .v{font-size:21px}
  .qualStats .stat .k{font-size:9.5px}
}

/* V4.21 — connexion harmonisée avec l'espace SchoolInvest */
.si-login-shell{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:minmax(420px,1.03fr) minmax(520px,.97fr);min-height:100dvh;background:#fff;overflow:auto}
.si-login-hero{position:relative;display:flex;align-items:center;padding:clamp(48px,7vw,104px);overflow:hidden;background:linear-gradient(145deg,#202020 0%,#292929 65%,#1e1e1e 100%);color:#fff}
.si-login-hero:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;left:-230px;top:-210px;background:radial-gradient(circle,rgba(63,139,230,.22),transparent 68%)}
.si-login-hero-content{position:relative;max-width:650px}.si-login-kicker,.si-login-eyebrow{display:block;color:#438cde;font-size:12px;font-weight:850;letter-spacing:.14em;margin-bottom:18px}
.si-login-hero h1{font-size:clamp(46px,5vw,72px);line-height:1;margin:0 0 38px;letter-spacing:-.04em}.si-login-hero p{max-width:650px;margin:0;color:#f0f0f0;font-size:clamp(18px,1.55vw,25px);line-height:1.65}
.si-login-panel{display:flex;min-height:100dvh;background:#fff}.si-login-panel-inner{width:100%;display:flex;flex-direction:column;padding:clamp(42px,6vw,94px) clamp(42px,7vw,118px) 34px}.si-login-form{width:min(500px,100%);margin:auto}.si-login-mobile-brand{display:none}.si-login-form h2{margin:0;font-size:clamp(34px,3vw,48px);line-height:1.1;letter-spacing:-.03em}.si-login-intro{margin:12px 0 34px;color:#667085;font-size:15px;line-height:1.5}
.si-login-field{margin:0 0 20px}.si-login-field label{display:block;margin:0 0 9px;color:#202938;font-size:15px;font-weight:750}.si-login-field input{width:100%;height:58px;border:1px solid #d8dde6;border-radius:11px;background:#fff;padding:0 17px;font-size:16px;outline:none;transition:.18s}.si-login-field input:focus{border-color:#438cde;box-shadow:0 0 0 4px rgba(67,140,222,.13)}
.si-login-submit{width:100%;height:54px;border:0;border-radius:9px;background:linear-gradient(135deg,#4b94e6,#367cc8);color:#fff;font-size:17px;font-weight:800;box-shadow:0 10px 22px rgba(54,124,200,.24);cursor:pointer;transition:.18s}.si-login-submit:hover{filter:brightness(.96);transform:translateY(-1px)}.si-login-config{margin-top:12px;width:100%}
.si-login-form .notice{margin:0 0 18px}.si-login-footer{width:min(560px,100%);margin:64px auto 0;padding-top:28px;border-top:1px solid #e4e7ec;text-align:center;color:#98a2b3}.si-login-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;font-size:12px}.si-login-footer a{color:#667085;text-decoration:none}.si-login-footer a:hover{color:#367cc8}.si-login-footer p{margin:28px 0 0;font-size:12px}.si-login-eyebrow{margin-bottom:12px}.si-login-mobile-brand{font-weight:900}
@media(max-width:900px){.si-login-shell{grid-template-columns:1fr;align-content:start}.si-login-hero{min-height:230px;align-items:flex-end;padding:42px 26px 34px}.si-login-hero h1{font-size:42px;margin-bottom:18px}.si-login-hero p{font-size:16px;line-height:1.5;max-width:580px}.si-login-kicker{margin-bottom:10px}.si-login-panel{min-height:auto}.si-login-panel-inner{padding:38px 22px 28px}.si-login-form{margin:0 auto}.si-login-form h2{font-size:34px}.si-login-intro{margin-bottom:26px}.si-login-footer{margin-top:46px}}
@media(max-width:520px){.si-login-hero{min-height:188px;padding:30px 20px 25px}.si-login-hero h1{font-size:36px;margin-bottom:12px}.si-login-hero p{font-size:14px}.si-login-kicker{font-size:10px}.si-login-panel-inner{padding:30px 18px 24px}.si-login-field input{height:54px}.si-login-footer nav{gap:6px}.si-login-footer nav span{display:none}}
