
:root{font-family:Inter,Arial,sans-serif;color:#242524;background:#f6f5f2}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 15px;background:#292d2b;color:white}button.secondary{background:#e9e8e3;color:#292d2b}button.ghost{background:transparent;color:#494a47;border:1px solid #d9d8d2}button.danger{background:#9c3434}.shell{max-width:1100px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.brand{font-size:28px;letter-spacing:-1.4px;font-weight:750}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#a28b65;font-weight:600}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#8c795a;text-transform:uppercase}h1{font-size:30px;margin:8px 0 6px}h2{font-size:19px;margin:0 0 16px}h3{font-size:16px;margin:0 0 8px}.muted{color:#777972;font-size:13px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.card{background:white;border:1px solid #e5e4dd;border-radius:15px;padding:20px;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:13px}.project{cursor:pointer;min-height:155px}.project:hover{border-color:#b4a17d}.metric{font-size:29px;font-weight:750;margin-top:15px}.tag{background:#eeeae1;color:#756142;border-radius:30px;padding:5px 9px;font-size:11px}.tag.done{background:#e3eee6;color:#31724c}.tabs{display:flex;gap:8px;margin:22px 0 14px}.tabs button.active{background:#282d2b;color:white}.tabs button{background:#e9e8e3;color:#52534e}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-size:13px;font-weight:600}input,textarea,select{width:100%;padding:11px;border:1px solid #d9d8d2;border-radius:9px;background:white;color:#222}textarea{min-height:90px;resize:vertical}.cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.visit{border-left:3px solid #b9a37d;padding:6px 0 6px 15px;margin:14px 0}.photos{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.photos img{width:125px;height:100px;object-fit:cover;border-radius:9px;border:1px solid #ddd}.photoitem{position:relative}.photoitem button{position:absolute;right:3px;top:3px;padding:2px 6px;background:#fff;color:#a22}.hidden{display:none!important}.notice{background:#fff6e5;border:1px solid #ead6a7;padding:12px;border-radius:10px;color:#775f30;font-size:13px;margin:15px 0}.empty{padding:45px;text-align:center;color:#85857d}.back{margin-bottom:16px}.modal{position:fixed;inset:0;background:#20221fcc;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.panel{background:#f8f7f3;border-radius:16px;padding:23px;width:min(720px,100%);max-height:92vh;overflow:auto}.actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:20px}.report{background:white;border:1px solid #ddd;padding:32px;line-height:1.55}.report h2{border-bottom:2px solid #b9a37d;padding-bottom:10px}.report .photos img{width:210px;height:150px}.list-item{padding:12px 0;border-bottom:1px solid #eee}.count{font-size:12px;color:#777}.photo-hint{font-size:12px;color:#777}.alert{background:#f9e8e7;color:#842f2f;padding:10px;border-radius:8px}.spacer{height:12px}@media(max-width:650px){.shell{padding:14px}.top{align-items:flex-start}.top button{font-size:12px}.cols{grid-template-columns:1fr}h1{font-size:24px}.card{padding:15px}.panel{padding:15px}.report{padding:16px}.report .photos img{width:135px;height:105px}}@media print{body{background:white}.shell,.modal>.panel>.actions,.modal>.panel>.print-hide{display:none!important}.modal{position:static;background:white;padding:0;display:block}.panel{width:100%;max-height:none;overflow:visible;padding:0}.report{border:0;padding:0}.report .photos img{width:210px;height:155px}.notice{display:none}}

.auth{max-width:420px;margin:8vh auto}.status{padding:12px;background:#eaf0e9;border-radius:9px;margin:12px 0}.err{padding:12px;background:#fbe6e5;color:#922;border-radius:9px;margin:12px 0}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.mini{font-size:12px}.photoitem img{cursor:pointer}.report{max-width:850px;margin:auto}.report .photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.report .photos img{width:100%;height:180px}.busy{opacity:.65;pointer-events:none}@media print{header,.no-print,.actions,.toolbar,.back{display:none!important}.shell{display:block!important}.report{border:0;padding:0}.report .photos img{height:160px}body{background:#fff}}
/* V4.2 : identité visuelle officielle FORME */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;letter-spacing:normal}
.brand-logo{display:block;width:190px;max-width:100%;height:auto;object-fit:contain}
.brand small{font-size:10px;letter-spacing:1.7px;color:#a28b65}
.auth-logo{display:block;width:220px;max-width:100%;height:auto;margin:0 0 24px}
@media(max-width:650px){.brand-logo{width:150px}.auth-logo{width:180px}}

/* V4.9 : tableau de bord */
.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 18px}.dash-stat{background:#fff;border:1px solid #e5e4dd;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px}.dash-stat strong{font-size:30px;color:#292d2b}.dash-stat span{font-size:13px;color:#777972}.dashboard-filters{display:flex;gap:12px;align-items:end;margin:0 0 12px;flex-wrap:wrap}.dashboard-filters label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:6px}.dashboard-filters .dash-search-label{flex:1;min-width:190px}.dashboard-filters select{min-width:185px}.dash-project-metrics{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:15px;font-size:13px}.dash-pending{color:#9a5d19}.dash-last{font-size:12px;color:#777972;margin-top:13px}.project:focus-visible{outline:3px solid #b9a37d;outline-offset:2px}@media(max-width:650px){.dashboard-stats{gap:7px}.dash-stat{padding:11px}.dash-stat strong{font-size:23px}.dash-stat span{font-size:11px}.dashboard-filters label{width:100%}}
