:root{--primary:#1f4e5f;--accent:#2e7d6b;--accent-light:#eaf1ef;--ink:#23272b;--grey:#5b6167;--line:#d7dcdf;--bg:#f5f7f7;--danger:#e92812}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.page{max-width:640px;margin:0 auto;padding:32px 20px 60px}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:28px;padding-bottom:14px;display:flex}.topbar-no-border{border-bottom:none;margin-bottom:20px;padding-bottom:0}.brand{letter-spacing:.04em;color:var(--primary);text-transform:uppercase;font-size:13px;font-weight:700}.logout-link{color:var(--grey);border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-size:12px;text-decoration:none}.logout-button{color:var(--danger);border-color:var(--danger);background:0 0}.topbar-links{gap:8px;display:flex}.center-wrap{justify-content:center;align-items:center;min-height:80vh;padding:0 20px;display:flex}.card{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-width:360px;padding:28px;box-shadow:0 1px 3px #0000000d}.card h1{color:var(--primary);margin:0 0 20px;font-size:18px}label{color:var(--grey);margin-bottom:6px;font-size:12px;font-weight:600;display:block}input,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:14px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}input:disabled,select:disabled{background:var(--line);color:var(--grey);cursor:not-allowed}button{cursor:pointer;font-family:inherit}.btn{border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:6px;width:100%;padding:11px;font-size:14px;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn-secondary{width:auto;color:var(--ink);border:1px solid var(--line);background:#fff;padding:7px 14px;font-size:12.5px;font-weight:600}.error-text{color:var(--danger);margin:-8px 0 14px;font-size:12.5px}.telephone-reveal{color:var(--accent);background:0 0;border:none;margin-bottom:2px;padding:0;font-size:12.5px;font-weight:600;display:block}.site-web-link{color:var(--accent);font-weight:600;text-decoration:none}.site-web-link:hover{text-decoration:underline}.hint{color:var(--grey);margin-top:14px;font-size:12px;line-height:1.5}.tri-label{align-items:center;gap:8px;margin-bottom:14px;display:flex}.tri-label select{width:auto;max-width:240px;margin-bottom:0;padding:6px 8px;font-size:13px}.prospect-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:12px;padding:14px 16px}.prospect-card.selectionne{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.prospect-header{flex-wrap:wrap;align-items:flex-start;gap:6px 10px;margin-bottom:4px;display:flex}.prospect-checkbox{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.prospect-nom{flex:1;font-size:15px;font-weight:700}.badge{white-space:nowrap;border-radius:10px;flex-shrink:0;padding:3px 9px;font-size:10.5px;font-weight:700}.badge-opticien{background:var(--accent-light);color:var(--accent)}.badge-audio{color:#6a3fa0;background:#ece4f6}.badge-dentiste{color:#2064a0;background:#e3f0fb}.badge-medecin{color:#b3261e;background:#fce8e6}.badge-pharmacien{color:#1e7a34;background:#e4f5e6}.badge-parametier{color:#a05a1e;background:#fdf0e0}.badge-default{background:var(--bg);color:var(--grey)}.prospect-meta{color:var(--grey);overflow-wrap:anywhere;margin-bottom:2px;font-size:12.5px}.prospect-date-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.prospect-date-row .prospect-date{margin-bottom:0}.categorie-select{flex-shrink:0;width:auto;max-width:130px;margin-bottom:0;padding:4px 6px;font-size:12px}.status-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.status-pill{border:1px solid var(--line);color:var(--grey);background:#fff;border-radius:14px;padding:5px 11px;font-size:11.5px;font-weight:600}.status-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}.status-pill.active.match{background:var(--accent);border-color:var(--accent);color:#fff}.status-pill.active.refus{background:var(--danger);border-color:var(--danger);color:#fff}.match-action{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.match-action a{color:#fff;background:var(--accent);border-radius:6px;padding:7px 12px;font-size:12px;font-weight:700;text-decoration:none}.empty-state{color:var(--grey);text-align:center;padding:40px 0;font-size:13.5px}.tabs-row{gap:8px;margin-bottom:20px;display:flex}.tab-btn{border:1px solid var(--line);color:var(--grey);background:#fff;border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:700}.tab-btn.active.match{background:var(--accent);border-color:var(--accent);color:#fff}.tab-btn.active.refus{background:var(--danger);border-color:var(--danger);color:#fff}.prospect-date{font-style:italic}.commune-groupe{margin-bottom:28px}.commune-titre{color:var(--primary);border-bottom:1px solid var(--line);margin:0 0 12px;padding-bottom:8px;font-size:16px}.metier-groupe{margin-bottom:16px}.metier-titre{text-transform:uppercase;letter-spacing:.03em;color:var(--grey);margin:0 0 8px;font-size:12px;font-weight:700}.mode-badge{background:var(--accent-light);color:var(--accent);border-radius:10px;margin-bottom:18px;padding:2px 9px;font-size:10.5px;font-weight:700;display:inline-block}
