:root{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#172c2a;background:#f3f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{max-width:740px;margin:0 auto;padding:0 15px 32px}.head{margin:0 -15px 28px;padding:16px max(15px,calc((100vw - 710px)/2));display:flex;align-items:center;justify-content:space-between;color:white;background:#0f5546}.brand{font-size:19px;font-weight:800;letter-spacing:-.3px}.brand-icon{color:#b3efba}.step{font-size:13px;color:#e2f4ea}.kicker{margin:0 0 8px;color:#28755a;font-size:12px;letter-spacing:1px;font-weight:800}h1{font-size:clamp(25px,4.5vw,35px);line-height:1.15;letter-spacing:-.75px;margin:0 0 10px}h2{margin:0 0 12px;font-size:18px}.intro{font-size:15px;line-height:1.55;color:#4b605a;margin:0 0 22px}.panel{background:#fff;border:1px solid #dbe6e1;border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 3px 14px #163d2c0a}.panel-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-head h2{margin:0}.pill{font-size:12px;color:#596963;background:#eef1ef;padding:6px 9px;border-radius:99px;white-space:nowrap}.pill.ready{color:#136342;background:#e1f3e8}.pill.warn{color:#865500;background:#fff0ce}.button{font:inherit;display:block;padding:14px 16px;border-radius:12px;min-height:48px;cursor:pointer;font-weight:700;max-width:100%;text-align:center}.button-outline{border:1px solid #13795b;color:#12654d;background:white;width:100%}.button-secondary{border:1px solid #d9e5df;background:#f8fbf8;color:#154f40;width:100%}.button-primary{width:100%;background:#11694f;color:white;border:0;font-size:16px;margin-top:4px}.button-primary:disabled{opacity:.42;cursor:not-allowed}.button:focus-visible,input:focus-visible{outline:3px solid #ffb742;outline-offset:2px}.message{font-size:13px;line-height:1.45;color:#52655f;margin:11px 0}.message.error{color:#9c2a19}.message.success{color:#0c6940;background:#e5f7ed;border-radius:10px;padding:12px}.hint{font-size:12.5px;color:#596d66;line-height:1.5;margin:10px 0 0}#map{height:clamp(300px,48vh,430px);min-height:300px;background:#dae6d9;border:1px solid #cfddce;border-radius:12px;overflow:hidden}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}label{color:#3b554d;font-size:13px;font-weight:600;display:block}input{font:inherit;width:100%;padding:11px;border-radius:9px;margin-top:6px;border:1px solid #b8d0c3;font-size:16px}.foot{font-size:12px;color:#60706a;line-height:1.5;margin-top:14px}footer{text-align:center;color:#668076;font-size:12px;margin-top:22px}@media(max-width:380px){.fields{grid-template-columns:1fr}.step{font-size:11px}.panel{padding:12px}}

/* Identité visuelle Melun Agglo à Vélo — mise à jour logo */
.head{gap:14px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:58px;height:58px;object-fit:contain;padding:3px;border-radius:12px;background:#fff;flex:0 0 auto}
.brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.brand-assoc{font-size:11px;font-weight:700;letter-spacing:.09em;color:#def6e8;line-height:1.25}
.brand-name{font-size:20px;font-weight:800;line-height:1.12;color:#fff}
.step{white-space:nowrap;flex-shrink:0}
@media(max-width:440px){
  .head{gap:8px;padding-top:11px;padding-bottom:11px}
  .brand{gap:8px}
  .brand-logo{width:46px;height:46px;border-radius:9px}
  .brand-assoc{font-size:9px;letter-spacing:.055em}
  .brand-name{font-size:17px}
  .step{font-size:10px}
}
