:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#132541;background:#f6f8fc}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:#067b8f;color:white;border:0;border-radius:9px;padding:11px 16px;font-weight:600}
button:hover{filter:brightness(.94)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #44bec8;outline-offset:2px}
.layout{display:grid;grid-template-columns:258px 1fr;min-height:100vh}aside{background:#081d3e;color:white;padding:28px 22px;display:flex;flex-direction:column}
.brand-mark{display:grid;place-items:center;font-size:33px;font-weight:900;width:60px;height:60px;border-radius:15px;background:linear-gradient(130deg,#07c0bf,#2566b4)}.brand-mark span{color:#e2ba60;font-size:13px;margin-left:-10px}
aside h2{margin:16px 0 0;font-size:22px}aside small{font-size:11px;letter-spacing:.1em;color:#9eb8ce}nav{display:grid;gap:8px;margin-top:34px}nav button{background:transparent;color:#b5c8df;text-align:left}nav button.active,nav button:hover{background:#173a61;color:white}.notice{margin-top:auto;font-size:12px;color:#b4c3d7;line-height:1.6}
main{max-width:1450px;width:100%;padding:35px clamp(20px,5vw,70px);margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
header small{font-size:11px;color:#278a96;letter-spacing:.15em;font-weight:700}header h1{font-size:31px;letter-spacing:-.03em;margin:4px 0}.chip{background:#e6f5f6;border-radius:30px;padding:8px 12px;font-size:12px;color:#287d87}
.intro h2{font-size:25px;margin:0 0 6px}.intro p{color:#627086;margin:0 0 23px;line-height:1.6}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.metrics article,.panel,.admin-offer{border:1px solid #e6edf5;background:white;border-radius:14px;box-shadow:0 5px 14px #061a3908}.metrics article{padding:21px}.metrics strong{font-size:31px;display:block;color:#081d3e}.metrics small{font-size:12px;color:#6b778b}
.panel-head{padding:18px 23px;border-bottom:1px solid #e6edf5;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h3{margin:0}input,textarea,select{background:white;border:1px solid #cbd8e6;padding:11px;border-radius:9px;color:#182e48;max-width:100%}
.offer{padding:16px 22px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #eef1f6}.offer:last-child{border:0}.number{background:#e2f6f6;color:#0b8992;width:39px;height:39px;border-radius:10px;display:grid;place-items:center;flex:none;font-weight:800}.offer strong{display:block;font-size:14px}.offer small{display:block;color:#718197;font-size:12px}.offer .status{margin-left:auto;background:#fff1d9;color:#805d18;font-size:11px;border-radius:20px;padding:6px 9px;white-space:nowrap}.offer .status.ok{background:#dbf5e6;color:#246e46}
.messages{min-height:340px;max-height:55vh;overflow:auto;padding:22px;display:flex;gap:12px;flex-direction:column;background:#f7fcfe}.bubble{background:#e6f4f4;padding:14px 17px;border-radius:15px;max-width:80%;white-space:pre-wrap;line-height:1.6}.bubble.client{background:#153d66;color:white;align-self:flex-end}.composer{display:flex;gap:10px;padding:16px}.composer input{flex:1;min-width:0}.padded{padding:24px}#login-form,.actions,.crm-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions{justify-content:space-between;margin-bottom:15px}.admin-offer{padding:20px;margin-bottom:14px}.admin-offer h3{margin:0 0 7px;font-size:16px}.admin-offer p{font-size:13px;color:#65768c}.admin-offer textarea{width:100%;min-height:110px;resize:vertical}.admin-offer button{margin:9px 8px 0 0}.admin-offer button.secondary,.actions button{background:white;color:#075d6d;border:1px solid #b4dce0}.lead{border-top:1px solid #e7edf5;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.lead p{margin:3px 0;color:#61758b}.crm-form{margin:0 0 20px}.crm-form input{flex:1;min-width:140px}#flash{background:#e2f9ed;border:1px solid #9ad6ba;padding:12px;border-radius:10px;margin:12px 0}#flash.error{background:#fff1ed;border-color:#eab0a2}
@media(max-width:900px){.layout{grid-template-columns:1fr}aside{padding:15px}aside h2,aside>small,.notice{display:none}nav{display:flex;overflow:auto;margin-top:8px}nav button{white-space:nowrap}main{padding:20px 15px}.metrics{grid-template-columns:repeat(2,1fr)}header h1{font-size:25px}.panel-head{flex-wrap:wrap}.offer{padding:13px}.offer .status{font-size:10px}.bubble{max-width:95%}}

.bulk-import{margin-bottom:24px}
.bulk-import h3{margin:0 0 8px}
.bulk-import p{font-size:14px;color:#63738a;line-height:1.55}
.bulk-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}
.bulk-controls label{font-size:13px;color:#596e86}
.bulk-controls input[type=file]{font-size:13px;max-width:280px;padding:8px}
.bulk-import textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.6;resize:vertical}
.bulk-import button.secondary{background:white;color:#075d6d;border:1px solid #b4dce0}
.bulk-import button:disabled{opacity:.4;cursor:not-allowed}
#bulk-result{font-size:13px;color:#203851}
#bulk-result h4{margin:18px 0 8px}
#bulk-result ul{max-height:230px;overflow:auto;margin:0 0 10px;padding-left:24px;line-height:1.8}

/* Parcours commercial guidé — formulaires accessibles et récapitulatif lisible. */
.qualification-save-form{display:grid;gap:15px;max-width:700px}
.qualification-save-form label:not(.qualification-consent){display:grid;gap:5px;font-size:14px;font-weight:600}
.qualification-save-form input{width:100%}
.qualification-save-form input[type=checkbox]{width:auto;flex:none}
.qualification-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6}
.qualification-summary{padding:15px;background:#f6f8fc;border:1px solid #dce6f0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.6;border-radius:8px}
#qualification-messages{min-height:240px;max-height:45vh}
#qualification-save-form button:disabled,#qualification-form button:disabled{opacity:.5;cursor:not-allowed}
