/* ═══════════════════════════════════════════
   RESET RESET & VARIABLES — V6 VARIABLES — V8
═══════════════════════════════════════════ */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  --navy:#0a1929;--navy2:#0f2744;--navy3:#163563;--navy4:#1e4a8a;
  --gold:#e8971a;--gold2:#f5b638;--gold3:#ffd060;--gold-dim:#7a4f0a;
  --ink:#141414;--ink2:#2e2e2e;--ink3:#525252;--ink4:#808080;--ink5:#b8b8b8;--ink6:#e2e2e2;--ink7:#f2f2f0;--ink8:#fafaf8;
  --white:#ffffff;
  --green:#0a7845;--green-bg:#e4f5ec;--green-border:#9fd4b8;
  --blue:#1050b4;--blue-bg:#e4eef9;--blue-border:#8ab4e8;
  --amber:#8a5000;--amber-bg:#fff4e0;--amber-border:#f0c070;
  --red:#b82018;--red-bg:#fde8e7;--red-border:#f0a8a4;
  --purple:#5820a0;--purple-bg:#f0e8fc;
  --teal:#086070;--teal-bg:#dff4f7;
  --orange:#c04800;--orange-bg:#fff0e8;
  --r4:4px;--r8:8px;--r12:12px;--r16:16px;--r20:20px;--r24:24px;--r32:32px;
  --sh1:0 1px 4px rgba(0,0,0,.07);--sh2:0 4px 16px rgba(0,0,0,.10);--sh3:0 8px 32px rgba(0,0,0,.14);--sh4:0 16px 48px rgba(0,0,0,.18);
  --font:'Sora',sans-serif;--mono:'JetBrains Mono',monospace;
  --header-h:58px;--tab-h:46px;
}
body.dark-theme{
  --navy:#0d1521;--navy2:#122033;--navy3:#1d3658;--navy4:#2b4f82;
  --gold:#e9a62f;--gold2:#ffca64;--gold3:#ffd989;--gold-dim:#9c6a11;
  --ink:#edf2f7;--ink2:#d7dee8;--ink3:#aab4c3;--ink4:#8a96a8;--ink5:#556175;--ink6:#263142;--ink7:#121924;--ink8:#0d131c;
  --white:#17212e;
  --green:#58d68d;--green-bg:#11271d;--green-border:#2d7a51;
  --blue:#7fb3ff;--blue-bg:#14243b;--blue-border:#315b8e;
  --amber:#ffbe55;--amber-bg:#2b2112;--amber-border:#87622a;
  --red:#ff8175;--red-bg:#311616;--red-border:#8b4a44;
  --purple:#bd9cff;--purple-bg:#24193d;
  --teal:#7fdbe6;--teal-bg:#10262a;
  --orange:#ff9b5f;--orange-bg:#2a1d14;
  --sh1:0 1px 4px rgba(0,0,0,.35);--sh2:0 8px 24px rgba(0,0,0,.35);--sh3:0 14px 40px rgba(0,0,0,.42);--sh4:0 18px 56px rgba(0,0,0,.55);
}
html,body{height:100%;overflow-x:hidden}
body{font-family:var(--font);background:var(--ink7);color:var(--ink);font-size:15px;line-height:1.5}
body.body-lock{overflow:hidden}
input,select,textarea,button{font-family:var(--font)}
button{appearance:none}
a,button,input,select,textarea,[role="button"],[tabindex]{touch-action:manipulation}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid rgba(232,151,26,.45);
  outline-offset:2px;
}

/* ═══════════════════════════════════════════
   AUTH SCREEN
═══════════════════════════════════════════ */
#authScreen{position:fixed;inset:0;background:radial-gradient(circle at top left, rgba(240,174,44,.18), transparent 26%),radial-gradient(circle at bottom right, rgba(57,137,190,.12), transparent 24%),linear-gradient(180deg,#0f1825 0%, #121e2d 100%);z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;overflow-x:hidden;box-sizing:border-box}
.auth-shell{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,420px);gap:34px;align-items:center}
.auth-wrap{width:100%;max-width:420px}
.auth-wrap,.auth-card,.auth-tabs,.auth-tab,.auth-field input,.auth-btn-main,.auth-google,.auth-local{box-sizing:border-box}
.auth-logo{text-align:center;margin-bottom:28px}
.auth-logo-left{text-align:left;margin-bottom:18px}
.auth-logo-mark{width:56px;height:56px;background:var(--gold);border-radius:var(--r16);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}
.auth-logo-mark svg{width:28px;height:28px;fill:var(--navy)}
.auth-logo-name{font-size:24px;font-weight:700;color:var(--white);letter-spacing:-.5px}
.auth-logo-sub{font-size:11px;color:var(--gold2);letter-spacing:1.5px;font-weight:600;text-transform:uppercase}
.auth-marketing{color:var(--white);padding:18px 8px 18px 4px}
.auth-hero-kicker{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:rgba(240,174,44,.13);color:#ffd283;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin-bottom:14px}
.auth-hero-title{font-size:42px;line-height:1.08;letter-spacing:-1.2px;margin:0 0 14px;max-width:720px}
.auth-hero-copy{font-size:16px;line-height:1.65;color:rgba(255,255,255,.82);max-width:660px;margin:0 0 22px}
.auth-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.auth-proof-card{padding:14px 16px;border-radius:var(--r16);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:6px}
.auth-proof-card strong{font-size:15px;color:#fff}
.auth-proof-card span{font-size:12px;line-height:1.5;color:rgba(255,255,255,.74)}
.auth-bullets{display:grid;gap:10px;margin-bottom:18px}
.auth-bullet{position:relative;padding-left:18px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.82)}
.auth-bullet::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.auth-trust-row{display:flex;flex-wrap:wrap;gap:8px}
.auth-trust-pill{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:12px;font-weight:600;color:rgba(255,255,255,.82)}
.auth-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.auth-plan-card{padding:14px 14px 13px;border-radius:var(--r16);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:5px}
.auth-plan-card-featured{background:linear-gradient(180deg,rgba(240,174,44,.16),rgba(255,255,255,.06));border-color:rgba(240,174,44,.34)}
.auth-plan-name{font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:rgba(255,255,255,.74)}
.auth-plan-price{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.3px}
.auth-plan-copy{font-size:12px;line-height:1.5;color:rgba(255,255,255,.72)}
.auth-card{background:var(--white);border-radius:var(--r20);padding:28px 24px;box-shadow:var(--sh4);overflow:hidden}
.auth-card-title{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-.4px}
.auth-card-sub{font-size:13px;color:var(--ink4);line-height:1.55;margin-bottom:16px}
.auth-tabs{display:flex;background:var(--ink7);border-radius:var(--r8);padding:3px;margin-bottom:20px;gap:2px;min-width:0}
.auth-tab{flex:1;min-width:0;padding:9px;text-align:center;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink4);transition:all .15s;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.auth-tab.on{background:var(--white);color:var(--navy);box-shadow:var(--sh1)}
.auth-field{margin-bottom:13px}
.auth-field label{display:block;font-size:11px;font-weight:700;color:var(--ink3);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}
.auth-field input{width:100%;height:46px;padding:0 14px;border:1.5px solid var(--ink5);border-radius:var(--r8);font-size:15px;outline:none;transition:border-color .15s}
.auth-field input:focus{border-color:var(--navy3)}
.auth-btn-main{width:100%;height:50px;background:var(--navy);color:var(--white);border:none;border-radius:var(--r12);font-size:15px;font-weight:700;cursor:pointer;transition:background .15s;margin-top:4px}
.auth-btn-main:hover{background:var(--navy2)}
.auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--ink4);font-size:12px}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--ink6)}
.auth-google{width:100%;height:46px;background:var(--white);border:1.5px solid var(--ink5);border-radius:var(--r8);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink2);transition:all .15s}
.auth-google:hover{background:var(--ink7);border-color:var(--ink4)}
.auth-err{background:var(--red-bg);color:var(--red);border-radius:var(--r8);padding:8px 12px;font-size:12px;margin-bottom:12px;display:none;border:1px solid var(--red-border)}
.auth-secondary-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.auth-install,.auth-local{display:block;width:100%;text-align:center;font-size:12px;cursor:pointer;border-radius:var(--r10);padding:12px 10px;min-height:44px}
.auth-install{color:var(--white);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.auth-install:hover{background:rgba(255,255,255,.12)}
.auth-local{color:rgba(255,255,255,.92);background:none;border:1px solid rgba(255,255,255,.18)}
.auth-local:hover{background:rgba(255,255,255,.06)}
.auth-micro-note{margin-top:14px;font-size:11px;line-height:1.55;color:var(--ink4);text-align:center}
.prospect-secondary-actions{display:flex;flex-wrap:wrap}

/* ═══════════════════════════════════════════
   HEADER
═══════════════════════════════════════════ */
.header{background:var(--navy);height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 14px;position:sticky;top:0;z-index:500;border-bottom:2.5px solid var(--gold)}
.logo-row{display:flex;align-items:center;gap:9px}
.logo-mark{width:34px;height:34px;background:var(--gold);border-radius:var(--r8);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-mark svg{width:18px;height:18px;fill:var(--navy)}
.logo-name{color:var(--white);font-size:17px;font-weight:700;letter-spacing:-.4px;line-height:1}
.logo-sub{font-size:9px;color:var(--gold2);letter-spacing:1.5px;font-weight:600;text-transform:uppercase}
.hstats{display:flex;gap:16px}
.hst{text-align:right}
.hst-v{font-size:18px;font-weight:700;color:var(--gold2);line-height:1}
.hst-l{font-size:9px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.6px}
.h-actions{display:flex;align-items:center;gap:7px}
.hbtn{width:38px;height:38px;border-radius:var(--r8);background:rgba(255,255,255,.08);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background .15s}
.hbtn:hover{background:rgba(255,255,255,.15)}
.hbtn svg{width:18px;height:18px;stroke:var(--white);stroke-width:2;fill:none}
.theme-toggle{overflow:hidden}
.theme-toggle .theme-icon-moon{display:none}
body.dark-theme .theme-toggle .theme-icon-sun{display:none}
body.dark-theme .theme-toggle .theme-icon-moon{display:block}
body.dark-theme .theme-toggle.active{background:rgba(255,255,255,.14)}
.hbtn-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--gold);border:1.5px solid var(--navy);display:none}
.hbtn-dot.on{display:block}
.sync-pill{display:flex;align-items:center;gap:5px;padding:4px 8px;border-radius:20px;background:rgba(255,255,255,.08)}
.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--ink5)}
.sync-dot.ok{background:#4caf50}
.sync-dot.spin{background:var(--gold);animation:blink .7s ease infinite}
.sync-dot.err{background:var(--red)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.sync-lbl{font-size:9px;color:rgba(255,255,255,.5);font-weight:600;letter-spacing:.4px}

/* ═══════════════════════════════════════════
   TABS
═══════════════════════════════════════════ */
.tabs{background:var(--white);border-bottom:1px solid var(--ink6);display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;position:sticky;top:var(--header-h);z-index:400;height:var(--tab-h)}
.tabs::-webkit-scrollbar{display:none}
.tab{padding:0 14px;height:100%;font-size:12px;font-weight:600;color:var(--ink4);cursor:pointer;border-bottom:2.5px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:5px;user-select:none;transition:color .15s;letter-spacing:.1px}
.tab svg{width:14px;height:14px;flex-shrink:0}
.tab.on{color:var(--navy);border-bottom-color:var(--gold)}
.tb{background:var(--gold);color:var(--navy);font-size:9px;font-weight:800;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center;line-height:14px}
.tb.alert{background:var(--red);color:var(--white)}
.tab-content{display:none}
.tab-content.on{display:block;animation:fadeIn .15s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1}}

/* ═══════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════ */
.main{padding:14px;max-width:1200px;margin:0 auto}
.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.section-kicker{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--ink4);margin-bottom:4px}
.section-title-lg{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.6px}
.card{background:var(--white);border-radius:var(--r12);border:1px solid var(--ink6);padding:16px 18px;margin-bottom:12px;box-shadow:var(--sh1)}
.ch{font-size:10px;font-weight:700;color:var(--ink4);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.ch svg{width:12px;height:12px;stroke:currentColor;fill:none}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
@media(max-width:920px) and (min-width:641px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
  .search-zone-card{padding:16px}
}

/* ═══════════════════════════════════════════
   FORM ELEMENTS
═══════════════════════════════════════════ */
.fl{display:block;font-size:11px;font-weight:700;color:var(--ink3);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],input[type=search],input[type=url],select,textarea{
  width:100%;height:42px;padding:0 12px;border:1.5px solid var(--ink5);border-radius:var(--r8);
  background:var(--white);color:var(--ink);outline:none;transition:border-color .15s;font-size:14px;font-family:var(--font)
}
input:focus,select:focus,textarea:focus{border-color:var(--navy3);box-shadow:0 0 0 3px rgba(26,74,138,.08)}
textarea{height:auto;padding:10px 12px;resize:vertical;line-height:1.55}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.search-city-wrap{position:relative}
.search-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--white);border:1px solid var(--ink5);border-radius:var(--r10);box-shadow:var(--sh2);z-index:60;max-height:240px;overflow:auto;padding:6px}
.search-suggest.d-none{display:none}
.search-suggest-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r8);cursor:pointer}
.search-suggest-item:hover,.search-suggest-item.on{background:var(--ink7)}
.search-suggest-main{font-size:13px;font-weight:600;color:var(--ink2)}
.search-suggest-sub{font-size:11px;color:var(--ink4)}
.search-suggest-empty{padding:10px 12px;font-size:12px;color:var(--ink4)}
body.dark-theme .search-suggest{backdrop-filter:blur(6px)}
.search-zone-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.search-zone-chips.d-none{display:none}
.search-zone-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--ink7);font-size:12px;font-weight:600;color:var(--ink2);border:1px solid var(--ink6)}
.search-zone-chip button{border:none;background:none;color:var(--ink4);cursor:pointer;font-size:14px;line-height:1;padding:0}
.search-hint{margin-top:8px;font-size:11px;color:var(--ink4);line-height:1.45}
.department-pref-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.search-advanced-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--r10);border:1px solid var(--ink6);background:var(--white);color:var(--ink2);font-size:13px;font-weight:700;cursor:pointer;margin:0 0 12px;box-shadow:var(--sh1)}
.search-advanced-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;transition:transform .15s ease}
.search-advanced-toggle.is-open svg{transform:rotate(180deg)}
.search-zone-card{padding:18px 20px}
.metier-chip{appearance:none}
.metier-chip.on{position:relative;padding-left:16px}
.metier-chip.on::before{content:'';position:absolute;left:8px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.92)}
.search-zone-summary,.metier-summary{display:none !important}

