@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&display=swap");
:root{--green:#009640;--green-l:#2fbf63;--ink:#101211;--panel:#1a1d1b;--panel2:#222624;--line:#2e3431;--text:#f3f6f4;--muted:#a3aea7;--r:20px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font:400 16px/1.5 "Jost","Century Gothic","Avenir Next",system-ui,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
a{color:inherit}
.top{position:relative;text-align:center;padding:calc(28px + env(safe-area-inset-top)) 20px 26px;background:radial-gradient(120% 90% at 50% 0,#0b3d1e 0,var(--ink) 70%)}
.top img.logo{width:84px;height:auto;border-radius:18px;box-shadow:0 8px 28px rgba(0,150,64,.35)}
.kicker{margin:16px 0 4px;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--green-l)}
.top h1{margin:0;font-weight:300;font-size:1.9rem;letter-spacing:.12em;text-transform:uppercase}
main{max-width:560px;margin:0 auto;padding:0 16px 32px;display:grid;gap:18px}
.hero{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:1100/577;background:var(--panel);box-shadow:0 14px 34px rgba(0,0,0,.5)}
.hero img{width:100%;height:100%;object-fit:cover;display:block}
.hero .go{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;background:var(--green);color:#fff;font-weight:600;font-size:.95rem;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.45)}
h2.sec{margin:6px 4px -6px;font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.person{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:center}
.avatar{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-l));color:#fff;display:grid;place-items:center;font-size:1.8rem;font-weight:300;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.person h3{margin:0;font-size:1.3rem;font-weight:500}.role{color:var(--muted);font-size:.95rem}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font:500 .95rem "Jost",sans-serif;text-decoration:none;cursor:pointer}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.wide{grid-column:1/-1}
.btn:active{transform:scale(.98)}
:focus-visible{outline:3px solid var(--green-l);outline-offset:2px}
.rows{display:grid;gap:2px}
.rowlink{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center;min-height:52px;padding:8px 2px;border-bottom:1px solid var(--line);text-decoration:none}
.rowlink:last-child{border-bottom:0}.rowlink small{color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.rowlink span{font-weight:400;overflow-wrap:anywhere}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{display:block;padding:16px;border-radius:16px;background:var(--panel2);border:1px solid var(--line);text-decoration:none}
.tile b{display:block;font-weight:500;font-size:1.05rem}.tile span{display:block;margin-top:4px;color:var(--muted);font-size:.85rem}
.tile::before{content:"";display:block;width:28px;height:3px;border-radius:3px;background:var(--green);margin-bottom:12px}
.news{display:block;text-decoration:none}.news h3{margin:0 0 4px;font-weight:500}.news p{margin:0;color:var(--muted)}
.news em{display:inline-block;margin-top:10px;color:var(--green-l);font-style:normal;font-weight:500}
.socials{display:flex;flex-wrap:wrap;gap:10px}
.social{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:8px 16px 8px 8px;border-radius:999px;border:1px solid var(--line);background:var(--panel2);text-decoration:none;font-weight:500}
.social b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;font-size:.85rem}
footer{max-width:560px;margin:0 auto;padding:8px 20px 36px;display:flex;align-items:center;gap:16px;color:var(--muted);font-size:.8rem}
footer img{width:64px;height:64px;flex:none}
.empty{color:var(--muted)}
/* édition */
label{display:block;font-size:.8rem;color:var(--muted);margin:12px 0 5px;letter-spacing:.04em}
input,textarea{width:100%;min-height:48px;padding:11px 13px;border-radius:12px;border:1px solid var(--line);background:var(--ink);color:var(--text);font:inherit}
textarea{min-height:84px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.item{padding:14px;margin-top:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.del{margin-top:10px;min-height:44px;padding:8px 14px;border-radius:12px;border:1px solid #5a2a2a;background:transparent;color:#f3b0b0;font:inherit;cursor:pointer}
.msg{padding:12px 14px;border-radius:12px;font-weight:500}.msg.ok{background:#12351e;color:#a6e8bb}.msg.err{background:#3a1717;color:#f3b0b0}
.savebar{position:sticky;bottom:0;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--ink) 30%)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:active{transform:none}}

.langs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;max-width:560px;margin:0 auto 14px;padding:0 16px}
.langs button{min-width:44px;min-height:40px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:500 .8rem "Jost",sans-serif;letter-spacing:.08em;cursor:pointer}
.langs button.on{background:var(--green);border-color:var(--green);color:#fff}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 4px}.tabs button{min-height:44px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:500 .85rem "Jost",sans-serif;cursor:pointer}.tabs button.on{background:var(--green);border-color:var(--green);color:#fff}
.hint{color:var(--muted);font-size:.85rem;margin:6px 0 0}
