:root{--navy:#142440;--blue:#315bd6;--ink:#1c2940;--muted:#718096;--line:#e3e9f2;--bg:#f2f5fb}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}header{background:linear-gradient(115deg,#142440,#315bd6);color:#fff;padding:14px max(18px,3vw);display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 8px 28px #182b6c22}h1{font-size:19px;margin:0;letter-spacing:.5px}header small{opacity:.8;font-size:12px}main{max-width:1440px;margin:auto;padding:18px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 30px #192c5b0b}.card h2{font-size:16px;margin:0 0 10px}.import{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;border-left:4px solid #5880f0}.import h2{margin:0}.import p{margin:0;color:var(--muted);font-size:13px}.import #fileName{font-size:12px;color:var(--blue);word-break:break-all}.status{font-size:12px;color:#167c68}.grid{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}.grid>.card{min-width:0}.asideHead{display:flex;align-items:center;justify-content:space-between}.badge{background:#e8eeff;color:#315bd6;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:800}button,.upload{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;background:var(--blue);color:#fff;font-size:13px;transition:transform .15s,box-shadow .15s}button:hover,.upload:hover{transform:translateY(-1px);box-shadow:0 4px 12px #315bd634}.ghost{background:transparent;border:1px solid #ffffff88}.dark{color:var(--navy);border-color:#ced8e9}.secondary{background:#eaf0ff;color:#264db8}input,textarea,select{width:100%;border:1px solid #d7dfeb;border-radius:10px;padding:10px 12px;font:inherit;background:#fff;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #aac1ff;border-color:var(--blue)}#search{font-size:13px;margin:4px 0 10px}textarea{height:315px;resize:vertical;line-height:1.48;font-size:13px}.contacts{max-height:650px;overflow:auto;display:grid;gap:8px;padding:2px 3px 3px 1px;align-content:start}.contact{width:100%;text-align:left;background:#f8faff;color:var(--ink);border:1px solid #e7edf9;border-left:4px solid #9cadcc;border-radius:12px;padding:10px 11px;box-shadow:none;display:block}.contact:hover{background:#f0f5ff;box-shadow:0 4px 14px #315bd61a}.contact.active{background:#edf3ff;border-color:#a9bef6;border-left-color:var(--blue);box-shadow:0 3px 12px #315bd61b}.contact:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.contactTop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.contact b{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.contact small{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-top:5px;overflow-wrap:anywhere}.pill{flex:none;font-size:10px;line-height:1.2;padding:4px 7px;border-radius:7px;background:#e9edf4;color:#53627a;font-weight:700;white-space:nowrap}.contact[data-status="Contacté"]{border-left-color:#3b82f6}.contact[data-status="Contacté"] .pill{background:#e5f0ff;color:#2462b1}.contact[data-status="Répondu"]{border-left-color:#8b5cf6}.contact[data-status="Répondu"] .pill{background:#f0eaff;color:#7041bd}.contact[data-status="RDV obtenu"]{border-left-color:#11a978}.contact[data-status="RDV obtenu"] .pill{background:#dcf7ec;color:#087d59}.contact[data-status="Sans intérêt"]{border-left-color:#ee9362}.contact[data-status="Sans intérêt"] .pill{background:#fff0e7;color:#a45026}.identity{display:flex;justify-content:space-between;gap:12px;background:linear-gradient(110deg,#f0f5ff,#f8faff);padding:12px;border:1px solid #e3eafa;border-radius:12px;margin-bottom:12px}.identity b,.identity small{display:block}.identity b{font-size:15px}.identity small{color:var(--muted);margin-top:4px;font-size:12px}#person{font-size:12px;color:var(--blue);font-weight:700}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tabs button{background:#edf1f8;color:#435575;padding:8px 11px}.tabs button.active{background:var(--blue);color:#fff}label{font-size:12px;font-weight:700;display:block;margin:8px 0 5px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.track{max-width:200px;margin-top:12px}.empty,.muted{color:var(--muted);text-align:center;padding:30px 10px;font-size:13px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:10px 16px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.show{opacity:1}[hidden]{display:none!important}@media(max-width:820px){main{padding:12px}.grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.card{padding:14px}.contacts{max-height:270px;grid-template-columns:repeat(2,minmax(0,1fr))}.import{align-items:flex-start}header{padding:13px 15px}textarea{height:300px}}@media(max-width:520px){.contacts{grid-template-columns:1fr;max-height:260px}.import p{flex-basis:100%}.identity{flex-direction:column}.actions button{flex:1 1 140px}.tabs button{flex:1 1 40%}header #installBtn{font-size:11px;padding:8px}h1{font-size:16px}}
/* Suivi et tableau de bord */
.headerActions{display:flex;align-items:center;gap:8px}.authScreen{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#142440,#315bd6)}.authBox{width:min(100%,390px);background:#fff;border-radius:20px;padding:28px;box-shadow:0 20px 60px #08143355}.authBox h1{color:var(--blue)}.authBox p{color:var(--muted)}.authBox label{margin-top:16px}.authBox button{width:100%;margin-top:20px}.authBox small{display:block;color:var(--muted);margin-top:15px;line-height:1.4}#authError{color:#be3148;font-size:13px}.dashboard{margin-bottom:16px}.dashHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashHead h2{margin:0 0 3px}.dashHead small{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.stat{border:1px solid #e5eafb;border-radius:12px;background:#f6f8fe;text-align:left;color:var(--ink);padding:11px;box-shadow:none}.stat strong{display:block;font-size:22px}.stat span{font-size:11px;color:var(--muted)}.stat[data-status="Contacté"]{background:#eaf2ff}.stat[data-status="Relance prévue"]{background:#fff3dd}.stat[data-status="Répondu"]{background:#f1eaff}.stat[data-status="RDV obtenu"]{background:#e3f8ef}.stat[data-status="Abouti"]{background:#d6f6e9}.stat[data-status="Sans intérêt"]{background:#fff0e7}.imports{font-size:12px;color:var(--muted);margin-top:10px}.listTools{display:grid;grid-template-columns:1fr 130px;gap:7px}.listTools select{font-size:12px;padding:8px}.contact[data-status="Relance prévue"]{border-left-color:#e7a42c}.contact[data-status="Relance prévue"] .pill{background:#fff3db;color:#95600e}.contact[data-status="Abouti"]{border-left-color:#13a46a}.contact[data-status="Abouti"] .pill{background:#d9f9e8;color:#087447}.contact .due{color:#a15b07}.track{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.track label,.track select,.track input,.track textarea,.track button,.track small{grid-column:span 2}.track #notes{height:85px}.track button{width:max-content}.track #lastAction{color:var(--muted);font-size:11px}.stat:focus-visible{outline:2px solid var(--blue)}@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashHead{align-items:flex-start}.dashHead button{font-size:11px}.listTools{grid-template-columns:1fr}header .headerActions{flex-wrap:wrap;justify-content:flex-end}header .headerActions button{padding:7px;font-size:11px}}
.contact[data-status="En cours"]{border-left-color:#315bd6}.contact[data-status="En cours"] .pill,.stat[data-status="En cours"]{background:#e6eeff;color:#264fa9}
