.crm-nav{display:flex;gap:4px;margin-left:16px;flex-wrap:wrap}
.crm-nav a{padding:6px 10px;border-radius:6px;color:var(--text);font-weight:600}
.crm-nav a.on,.crm-nav a:hover{background:var(--blue-l);color:var(--blue)}
.crm-user{margin-left:auto;display:flex;align-items:center;gap:8px}
.bell{position:relative}.bell .n{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;border-radius:10px;font-size:10px;padding:0 5px}
.notifs{display:none;position:absolute;right:16px;top:56px;width:420px;max-height:60vh;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:10px;z-index:50}
.notifs.on{display:block}.notif{padding:6px 0;border-top:1px solid var(--border);font-size:12.5px}
.crm-main{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cols{display:grid;grid-template-columns:320px 1fr;gap:12px;align-items:start}
@media(max-width:900px){.cols{grid-template-columns:1fr}.topbar{height:auto;flex-wrap:wrap;padding:6px 10px}}
.liste{max-height:70vh;overflow:auto}
.liste a{display:block;padding:7px 8px;border-radius:6px;border-bottom:1px solid var(--border);color:var(--text)}
.liste a.on{background:var(--blue-l)}.liste a.fait{opacity:.5;text-decoration:line-through}
.liste small{color:var(--muted);display:block}
.tag{display:inline-block;background:#e4e6eb;border-radius:10px;padding:0 7px;font-size:11px;color:var(--muted);margin-left:4px}
.tag.relance3{background:#fdebd0}.tag.bdd{background:#dff4e3}.tag.rappel{background:#ffd6dc}
.chrono{font-size:40px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--green)}
.chrono.orange{color:#b26a00}.chrono.rouge{color:var(--red);animation:cl 1s infinite}
@keyframes cl{50%{opacity:.4}}
.script{white-space:pre-wrap;background:#fffbe6;border:1px solid #f1e3a0;border-radius:8px;padding:10px;font-size:13px;line-height:1.5}
.hist{font-size:12.5px}.hist div{padding:4px 0;border-bottom:1px solid var(--border)}
.res-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.res-btns button{padding:10px 6px;border-radius:8px;border:1px solid var(--border);background:#fff;font-weight:600;cursor:pointer}
.res-btns button.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.res-btns button.rdv.on{background:var(--green);border-color:var(--green)}
.slots{display:flex;gap:6px;flex-wrap:wrap}.slots button{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer}
.slots button.on{background:var(--green);color:#fff;border-color:var(--green)}
.jauge{height:8px;background:#e4e6eb;border-radius:4px;overflow:hidden}.jauge i{display:block;height:100%;background:var(--blue)}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi .card b{font-size:22px;display:block}
table.t{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff;border-radius:8px;box-shadow:var(--shadow)}
table.t th{text-align:left;background:#f5f6f7;padding:8px;border-bottom:1px solid var(--border);font-weight:600;position:sticky;top:0}
table.t td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}
table.t tr:hover td{background:#fafbfc}.r{text-align:right}
.login{max-width:360px;margin:60px auto;background:#fff;padding:24px;border-radius:10px;box-shadow:var(--shadow)}
.login input{width:100%;margin:6px 0 12px;padding:10px;font-size:16px}
.field{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.field label{font-size:12px;color:var(--muted);font-weight:600}
.err{background:#fde8ec;color:var(--red);padding:8px 10px;border-radius:6px}
.ok{background:#e3f6e8;color:#1e7a35;padding:8px 10px;border-radius:6px}
.apercu{width:100%;height:80vh;border:1px solid var(--border);border-radius:8px;background:#fff}
.etapes{display:flex;gap:6px;flex-wrap:wrap}.etapes span{padding:4px 10px;border-radius:14px;background:#e4e6eb;font-size:12px}
.etapes span.ok{background:var(--green);color:#fff}
.catal label{display:block;font-size:12px;padding:2px 0}
.muted{color:var(--muted)}
/* Équipe (09/11) : vues en onglets, cartes, frise de la journée. Quatre teintes validées pour le daltonisme (téléphone, saisie, pause, démo),
   deux gris pour la préparation et la navigation, des hachures pour l'onglet caché et l'appel non clôturé. */
.vues{display:flex;gap:4px;flex-wrap:wrap}
.vues a{padding:5px 12px;border-radius:16px;background:#e4e6eb;color:var(--text);font-weight:600;font-size:12.5px}
.vues a.on{background:var(--blue);color:#fff}
.eq-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.eq-carte h3{margin:0;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.eq-etat{font-size:11.5px;font-weight:600;border-radius:10px;padding:1px 8px;background:#e4e6eb;color:var(--muted)}
.eq-etat.appel{background:#e3f6e8;color:#1e7a35}.eq-etat.demo{background:#fbe4ee;color:#9c2f5e}.eq-etat.actif{background:var(--blue-l);color:var(--blue)}.eq-etat.inactif{background:#fdebd0;color:#8a5300}
.eq-chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 6px;margin:10px 0}
.eq-chiffres div{font-size:11px;color:var(--muted)}.eq-chiffres b{display:block;font-size:17px;color:var(--text)}
.frise{position:relative;height:18px;background:#f0f2f5;border-radius:4px;overflow:hidden}.frise.haute{height:28px}
.frise i{position:absolute;top:0;height:100%;box-shadow:inset -1px 0 0 #fff}
.frise i:hover{filter:brightness(.85)}
.sg-conversation{background:#008300}.sg-saisie{background:#2a78d6}.sg-pause{background:#eda100}.sg-demo{background:#e87ba4}
.sg-preparation{background:#8a919c}.sg-navigation{background:#c3c8d0}
.sg-ailleurs{background:repeating-linear-gradient(135deg,#dde0e5 0 3px,#f0f2f5 3px 6px)}
.sg-abandon{background:repeating-linear-gradient(45deg,#e34948 0 3px,#fbd9d9 3px 6px)}
.frise-l{display:grid;grid-template-columns:110px 1fr 170px;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}
.frise-h{position:relative;height:16px;font-size:10.5px;color:var(--muted)}.frise-h span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.frise-h span:first-child{transform:none}.frise-h span:last-child{transform:translateX(-100%)}
.legende{display:flex;gap:4px 12px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}
.legende i,.pastille{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.rang{font-size:10px;color:var(--muted);margin-left:2px;font-weight:400}.rang.r1{color:#1e7a35;font-weight:700}
table.t th[data-tri]{cursor:pointer;user-select:none;white-space:nowrap}table.t th[data-sens="1"]::after{content:" ↓"}table.t th[data-sens="0"]::after{content:" ↑"}
table.t tfoot td{background:#f5f6f7;padding:7px 8px;font-size:12px}
table.t.serre th,table.t.serre td{white-space:nowrap;padding:7px 6px}
details.pli>summary{cursor:pointer;font-weight:700;font-size:14px;padding:2px 0}details.pli[open]>summary{margin-bottom:8px}
tr.fil-refus td{background:#fde8ec}td.fil-long,tr.fil-long td{color:#8a5300;font-weight:600}
.ma-journee{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:8px;font-size:11.5px;color:var(--muted)}
.ma-journee b{display:block;font-size:15px;color:var(--text)}
@media(max-width:700px){.frise-l{grid-template-columns:80px 1fr}.frise-l>span:last-child{display:none}}
/* Kanban, calendrier, bandeau de la démo en cours (09/11) */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);gap:10px;overflow-x:auto;align-items:start;padding-bottom:4px}
.kb-col{background:#e9ebee;border-radius:8px;padding:8px;min-height:80px}
.kb-titre{font-weight:700;font-size:12.5px;margin-bottom:6px;display:flex;justify-content:space-between}
.kb-carte{background:#fff;border-radius:6px;box-shadow:var(--shadow);padding:7px 8px;margin-bottom:6px;font-size:12.5px;border-left:3px solid #c3c8d0}
.kb-carte small{display:block;color:var(--muted);font-size:11px}
.kb-rdv .kb-carte,.kb-demo .kb-carte{border-left-color:#2a78d6}.kb-devis .kb-carte{border-left-color:#eda100}.kb-gagne .kb-carte{border-left-color:#008300}.kb-perdu .kb-carte{border-left-color:#e34948}
table.t.cal td{min-width:128px;vertical-align:top}table.t.cal th.auj{color:var(--blue)}
.cal-rdv{background:#f0f2f5;border-left:3px solid #2a78d6;border-radius:4px;padding:4px 6px;margin-bottom:4px;font-size:12px}
.cal-rdv small{display:block;color:var(--muted);font-size:11px}
.cal-rdv.st-tenu{border-left-color:#008300}.cal-rdv.st-pas_eu_lieu{border-left-color:#e34948}
.demo-bandeau{background:#fbe4ee;border-bottom:1px solid #e87ba4;padding:8px 18px;flex-shrink:0}
.demo-bandeau textarea{width:100%;min-height:70px}
/* écrans pliables (07/11) : ouvert presque carré 600-900 px et fermé 460-599 px ; un tableau large défile dans sa carte, les deux colonnes imposées passent l'une sous l'autre */
@media (pointer:coarse) and (min-width:600px) and (max-width:743px) and (min-height:480px) and (min-aspect-ratio:7/10),
       (pointer:coarse) and (min-width:760px) and (max-width:900px) and (min-height:480px) and (orientation:landscape),
       (pointer:coarse) and (min-width:460px) and (max-width:599px){
  .crm-main .card{overflow-x:auto;flex-shrink:0}   /* audit du 08/11 : sans flex-shrink:0, une carte qui défile s'écrasait à 28 px dans la colonne flex */
  .cols[style*="1fr 1fr"]{grid-template-columns:1fr!important}   /* seulement les deux colonnes imposées ; les grilles déjà souples restent */
  .crm-main>table.t{display:block;overflow-x:auto}
  .crm-main{padding:12px 14px}
}
@media (pointer:coarse) and (min-width:600px) and (max-width:743px) and (min-height:480px) and (min-aspect-ratio:7/10),
       (pointer:coarse) and (min-width:760px) and (max-width:900px) and (min-height:480px) and (orientation:landscape),
       (pointer:coarse) and (min-width:901px) and (max-width:1023px) and (min-height:480px),
       (pointer:coarse) and (min-width:460px) and (max-width:599px){
  .crm-nav a,.crm-user .btn{min-height:40px;display:inline-flex;align-items:center}.crm-nav a{padding:4px 10px}
  .liste a{padding:11px 8px}
  .res-btns button,.slots button{min-height:44px}
  input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea{font-size:16px}
}

/* Pliable ouvert en paysage (Fold 8 : 933 × 553 px CSS) : la barre du haut tient sur UNE ligne (elle débordait de 16 px en haut et en bas), tableaux et réglages compacts */
@media (pointer:coarse) and (min-width:901px) and (max-width:1023px) and (min-height:480px) and (max-height:760px) and (orientation:landscape){
  .crm-nav{flex:1 1 auto;min-width:0;margin-left:0;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .crm-nav::-webkit-scrollbar{display:none}
  .crm-nav a{flex:none;white-space:nowrap;padding:4px 7px;min-height:40px}
  .crm-user{flex:none;gap:6px}.crm-user>span.muted{display:none}
  .crm-main{padding:10px 14px;gap:10px}
  .crm-main .card{overflow-x:auto;flex-shrink:0;padding:12px 10px}
  .crm-main>.row>h2{font-size:19px}
  .crm-main>.row>a.btn.sm{border-radius:18px;padding:3px 14px}
  table.t th{padding:6px 4px}
  table.t td{padding:4px;vertical-align:middle}
  table.t td .btn.sm{padding:3px 7px;font-size:12.5px}
  table.t td>input[type=text]{width:96px!important}
  table.t td>input:not([type=checkbox]),table.t td>select{font-size:15px;padding:4px 6px}
  table.t td:last-child{white-space:nowrap}
  .cols[style*="1fr 1fr"]{grid-template-columns:1fr!important}
  .card .row[style*="space-between"]{flex-wrap:nowrap;gap:12px}
  .card .row[style*="space-between"]>span:first-child{flex:1 1 auto;min-width:0}
  .card .row[style*="space-between"]>span:last-child{flex:none;white-space:nowrap}
  .card>.row>input[type=text],.card>.row>input[type=tel]{flex:1 1 110px;width:auto;min-width:0}
}
