*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#edf3ef;color:#163128;font:15px Arial,sans-serif}header{height:68px;background:#123b2f;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px}header b{font-size:22px}nav{display:flex;gap:8px}button{border:0;border-radius:9px;padding:10px 14px;font-weight:750;cursor:pointer}nav button{background:#ffffff18;color:white}.auth{min-height:calc(100vh - 68px);display:grid;grid-template-columns:1fr 420px;align-items:center;gap:60px;max-width:1050px;margin:auto;padding:40px}.auth h1{font-size:46px;max-width:600px}.auth form{background:white;padding:28px;border-radius:18px;box-shadow:0 20px 70px #173b2b22;display:grid;gap:13px}.auth label{display:grid;gap:6px;font-weight:700}.auth input,.toolbar input,.toolbar select,textarea{border:1px solid #cbd9d1;border-radius:9px;padding:12px;font:inherit}.auth form button,#ask button{background:#17734d;color:white}.auth a{color:#17734d}.msg{color:#a23b2c}#app,#agent,#admin{padding:24px;max-width:1400px;margin:auto}.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar input{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.card{background:white;border:1px solid #d9e4dd;border-radius:13px;padding:16px}.card h3{margin:0 0 7px}.card small,.card p{color:#60736a}.badge{display:inline-block;background:#def1e6;color:#176945;padding:4px 8px;border-radius:20px;font-size:12px}.review{background:#fff0cf;color:#8d5b08}#chat{background:white;min-height:350px;border-radius:14px;padding:18px;white-space:pre-wrap}#ask{display:flex;gap:10px;margin-top:12px}#ask textarea{flex:1;min-height:90px}.user{background:white;padding:14px;margin:8px 0;border-radius:10px;display:flex;justify-content:space-between;align-items:center}@media(max-width:800px){header{height:auto;padding:14px;display:block}nav{margin-top:12px;flex-wrap:wrap}.auth{grid-template-columns:1fr;padding:22px}.auth h1{font-size:32px}.toolbar{flex-direction:column}}
.auth-panel{background:white;border-radius:18px;box-shadow:0 20px 70px #173b2b22;overflow:hidden;min-width:0}
.auth-choices{display:flex;padding:8px;gap:8px;background:#dfeae3}
.auth-choices a{flex:1;padding:14px 8px;text-align:center;border-radius:10px;text-decoration:none;font-weight:bold}
.auth-choices a[aria-current="page"]{background:#17734d;color:white}
.auth-panel form{box-shadow:none;border-radius:0}
.auth-panel h2,.auth-panel p{margin:0}
.auth-panel p{line-height:1.5}
.auth-panel label{font-weight:bold}
.auth-panel input{width:100%;min-width:0}
.auth-panel small{color:#60736a}
.auth-panel details{font-size:13px;border-top:1px solid #d9e4dd;padding-top:14px}
.auth-panel summary{cursor:pointer;color:#52685d}
.auth-panel details p{margin:12px 0}
.auth-panel details input{margin-top:8px}
.table-wrap{overflow:auto;background:white;border:1px solid #d9e4dd;border-radius:12px}
.crm-table{width:100%;border-collapse:collapse;font-size:13px}
.crm-table th{background:#e0ece4;text-align:left;padding:14px;white-space:nowrap}
.crm-table td{padding:14px;border-top:1px solid #e5ece7;vertical-align:top}
.crm-table small{display:block;margin-top:5px;color:#60736a}
.row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:190px}
.row-actions button,.row-actions a{font:inherit;padding:7px;border-radius:6px;background:#edf3ef;color:#176945;text-decoration:none}
.row-actions button:disabled{opacity:.45;cursor:default}
.overdue{color:#af3d24;font-weight:bold}
.toolbar{flex-wrap:wrap;align-items:center}.toolbar label{white-space:nowrap}
.lead-dialog{border:0;border-radius:16px;width:min(760px,95vw);max-height:90vh;padding:26px;color:#163128}
.lead-dialog::backdrop{background:#10291fcc}
.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}
.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-dialog label{display:grid;gap:6px;margin:10px 0}
.lead-dialog input,.lead-dialog select{font:inherit;padding:10px;border:1px solid #cbd9d1;border-radius:8px;min-width:0}
.lead-dialog textarea{width:100%;min-height:85px}
.lead-dialog button[type="submit"],#eventForm button{background:#17734d;color:white}
.event-list article{border-bottom:1px solid #d9e4dd;padding:10px 0;font-size:13px}
.event-list p{white-space:pre-wrap}.feedback{color:#17734d}
@media(max-width:600px){.edit-grid{grid-template-columns:1fr}}
#prospectSearch{max-width:1400px;margin:auto;padding:24px}
.search-card{background:white;padding:22px;border:1px solid #d9e4dd;border-radius:14px;margin:18px 0}
.search-card label{display:grid;gap:8px;margin:10px 0}
.search-card input,.search-card select,#searchHistory,#importCampaign{font:inherit;padding:12px;border:1px solid #cbd9d1;border-radius:8px;max-width:100%;min-width:0}
.search-card small,#searchResults>p{color:#52685d;line-height:1.5}
#searchMap{width:100%;height:320px;border:1px solid #cbd9d1;border-radius:12px}
#prospectForm button[type=submit],#importResults{background:#17734d;color:white}
#searchTable input{width:20px;height:20px}#moreSearch{margin-top:18px}
#leads .crm-table td:last-child{position:sticky;right:0;background:white;box-shadow:-4px 0 8px #16312812}
#leads .crm-table th:last-child{position:sticky;right:0;background:#e0ece4}
#roofs{max-width:1400px;margin:auto;padding:24px}
.roof-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
.roof-bar label{display:grid;gap:6px;font-weight:700}
.roof-bar select,.roof-run input,.roof-run select{border:1px solid #cbd9d1;border-radius:9px;padding:10px;font:inherit}
#zoneXlsx,.roof-run button,#roofImport{background:#17734d;color:white}
.roof-bar details{flex-basis:100%}
.roof-bar summary{cursor:pointer;font-weight:700;color:#17734d}
.roof-run{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:12px 0 6px}
.roof-run label{display:grid;gap:6px}
.roof-map{height:460px;border-radius:14px;border:1px solid #d9e4dd;margin-bottom:18px;background:#dfeae3}
.roof-filters{align-items:center;flex-wrap:wrap}
.roof-filters label{white-space:nowrap}
.prio{display:inline-block;min-width:26px;text-align:center;padding:4px 7px;border-radius:20px;color:white;font-weight:700}
.prio-A{background:#17734d}.prio-B{background:#d08a12}.prio-C{background:#8a9a92}
.roof-table tbody tr{cursor:pointer}
.roof-table tbody tr:hover{background:#f4f8f5}
.roof-more{padding:12px 16px;color:#60736a}
@media(max-width:800px){.roof-map{height:320px}#roofs{padding:14px}}
.roof-sources{flex-basis:100%;margin:0;color:#60736a;font-size:13px}
.roof-tabs{display:flex;gap:8px;margin:0 0 12px}
.roof-tabs button{background:#dfeae3;color:#163128}
.roof-tabs button[aria-selected="true"]{background:#123b2f;color:white}
.prio{min-width:auto;white-space:nowrap}
.prio-V{background:#c0392b}.prio-E{background:#2e6da4}.prio-X{background:#b0b8b4;color:#163128}
.id-Concordant,.id-Vérifié{color:#17734d}.id-Partiel{color:#a86a00}.id-Incertain{color:#c0392b}
.check-btn{background:#dfeae3;color:#163128;padding:6px 10px}
.check-dialog{border:0;border-radius:16px;padding:0;max-width:640px;width:calc(100% - 32px)}
.check-dialog form{display:grid;gap:12px;padding:22px}
.check-dialog h2{margin:0}
.check-dialog label{display:grid;gap:6px;font-weight:700}
.check-dialog select,.check-dialog textarea{border:1px solid #cbd9d1;border-radius:9px;padding:10px;font:inherit}
.check-proofs{background:#f4f8f5;border-radius:10px;padding:10px 14px;font-size:13px;max-height:260px;overflow:auto}
.check-proofs p{margin:6px 0}
#checkSave{background:#17734d;color:white}
.prio-Q{background:#6b5b95}
.lvl{display:inline-block;padding:3px 8px;border-radius:8px;font-size:12px;font-weight:700}
.lvl-ok{background:#17734d;color:white}.lvl-good{background:#def1e6;color:#176945}.lvl-mid{background:#fff0cf;color:#8d5b08}
.lvl-none{background:#eceff0;color:#52685d}.lvl-bad{background:#fbe0dc;color:#a23b2c}
.lvl-weak{background:#f3eefb;color:#5b4a85;border:1px dashed #8a78b5}