/* ═══════════════════════════════════════════
   BUTTONS — grands boutons tactiles
═══════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 18px;height:46px;border-radius:var(--r10,var(--r8));font-size:14px;font-weight:700;cursor:pointer;border:none;transition:all .14s;user-select:none;white-space:nowrap;letter-spacing:.1px}
.btn svg{width:16px;height:16px;flex-shrink:0}
.btn:active{transform:scale(.97)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy2)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold2)}
.btn-green{background:var(--green);color:var(--white)}
.btn-green:hover{opacity:.9}
.btn-red{background:var(--red);color:var(--white)}
.btn-ghost{background:transparent;color:var(--ink2);border:1.5px solid var(--ink5)}
.btn-ghost:hover{background:var(--ink7);border-color:var(--ink4)}
.btn-teal{background:var(--teal);color:var(--white)}
.btn-full{width:100%;height:54px;font-size:16px;border-radius:var(--r12)}
/* Boutons terrain XL — très grande surface tactile */
.btn-xl{height:62px;font-size:17px;border-radius:var(--r16);padding:0 24px;gap:10px}
.btn-xl svg{width:22px;height:22px}
.bsm{height:34px;padding:0 12px;font-size:12px;border-radius:var(--r8);font-weight:600;cursor:pointer;border:1.5px solid var(--ink5);background:var(--white);color:var(--ink2);display:inline-flex;align-items:center;gap:5px;transition:all .14s;white-space:nowrap;user-select:none}
.bsm svg{width:12px;height:12px;flex-shrink:0}
.bsm:hover{background:var(--ink7);border-color:var(--ink4)}
.bsm:active{transform:scale(.97)}
.bsm-blue{color:var(--blue);border-color:var(--blue-border)}
.bsm-green{color:var(--green);border-color:var(--green-border)}
.bsm-red{color:var(--red);border-color:var(--red-border)}
.bsm-gold{color:var(--amber);border-color:var(--amber-border)}

/* ═══════════════════════════════════════════
   CHIPS & FILTER PILLS
═══════════════════════════════════════════ */
.chip-wrap{display:flex;flex-wrap:wrap;gap:7px}
.chip{padding:9px 14px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;border:1.5px solid var(--ink5);background:var(--white);color:var(--ink3);transition:all .13s;user-select:none}
.chip:active{transform:scale(.95)}
.chip.on{background:linear-gradient(180deg,var(--navy),var(--navy2));color:var(--white);border-color:var(--navy);box-shadow:0 10px 22px rgba(13,25,41,.16)}
.fpill{padding:7px 13px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid var(--ink5);background:var(--white);color:var(--ink3);transition:all .13s;display:inline-flex;align-items:center;gap:5px;user-select:none}
.fpill svg{width:12px;height:12px}
.fpill.on{background:var(--blue-bg);color:var(--blue);border-color:var(--blue-border)}
.fpill.on.gem{background:var(--gold3);color:var(--gold-dim);border-color:var(--gold2)}
.gem-filters{display:flex;flex-wrap:wrap;gap:7px;padding:12px 14px;background:linear-gradient(135deg,#fff8e8,#fff3d0);border-radius:var(--r8);border:1.5px solid var(--amber-border);margin-bottom:12px}
.gem-title{font-size:10px;font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:1px;width:100%;margin-bottom:2px}

/* ═══════════════════════════════════════════
   BADGES
═══════════════════════════════════════════ */
.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:10px;font-size:10px;font-weight:700;white-space:nowrap;letter-spacing:.1px}
.b-new{background:var(--blue-bg);color:var(--blue)}
.b-called{background:var(--amber-bg);color:var(--amber)}
.b-rdv{background:var(--green-bg);color:var(--green)}
.b-devis{background:var(--purple-bg);color:var(--purple)}
.b-nego{background:var(--orange-bg);color:var(--orange)}
.b-client{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}
.b-lost{background:var(--ink6);color:var(--ink4)}
.b-existing{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}
.b-new-co{background:var(--teal-bg);color:var(--teal)}
.sc-hi{background:var(--green-bg);color:var(--green)}
.sc-md{background:var(--amber-bg);color:var(--amber)}
.sc-lo{background:var(--ink6);color:var(--ink4)}
.mbadge{color:var(--white);padding:2px 7px;border-radius:9px;font-size:10px;font-weight:700}
.src-badge{background:var(--ink7);color:var(--ink4);padding:2px 6px;border-radius:7px;font-size:9px;border:1px solid var(--ink6);font-family:var(--mono)}
.gem-badge{background:linear-gradient(135deg,var(--gold3),var(--gold2));color:var(--gold-dim);padding:2px 7px;border-radius:9px;font-size:10px;font-weight:700}

/* ═══════════════════════════════════════════
   PROSPECT CARD
═══════════════════════════════════════════ */
.pc{background:var(--white);border-radius:var(--r12);border:1px solid var(--ink6);padding:14px;margin-bottom:10px;box-shadow:var(--sh1);transition:border-color .14s}
.pc:hover{border-color:var(--ink5)}
.pc.starred{border-left:3.5px solid var(--gold)}
.pc.overdue{border-left:3.5px solid var(--red)}
.pc.excluded{opacity:.55;border-left:3.5px solid var(--red);background:var(--ink8)}
.pc-top{display:flex;align-items:flex-start;gap:11px}
.pc-av{width:44px;height:44px;border-radius:var(--r8);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}
.pc-body{flex:1;min-width:0}
.pc-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}
.pc-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:3px}
.pc-addr{font-size:11px;color:var(--ink4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-ctrl{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
.pc-foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid var(--ink6);align-items:center}
/* Actions rapides terrain — très grosses cibles tactiles */
.qa-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;padding:10px 0 0}
.qa{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 14px;border-radius:var(--r8);font-size:13px;font-weight:700;cursor:pointer;border:none;transition:all .13s;user-select:none;min-height:44px}
.qa:active{transform:scale(.96)}
.qa svg{width:15px;height:15px;flex-shrink:0}
.qa-call{background:#deeeff;color:#1050b4;flex:1}
.qa-mail{background:var(--amber-bg);color:var(--amber);flex:1}
.qa-visit{background:var(--green-bg);color:var(--green);flex:1}
.qa-relay{background:var(--purple-bg);color:var(--purple);flex:1}
.qa-note{background:var(--ink6);color:var(--ink3)}
.ctag{display:inline-flex;align-items:center;gap:3px;padding:5px 10px;border-radius:7px;font-size:11px;background:var(--ink7);color:var(--ink2);border:1px solid var(--ink6);transition:background .12s}
.ctag a{color:inherit;text-decoration:none;font-weight:600}
.ctag svg{width:11px;height:11px;stroke:currentColor;fill:none;flex-shrink:0}
.rtag{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:7px;font-size:11px;font-weight:700}
.rtag.ok{background:var(--green-bg);color:var(--green)}
.rtag.soon{background:var(--amber-bg);color:var(--amber)}
.rtag.late{background:var(--red-bg);color:var(--red)}
.star-btn{background:none;border:none;cursor:pointer;font-size:22px;line-height:1;padding:2px;color:var(--ink5);transition:transform .1s}
.star-btn:active{transform:scale(1.35)}
.star-btn.on{color:var(--gold)}

/* ═══════════════════════════════════════════
   CLIENT EXISTANT
═══════════════════════════════════════════ */
.client-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--white);border-radius:var(--r8);border:1px solid var(--ink6);margin-bottom:7px}
.client-item-info{flex:1}
.client-item-name{font-size:13px;font-weight:700}
.client-item-addr{font-size:11px;color:var(--ink4);margin-top:1px}

