:root{--ink:#102a38;--night:#0b202d;--paper:#edf2f3;--snow:#f7f9fa;--pine:#30715f;--red:#b5413c;--grey:#77838a;--wood:#b77b45;--line:#cdd8da;--serif:Georgia,serif;--sans:Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans)}header{height:70px;background:var(--snow);display:flex;align-items:center;justify-content:space-between;padding:0 5.8vw;border-bottom:1px solid var(--line)}header a{font-size:13px;color:var(--ink);font-weight:bold}header strong{font:600 22px var(--serif)}header strong span{font:13px var(--sans);color:var(--wood)}.dashboard{max-width:1160px;margin:auto;padding:72px 30px}.dashboard-intro{max-width:670px}.kicker{margin:0 0 13px;color:var(--wood);font-size:10px;font-weight:bold;letter-spacing:2px}.dashboard h1,.login h1{margin:0;font:600 46px/.98 var(--serif);letter-spacing:-1.5px}.lead{font-size:17px;line-height:1.65;max-width:580px}.dashboard form{margin-top:47px}.panel{background:var(--snow);border:1px solid var(--line);padding:30px;margin-bottom:20px}.panel h2{font:600 28px var(--serif);margin:0 0 8px}.panel-head{display:flex;justify-content:space-between;gap:25px;align-items:start}.panel-head p{margin:0;color:#52646c}.dashboard label{display:block;margin-top:17px;color:#344950;font-size:12px;font-weight:bold}.dashboard input,.dashboard textarea,.dashboard select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #aab9bc;background:#fff;color:var(--ink);font:15px var(--sans)}.tariffs{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tariffs>div{padding:0 15px 15px;border-left:3px solid var(--line)}.tariffs>div:first-child{border-color:#edf2f3}.year-select{margin:0!important;min-width:115px}.year-select select{padding:9px}.paint-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:27px 0 12px}.paint-choice{border:2px solid transparent;padding:9px 11px;border-radius:3px;color:#fff;font:700 12px var(--sans);cursor:pointer;opacity:.66}.paint-choice.is-active{opacity:1;box-shadow:0 0 0 3px rgba(16,42,56,.22)}.paint-choice span{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:100%;background:currentColor;border:1px solid rgba(0,0,0,.18)}.status-low{background:#fff;color:var(--ink);border-color:#9eafb2}.status-medium{background:var(--pine);color:#fff}.status-high{background:var(--red);color:#fff}.status-unavailable{background:var(--grey);color:#fff}.calendar-help,.hint{margin:0;color:#5f7076;font-size:13px}.admin-calendar{margin-top:22px;display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.admin-week{min-height:59px;text-align:left;padding:8px 9px;border:1px solid transparent;font:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s}.admin-week:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(16,42,56,.16)}.admin-week:focus-visible,.paint-choice:focus-visible{outline:3px solid var(--wood);outline-offset:2px}.admin-week span{display:block;font-size:11px;font-weight:bold}.admin-week b{display:block;margin-top:3px;font-size:10px;font-weight:normal}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photos article{border:1px solid var(--line);padding:10px;background:#fff}.photos img{width:100%;height:145px;object-fit:cover}.photos label{margin-top:9px}.photos input{font-size:11px;padding:7px}.save,.login form button{display:inline-flex;gap:20px;align-items:center;padding:16px 23px;border:0;background:var(--night);color:#fff;font:bold 13px var(--sans);cursor:pointer}.save:hover,.login form button:hover{background:var(--pine)}.notice,.error{margin:26px 0 0;padding:14px 17px}.notice{background:#d4ebe5;color:#16473d}.error{background:#f2d8d4;color:#812f27}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#dce7e9,#f6f2eb)}.login main{width:min(460px,calc(100% - 40px));padding:50px;background:var(--snow);border:1px solid var(--line);box-shadow:0 15px 45px rgba(16,42,56,.11)}.login main>p:not(.kicker){line-height:1.65}.login form{margin:30px 0}.login label{display:block;margin-top:18px;font-size:12px;font-weight:bold}.login input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #aab9bc;font:15px var(--sans)}.login form button{margin-top:24px}.login a{color:var(--ink);font-size:13px}@media(max-width:760px){header{padding:0 20px}header strong span{display:none}.dashboard{padding:48px 16px}.dashboard h1,.login h1{font-size:37px}.panel{padding:21px 16px}.panel-head{display:block}.year-select{width:140px!important;margin-top:20px!important}.tariffs,.photos{grid-template-columns:1fr}.tariffs>div{border-left:3px solid var(--line);padding-left:14px}.admin-calendar{grid-template-columns:repeat(2,1fr)}.photos img{height:185px}}

/* Boutons : style arrondi commun, sans modification des actions. */
button,.save,.paint-choice,.admin-week{border-radius:9px}

/* Actions sombres : fond blanc, texte noir. */
.save,.login form button{background:#fff;color:var(--night);border:1px solid var(--night)}.save:hover,.login form button:hover{background:#edf2f3;color:var(--night)}
button,.save,.paint-choice,.admin-week{border-radius:18px}
.dashboard-intro .lead{display:none}
.save,.login form button{background:#fff!important;color:#0b202d!important;border:1px solid #0b202d!important}
.form-actions .save[type="submit"]{background:#d8ebe1!important;color:#1a5946!important;border-color:#83b6a2!important}.form-actions .save[type="submit"]:hover{background:#c8e1d4!important}
.login main a[href="index.html"]{display:none}
