:root{--red:#ef2b1c;--dark:#070708;--ink:#111318;--muted:#667085;--line:#e5e7eb;--bg:#f4f5f7}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}header{background:var(--dark);padding:16px 5%;display:flex;align-items:center;justify-content:space-between}header img{width:150px;max-height:58px;object-fit:contain}header a{color:#fff;text-decoration:none;font-weight:800}.wrap{width:min(1080px,92%);margin:38px auto 70px}.hero{background:#0c0d0f;color:#fff;border-radius:20px;padding:32px;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--red)}.kicker{color:var(--red);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900}.hero h1{margin:8px 0 6px;font-size:clamp(30px,5vw,52px)}.hero p{margin:0;color:#cfd2d8}.progressbox{margin-top:25px}.progressline{height:12px;background:#292c31;border-radius:99px;overflow:hidden}.progressbar{height:100%;background:var(--red);width:0}.progresslabel{display:flex;justify-content:space-between;margin-bottom:8px;font-weight:800}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.card h2{margin:0 0 18px;font-size:21px}.facts{display:grid;grid-template-columns:150px 1fr;gap:11px 18px}.facts span:nth-child(odd){color:var(--muted)}.tasks,.journal{display:grid;gap:11px}.task,.entry{border:1px solid var(--line);border-radius:12px;padding:14px}.task.done{background:#f7f8f8}.task b{margin-right:8px}.entry small{color:var(--muted)}.entry h3{margin:5px 0;font-size:16px}.empty{color:var(--muted)}.state{text-align:center;background:#fff;border-radius:18px;padding:45px 25px;border:1px solid var(--line)}.state h1{margin:0 0 10px}.hidden{display:none!important}.updated{margin-top:18px;color:var(--muted);font-size:13px;text-align:right}@media(max-width:760px){.grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.facts span:nth-child(odd){font-weight:800;margin-top:5px}.hero{padding:26px 22px}header img{width:125px}}
.login-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px;max-width:760px;margin:70px auto;box-shadow:0 14px 40px rgba(0,0,0,.06)}.login-card h1{font-size:clamp(34px,5vw,52px);margin:8px 0 10px}.login-card>p{color:var(--muted);margin:0 0 28px}.login-card label{display:block;font-weight:800;margin-bottom:8px}.code-row{display:grid;grid-template-columns:1fr auto;gap:10px}.code-row input{min-width:0;border:2px solid #d8dbe0;border-radius:10px;padding:15px 16px;font-size:20px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;outline:none}.code-row input:focus{border-color:var(--red)}.code-row button{border:0;border-radius:10px;background:var(--red);color:#fff;padding:0 22px;font-weight:900;cursor:pointer}.code-row button:hover{filter:brightness(.94)}.code-error{color:#b42318;font-weight:700;margin:12px 0 0}.back-code{display:inline-block;margin-top:14px;color:var(--red);font-weight:800}@media(max-width:640px){.login-card{padding:26px 20px;margin:35px auto}.code-row{grid-template-columns:1fr}.code-row button{padding:15px}.wrap{margin-top:24px}}
/* Suivi des fournitures publiées par MP Suivi Chantier Cloud */
.materials{display:grid;gap:11px}.material-entry{border:1px solid var(--line);border-radius:12px;padding:15px}.material-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.material-status{background:#f2f4f7;color:#344054;padding:6px 10px;border-radius:20px;font-size:12px;font-weight:800}.material-dates{display:grid;gap:5px;margin-top:10px;color:var(--muted);font-size:13px}
