:root{--bg:#f6f3ee;--card:#fff;--ink:#1f2328;--muted:#6b7280;--accent:#234a3f;--line:#e5e0d8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink)}header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#17261f;color:white;position:sticky;top:0;z-index:5}header span{display:block;color:#cbd5cf;font-size:13px}nav{display:flex;gap:10px;flex-wrap:wrap}nav a{color:white;text-decoration:none;background:rgba(255,255,255,.12);padding:8px 10px;border-radius:10px}main{max-width:1180px;margin:24px auto;padding:0 16px}.flash{background:#e8fff1;border:1px solid #b5e5c6;padding:12px;border-radius:12px;margin-bottom:14px}.cards{display:flex;gap:14px;margin-bottom:14px}.card,.panel,section{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 4px 16px rgba(0,0,0,.04)}.card b{font-size:32px;display:block}.card span,.hint{color:var(--muted)}.season-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#17261f,#234a3f);color:white;border-radius:22px;padding:22px;margin-bottom:14px;box-shadow:0 6px 18px rgba(0,0,0,.08)}.season-banner .label{display:block;color:#cbd5cf;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.season-banner strong{display:block;font-size:34px;line-height:1.1}.season-banner em{display:block;color:#e5eee8;font-style:normal;margin-top:4px}.season-switch{min-width:220px}.season-switch select{border:0}.filters{background:var(--card);padding:14px;border-radius:16px;border:1px solid var(--line);display:grid;grid-template-columns:2fr repeat(5,1fr) auto;gap:10px;margin-bottom:14px}.export-actions{display:flex;gap:10px;margin:0 0 14px}.button{display:inline-block;text-decoration:none;background:var(--accent);color:white;padding:10px 12px;border-radius:10px;font-weight:700}.table{background:var(--card);border-radius:18px;border:1px solid var(--line);overflow:hidden}.row{display:grid;grid-template-columns:52px 2fr 1fr 1fr 1fr 1fr 1fr;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.row.head{background:#faf7f0;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.row.head:hover{background:#faf7f0}.row:hover{background:#faf7f0}.avatar{width:42px;height:42px;border-radius:12px;background:#eee;display:grid;place-items:center;overflow:hidden}.avatar img,.preview{width:100%;height:100%;object-fit:cover}.preview{width:120px;height:120px;border-radius:16px;border:1px solid var(--line);display:block;margin-bottom:10px}.form h1{margin-top:0}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid section{margin:0}label{display:block;font-weight:600;margin:10px 0 4px}input,select,textarea,button{width:100%;padding:11px;border:1px solid #d2ccc3;border-radius:10px;font-size:15px;background:white}textarea{min-height:96px}button,.primary{background:var(--accent);color:white;border:0;font-weight:700;cursor:pointer}.primary{margin-top:14px}.inline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end}.empty{padding:20px;color:var(--muted)}.panel{margin-top:18px}@media(max-width:800px){header{display:block}nav{margin-top:12px}.season-banner{display:block}.season-switch{margin-top:12px}.filters,.grid,.inline,.row{grid-template-columns:1fr}.cards{display:block}.card{margin-bottom:10px}.row{gap:5px}.row .avatar{display:none}.row.head{display:none}}
.identite-header{
    display:flex;
    gap:25px;
    align-items:flex-start;
}

.photo-zone{
    width:160px;
    flex-shrink:0;
}

.photo-adherent{
    width:160px;
    height:210px;
    object-fit:cover;
    border-radius:12px;
    border:1px solid #ccc;
}

.photo-vide{
    width:160px;
    height:210px;
    border:2px dashed #bbb;
    border-radius:12px;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:#777;
    background:#f5f5f5;
}

.identite-form{
    flex:1;
}

.upload-photo{
    margin-top:10px;
    display:block;
}
fieldset{border:0;padding:0;margin:0}fieldset:disabled{opacity:.78}.readonly-banner{background:#fff7d6;border:1px solid #efd57a;padding:12px;border-radius:12px;margin-bottom:14px}.login-card{max-width:520px;margin:50px auto}.users .row{grid-template-columns:1.2fr 2fr 1fr 1fr 1fr}

.badge{font-size:12px;padding:2px 6px;border-radius:999px;background:#eee;margin-left:6px}.warning{background:#fff3cd;border-color:#ffe08a}.danger-zone{border-color:#f1b0b7}.danger{background:#b00020;color:white}