/* ═══════════════════════════════════════════
   PIPELINE KANBAN
═══════════════════════════════════════════ */
.pipe-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}
.pipe{display:flex;gap:10px;min-width:max-content;padding:4px 0 6px}
.pipe-col{width:210px;flex-shrink:0}
.pipe-col-hdr{padding:9px 11px 7px;background:var(--white);border-radius:var(--r8) var(--r8) 0 0;border:1px solid var(--ink6);border-bottom:none;display:flex;align-items:center;justify-content:space-between}
.pipe-col-title{font-size:11px;font-weight:700;display:flex;align-items:center;gap:6px}
.pipe-col-dot{width:7px;height:7px;border-radius:50%}
.pipe-col-cnt{font-size:9px;background:var(--ink6);color:var(--ink3);padding:2px 6px;border-radius:8px;font-weight:700}
.pipe-col-body{background:var(--ink7);border:1px solid var(--ink6);border-radius:0 0 var(--r8) var(--r8);padding:7px;min-height:100px}
.pipe-card{background:var(--white);border-radius:var(--r8);border:1px solid var(--ink6);padding:9px 10px;margin-bottom:6px;cursor:pointer;transition:box-shadow .14s}
.pipe-card:hover{box-shadow:var(--sh2)}
.pipe-card.dragging{opacity:.45;transform:rotate(1deg)}
.pipe-card-name{font-size:12px;font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipe-card-sub{font-size:10px;color:var(--ink4)}
.pipe-col-body.drag-over{background:#eef5ff;border-color:#9bbcf2}
.pipe-empty{font-size:11px;color:var(--ink4);text-align:center;padding:18px 8px;border:1px dashed var(--ink5);border-radius:var(--r8);background:rgba(255,255,255,.55)}
.score-explain{font-size:11px;color:var(--ink4);line-height:1.45}
.main-wide{max-width:none}
.pipeline-main{padding-left:22px;padding-right:22px}

/* ═══════════════════════════════════════════
   TOURNÉE & CARTE
═══════════════════════════════════════════ */
#mapEl,#territoryMapEl{height:440px;border-radius:var(--r12);overflow:hidden;border:1px solid var(--ink6)}
.subtle-card{background:linear-gradient(135deg,#f6f9fd,#edf4fb);border:1px solid #d7e4f4}
.territory-summary{background:rgba(255,255,255,.82);border:1px dashed #c8d7ea;border-radius:var(--r8);padding:11px 12px;font-size:12px;color:var(--ink2)}
.territory-summary strong{color:var(--navy)}
.map-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.map-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink3);background:rgba(255,255,255,.9);border:1px solid var(--ink6);border-radius:999px;padding:6px 10px}
.map-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}
.map-sector-marker{background:#0a7845;border-color:#c2f1d7}
.map-out-marker{background:#b82018;border-color:#ffd3d0}
.map-popup-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.map-popup-links a{font-size:11px;font-weight:700;color:var(--blue);text-decoration:none}
.map-popup-links a:hover{text-decoration:underline}
.tour-item{display:flex;align-items:center;gap:9px;padding:9px 10px;background:var(--white);border-radius:var(--r8);border:1px solid var(--ink6);margin-bottom:7px}
.tour-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}
.tour-body{flex:1;min-width:0}
.tour-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tour-sub{font-size:10px;color:var(--ink4)}
.tour-actions{display:flex;gap:5px;flex-shrink:0}

/* ═══════════════════════════════════════════
   MODAL
═══════════════════════════════════════════ */
.modal-bg{position:fixed;inset:0;background:rgba(10,20,40,.55);z-index:900;display:none;align-items:flex-end;justify-content:center}
@media(min-width:620px){.modal-bg{align-items:center;padding:20px}}
.modal-bg.on{display:flex}
.modal-box{background:var(--white);width:100%;max-width:660px;border-radius:var(--r20) var(--r20) 0 0;max-height:93vh;overflow-y:auto;animation:mup .2s ease}
@media(min-width:620px){.modal-box{border-radius:var(--r20)}}
@keyframes mup{from{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}
.m-hdr{padding:16px 18px 12px;border-bottom:1px solid var(--ink6);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--white);z-index:2}
.m-title{font-size:15px;font-weight:700}
.m-close{width:32px;height:32px;border-radius:50%;border:none;background:var(--ink6);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--ink3);flex-shrink:0}
.m-body{padding:18px}
.mf{margin-bottom:13px}
.field-help{font-size:11px;line-height:1.45;color:var(--ink4);margin-top:6px}
.field-help-strong{margin-bottom:10px;color:var(--blue);font-weight:600}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:500px){.frow{grid-template-columns:1fr}}
/* Timeline */
.tl-item{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid var(--ink7)}
.tl-icon{width:26px;height:26px;border-radius:var(--r8);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px}
.tl-body{flex:1}
.tl-text{font-size:12px;color:var(--ink)}
.tl-date{font-size:10px;color:var(--ink4);margin-top:1px;font-family:var(--mono)}
/* SIRENE box */
.sirene-box{background:var(--teal-bg);border:1px solid #8cccd4;border-radius:var(--r8);padding:11px 13px;margin-bottom:12px}
.sirene-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.sirene-row{display:flex;gap:8px;padding:3px 0;font-size:12px;border-bottom:1px solid rgba(0,0,0,.04)}
.sirene-k{color:var(--teal);font-weight:700;min-width:90px;font-size:11px}
.sirene-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sirene-link{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #b8d8de;color:var(--teal);text-decoration:none;font-size:11px;font-weight:700}
.sirene-link[type="button"],button.sirene-link{cursor:pointer}
.sirene-link:hover{background:#f4fdff}

/* ═══════════════════════════════════════════
   RAPPELS
═══════════════════════════════════════════ */
.recall-card{background:var(--white);border-radius:var(--r12);border:1.5px solid var(--red-border);padding:13px 14px;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.recall-card.soon{border-color:var(--amber-border)}
.recall-icon{width:38px;height:38px;border-radius:var(--r8);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.recall-icon.late{background:var(--red-bg);color:var(--red)}
.recall-icon.soon{background:var(--amber-bg);color:var(--amber)}
.recall-icon svg{width:17px;height:17px}

/* ═══════════════════════════════════════════
   DASHBOARD
═══════════════════════════════════════════ */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;margin-bottom:14px}
.kpi{background:var(--white);border-radius:var(--r12);padding:13px 14px;border:1px solid var(--ink6);box-shadow:var(--sh1)}
.kpi-v{font-size:28px;font-weight:700;line-height:1}
.kpi-l{font-size:10px;color:var(--ink4);margin-top:3px;text-transform:uppercase;letter-spacing:.5px}
.kpi-s{font-size:11px;font-weight:700;margin-top:3px}
.kpi-s.up{color:var(--green)}.kpi-s.dn{color:var(--red)}.kpi-s.neu{color:var(--ink4)}
.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.bar-lbl{min-width:100px;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink2)}
.bar-track{flex:1;height:7px;background:var(--ink6);border-radius:4px;overflow:hidden}
.bar-fill{height:100%;border-radius:4px;transition:width .5s ease}
.bar-val{min-width:24px;text-align:right;font-size:11px;font-weight:700;color:var(--ink2)}
.funnel-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.funnel-lbl{min-width:100px;font-size:12px;font-weight:600;color:var(--ink2)}
.funnel-bar{height:28px;border-radius:var(--r4);display:flex;align-items:center;padding-left:9px;font-size:11px;font-weight:700;color:var(--white);min-width:30px;transition:width .5s}
.funnel-pct{margin-left:7px;font-size:10px;color:var(--ink4)}

/* ═══════════════════════════════════════════
   DOUBLONS
═══════════════════════════════════════════ */
.dup-box{background:var(--red-bg);border:1.5px solid var(--red-border);border-radius:var(--r8);padding:12px 14px;margin-bottom:10px}
.dup-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(184,32,24,.1);font-size:12px;flex-wrap:wrap;gap:5px}
.dup-tag{font-size:9px;font-weight:800;background:rgba(184,32,24,.12);color:var(--red);padding:1px 5px;border-radius:5px}

/* ═══════════════════════════════════════════
   HISTOIRE & NOTIFS
═══════════════════════════════════════════ */
.hist-item{background:var(--white);border-radius:var(--r8);border:1px solid var(--ink6);padding:11px 14px;margin-bottom:7px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:var(--sh1)}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--navy);color:var(--white);padding:10px 20px;border-radius:var(--r12);font-size:13px;font-weight:600;z-index:9999;opacity:0;transition:opacity .18s;pointer-events:none;white-space:nowrap;box-shadow:var(--sh4)}
.toast.on{opacity:1}
/* V6: plus de bandeau rouge intrusif — indicateur dans le header uniquement */
.notif-bar{display:none!important}
.loading-box{background:var(--white);border-radius:var(--r12);border:1px solid var(--ink6);padding:28px;text-align:center;display:none;box-shadow:var(--sh1)}
.loading-box.on{display:block}
.spinner{width:30px;height:30px;border:2.5px solid var(--ink6);border-top-color:var(--navy);border-radius:50%;animation:spin .6s linear infinite;margin:0 auto 12px}
@keyframes spin{to{transform:rotate(360deg)}}
.load-step{font-size:12px;color:var(--ink3)}
.empty{text-align:center;padding:48px 20px;color:var(--ink3)}
.empty-icon{font-size:42px;margin-bottom:10px}
.empty-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:5px}
.empty-sub{font-size:12px}
.empty-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.empty-note{font-size:11px;color:var(--ink4);margin-top:10px}
.api-bar{background:linear-gradient(135deg,#fffbf0,#fff5d8);border:1.5px solid var(--amber-border);border-radius:var(--r12);padding:11px 14px;display:flex;align-items:center;gap:9px;margin-bottom:12px;flex-wrap:wrap}
.api-bar label{font-size:11px;font-weight:700;color:var(--amber);white-space:nowrap}
.api-bar input{flex:1;min-width:200px;height:38px;background:rgba(255,255,255,.75);border-color:var(--amber-border)}
.section-sep{height:1px;background:var(--ink6);margin:14px 0}

/* ═══════════════════════════════════════════
   V5: ACCORDÉONS FICHE PROSPECT
═══════════════════════════════════════════ */
.accordion{border:1px solid var(--ink6);border-radius:var(--r8);margin-bottom:10px;overflow:hidden}
.accordion-hdr{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;cursor:pointer;user-select:none;background:var(--ink8);font-size:12px;font-weight:700;color:var(--ink2);transition:background .12s}
.accordion-hdr:hover{background:var(--ink7)}
.accordion-hdr svg{width:14px;height:14px;stroke:var(--ink4);fill:none;transition:transform .2s;flex-shrink:0}
.accordion.open .accordion-hdr svg{transform:rotate(180deg)}
.accordion-body{display:none;padding:12px 14px;border-top:1px solid var(--ink6)}
.accordion.open .accordion-body{display:block}

/* ═══════════════════════════════════════════
   V5: BLOC "À FAIRE ENSUITE"
═══════════════════════════════════════════ */
.next-action-box{background:linear-gradient(135deg,#e4eef9,#edf4fc);border:1.5px solid var(--blue-border);border-radius:var(--r12);padding:14px 16px;margin-bottom:14px}
.next-action-title{font-size:11px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.next-action-box.is-disabled{opacity:.72}

/* ═══════════════════════════════════════════
   V5: BOUTONS HERO (APPELER / ITINÉRAIRE)
═══════════════════════════════════════════ */
.hero-actions{display:flex;gap:10px;margin-bottom:16px}
.hero-btn{flex:1;min-width:0;height:68px;border-radius:var(--r16);border:none;font-size:18px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .14s;user-select:none;letter-spacing:.2px}
.hero-btn:active{transform:scale(.97)}
.hero-btn svg{width:26px;height:26px;flex-shrink:0}
.hero-btn-call{background:var(--green);color:var(--white)}
.hero-btn-call:hover{background:#098640}
.hero-btn-route{background:var(--blue);color:var(--white)}
.hero-btn-route:hover{background:#0d44a0}
.hero-link-row{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 16px}
.hero-link-chip{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border-radius:999px;border:1px solid var(--ink6);background:var(--white);color:var(--ink2);text-decoration:none;font-size:12px;font-weight:700}
.hero-link-chip:hover{border-color:var(--blue-border);color:var(--blue);box-shadow:var(--sh1)}
.hero-link-chip svg{width:16px;height:16px;flex-shrink:0}
.hero-link-google{background:#f7fbff}
.hero-link-company{background:#f6fcf8}

/* ═══════════════════════════════════════════
   V6: INDICATEUR CONNEXION
═══════════════════════════════════════════ */
.conn-pill{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:9px;font-weight:700;letter-spacing:.4px;cursor:pointer;user-select:none;transition:all .2s}
.conn-pill.online{background:rgba(10,120,69,.15);color:var(--green)}
.conn-pill.offline{background:rgba(184,32,24,.15);color:var(--red);animation:pulseRed 1.5s ease infinite}
.conn-pill .conn-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.conn-pill.online .conn-dot{background:var(--green)}
.conn-pill.offline .conn-dot{background:var(--red)}
@keyframes pulseRed{0%,100%{opacity:1}50%{opacity:.5}}
/* Bouton sync après reconnexion */
.sync-banner{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);padding:10px 20px;border-radius:var(--r12);font-size:13px;font-weight:700;z-index:800;display:none;align-items:center;gap:8px;box-shadow:var(--sh4);cursor:pointer;white-space:nowrap;animation:mup .25s ease}
.sync-banner.on{display:flex}
.sync-banner:active{transform:translateX(-50%) scale(.97)}

/* ═══════════════════════════════════════════
   V6: DRAWER FILTRES (volet latéral)
═══════════════════════════════════════════ */
.drawer-overlay{position:fixed;inset:0;background:rgba(10,20,40,.45);z-index:700;display:none;opacity:0;transition:opacity .2s}
.drawer-overlay.on{display:block;opacity:1}
.drawer{position:fixed;top:0;right:-100%;width:min(380px,88vw);height:100%;background:var(--white);z-index:710;overflow-y:auto;transition:right .25s ease;box-shadow:-4px 0 24px rgba(0,0,0,.15);padding:0}
.drawer.on{right:0}
.drawer-hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--ink6);position:sticky;top:0;background:var(--white);z-index:2}
.drawer-hdr-title{font-size:16px;font-weight:800;color:var(--navy)}
.drawer-body{padding:16px 18px 100px}
.drawer-section{margin-bottom:18px}
.drawer-section-title{font-size:10px;font-weight:700;color:var(--ink4);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px}

/* V6: bouton filtre flottant sur tab prospects */
.filter-fab{display:flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:168px;height:56px;border-radius:var(--r12);background:var(--navy);color:var(--white);border:none;font-size:15px;font-weight:700;cursor:pointer;margin-bottom:14px;transition:all .14s;letter-spacing:.2px}
.filter-fab:active{transform:scale(.97)}
.filter-fab svg{width:20px;height:20px}

/* ═══════════════════════════════════════════
   V6: ESPACEMENT TACTILE 12px min
═══════════════════════════════════════════ */
.qa-row{gap:10px}
.qa{padding:12px 16px;min-height:48px}
.pc{padding:16px;margin-bottom:12px}
.pc-foot{gap:8px;margin-top:12px;padding-top:10px}
.recall-card{padding:14px 16px;margin-bottom:10px;gap:12px}
.tour-item{gap:12px;padding:12px 14px;margin-bottom:10px}
.tour-actions{gap:8px}
.pipe-card{padding:10px 12px;margin-bottom:8px}
.bsm{height:38px;padding:0 14px;font-size:13px}
.chip{padding:10px 16px;font-size:13px}
.fpill{padding:9px 15px;font-size:13px}

/* ═══════════════════════════════════════════
   V7: CLASSES UTILITAIRES (remplacement inline)
═══════════════════════════════════════════ */
.d-none{display:none}
.d-flex{display:flex}.d-flex-wrap{display:flex;flex-wrap:wrap}
.flex-1{flex:1;min-width:0}.flex-shrink-0{flex-shrink:0}
.flex-col{flex-direction:column}.flex-end{justify-content:flex-end}
.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-4{gap:4px}.gap-5{gap:5px}.gap-6{gap:6px}.gap-7{gap:7px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}
.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}
.mb-6{margin-bottom:6px}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-14{margin-top:14px}
.p-0{padding:0}.pt-3{padding-top:3px}
.w-full{width:100%}
.text-xs{font-size:10px}.text-s{font-size:11px}.text-sm{font-size:12px}.text-md{font-size:13px}.text-base{font-size:14px}.text-lg{font-size:15px}.text-xl{font-size:16px}
.font-bold{font-weight:700}.font-xbold{font-weight:800}
.color-ink3{color:var(--ink3)}.color-ink4{color:var(--ink4)}.color-ink{color:var(--ink)}
.color-green{color:var(--green)}.color-red{color:var(--red)}.color-amber{color:var(--amber)}.color-blue{color:var(--blue)}.color-navy{color:var(--navy)}.color-teal{color:var(--teal)}.color-purple{color:var(--purple)}.color-gold{color:var(--gold)}
.color-rdv{color:#8fd4b5}.color-gold3{color:var(--gold3)}
.lh-17{line-height:1.7}
.spacer-12{height:12px}
.required{color:var(--gold)}
/* Inputs V7 */
.input-search-lg{height:48px;font-size:15px}
.select-drawer{height:48px;font-size:15px}
.input-client-search{height:34px;font-size:12px;width:200px}
.select-pipe{height:36px;font-size:12px;min-width:130px}
.cursor-p{cursor:pointer}
.icon-sm{width:12px;height:12px}
.modal-sm{max-width:480px}
.onboarding-box{max-width:760px}
.onboarding-hero{margin-bottom:18px}
.onboarding-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--teal);margin-bottom:6px}
.onboarding-title{font-size:28px;font-weight:700;line-height:1.18;letter-spacing:-.8px;color:var(--ink);margin-bottom:10px}
.onboarding-copy{font-size:14px;line-height:1.6;color:var(--ink4)}
.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.onboarding-step{padding:14px 16px;border-radius:var(--r12);border:1px solid var(--ink6);background:linear-gradient(180deg,var(--white),var(--ink8));display:flex;flex-direction:column;gap:7px}
.onboarding-step strong{font-size:14px;color:var(--ink)}
.onboarding-step span{font-size:12px;line-height:1.5;color:var(--ink4)}
.onboarding-actions{justify-content:space-between}
.input-file{height:auto;padding:8px}
.sync-banner-icon{width:18px;height:18px}
.dialog-box{max-width:520px}
.dialog-message{font-size:14px;color:var(--ink2);line-height:1.6;margin-bottom:14px;white-space:pre-wrap}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}
/* Boutons V7 taille compacte */
.btn-compact{height:38px;padding:0 13px;font-size:13px}
.btn-tour-action{height:50px;font-size:13px}
.btn-tour-call{height:50px;font-size:13px;text-decoration:none}
/* Cards spéciales */
.card-clients{background:linear-gradient(135deg,#e4f5ec,#f0faf5);border-color:var(--green-border)}
.card-mb{margin-bottom:12px}
/* API help box */
.api-help{background:var(--blue-bg);border:1px solid var(--blue-border);border-radius:var(--r8);padding:12px 14px;font-size:12px;color:var(--ink2);margin-bottom:12px;line-height:1.7}
/* Filter count badge */
.filter-badge{background:var(--gold);color:var(--navy);padding:1px 7px;border-radius:10px;font-size:11px;display:none}
/* Client count */
.client-count-val{font-weight:700;color:var(--ink)}
/* Pipeline title */
.pipe-title{font-size:13px;font-weight:700}
/* No data messages */
.no-data{font-size:12px;color:var(--ink4);padding:8px 0}
.no-data-green{font-size:13px;color:var(--green);padding:8px 0;font-weight:600}
.dup-ok{background:var(--green-bg);border-radius:var(--r8);padding:9px 13px;font-size:12px;color:var(--green);margin-bottom:8px;font-weight:700}
/* Recall card body */
.recall-body{flex:1;min-width:0}
.recall-name{font-weight:700;font-size:13px}
.recall-sub{font-size:11px;color:var(--ink3)}
.recall-phone{font-size:12px;color:var(--blue);font-weight:700}
.recall-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0}
/* Next action item */
.next-act-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--ink7)}
.next-act-badge{background:var(--navy);color:white;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:700;white-space:nowrap}
.next-act-body{flex:1;min-width:0}
.next-act-name{font-size:12px;font-weight:700}
.next-act-date{font-size:10px;color:var(--ink4)}
/* History item */
.hist-body{flex:1;min-width:0}
.hist-title{font-size:13px;font-weight:700}
.hist-sub{font-size:11px;color:var(--ink4);margin-top:1px}
.hist-right{display:flex;align-items:center;gap:7px;flex-shrink:0}
.hist-count{font-size:11px;font-weight:700;color:var(--navy);background:var(--blue-bg);padding:2px 8px;border-radius:10px}
/* Activity feed */
.act-item{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--ink7);font-size:12px}
.act-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0}
.act-date{min-width:80px;color:var(--ink4);font-size:10px;font-family:var(--mono)}
.act-body{flex:1}
.act-pn{font-size:10px;color:var(--ink4)}
/* Top prospects */
.top-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--ink7);cursor:pointer}
.top-av{width:30px;height:30px;border-radius:var(--r4);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.top-info{flex:1;min-width:0}
.top-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-meta{font-size:10px;color:var(--ink4)}
.top-score{font-size:14px;font-weight:700;color:var(--navy)}
/* Map marker */
.map-marker{width:30px;height:30px;border-radius:50%;background:var(--navy);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:white;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.map-popup-sub{font-size:11px;color:#666}
.map-popup-phone{color:#1050b4}
/* Dup row actions */
.dup-actions{display:flex;gap:4px;flex-shrink:0}

/* ═══════════════════════════════════════════
   V7: MODE LECTURE SEULE (rendez-vous)
═══════════════════════════════════════════ */
.ro-toggle{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;cursor:pointer;user-select:none;font-size:9px;font-weight:700;letter-spacing:.4px;transition:all .2s}
.ro-toggle .ro-switch{width:32px;height:18px;border-radius:9px;background:var(--ink5);position:relative;transition:background .2s;flex-shrink:0}
.ro-toggle .ro-switch::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:white;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.ro-toggle.active .ro-switch{background:var(--red)}
.ro-toggle.active .ro-switch::after{transform:translateX(14px)}
.ro-toggle .ro-label{color:rgba(255,255,255,.5)}
.ro-toggle.active .ro-label{color:var(--red-border)}
/* Quand le mode lecture seule est actif */
body.readonly-mode input:not([type=search]),
body.readonly-mode select,
body.readonly-mode textarea{pointer-events:none;opacity:.6;background:var(--ink7)}
body.readonly-mode .btn-red,
body.readonly-mode .btn-delete-wrap,
body.readonly-mode .m-btn-delete,
body.readonly-mode [data-ro-hide]{display:none!important}
body.readonly-mode .hero-btn-call{pointer-events:auto;opacity:1}
body.readonly-mode .hero-btn-route{pointer-events:auto;opacity:1}
body.readonly-mode a[href^="tel:"]{pointer-events:auto}
.ro-banner{background:var(--red-bg);border:1.5px solid var(--red-border);border-radius:var(--r8);padding:10px 14px;margin-bottom:12px;font-size:12px;color:var(--red);font-weight:700;text-align:center;display:none}
body.readonly-mode .ro-banner{display:block}

/* ═══════════════════════════════════════════
   V7: MODALES — gros bouton fermer
═══════════════════════════════════════════ */
.m-close{width:44px;height:44px;border-radius:50%;border:none;background:var(--ink6);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:22px;font-weight:800;color:var(--ink3);flex-shrink:0}
.m-close:active{background:var(--ink5);transform:scale(.95)}

/* ═══════════════════════════════════════════
   V8: MODE RDV — header grisé
═══════════════════════════════════════════ */
body.readonly-mode .header{background:#2c2c2c;border-bottom-color:#888}
body.readonly-mode .logo-sub{color:#aaa}
body.readonly-mode .hst-v{color:#aaa!important}

/* ═══════════════════════════════════════════
   V8: BOTTOM NAV MOBILE
═══════════════════════════════════════════ */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--white);border-top:1px solid var(--ink6);z-index:500;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav-inner{display:flex;height:56px}
.bnav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;cursor:pointer;color:var(--ink4);font-size:9px;font-weight:600;letter-spacing:.3px;transition:color .15s;padding:0;user-select:none}
.bnav-btn.on{color:var(--navy)}
.bnav-btn svg{width:22px;height:22px;stroke-width:2}
.bnav-btn:active{background:var(--ink7)}

/* ═══════════════════════════════════════════
   V8: SPLIT-VIEW DESKTOP
═══════════════════════════════════════════ */
.split-wrap{display:none}
.split-left{overflow-y:auto}
.split-right{overflow-y:auto;border-left:1px solid var(--ink6);background:var(--ink7)}
.split-right-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--ink4);font-size:14px;text-align:center;padding:40px}

/* ═══════════════════════════════════════════
   V8: STORAGE WARNING
═══════════════════════════════════════════ */
.storage-warn{background:var(--amber-bg);border:1.5px solid var(--amber-border);border-radius:var(--r8);padding:10px 14px;font-size:12px;color:var(--amber);font-weight:600;margin-bottom:12px;display:none}
.storage-warn.on{display:block}

/* ═══════════════════════════════════════════
   V8: RESPONSIVE — MOBILE (< 600px)
═══════════════════════════════════════════ */
@media(max-width:600px){
  :root{--header-h:50px;--tab-h:40px}
  .bottom-nav{display:block}
  body{padding-bottom:56px}
  #authScreen{padding:14px}
  .auth-shell{grid-template-columns:1fr;gap:18px}
  .auth-wrap{width:100%;max-width:100%}
  .auth-marketing{padding:0}
  .auth-proof-grid,.auth-plan-grid{grid-template-columns:1fr}
  .auth-logo{margin-bottom:20px}
  .auth-logo-name{font-size:20px}
  .auth-logo-sub{font-size:10px;letter-spacing:1.1px}
  .auth-hero-title{font-size:28px}
  .auth-hero-copy{font-size:14px}
  .tabs{display:none}
  .hstats{display:none}
  .header{padding:0 10px}
  .logo-name{font-size:15px}
  .main{padding:10px}
  .section-title-lg{font-size:18px}
  .card{padding:12px 14px}
  .hero-actions{flex-direction:column;gap:8px}
  .hero-btn{height:58px;font-size:16px}
  .pc{padding:12px}
  .modal-box{border-radius:var(--r16) var(--r16) 0 0;max-height:96vh}
  .onboarding-grid{grid-template-columns:1fr}
  .m-body{padding:14px}
  .frow{grid-template-columns:1fr}
  .pipe-col{width:170px}
  .tour-item{flex-wrap:wrap}
  .tour-actions{width:100%;justify-content:stretch}
  .tour-actions .btn,.tour-actions .bsm{flex:1}
  .h-actions{gap:4px}
  .ro-toggle .ro-label{display:none}
  .conn-pill span{display:none}
  .sync-pill{padding:4px 6px}
  .sync-pill .sync-lbl{display:none}
  #mapEl,#territoryMapEl{height:300px}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .auth-card{padding:18px 14px;width:100%;border-radius:var(--r16)}
  .auth-tabs{gap:0}
  .auth-tab{font-size:10px;padding:8px 2px}
  .auth-field input{height:44px;padding:0 12px;font-size:14px}
  .auth-btn-main,.auth-google{height:44px;font-size:14px}
  .auth-install,.auth-local{font-size:11px;padding:8px 6px}
  .prospect-secondary-actions{display:grid;grid-template-columns:1fr 1fr}
  .prospect-secondary-actions .bsm{width:100%;justify-content:center}
  .prospects-toolbar{flex-direction:column;align-items:stretch}
  .prospects-toolbar .filter-fab{width:100%;min-width:0}
  .prospects-toolbar .input-search-lg{width:100%}
  .api-bar{padding:10px;gap:8px}
  .api-bar label{width:100%}
  .dialog-actions > .btn{width:100%}
}

@media(max-width:390px){
  #authScreen{padding:10px}
  .auth-card{padding:16px 12px}
  .auth-tab{font-size:9.5px}
  .auth-logo-mark{width:52px;height:52px}
}

/* ═══════════════════════════════════════════
   V8: RESPONSIVE — DESKTOP (> 1024px)
═══════════════════════════════════════════ */
@media(min-width:1025px){
  .main{max-width:1400px;padding:18px 24px}
  .card{padding:20px 24px}
  .pc{padding:18px 20px}
  .tabs .tab{padding:0 18px;font-size:13px}
  /* Split-view activé sur prospects */
  .split-wrap{display:grid;grid-template-columns:1fr 1fr;height:calc(100vh - var(--header-h) - var(--tab-h));position:relative}
  .split-wrap .main{max-width:none;overflow-y:auto;height:100%}
  /* Pipeline plus large */
  .pipe-col{width:240px}
  .modal-box{max-width:720px}
  .hero-btn{height:72px;font-size:20px}
  .kpi-grid{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:1280px){
  .pipeline-main .pipe-wrap{overflow-x:visible}
  .pipeline-main .pipe{
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    min-width:0;
    gap:14px;
    align-items:start;
  }
  .pipeline-main .pipe-col{width:auto;min-width:0}
  .pipeline-main .pipe-col-body{min-height:420px}
}

/* Dark mode polish */
body.dark-theme .header{
  background:linear-gradient(180deg,#0f1825,#111c2a);
  border-bottom-color:#d89a2b;
}
body.dark-theme .tabs{
  background:#172230;
  border-bottom-color:#223042;
}
body.dark-theme .tab{
  color:#93a3b9;
}
body.dark-theme .tab.on{
  color:#f4f7fb;
  border-bottom-color:#d89a2b;
}
body.dark-theme .tb{
  color:#101826;
}
body.dark-theme .hbtn,
body.dark-theme .sync-pill{
  background:rgba(255,255,255,.06);
}
body.dark-theme .hbtn:hover{
  background:rgba(255,255,255,.1);
}
body.dark-theme .card,
body.dark-theme .pc,
body.dark-theme .client-item,
body.dark-theme .tour-item,
body.dark-theme .pipe-card,
body.dark-theme .pipe-col-hdr,
body.dark-theme .modal-box,
body.dark-theme .loading-box{
  background:#1a2432;
  border-color:#2a384b;
}
body.dark-theme .pipe-col-body{
  background:#121b28;
  border-color:#2a384b;
}
body.dark-theme .pc:hover,
body.dark-theme .pipe-card:hover,
body.dark-theme .client-item:hover{
  border-color:#3a4e69;
}
body.dark-theme .pc.excluded{
  background:#141b25;
}
body.dark-theme .m-hdr{
  background:#1a2432;
  border-bottom-color:#2a384b;
}
body.dark-theme .m-close{
  background:#243246;
  color:#d2dbe7;
}
body.dark-theme .api-bar{
  background:linear-gradient(180deg,#20180d,#17120b);
  border-color:#7d5b22;
}
body.dark-theme .api-bar label{
  color:#f3c76f;
}
body.dark-theme .api-bar input{
  background:#241c12;
  border-color:#7d5b22;
  color:#f3f5f8;
}
body.dark-theme .api-help{
  background:#14253a;
  border-color:#2d537d;
  color:#dbe7f5;
}
body.dark-theme .gem-filters{
  background:linear-gradient(180deg,#20180d,#17120b);
  border-color:#7d5b22;
}
body.dark-theme .gem-title{
  color:#f3c76f;
}
body.dark-theme input[type=text],
body.dark-theme input[type=email],
body.dark-theme input[type=tel],
body.dark-theme input[type=password],
body.dark-theme input[type=date],
body.dark-theme input[type=search],
body.dark-theme input[type=url],
body.dark-theme select,
body.dark-theme textarea{
  background:#182230;
  border-color:#33465e;
  color:#edf2f7;
}
body.dark-theme input::placeholder,
body.dark-theme textarea::placeholder{
  color:#7f90a7;
}
body.dark-theme input:focus,
body.dark-theme select:focus,
body.dark-theme textarea:focus{
  border-color:#77b6ff;
  box-shadow:0 0 0 3px rgba(76,134,214,.18);
}
body.dark-theme .btn-ghost,
body.dark-theme .bsm,
body.dark-theme .chip,
body.dark-theme .fpill,
body.dark-theme .ctag,
body.dark-theme .search-zone-chip{
  background:#182230;
  border-color:#33465e;
  color:#dce5f1;
}
body.dark-theme .btn-ghost:hover,
body.dark-theme .bsm:hover,
body.dark-theme .chip:hover,
body.dark-theme .fpill:hover,
body.dark-theme .ctag:hover{
  background:#1d2a3b;
  border-color:#47617f;
}
body.dark-theme .chip.on{
  background:#223753;
  border-color:#4976b4;
  color:#f4f8fd;
}
body.dark-theme .fpill.on{
  background:#19314b;
  color:#8dc0ff;
  border-color:#3e6ea8;
}
body.dark-theme .fpill.on.gem{
  background:#3b2b0f;
  color:#ffd67a;
  border-color:#8b6a2d;
}
body.dark-theme .btn-gold{
  background:#d89a2b;
  color:#101826;
}
body.dark-theme .btn-gold:hover{
  background:#ebb142;
}
body.dark-theme .btn-navy{
  background:#28466d;
  color:#f3f7fb;
}
body.dark-theme .btn-navy:hover{
  background:#335983;
}
body.dark-theme .btn-teal{
  background:#2e6d77;
  color:#f1fbfd;
}
body.dark-theme .btn-green{
  background:#1f6b47;
}
body.dark-theme .btn-red{
  background:#8e3c3c;
}
body.dark-theme .qa-call{
  background:#213a56;
  color:#9fc7ff;
}
body.dark-theme .qa-mail{
  background:#403018;
  color:#ffd180;
}
body.dark-theme .qa-visit{
  background:#153727;
  color:#73e0a7;
}
body.dark-theme .qa-relay{
  background:#332047;
  color:#d0b2ff;
}
body.dark-theme .qa-note{
  background:#243246;
  color:#d0d9e5;
}
body.dark-theme .badge,
body.dark-theme .mbadge,
body.dark-theme .src-badge{
  box-shadow:none;
}
body.dark-theme .src-badge{
  background:#121b28;
  border-color:#33465e;
  color:#9db0c8;
}
body.dark-theme .b-new{background:#17375c;color:#90c2ff}
body.dark-theme .b-called{background:#412c11;color:#f5c66f}
body.dark-theme .b-rdv{background:#173928;color:#79e3ac}
body.dark-theme .b-devis{background:#302047;color:#cfaeff}
body.dark-theme .b-nego{background:#45281a;color:#ffb587}
body.dark-theme .b-client{background:#173928;color:#79e3ac;border-color:#2f7653}
body.dark-theme .b-lost{background:#2a3340;color:#9eacbd}
body.dark-theme .b-existing{background:#3a1f22;color:#ff9f98;border-color:#815359}
body.dark-theme .b-new-co{background:#11333b;color:#7fdbe6}
body.dark-theme .sc-hi{background:#173928;color:#79e3ac}
body.dark-theme .sc-md{background:#412c11;color:#f5c66f}
body.dark-theme .sc-lo{background:#2a3340;color:#9eacbd}
body.dark-theme .search-suggest{
  background:#202a38;
  border-color:#3a4d66;
}
body.dark-theme .search-suggest-item:hover,
body.dark-theme .search-suggest-item.on{
  background:#263446;
}
body.dark-theme .search-suggest-sub,
body.dark-theme .search-hint,
body.dark-theme .pc-addr,
body.dark-theme .pipe-card-sub,
body.dark-theme .tour-sub,
body.dark-theme .field-help,
body.dark-theme .tl-date{
  color:#91a0b4;
}
body.dark-theme .search-zone-chip button,
body.dark-theme .star-btn{
  color:#8ea1b8;
}
body.dark-theme .section-sep,
body.dark-theme .pc-foot,
body.dark-theme .tl-item{
  border-color:#29384b;
}
body.dark-theme .sync-banner{
  background:#d89a2b;
  color:#101826;
}
body.dark-theme .map-legend-item,
body.dark-theme .territory-summary,
body.dark-theme .subtle-card{
  background:#1a2432;
  border-color:#33465e;
  color:#dce5f1;
}
body.dark-theme .dialog-message,
body.dark-theme .m-title,
body.dark-theme .pc-name,
body.dark-theme .client-item-name,
body.dark-theme .tour-name,
body.dark-theme .pipe-card-name{
  color:#f1f5fa;
}

/* Dark mode premium pass */
body.dark-theme{
  background:
    radial-gradient(circle at top, rgba(64,93,138,.18), transparent 28%),
    linear-gradient(180deg,#0f1722 0%, #121b28 100%);
}
body.dark-theme .main{
  position:relative;
}
body.dark-theme .card,
body.dark-theme .pc,
body.dark-theme .client-item,
body.dark-theme .tour-item,
body.dark-theme .pipe-card,
body.dark-theme .kpi,
body.dark-theme .hist-item,
body.dark-theme .loading-box,
body.dark-theme .modal-box,
body.dark-theme .drawer{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    #182230;
  box-shadow:
    0 10px 30px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.03);
}
body.dark-theme .card{
  border-color:#29384d;
}
body.dark-theme .pc,
body.dark-theme .client-item,
body.dark-theme .tour-item,
body.dark-theme .hist-item{
  border-color:#2a3b50;
}
body.dark-theme .pc:hover,
body.dark-theme .pipe-card:hover,
body.dark-theme .tour-item:hover,
body.dark-theme .client-item:hover{
  transform:translateY(-1px);
  box-shadow:
    0 16px 36px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.035);
}
body.dark-theme .tabs{
  background:rgba(23,34,48,.92);
  backdrop-filter:blur(10px);
}
body.dark-theme .header{
  backdrop-filter:blur(12px);
  box-shadow:0 6px 20px rgba(0,0,0,.22);
}
body.dark-theme .tab{
  position:relative;
}
body.dark-theme .tab.on{
  color:#f8fafc;
}
body.dark-theme .tab.on::after{
  content:'';
  position:absolute;
  left:10px;
  right:10px;
  bottom:-2px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#d89a2b,#f4c96b);
}
body.dark-theme .api-bar,
body.dark-theme .gem-filters,
body.dark-theme .next-action-box,
body.dark-theme .sirene-box,
body.dark-theme .ro-banner,
body.dark-theme .dup-box,
body.dark-theme .api-help{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 8px 24px rgba(0,0,0,.16);
}
body.dark-theme .api-bar{
  background:
    linear-gradient(180deg, rgba(255,212,119,.09), rgba(255,212,119,.03)),
    #1d1a14;
}
body.dark-theme .gem-filters{
  background:
    linear-gradient(180deg, rgba(255,212,119,.08), rgba(255,212,119,.02)),
    #1d1a14;
}
body.dark-theme .next-action-box{
  background:
    linear-gradient(180deg, rgba(127,179,255,.08), rgba(127,179,255,.03)),
    #162130;
  border-color:#35567d;
}
body.dark-theme .sirene-box{
  background:
    linear-gradient(180deg, rgba(127,219,230,.08), rgba(127,219,230,.03)),
    #13242b;
  border-color:#2d5962;
}
body.dark-theme .dup-box{
  background:
    linear-gradient(180deg, rgba(255,129,117,.08), rgba(255,129,117,.02)),
    #241618;
}
body.dark-theme .ro-banner{
  background:
    linear-gradient(180deg, rgba(255,129,117,.08), rgba(255,129,117,.03)),
    #241618;
}
body.dark-theme .btn-gold{
  background:linear-gradient(180deg,#ecb449,#d69622);
  box-shadow:0 10px 22px rgba(216,154,43,.22);
}
body.dark-theme .btn-gold:hover{
  background:linear-gradient(180deg,#f2bf57,#de9f2d);
}
body.dark-theme .btn-navy{
  background:linear-gradient(180deg,#355983,#28476e);
  box-shadow:0 10px 22px rgba(70,110,168,.16);
}
body.dark-theme .btn-teal{
  background:linear-gradient(180deg,#3b838f,#2b6b74);
  box-shadow:0 10px 22px rgba(70,151,168,.12);
}
body.dark-theme .btn-green{
  background:linear-gradient(180deg,#2d7b55,#1f6646);
}
body.dark-theme .btn-red{
  background:linear-gradient(180deg,#a34a4a,#873838);
}
body.dark-theme .btn-ghost,
body.dark-theme .bsm,
body.dark-theme .chip,
body.dark-theme .fpill,
body.dark-theme .ctag,
body.dark-theme .search-zone-chip,
body.dark-theme .hero-link-chip,
body.dark-theme .sirene-link{
  background:linear-gradient(180deg,#1d2a3a,#182230);
  border-color:#355067;
}
body.dark-theme .hero-link-google{
  background:linear-gradient(180deg,#1b2d44,#182230);
}
body.dark-theme .hero-link-company{
  background:linear-gradient(180deg,#162e29,#182230);
}
body.dark-theme .hero-link-chip:hover,
body.dark-theme .sirene-link:hover{
  border-color:#5b84b4;
  background:linear-gradient(180deg,#223246,#1b2635);
}
body.dark-theme .qa{
  border:1px solid rgba(255,255,255,.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
body.dark-theme .qa-call{
  background:linear-gradient(180deg,#24476b,#203b58);
}
body.dark-theme .qa-mail{
  background:linear-gradient(180deg,#4b3415,#3d2a12);
}
body.dark-theme .qa-visit{
  background:linear-gradient(180deg,#19452f,#143924);
}
body.dark-theme .qa-relay{
  background:linear-gradient(180deg,#3a2750,#301f43);
}
body.dark-theme .qa-note{
  background:linear-gradient(180deg,#2a394d,#243143);
}
body.dark-theme .badge,
body.dark-theme .mbadge,
body.dark-theme .src-badge,
body.dark-theme .ctag,
body.dark-theme .fpill,
body.dark-theme .chip{
  letter-spacing:.15px;
}
body.dark-theme .pc-meta{
  gap:6px;
}
body.dark-theme .pc-foot{
  margin-top:12px;
  padding-top:12px;
}
body.dark-theme .pc-av,
body.dark-theme .top-av{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
body.dark-theme .kpi{
  background:
    radial-gradient(circle at top right, rgba(216,154,43,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    #182230;
}
body.dark-theme .kpi-v{
  color:#f7fbff;
}
body.dark-theme .top-score{
  color:#f1c46a;
}
body.dark-theme .bar-track{
  background:#233243;
}
body.dark-theme .accordion{
  border-color:#2b3b50;
  background:#182230;
}
body.dark-theme .accordion-hdr{
  background:#1a2635;
}
body.dark-theme .accordion-hdr:hover{
  background:#1e2c3d;
}
body.dark-theme .accordion-body{
  background:#182230;
}
body.dark-theme .drawer{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    #16202d;
}
body.dark-theme .drawer-hdr{
  background:#16202d;
}
body.dark-theme .filter-fab{
  background:linear-gradient(180deg,#223246,#1c2b3c);
  border:1px solid #395068;
  color:#eef3f9;
}
body.dark-theme .toast{
  background:#233246;
  color:#f3f7fb;
  border:1px solid #3c546f;
}
body.dark-theme #tab-search .card,
body.dark-theme #tab-tour .card,
body.dark-theme #tab-clients .card{
  border-radius:18px;
}
body.dark-theme #tab-search .card::before,
body.dark-theme #tab-tour .card::before,
body.dark-theme #tab-clients .card::before{
  content:'';
  display:block;
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 24%);
}
body.dark-theme #tab-search .card,
body.dark-theme #tab-tour .card,
body.dark-theme #tab-clients .card,
body.dark-theme .pc,
body.dark-theme .kpi,
body.dark-theme .recall-card,
body.dark-theme .hist-item{
  position:relative;
  overflow:hidden;
}
body.dark-theme .prospects-toolbar .input-search-lg{
  height:52px;
  border-radius:16px;
  background:linear-gradient(180deg,#1b2636,#182230);
  border-color:#334b67;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
body.dark-theme .filter-fab{
  min-width:180px;
  border-radius:16px;
  box-shadow:0 12px 24px rgba(0,0,0,.22);
}
body.dark-theme #activeFiltersBar .fpill{
  background:linear-gradient(180deg,#203042,#1b2635);
}
body.dark-theme .pc{
  border-radius:18px;
  padding:18px 18px 16px;
}
body.dark-theme .pc::after{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.18),rgba(255,255,255,0));
  opacity:.18;
}
body.dark-theme .pc.starred::after{
  width:4px;
  opacity:1;
  background:linear-gradient(180deg,#f0bc52,#d89a2b,#8d6420);
}
body.dark-theme .pc.overdue{
  box-shadow:
    0 14px 34px rgba(0,0,0,.24),
    inset 0 0 0 1px rgba(255,129,117,.06);
}
body.dark-theme .pc-top{
  gap:14px;
}
body.dark-theme .pc-av{
  width:48px;
  height:48px;
  border-radius:14px;
}
body.dark-theme .pc-name{
  font-size:15px;
  letter-spacing:-.15px;
}
body.dark-theme .pc-ctrl .bsm{
  border-radius:12px;
}
body.dark-theme .star-btn{
  font-size:20px;
}
body.dark-theme .ctag{
  border-radius:999px;
  padding:6px 11px;
}
body.dark-theme .qa-row{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #263648;
}
body.dark-theme .qa{
  min-height:50px;
  border-radius:14px;
  font-size:13px;
}
body.dark-theme .drawer-overlay{
  background:rgba(7,11,17,.62);
  backdrop-filter:blur(8px);
}
body.dark-theme .drawer{
  border-left:1px solid #2b3f56;
  box-shadow:-16px 0 40px rgba(0,0,0,.35);
}
body.dark-theme .drawer-hdr-title{
  color:#f4f8fd;
  letter-spacing:-.2px;
}
body.dark-theme .drawer-section-title{
  color:#8ea0b8;
}
body.dark-theme .pipe-title{
  font-size:15px;
  color:#f3f7fb;
  letter-spacing:-.2px;
}
body.dark-theme .pipe{
  gap:12px;
}
body.dark-theme .pipe-col{
  border-radius:18px;
}
body.dark-theme .pipe-col-hdr{
  background:linear-gradient(180deg,#202d3d,#1b2635);
  border-radius:16px 16px 0 0;
  border-color:#31465d;
}
body.dark-theme .pipe-col-cnt{
  background:#27394d;
  color:#d8e3ef;
}
body.dark-theme .pipe-col-body{
  border-radius:0 0 16px 16px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),
    #121b28;
}
body.dark-theme .pipe-card{
  border-radius:14px;
  padding:12px 12px 11px;
}
body.dark-theme .pipe-card-score{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:10px;
}
body.dark-theme .pipe-empty{
  background:rgba(255,255,255,.025);
  border-style:solid;
  border-color:#30445a;
}
body.dark-theme .modal-bg{
  background:rgba(6,10,16,.72);
  backdrop-filter:blur(10px);
}
body.dark-theme .modal-box{
  max-width:720px;
  border:1px solid #29384d;
}
body.dark-theme .m-hdr{
  padding:18px 20px 14px;
}
body.dark-theme .m-body{
  padding:20px;
}
body.dark-theme .hero-actions{
  gap:12px;
}
body.dark-theme .hero-btn{
  border-radius:18px;
  box-shadow:0 14px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
body.dark-theme .hero-btn-call{
  background:linear-gradient(180deg,#2c8358,#206847);
}
body.dark-theme .hero-btn-route{
  background:linear-gradient(180deg,#416b9e,#315782);
}
body.dark-theme .hero-link-row{
  gap:10px;
}
body.dark-theme .hero-link-chip{
  border-radius:14px;
  padding:11px 13px;
}
body.dark-theme .next-action-box{
  border-radius:16px;
}
body.dark-theme .next-action-title{
  color:#9dcbff;
}
body.dark-theme .accordion{
  border-radius:14px;
}
body.dark-theme .accordion-hdr{
  padding:13px 15px;
  font-size:12px;
}
body.dark-theme .accordion-body{
  padding:14px 15px;
}
body.dark-theme .sirene-box{
  border-radius:14px;
}
body.dark-theme .sirene-row{
  padding:7px 0;
  border-bottom-color:rgba(255,255,255,.05);
}
body.dark-theme .sirene-link{
  border-radius:999px;
}
body.dark-theme .kpi-grid{
  gap:12px;
}
body.dark-theme .kpi{
  border-radius:18px;
  padding:16px 16px 15px;
}
body.dark-theme .kpi-l{
  color:#8fa0b6;
}
body.dark-theme .funnel-bar{
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
body.dark-theme .top-row{
  padding:10px 0;
  border-bottom-color:#263648;
}
body.dark-theme .top-name{
  color:#f1f5fa;
}
body.dark-theme .top-meta{
  color:#91a0b4;
}
body.dark-theme .bar-track{
  border:1px solid #2b3d52;
}
body.dark-theme .recall-card{
  border-radius:18px;
  padding:16px 16px;
}
body.dark-theme .recall-card.late{
  background:
    linear-gradient(180deg,rgba(255,129,117,.06),rgba(255,129,117,.02)),
    #1a2432;
}
body.dark-theme .recall-card.soon{
  background:
    linear-gradient(180deg,rgba(245,198,111,.06),rgba(245,198,111,.02)),
    #1a2432;
}
body.dark-theme .recall-icon{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.dark-theme .next-act-item{
  padding:10px 0;
  border-bottom-color:#263648;
}
body.dark-theme .next-act-badge{
  background:linear-gradient(180deg,#2d4057,#223246);
  color:#eff5fb;
}
body.dark-theme .hist-item{
  border-radius:16px;
}
body.dark-theme .empty{
  color:#a1afc1;
}
body.dark-theme .empty-title{
  color:#f3f7fb;
}

/* Dark mode ultra-premium refinements */
body.dark-theme{
  color-scheme:dark;
}
body.dark-theme .header{
  background:
    linear-gradient(180deg,rgba(12,18,28,.96),rgba(15,22,34,.92)),
    #101825;
  box-shadow:
    0 10px 30px rgba(0,0,0,.32),
    inset 0 -1px 0 rgba(255,190,71,.14);
}
body.dark-theme .brand-wordmark{
  filter:none;
}
body.dark-theme .brand-sub{
  color:#d4a447;
  opacity:.95;
}
body.dark-theme .tabs{
  background:rgba(18,27,40,.9);
  border-bottom-color:#233345;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.02);
}
body.dark-theme .tab{
  color:#9aaabd;
  transition:color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.dark-theme .tab:hover{
  color:#edf3fa;
  background:rgba(255,255,255,.025);
}
body.dark-theme .tab.active{
  color:#f6f9fd;
  background:linear-gradient(180deg,rgba(255,190,71,.12),rgba(255,190,71,.04));
  box-shadow:inset 0 -2px 0 #f0ae2c;
}
body.dark-theme .card,
body.dark-theme .pc,
body.dark-theme .client-card,
body.dark-theme .tour-item,
body.dark-theme .hist-item,
body.dark-theme .recall-card,
body.dark-theme .pipe-col,
body.dark-theme .modal-box,
body.dark-theme .drawer{
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),
    #172130;
}
body.dark-theme .card:hover,
body.dark-theme .pc:hover,
body.dark-theme .client-card:hover,
body.dark-theme .tour-item:hover{
  border-color:#31465f;
  box-shadow:
    0 18px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.03);
}
body.dark-theme .section-title,
body.dark-theme .card-title,
body.dark-theme .drawer-hdr-title,
body.dark-theme .m-name,
body.dark-theme .pc-name{
  color:#f5f8fc;
}
body.dark-theme .muted,
body.dark-theme .small,
body.dark-theme .help,
body.dark-theme .top-meta,
body.dark-theme .empty,
body.dark-theme .sec-hint{
  color:#93a3b7;
}
body.dark-theme .input,
body.dark-theme input,
body.dark-theme select,
body.dark-theme textarea{
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008)),
    #1a2534;
  color:#eef4fb;
  border-color:#33475d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
body.dark-theme .input::placeholder,
body.dark-theme input::placeholder,
body.dark-theme textarea::placeholder{
  color:#7f90a5;
}
body.dark-theme .input:focus,
body.dark-theme input:focus,
body.dark-theme select:focus,
body.dark-theme textarea:focus{
  border-color:#5f85b7;
  box-shadow:
    0 0 0 4px rgba(93,131,184,.16),
    inset 0 1px 0 rgba(255,255,255,.025);
}
body.dark-theme .api-bar{
  background:
    linear-gradient(135deg,rgba(255,190,71,.12),rgba(255,190,71,.05)),
    #1b2331;
  border-color:rgba(240,174,44,.38);
}
body.dark-theme .api-bar input{
  background:
    linear-gradient(180deg,rgba(255,248,232,.045),rgba(255,248,232,.02)),
    #1a2433;
}
body.dark-theme .gem-filters{
  background:
    linear-gradient(135deg,rgba(255,190,71,.13),rgba(255,190,71,.05)),
    #1a2433;
  border-color:rgba(240,174,44,.3);
}
body.dark-theme .next-action-box{
  background:
    linear-gradient(180deg,rgba(105,164,255,.10),rgba(105,164,255,.04)),
    #1a2534;
  border-color:rgba(105,164,255,.32);
}
body.dark-theme .sirene-box,
body.dark-theme .dup-box{
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),
    #182230;
}
body.dark-theme .chip,
body.dark-theme .fpill,
body.dark-theme .search-zone-chip,
body.dark-theme .bsm,
body.dark-theme .hero-link-chip,
body.dark-theme .sirene-link{
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012)),
    #1b2736;
  color:#e4edf7;
  border-color:#33485e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.dark-theme .chip:hover,
body.dark-theme .fpill:hover,
body.dark-theme .bsm:hover,
body.dark-theme .hero-link-chip:hover,
body.dark-theme .sirene-link:hover{
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)),
    #223145;
  border-color:#49627c;
  color:#f7fbff;
}
body.dark-theme .chip.on,
body.dark-theme .fpill.on{
  background:
    linear-gradient(180deg,#2b3d54,#223246);
  border-color:#5b7aa1;
  color:#f8fbff;
  box-shadow:
    0 10px 24px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.045);
}
body.dark-theme .btn-gold{
  background:linear-gradient(180deg,#f2b53a,#dc981b);
  color:#152131;
  box-shadow:0 16px 32px rgba(214,149,27,.22);
}
body.dark-theme .btn-gold:hover{
  background:linear-gradient(180deg,#f7be4a,#e09d20);
}
body.dark-theme .btn-teal{
  background:linear-gradient(180deg,#3f7f95,#2d6577);
  color:#eef9fd;
  box-shadow:0 16px 30px rgba(34,92,108,.24);
}
body.dark-theme .btn-navy{
  background:linear-gradient(180deg,#2b4261,#22354f);
  color:#edf4fd;
}
body.dark-theme .btn-green{
  background:linear-gradient(180deg,#2f8058,#246947);
}
body.dark-theme .btn-red{
  background:linear-gradient(180deg,#8a4749,#6f3438);
}
body.dark-theme .qa-call{
  background:linear-gradient(180deg,#d6e5f8,#bfd4ec);
  color:#214c89;
}
body.dark-theme .qa-mail{
  background:linear-gradient(180deg,#47341a,#3b2b16);
  color:#ffc85a;
}
body.dark-theme .qa-visit{
  background:linear-gradient(180deg,#183a28,#143222);
  color:#65d08f;
}
body.dark-theme .qa-relance{
  background:linear-gradient(180deg,#36214c,#2d1b42);
  color:#cb9dff;
}
body.dark-theme .qa-open{
  background:linear-gradient(180deg,#2e3a4d,#253244);
  color:#cfdae8;
}
body.dark-theme .pc-score{
  background:linear-gradient(180deg,rgba(240,174,44,.18),rgba(240,174,44,.08));
  color:#ffd486;
  border:1px solid rgba(240,174,44,.18);
}
body.dark-theme .badge,
body.dark-theme .ctag{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.dark-theme .badge-blue,
body.dark-theme .ctag.status-rdv{
  background:linear-gradient(180deg,#1e5a93,#184b7a);
}
body.dark-theme .badge-green,
body.dark-theme .ctag.status-client{
  background:linear-gradient(180deg,#1f7b56,#176447);
}
body.dark-theme .badge-gold{
  background:linear-gradient(180deg,#8a6220,#6f4f1c);
  color:#ffe2a7;
}
body.dark-theme .badge-red{
  background:linear-gradient(180deg,#7a3138,#632830);
}
body.dark-theme .pipe{
  gap:16px;
}
body.dark-theme .pipe-col{
  min-width:320px;
  box-shadow:
    0 18px 38px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.025);
}
body.dark-theme .pipe-col-hdr{
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015)),
    #202c3b;
}
body.dark-theme .pipe-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012)),
    #1a2432;
  border-color:#2e4054;
}
body.dark-theme .pipe-card:hover{
  border-color:#45607d;
}
body.dark-theme .pipe-empty{
  color:#8fa1b7;
}
body.dark-theme .kpi{
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),
    #182230;
}
body.dark-theme .hero-btn{
  letter-spacing:.1px;
}
body.dark-theme .hero-btn-call{
  background:linear-gradient(180deg,#2c7b56,#205d42);
}
body.dark-theme .hero-btn-route{
  background:linear-gradient(180deg,#3d648f,#2d5077);
}
body.dark-theme .modal-box{
  box-shadow:
    0 30px 80px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.03);
}
body.dark-theme .toast{
  background:
    linear-gradient(180deg,rgba(34,48,67,.96),rgba(23,33,47,.96));
  border:1px solid #34485f;
  color:#f2f7fc;
}

/* Dark mode neutral rebalance */
body.dark-theme{
  background:
    radial-gradient(circle at top, rgba(98,112,132,.10), transparent 30%),
    linear-gradient(180deg,#11161e 0%, #151b24 100%);
}
body.dark-theme .header{
  background:
    linear-gradient(180deg,rgba(14,19,27,.97),rgba(17,23,32,.94)),
    #131922;
  box-shadow:
    0 10px 28px rgba(0,0,0,.28),
    inset 0 -1px 0 rgba(214,162,70,.12);
}
body.dark-theme .tabs{
  background:rgba(21,28,38,.94);
  border-bottom-color:#252f3c;
}
body.dark-theme .tab{
  color:#96a3b2;
}
body.dark-theme .tab:hover{
  background:rgba(255,255,255,.02);
  color:#edf2f7;
}
body.dark-theme .tab.active{
  background:linear-gradient(180deg,rgba(214,162,70,.10),rgba(214,162,70,.03));
  box-shadow:inset 0 -2px 0 #d6a246;
}
body.dark-theme .card,
body.dark-theme .pc,
body.dark-theme .client-card,
body.dark-theme .tour-item,
body.dark-theme .hist-item,
body.dark-theme .recall-card,
body.dark-theme .pipe-col,
body.dark-theme .modal-box,
body.dark-theme .drawer,
body.dark-theme .kpi{
  background:
    linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008)),
    #1a212b;
  border-color:#2b3441;
}
body.dark-theme .card:hover,
body.dark-theme .pc:hover,
body.dark-theme .client-card:hover,
body.dark-theme .tour-item:hover,
body.dark-theme .pipe-card:hover{
  border-color:#394555;
}
body.dark-theme .api-bar,
body.dark-theme .gem-filters,
body.dark-theme .next-action-box,
body.dark-theme .sirene-box,
body.dark-theme .dup-box{
  background:
    linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008)),
    #1c232d;
}
body.dark-theme .api-bar{
  border-color:rgba(214,162,70,.24);
}
body.dark-theme .api-bar label,
body.dark-theme .gem-title{
  color:#d6a246;
}
body.dark-theme .gem-filters{
  border-color:rgba(214,162,70,.18);
}
body.dark-theme .next-action-box{
  border-color:rgba(106,136,170,.22);
}
body.dark-theme .input,
body.dark-theme input,
body.dark-theme select,
body.dark-theme textarea,
body.dark-theme .api-bar input{
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.007)),
    #1d2530;
  border-color:#364251;
  color:#eef3f8;
}
body.dark-theme .input:focus,
body.dark-theme input:focus,
body.dark-theme select:focus,
body.dark-theme textarea:focus{
  border-color:#607286;
  box-shadow:
    0 0 0 4px rgba(110,127,148,.15),
    inset 0 1px 0 rgba(255,255,255,.02);
}
body.dark-theme .chip,
body.dark-theme .fpill,
body.dark-theme .search-zone-chip,
body.dark-theme .bsm,
body.dark-theme .hero-link-chip,
body.dark-theme .sirene-link{
  background:
    linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008)),
    #202833;
  color:#e3eaf2;
  border-color:#3a4655;
}
body.dark-theme .chip:hover,
body.dark-theme .fpill:hover,
body.dark-theme .bsm:hover,
body.dark-theme .hero-link-chip:hover,
body.dark-theme .sirene-link:hover{
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012)),
    #252f3a;
  border-color:#4a5768;
}
body.dark-theme .chip.on,
body.dark-theme .fpill.on{
  background:
    linear-gradient(180deg,#2d3744,#252f3b);
  border-color:#546275;
  color:#f4f7fb;
}
body.dark-theme .btn-gold{
  background:linear-gradient(180deg,#d8a64a,#c79233);
  color:#18212c;
  box-shadow:0 12px 26px rgba(173,123,42,.18);
}
body.dark-theme .btn-gold:hover{
  background:linear-gradient(180deg,#dfae54,#cf9a39);
}
body.dark-theme .btn-teal,
body.dark-theme .btn-navy{
  background:linear-gradient(180deg,#465466,#384556);
  color:#eef3f8;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
body.dark-theme .btn-teal:hover,
body.dark-theme .btn-navy:hover{
  background:linear-gradient(180deg,#505f72,#414f61);
}
body.dark-theme .btn-green{
  background:linear-gradient(180deg,#3d7258,#315c47);
}
body.dark-theme .btn-red{
  background:linear-gradient(180deg,#7a4f53,#664044);
}
body.dark-theme .hero-btn-call{
  background:linear-gradient(180deg,#4d5d72,#3d4a5c);
  color:#f0f5fb;
}
body.dark-theme .hero-btn-route{
  background:linear-gradient(180deg,#566273,#475262);
  color:#f0f5fb;
}
body.dark-theme .qa-call,
body.dark-theme .qa-mail,
body.dark-theme .qa-visit,
body.dark-theme .qa-relance,
body.dark-theme .qa-open{
  color:#edf3f8;
}
body.dark-theme .qa-call{
  background:linear-gradient(180deg,#53657b,#445366);
}
body.dark-theme .qa-mail{
  background:linear-gradient(180deg,#5e503b,#4c4132);
  color:#f1dfb9;
}
body.dark-theme .qa-visit{
  background:linear-gradient(180deg,#465d52,#384b42);
  color:#d7ece0;
}
body.dark-theme .qa-relance{
  background:linear-gradient(180deg,#574a63,#483d54);
  color:#e5d9f0;
}
body.dark-theme .qa-open{
  background:linear-gradient(180deg,#4a5564,#3d4653);
}
body.dark-theme .pc-score{
  background:linear-gradient(180deg,rgba(214,162,70,.15),rgba(214,162,70,.05));
  color:#eccb88;
  border-color:rgba(214,162,70,.15);
}
body.dark-theme .badge-blue,
body.dark-theme .ctag.status-rdv{
  background:linear-gradient(180deg,#405c76,#344b61);
}
body.dark-theme .badge-green,
body.dark-theme .ctag.status-client{
  background:linear-gradient(180deg,#466451,#375142);
}
body.dark-theme .badge-gold{
  background:linear-gradient(180deg,#6f5a34,#5b4a2b);
  color:#ecd8ad;
}
body.dark-theme .badge-red{
  background:linear-gradient(180deg,#6a474b,#573b3f);
}
body.dark-theme .pipe-col-hdr{
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),
    #242d39;
  border-color:#364150;
}
body.dark-theme .pipe-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008)),
    #1d2530;
  border-color:#2f3a48;
}
body.dark-theme .toast{
  background:linear-gradient(180deg,rgba(33,41,52,.97),rgba(24,31,41,.97));
  border-color:#384555;
}
body.dark-theme .search-zone-stat{
  background:
    linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008)),
    #1c232d;
  border-color:#2f3a48;
}
body.dark-theme .search-zone-stat-k{color:#93a3b7}
body.dark-theme .search-advanced-toggle{
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008)),#1c232d;
  color:#edf3fa;
  border-color:#2f3a48;
}
body.dark-theme .metier-chip.on::before{background:#f5f8fc}

@media(min-width:1280px){
  body.dark-theme .pipeline-main .pipe{
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    min-width:0;
    gap:14px;
    align-items:start;
  }
  body.dark-theme .pipeline-main .pipe-col{
    width:auto;
    min-width:0;
  }
  body.dark-theme .pipeline-main .pipe-col-body{
    min-height:420px;
  }
}

@media(min-width:1280px){
  .pipeline-main{
    max-width:none;
    width:100%;
    min-height:calc(100vh - var(--header-h) - var(--tab-h) - 24px);
    display:flex;
    flex-direction:column;
  }
  .pipeline-main .pipe-wrap{
    flex:1;
    display:flex;
  }
  .pipeline-main .pipe{
    flex:1;
    grid-auto-rows:minmax(0,1fr);
  }
  .pipeline-main .pipe-col{
    display:flex;
    flex-direction:column;
  }
  .pipeline-main .pipe-col-body{
    flex:1;
    min-height:calc(100vh - var(--header-h) - var(--tab-h) - 180px);
  }
}
