
:root{color-scheme:dark;--bg:#100c15;--panel:#1c1525;--line:#392943;--muted:#c5b5ce;--accent:#ff72dc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#3c1238,transparent 40%),var(--bg);color:#fff;font:16px system-ui,sans-serif}header,main,footer{width:min(100% - 32px,1000px);margin:auto}header{padding:30px 0 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-size:24px;font-weight:900;letter-spacing:.13em;color:#ffc2a6}.badge,small{color:var(--muted)}.badge{border:1px solid var(--line);padding:6px 10px;border-radius:99px;font-size:12px}nav,.row{display:flex;gap:10px;flex-wrap:wrap}nav{margin-bottom:32px}button,select,input{font:inherit;color:inherit;border:1px solid var(--line);border-radius:9px;background:#140e1c;padding:11px 13px}button{cursor:pointer}button:hover,button[aria-current=true]{border-color:var(--accent)}.primary{background:#fa73d5;color:#210b1c;font-weight:800;border-color:transparent}h1{font-size:clamp(32px,6vw,53px);letter-spacing:-.045em;margin:5px 0 10px}h2{margin-top:0}p{line-height:1.55;color:var(--muted)}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,315px),1fr));gap:16px;margin:22px 0}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.card form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:650}input,select{width:100%;min-width:0}output{display:block;margin-top:12px;color:#a8efbc}output[data-error]{color:#ffadba}.item{padding:12px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.metric{font-size:42px;font-weight:850;color:var(--accent)}footer{padding:24px 0;color:var(--muted);font-size:13px}code{color:#ffafea}details summary{cursor:pointer}a{color:var(--accent)}

.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.team{--tone:#e8a9fa;--wash:#30203d;padding:0;overflow:hidden;border-top:3px solid var(--tone)}
.team[data-tone="1"]{--tone:#a6baff;--wash:#202b43}
.team[data-tone="2"]{--tone:#9ddbc6;--wash:#1e3535}
.team[data-tone="3"]{--tone:#f4bf9d;--wash:#392926}
.team[data-tone="4"]{--tone:#eea9c8;--wash:#382338}
.team-head{background:var(--wash);padding:18px 20px}.team-title,.rp-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.team-title h2{margin:0;color:var(--tone);overflow-wrap:anywhere}.team .badge{background:#160f20;color:var(--tone);white-space:nowrap}
.team-settings{margin-top:12px;color:var(--muted)}.team details form{margin:12px 0}.rp-list{display:grid;gap:10px;padding:14px}.rp-card{border:1px solid var(--line);background:#17101e;border-radius:11px;padding:12px}.rp-card strong{overflow-wrap:anywhere}.rp-actions{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-top:9px}.rp-actions a{color:var(--tone)}.team button,.team summary,.rp-actions a{font-size:14px}.team button{padding:8px 10px}.team button[data-qr]{border-color:var(--tone);color:var(--tone)}.rp-card details{margin-top:10px;color:var(--muted)}.rp-list p{margin:0}
@media(max-width:700px){.team-grid{grid-template-columns:1fr}}

nav{align-items:center}nav a,.brand{text-decoration:none}.card label{margin-top:10px}.card form button{justify-self:start}.notice{padding:12px 16px;background:#33243b;border-radius:8px}.item[hidden]{display:none}

/* Navigation de l'espace admin */
.admin-header{width:100%;margin:0 0 clamp(22px,4vw,42px);padding:0;display:block;background:linear-gradient(115deg,#1b1425,#29182b);border-bottom:1px solid #49334e}
.admin-header-inner{width:min(100% - 32px,1000px);margin:auto;padding:18px 0 12px}
.admin-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.admin-top form{margin:0}
.admin-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#ffd0bb}
.admin-brand strong,.admin-brand small{display:block}
.admin-brand strong{letter-spacing:.13em;font-size:clamp(13px,3vw,17px)}
.admin-brand small{font-size:12px;margin-top:2px}
.admin-mark{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:10px;background:#372234;border:1px solid #694359;font-weight:900;font-size:21px}
.admin-logout{font-size:13px;padding:9px 11px;background:#1b1425;color:#e3d5e8}
.admin-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.admin-menu a{display:flex;min-width:0;min-height:46px;align-items:center;gap:8px;padding:8px 11px;border:1px solid transparent;border-radius:9px;background:#1b1425;color:#e3d5e8;font-size:14px;font-weight:650;line-height:1.25}
.admin-menu svg{width:18px;height:18px;flex:none;color:#cfabc9}
.admin-menu a:hover{border-color:#a8729a}
.admin-menu a[aria-current=page]{background:#40263e;border-color:#d87dbf;color:#fff;box-shadow:inset 0 -3px #f192d9}
.admin-menu a[aria-current=page] svg{color:#ffb2e9}
.admin-header a:focus-visible,.admin-header button:focus-visible{outline:2px solid #ffb2e9;outline-offset:2px}
@media(max-width:650px){.admin-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
