:root{
  --navy:#0f214c;
  --navy-2:#172f67;
  --fuchsia:#d41468;
  --fuchsia-dark:#ad0f55;
  --blue:#2a5ca8;
  --ink:#26384f;
  --muted:#66758a;
  --line:#dbe2ee;
  --bg:#f4f7fc;
  --white:#fff;
  --green:#14745f;
  --red:#b83232;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f4f7fc,#fff8fc);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
.admin-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px max(18px,calc((100% - 1100px)/2));background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.admin-header strong{color:var(--navy)}
.admin-header a{color:var(--fuchsia-dark);font-weight:750}
.admin-shell{width:min(1100px,calc(100% - 28px));margin:28px auto 80px}
.auth-card,.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:0 16px 40px rgba(15,33,76,.08)}
.auth-card{max-width:500px;margin:8vh auto}
.panel{margin-top:22px;scroll-margin-top:90px}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap}
.admin-tabs a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--navy);font-weight:750}
.admin-tabs a:hover{border-color:#ef9ac1;color:var(--fuchsia-dark)}
h1,h2,h3,h4{color:var(--navy)}
h1{margin-top:0}
label{display:grid;gap:6px;font-weight:700;margin-bottom:15px}
input,textarea{width:100%;padding:11px 12px;border:1px solid #bbc8d8;border-radius:12px;background:#fff;color:#1f334b}
input:focus,textarea:focus{outline:3px solid rgba(42,92,168,.14);border-color:var(--blue)}
textarea{resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.checks{display:flex;gap:10px 18px;flex-wrap:wrap;margin-bottom:20px}
.check{display:flex;align-items:center;gap:8px;font-weight:650}
.check input{width:auto}
button{border:0;border-radius:999px;padding:11px 18px;background:linear-gradient(135deg,var(--fuchsia),#e45a9c);color:#fff;font-weight:800;cursor:pointer}
button:hover{filter:brightness(.97)}
button.secondary{background:#eef3fb;color:var(--navy);border:1px solid #cfd9ea}
button.danger,.danger{background:var(--red);margin-top:18px}
button.danger-soft{background:#fff0f4;color:#9f244d;border-color:#f2bfd0;margin-top:8px}
.flash{padding:14px 16px;border-radius:13px;margin-bottom:18px}
.flash.success{background:#e2f5ed;color:var(--green)}
.flash.error{background:#fde8e8;color:var(--red)}
.admin-note{padding:14px 16px;border-left:5px solid var(--fuchsia);background:#fff2f8;border-radius:0 16px 16px 0}
.media-group{margin-top:34px;padding-top:4px;border-top:1px solid var(--line)}
.media-group>h3{margin:22px 0 14px}
.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.upload-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;padding:16px;background:linear-gradient(180deg,#fff,#fbfcff)}
.upload-card h4{font-size:1rem;margin:14px 0 5px}
.upload-card>p{font-size:.9rem;color:var(--muted);margin:0 0 14px;min-height:44px}
.upload-card form{margin-top:auto}
.upload-card form+form{margin-top:7px}
.upload-card input[type=file]{font-size:.86rem;margin-bottom:10px}
.admin-preview{display:grid;place-items:center;width:100%;overflow:hidden;border-radius:18px;background:#edf2fa;border:1px dashed #cad5e6;color:var(--muted);min-height:180px}
.admin-preview img{width:100%;height:100%;object-fit:cover;border-radius:18px}
.admin-preview.square{aspect-ratio:1}
.admin-preview.portrait{aspect-ratio:3/4}
.admin-preview.landscape{aspect-ratio:16/9}
.admin-preview.free{aspect-ratio:4/3}
.empty-preview{font-weight:750}
.json-editor{min-height:650px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre}
@media(max-width:900px){.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.grid2,.image-grid{grid-template-columns:1fr}.admin-header{padding-inline:14px}.admin-shell{width:calc(100% - 18px)}.panel,.auth-card{padding:18px}.json-editor{min-height:520px}.upload-card>p{min-height:0}}
select{width:100%;padding:11px 12px;border:1px solid #bbc8d8;border-radius:12px;background:#fff;color:#1f334b}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-grid article{display:flex;flex-direction:column;padding:20px;border-radius:19px;background:linear-gradient(145deg,#fff2f8,#edf4ff);border:1px solid #dce3ee}.stat-grid strong{font-size:2.1rem;color:var(--navy)}.stat-grid span{font-size:.85rem;color:var(--muted)}.admin-details{margin:10px 0;border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}.admin-details summary{display:flex;justify-content:space-between;gap:15px;padding:14px 16px;cursor:pointer;color:var(--navy);font-weight:800}.admin-details summary span{font-size:.75rem;color:var(--muted);font-weight:650}.admin-details>div{padding:17px;border-top:1px solid var(--line);background:#fbfcff}.metadata{font-size:.8rem;color:var(--muted)}.question-admin-list{max-height:850px;overflow:auto;padding-right:5px;margin-bottom:18px}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--navy);background:#eef3fb}td a{color:var(--fuchsia-dark);font-weight:750}.search-form{display:flex;gap:10px}.search-form input{flex:1}.lookup-card{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:19px;background:#f9fbff}.lookup-card pre{max-height:600px;overflow:auto;padding:14px;border-radius:12px;background:#111b30;color:#eaf2ff;font-size:12px;white-space:pre-wrap}.inline-test{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.upload-card button{width:100%}.upload-card .secondary{margin-top:8px}.flash.warning{background:#fff3d9;color:#7d5200}
@media(max-width:900px){.stat-grid{grid-template-columns:1fr 1fr}.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.stat-grid,.grid4{grid-template-columns:1fr}.search-form{flex-direction:column}.admin-tabs{position:relative;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.admin-tabs a{white-space:nowrap}.admin-details summary{flex-direction:column}.admin-header strong{font-size:.8rem}}

/* v2.2 — activation rapide et variantes de formulation */
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 28px}
.feature-card{display:flex;align-items:flex-start;gap:12px;margin:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f7f9fd);cursor:pointer}
.feature-card:has(input:checked){border-color:#6fa7d6;background:linear-gradient(145deg,#eef8fb,#fdf4f8);box-shadow:0 8px 24px rgba(15,33,76,.07)}
.feature-card input{width:20px;height:20px;margin-top:2px;accent-color:var(--fuchsia)}
.feature-card span{display:grid;gap:4px}
.feature-card strong{color:var(--navy)}
.feature-card small{color:var(--muted);font-weight:500;line-height:1.45}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.variant-details{margin:18px 0;border:1px dashed #b9c9dc;border-radius:15px;background:#fff}
.variant-details>summary{padding:12px 14px;color:var(--blue);font-weight:800;cursor:pointer}
.variant-details>div{padding:14px;border-top:1px dashed #d7e0ec}
.variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.variant-grid section{padding:14px;border-radius:14px;background:#f6f8fc;border:1px solid #e2e8f1}
.variant-grid h4{margin-top:0}
.warning-note{padding:12px 14px;border-radius:13px;background:#fff6dd;color:#684a00;border:1px solid #f2d892}
@media(max-width:900px){.feature-grid,.variant-grid{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.grid3{grid-template-columns:1fr}}
