#admin-open{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font:700 12.5px var(--font-ui);border-color:var(--window-line)!important}#admin-open[hidden]{display:none!important}#admin-open img{width:23px;height:23px;object-fit:contain}
#admin-panel{width:min(1080px,calc(100vw - 32px));height:min(760px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:0;overflow:hidden;border:1px solid var(--window-line);border-radius:6px;background:var(--window-paper);color:var(--window-ink);box-shadow:var(--window-shadow);font:12px/1.4 var(--font-ui)}#admin-panel[open]{display:flex;flex-direction:column}#admin-panel::backdrop{background:#0718139e}#admin-panel *{box-sizing:border-box}#admin-panel :is(button,input,select){font:inherit}#admin-panel :is(button,input,select):focus-visible{outline:2px solid var(--window-accent,#e07b17);outline-offset:1px}#admin-panel button{cursor:pointer;border:1px solid var(--window-line);border-radius:3px;padding:5px 9px;background:var(--window-paper-deep);color:var(--window-ink);font-weight:700;min-height:30px}#admin-panel button:disabled{opacity:.55;cursor:default}#admin-panel [hidden]{display:none!important}#admin-panel small{font-size:12px}
.admin-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.admin-heading{padding:7px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--window-chrome);color:var(--window-text);flex:none}.admin-heading>div{display:flex;gap:10px;align-items:center}.admin-heading img{width:28px;height:28px;object-fit:contain}.admin-heading span{font-size:12px;letter-spacing:.05em;color:var(--window-muted)}.admin-heading h2{font:700 16px/1.2 var(--font-ui);margin:0}#admin-panel #admin-close{width:32px;height:32px;flex:none;font-size:20px;padding:0}
#admin-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column}
.admin-pad{padding:12px 14px}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:14px}.admin-stats.is-compact{grid-template-columns:repeat(4,1fr);margin:12px 0}#admin-panel .admin-stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid var(--window-line);border-radius:4px;background:var(--window-paper-deep);font-weight:400}.admin-stat img{grid-row:span 2;width:28px;height:28px;object-fit:contain}.admin-stat b{font-size:19px;line-height:1.1}.admin-stat span{font-size:12px;color:var(--window-ink);opacity:.8}.admin-stats.is-compact .admin-stat b{font-size:15px}#admin-panel .admin-stat.is-link{cursor:pointer;box-shadow:inset 3px 0 var(--window-accent,#e07b17)}
.admin-section-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;margin:4px 0 6px}#admin-panel .admin-link{border:0;background:none;padding:2px;text-decoration:underline;min-height:0}
.admin-logs{display:grid;gap:3px}.admin-log{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:start;padding:6px 8px;border:1px solid #0000001f;background:#ffffff38;border-radius:3px}.admin-log.is-rejected{background:#c2513b1f}.admin-log p{margin:2px 0 0;overflow-wrap:anywhere}.admin-log small{text-align:right;opacity:.8}.admin-log-kind{font-weight:700;font-size:12px;padding:1px 6px;border-radius:3px;background:#0000001a;justify-self:start}.admin-log-kind:is([data-kind=ban],[data-kind=mute],[data-kind=chat_delete]){background:#b8432f;color:#fff}.admin-log-kind:is([data-kind=gift],[data-kind=gift_kamas],[data-kind=support_validate]){background:#4e7a2a;color:#fff}
.admin-layout{display:grid;grid-template-columns:300px minmax(0,1fr);flex:1;min-height:0}.admin-directory{padding:10px;border-right:1px solid var(--window-line);min-width:0;display:flex;flex-direction:column;min-height:0}.admin-search{display:flex;gap:5px}.admin-search>:is(input,select){flex:1;min-width:0}.admin-players{display:grid;align-content:start;gap:3px;margin-top:8px;overflow-y:auto;flex:1;min-height:120px;max-height:560px}#admin-panel .admin-players>button{display:flex;text-align:left;align-items:center;gap:7px;width:100%;padding:4px 6px;font-weight:400}#admin-panel .admin-players>button[aria-pressed=true]{background:var(--window-paper);box-shadow:inset 3px 0 var(--window-accent,#e07b17)}
.admin-avatar{display:grid;place-items:center;flex:none;width:30px;height:36px}.admin-avatar img{width:28px;height:36px;object-fit:contain}.admin-identity{display:flex;flex:1;min-width:0;flex-direction:column}.admin-identity strong{overflow-wrap:anywhere;font-weight:700}.admin-identity small{opacity:.8}.admin-flags{display:flex;gap:3px;align-items:center}.admin-flags i{font:700 11px/1 var(--font-ui);font-style:normal;padding:2px 4px;border-radius:2px;color:#fff}.admin-flags .is-bad{background:#b8432f}.admin-flags .is-warn{background:#b77a16}.admin-presence{width:8px;height:8px;border-radius:50%;background:#8b8573;flex:none}.admin-presence.is-online{background:#3f9a3f}.admin-tag{font-size:12px;white-space:nowrap;background:#e07b1733;border:1px solid #e07b1766;border-radius:3px;padding:1px 6px}
.admin-selection{padding:12px 14px;min-width:0;overflow:auto}.admin-selection>header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--window-line)}.admin-selection>header .admin-identity strong{font-size:15px}.admin-chips{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.admin-chip{font-size:12px;font-weight:700;padding:1px 7px;border-radius:3px;background:#0000001a}.admin-chip.is-online{background:#3f9a3f;color:#fff}.admin-chip.is-warn{background:#b77a16;color:#fff}.admin-chip.is-bad{background:#b8432f;color:#fff}.admin-chip.is-tier{background:#5a3f86;color:#fff}
.admin-action-form{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid var(--window-line);background:var(--window-paper-deep);border-radius:4px}#admin-panel label{display:grid;gap:3px;font-size:12px;font-weight:700}#admin-panel input,#admin-panel select{width:100%;border:1px solid var(--window-line);background:#fffbe9;color:#2b2214;border-radius:3px;padding:5px 7px;font-size:12px;min-width:0;min-height:30px}.admin-fields{display:grid;gap:8px}.admin-fields:empty{display:none}#admin-panel .admin-primary{background:var(--window-accent,#e07b17);color:var(--window-accent-ink,#1d1306);border-color:#8a4b0e}.admin-note{margin:0;font-size:12px;opacity:.85}
.admin-durations,.admin-quick,.admin-segment{display:flex;flex-wrap:wrap;gap:4px}#admin-panel :is(.admin-durations,.admin-segment) button[aria-pressed=true]{background:var(--window-chrome);color:var(--window-text)}#admin-panel .admin-quick button{font-weight:400;min-height:26px;padding:2px 8px;border-style:dashed}
.admin-item-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;max-height:196px;overflow-y:auto;padding:4px;border:1px solid var(--window-line);background:#fff6;border-radius:3px}#admin-panel .admin-item-picker button{display:grid;justify-items:center;gap:2px;padding:4px 2px;font-weight:400;font-size:12px;line-height:1.1}.admin-item-picker img{width:34px;height:34px;object-fit:contain}.admin-item-picker span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#admin-panel .admin-item-picker button[aria-selected=true]{background:var(--window-paper);outline:2px solid var(--window-accent,#e07b17)}
.admin-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-sheet-grid section{min-width:0}.admin-sheet-grid h4{margin:0 0 5px;font-size:12px;padding:3px 6px;background:var(--window-chrome);color:var(--window-text);border-radius:3px}.admin-sheet-grid h4 small{font-weight:400;opacity:.8}.admin-bag{display:grid;grid-template-columns:repeat(auto-fill,40px);gap:3px;max-height:180px;overflow:auto}.admin-bag span{position:relative;width:40px;height:40px;border:1px solid var(--window-line);background:#0000000d;border-radius:3px}.admin-bag img{width:100%;height:100%;object-fit:contain;padding:3px}.admin-bag b{position:absolute;right:1px;bottom:0;font-size:11px;background:#fffbe9d9;padding:0 2px;border-radius:2px}.admin-mini{list-style:none;margin:0;padding:0;display:grid;gap:3px;max-height:180px;overflow:auto}.admin-mini li{padding:3px 6px;background:#ffffff38;border-radius:2px;overflow-wrap:anywhere}.admin-mini small{display:block;opacity:.8}
.admin-proof{display:grid;gap:4px;margin:10px 0 6px;padding:8px;border:1px solid var(--window-line);background:#ffffff38;border-radius:3px}.admin-sheet-grid .admin-proof{margin:0}.admin-proof div{display:flex;justify-content:space-between;gap:10px}.admin-proof dt{opacity:.8}.admin-proof dd{text-align:right;font-weight:700;margin:0;overflow-wrap:anywhere;max-width:65%;display:flex;align-items:center;gap:4px}.admin-tier-icon{width:22px;height:22px;object-fit:contain}
.admin-selection-empty{padding:40px 24px;text-align:center;align-self:center}.admin-selection-empty>img{width:48px;height:48px;object-fit:contain;opacity:.7}.admin-selection-empty h3{font-size:15px;margin:10px 0 4px}.admin-selection-empty p{margin:0}.admin-empty{padding:12px 6px;opacity:.85;margin:0}
.admin-chat{display:grid;gap:3px}.admin-chat article{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:5px 8px;border:1px solid #0000001f;background:#ffffff38;border-radius:3px}.admin-chat p{margin:2px 0 0;overflow-wrap:anywhere}.admin-chat article>span{display:flex;gap:4px;flex:none}#admin-panel .admin-chat button{font-size:12px;padding:3px 7px;min-height:26px}
.admin-status{margin:8px 14px 0;padding:6px 10px;border:1px solid #4e7a2a88;background:#dce5c3;color:#203a10;border-radius:3px}.admin-status.is-error{background:#f1d5bd;border-color:#b8432f88;color:#5e2414}.admin-confirm{margin:8px 14px 0;padding:10px 12px;border:2px solid var(--window-accent,#e07b17);background:#fbefcf;color:#2b2214;border-radius:4px}.admin-confirm h3{font-size:14px;margin:2px 0 4px}.admin-eyebrow{font-size:12px;letter-spacing:.05em;color:#80521a}.admin-confirm p{margin:4px 0}.admin-confirm blockquote{margin:6px 0 8px;padding-left:8px;border-left:3px solid #b8892f;overflow-wrap:anywhere}.admin-confirm>div{display:flex;gap:6px}
.admin-footer{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;background:var(--window-paper-deep);border-top:1px solid var(--window-line);margin-top:auto;flex:none}.admin-footer img{width:18px;height:18px;object-fit:contain}
@media(max-width:760px){#admin-panel{width:calc(100vw - 12px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.admin-tabs span{display:none}.admin-tabs button{padding:5px 8px!important}.admin-layout{grid-template-columns:1fr}.admin-directory{border-right:0;border-bottom:1px solid var(--window-line)}.admin-players{max-height:200px}.admin-sheet-grid,.admin-stats.is-compact{grid-template-columns:1fr 1fr}.admin-log{grid-template-columns:1fr}.admin-log small{text-align:left}.admin-chat article{flex-direction:column;align-items:stretch}#admin-panel :is(button,input,select){min-height:38px}}
@media(max-width:420px){.admin-sheet-grid{grid-template-columns:1fr}}
.admin-reports article.is-alert{border-left:3px solid #c0392b;background:#fbe7e2}

/* Onglet Accès (accès anticipé). */
.admin-access-tag{font-style:normal;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:#3f8f4a;color:#fff}.admin-access-tag.is-staff{background:#7a4bd1}
/* Console MJ, habillage soigné (octobre 2026) : en-tête dégradé, onglets en pastilles, cartes, explications des paliers. */
#admin-panel{border-radius:12px;border-color:#8a6a2c;box-shadow:0 30px 90px #0009,0 0 0 1px #f3dfa833 inset}
#admin-panel .admin-heading{background:linear-gradient(180deg,#3b2c18,#271c0f);color:#f6e7c3;padding:10px 16px;border-bottom:1px solid #8a6a2c}
#admin-panel .admin-heading h2{color:#ffe2a0;letter-spacing:.02em}#admin-panel .admin-heading span{color:#d6c08e}
#admin-panel .admin-stat{border-radius:10px;border:1px solid #e0cc98;background:linear-gradient(180deg,#fffaf0,#f6ebcf);box-shadow:0 1px 0 #fff inset,0 2px 6px #6b4e1a14}
#admin-panel .admin-stat b{font-size:20px;color:#3b2c18}
#admin-panel .admin-section-caption{margin:18px 0 8px;padding-bottom:5px;border-bottom:1px solid #e3d2a4}
#admin-panel .admin-section-caption strong{font-size:13.5px;color:#3b2c18}
#admin-panel .admin-primary{background:linear-gradient(180deg,#f1a33d,#d9781a);color:#26170a;border-color:#a65a12;box-shadow:0 2px 8px #d9781a40}
#admin-panel .admin-primary:hover:not(:disabled){filter:brightness(1.06)}
.admin-card{border:1px solid #e0cc98;border-radius:10px;background:#fffaf0;padding:10px 12px;box-shadow:0 2px 8px #6b4e1a12}
.admin-card h4{margin:0 0 4px;font-size:13px;color:#3b2c18}.admin-card .admin-hint{margin:0 0 8px}
.admin-tools,.admin-test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.admin-test-grid .admin-card:first-child{grid-column:1/-1}
.admin-explain{border:1px solid #e0cc98;border-radius:12px;background:linear-gradient(180deg,#fffaf0,#f8eed5);padding:12px 14px}
.admin-explain h3{margin:0 0 10px;font-size:15px;color:#3b2c18}
.admin-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.admin-steps li{display:flex;gap:10px;align-items:flex-start}
.admin-steps li>b{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#3b2c18;color:#ffe2a0;font-size:12px}
.admin-steps li strong{display:block;font-size:12.5px}.admin-steps li span{display:block;color:#6d5c3c;font-size:12px}
.admin-live{margin:10px 0 0;padding:7px 10px;border-radius:8px;background:#e8f6e0;border:1px solid #8cc172;color:#244a17}
.admin-tier-table{display:grid;border:1px solid #e0cc98;border-radius:10px;overflow:hidden;background:#fffaf0}
.admin-tier-table [role=row]{display:grid;grid-template-columns:130px 1fr 1.6fr;gap:10px;padding:7px 10px;border-top:1px solid #efe2c0;align-items:center}
.admin-tier-table [role=row].is-head{border-top:0;background:#f1e3bd;font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:#6d5c3c}
.admin-tier-table [role=cell]:first-child{display:flex;align-items:center;gap:7px}
.admin-tier-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#bbb;box-shadow:0 0 0 2px #fff,0 0 0 3px #0002;flex:none}
.admin-tier-dot[data-tier=follower]{background:#9aa3ad}.admin-tier-dot[data-tier=cawotte]{background:#f08a24}.admin-tier-dot[data-tier=pourpre]{background:#8e3fc4}.admin-tier-dot[data-tier=turquoise]{background:#1fb7b0}.admin-tier-dot[data-tier=vulbis]{background:#3f6fe0}.admin-tier-dot[data-tier=tachete]{background:linear-gradient(135deg,#f6d04d,#e0565b,#5b8de0)}
.admin-segment button{display:inline-flex;align-items:center;gap:6px}
@media(max-width:640px){.admin-tier-table [role=row]{grid-template-columns:1fr}.admin-tier-table [role=row].is-head{display:none}}
/* Actions en boutons groupés (Sanctions, Dons, Dépannage, Soutien) et journal en cartes. */
.admin-action-groups{display:grid;gap:8px;margin-bottom:10px}
.admin-action-group{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center}
.admin-action-group>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6d5c3c}
.admin-action-group>div{display:flex;flex-wrap:wrap;gap:5px}
#admin-panel .admin-action-group button{border-radius:999px;padding:5px 12px;background:#fbf4e1;border-color:#cfb67c}
#admin-panel .admin-action-group button.is-gift{border-color:#5d9b4b;background:#eef7e6}
#admin-panel .admin-action-group button[aria-pressed=true]{background:#3b2c18;color:#ffe2a0;border-color:#3b2c18;box-shadow:0 2px 8px #3b2c1840}
.admin-logs{gap:6px!important}
#admin-panel .admin-log{grid-template-columns:170px 1fr auto;align-items:center;padding:9px 12px;border:1px solid #e0cc98;border-left:4px solid #b58d3c;border-radius:10px;background:#fffaf0;box-shadow:0 1px 4px #6b4e1a12}
#admin-panel .admin-log[data-kind=ban],#admin-panel .admin-log[data-kind=mute]{border-left-color:#c2513b}
#admin-panel .admin-log[data-kind=unban],#admin-panel .admin-log[data-kind=unmute]{border-left-color:#5d9b4b}
#admin-panel .admin-log[data-kind=gift]{border-left-color:#3f8f6a}
#admin-panel .admin-log[data-kind=support]{border-left-color:#8e3fc4}
#admin-panel .admin-log[data-kind=access],#admin-panel .admin-log[data-kind=admin]{border-left-color:#3f6fe0}
#admin-panel .admin-log-kind{display:inline-block;justify-self:start;padding:3px 9px;border-radius:999px;background:#3b2c18;color:#ffe2a0;font-size:11px;font-weight:800}
.admin-log-body strong{font-size:13px;color:#3b2c18}.admin-log-body em{margin-left:8px;font-style:normal;color:#3f8f6a;font-weight:700}.admin-log-body p{margin:2px 0 0;color:#6d5c3c}.admin-log-body .is-error{color:#a8231a}
#admin-panel .admin-log small{text-align:right;color:#8a7650;line-height:1.35}#admin-panel .admin-log small b{display:block;color:#3b2c18}
@media(max-width:640px){#admin-panel .admin-log{grid-template-columns:1fr}.admin-action-group{grid-template-columns:1fr}}
/* Objet à offrir : liste lisible et fiche. */
.admin-item-cats{margin:6px 0}
.admin-item-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:5px;max-height:260px;overflow:auto;padding:4px;border:1px solid #e0cc98;border-radius:10px;background:#fffaf0}
#admin-panel .admin-item-list button{display:flex;align-items:center;gap:8px;text-align:left;padding:5px 8px;border-radius:8px;background:#fbf4e1;border-color:#e3d2a4;min-height:44px}
#admin-panel .admin-item-list button[aria-selected=true]{background:#3b2c18;color:#ffe2a0;border-color:#3b2c18}
.admin-item-list img{width:32px;height:32px;object-fit:contain;flex:none}
.admin-item-list span{display:flex;flex-direction:column;min-width:0}.admin-item-list b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-item-list small{font-size:11px!important;opacity:.75;font-weight:600}
.admin-item-sheet{display:flex;gap:12px;align-items:flex-start;margin-top:8px;padding:10px 12px;border:1px solid #b58d3c;border-radius:10px;background:linear-gradient(180deg,#fffaf0,#f6ebcf)}
.admin-item-sheet img{width:52px;height:52px;object-fit:contain}.admin-item-sheet strong{display:block;font-size:14px;color:#3b2c18}.admin-item-sheet small{color:#6d5c3c}
.admin-item-sheet ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 12px}.admin-item-sheet li{color:#2d6b3a;font-weight:700}.admin-item-sheet li.is-neg{color:#a8231a}
.admin-mass{display:grid;gap:8px}.admin-mass label{display:grid;gap:3px;font-weight:700;font-size:12px}.admin-mass input{padding:6px 8px;border:1px solid #cfb67c;border-radius:6px;background:#fffdf3}.admin-mass-row{display:grid;grid-template-columns:120px 1fr;gap:8px}
/* Confirmation : carte centrée par-dessus le panneau (objet, destinataire, motif, boutons à droite). */
html[data-theme] .admin-confirm{position:fixed!important;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;width:min(420px,calc(100vw - 32px));margin:0!important;padding:0!important;border:1px solid #b9a06a!important;border-radius:14px!important;background:#faf4e2!important;color:#2b2214;box-shadow:0 0 0 100vmax #1a120873,0 18px 50px #0007;overflow:hidden}
.admin-confirm>header{padding:12px 16px 10px;background:linear-gradient(180deg,#4a3c26,#33281a);color:#f7ebc8}
.admin-confirm>header .admin-eyebrow{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.admin-confirm>header h3{margin:2px 0 0!important;font:400 18px/1.2 var(--font-display,"Bree Serif",serif)!important;color:#fff3d0}
.admin-confirm-body{display:flex;align-items:center;gap:12px;padding:14px 16px 6px}
.admin-confirm-body img{width:48px;height:48px;object-fit:contain;padding:5px;border-radius:12px;background:radial-gradient(circle at 50% 40%,#fffaf0,#e8dcb5);border:1px solid #d3c495;box-sizing:content-box}
.admin-confirm-what{margin:0!important;font-size:14px;font-weight:800;color:#2b2214}.admin-confirm-who{margin:3px 0 0!important;font-size:12.5px;color:#6f6346}
.admin-confirm-reason{margin:6px 16px 0!important;padding:8px 10px;border-radius:9px;background:#f0e5c4;font-size:12.5px;color:#3d3420;overflow-wrap:anywhere}
.admin-confirm-reason span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a7440;margin-bottom:2px}
html[data-theme] .admin-confirm .admin-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 16px 16px}
html[data-theme] .admin-confirm .admin-confirm-actions button{min-width:110px;padding:8px 14px!important;border-radius:9px!important;font-weight:800}

.admin-alts{display:block;font-style:italic;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-near{display:flex;align-items:center;gap:6px;margin:4px 0 8px;font-weight:700;cursor:pointer}.admin-near small{font-weight:400;opacity:.7}
.admin-tp-map{margin:0 0 8px}.admin-tp-map canvas{display:block;width:100%;max-width:360px;aspect-ratio:3/2;border:1px solid #8a6a2c;border-radius:6px;image-rendering:pixelated}.admin-tp-map small{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:3px;font-size:11px;opacity:.85}.admin-tp-map .sw{display:inline-block;width:9px;height:9px;border-radius:2px}.sw.sel{background:#f2b53a}.sw.tgt{background:#4a90e2}.sw.me{background:#58c46a}
.admin-studio-link{display:block;margin:0 0 8px;padding:7px 10px;border:1px solid #c4302b55;border-radius:8px;background:#c4302b12;color:#a1201b;font-weight:800;text-decoration:none}.admin-studio-link:hover{background:#c4302b22}
/* Objectifs communautaires */
.admin-goals .admin-goal-rows{display:grid;gap:6px;margin:8px 0}
.admin-goals .admin-goal-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;border:1px solid #d8c79c;border-radius:8px;background:#fffaf0}
.admin-goals .admin-goal-row.is-done{background:#eef7e4}
.admin-goals .admin-goal-row input[data-field=label]{flex:1 1 200px}
.admin-goals .admin-goal-row input[type=number]{width:72px}
.admin-goals .admin-goal-row label{display:inline-flex;align-items:center;gap:3px;font-size:12px}
.admin-goals .admin-goal-done{font-size:12px;font-weight:700;color:#2f6f1e}
.admin-goals .admin-goal-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Liste des joueurs (console MJ) : chaque ligne prend la hauteur de son contenu (nom, niveau, « Aussi : … ») ; têtes de classe en médaillon. */
#admin-panel .admin-players{grid-auto-rows:max-content}
#admin-panel .admin-players>button{height:auto!important;min-height:46px;padding:6px 8px;line-height:1.25;white-space:normal}
#admin-panel .admin-players .admin-identity{gap:1px;padding-right:4px}
#admin-panel .admin-players .admin-identity strong{line-height:1.2}
#admin-panel .admin-players .admin-identity small{line-height:1.25}
#admin-panel .admin-players .admin-alts{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}
.admin-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;background:#1d170f;border:1px solid #b48a3c}
.admin-avatar img{width:34px;height:34px;object-fit:cover;object-position:50% 15%}

/* ═══ Refonte de la console (14/10/2026) : plus claire, moderne, pensée pour le mobile ; couleurs du thème du jeu (--window-*). ═══ */
#admin-panel{width:min(1180px,calc(100vw - 32px));border-radius:16px;font-size:13px;box-shadow:0 30px 80px -20px #000c}
#admin-panel::backdrop{background:#0b0805b3;backdrop-filter:blur(3px)}
#admin-panel button{border-radius:10px;transition:background .15s,border-color .15s,transform .1s}
#admin-panel button:active:not(:disabled){transform:translateY(1px)}
.admin-heading{padding:10px 16px;background:linear-gradient(180deg,color-mix(in srgb,var(--window-chrome) 88%,#fff),var(--window-chrome));border-bottom:2px solid var(--window-accent,#e07b17)}
.admin-heading h2{font:400 19px/1.15 var(--font-display,var(--font-ui))}.admin-heading span{font-size:10.5px;letter-spacing:.14em}
#admin-panel #admin-close{border-radius:10px}
.admin-pad{padding:16px 18px}
#admin-panel .admin-stat{border-radius:14px;padding:12px 14px;box-shadow:0 1px 0 #0000000d;background:var(--window-paper)}
.admin-stat b{font-size:22px}
.admin-layout{grid-template-columns:320px minmax(0,1fr)}
.admin-directory{padding:12px;background:color-mix(in srgb,var(--window-paper-deep) 55%,transparent)}
.admin-search input{border-radius:10px!important;min-height:38px!important;padding:6px 12px!important}
.admin-players{gap:6px;max-height:none}
#admin-panel .admin-players>button{padding:8px 10px;border-radius:12px;border:1px solid var(--window-line);background:var(--window-paper);box-shadow:0 1px 0 #0000000d}
#admin-panel .admin-players>button[aria-pressed=true]{border-color:var(--window-accent,#e07b17);box-shadow:inset 4px 0 var(--window-accent,#e07b17),0 4px 14px -8px #0006}
.admin-selection{padding:16px 20px}
.admin-selection>header{padding:12px 14px;border:1px solid var(--window-line);border-radius:14px;background:var(--window-paper);margin-bottom:12px}
.admin-selection>header .admin-identity strong{font:400 19px/1.2 var(--font-display,var(--font-ui))}
.admin-chip{border-radius:999px;padding:2px 9px}
.admin-chip.is-ok{background:#2f7a3f;color:#fff}.admin-chip.is-soon{background:#b77a16;color:#fff}.admin-chip.is-due{background:#b8432f;color:#fff}.admin-chip.is-ask{background:#2b6c9a;color:#fff}
.admin-back{display:none}
.admin-yt-card{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--window-line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--window-accent,#e07b17) 10%,var(--window-paper)),var(--window-paper))}
.admin-yt-card>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-yt-card b{display:flex;align-items:center;gap:6px;font-size:14px}.admin-yt-card small{flex:1;min-width:160px;opacity:.85}
#admin-panel .admin-link-btn{border:0;background:none;padding:2px 4px;min-height:0;font-weight:800;color:var(--window-accent,#b15a00);text-decoration:underline;cursor:pointer}
.admin-subtabs{align-items:center;gap:6px;margin:12px 18px 0;padding:4px;border:1px solid var(--window-line);border-radius:999px;background:var(--window-paper-deep);width:fit-content;max-width:calc(100% - 36px)}
#admin-panel .admin-subtabs button{border:0;border-radius:999px;padding:6px 14px;background:transparent;font-weight:800}
#admin-panel .admin-subtabs button[aria-selected=true]{background:var(--window-chrome);color:var(--window-text)}
.admin-subtabs b{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--window-accent,#e07b17);color:#fff;font-size:11px}
#ytv-admin{padding:14px 18px 18px}
.admin-action-form{gap:12px;padding:14px;border-radius:14px;background:var(--window-paper)}
.admin-action-groups{display:grid;gap:10px}
.admin-action-group{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:start}
.admin-action-group>span{padding-top:7px;font:800 10.5px var(--font-ui);letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.admin-action-group>div{display:flex;flex-wrap:wrap;gap:6px}
#admin-panel .admin-action-group button{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--window-line);background:var(--window-paper-deep);font-weight:700}
#admin-panel .admin-action-group button i{font-style:normal;font-size:14px;line-height:1}
#admin-panel .admin-action-group button[aria-pressed=true]{background:var(--window-chrome);color:var(--window-text);border-color:var(--window-chrome)}
#admin-panel .admin-action-group button.is-sanction[aria-pressed=true]{background:#8f3324;border-color:#8f3324;color:#fff}
#admin-panel input,#admin-panel select{border-radius:9px;min-height:36px;padding:6px 10px}
#admin-panel .admin-primary{min-height:42px;border-radius:12px;font-weight:800;font-size:14px}
#admin-panel .admin-durations button.is-forever{border-color:#8f3324;color:#8f3324}
#admin-panel .admin-durations button.is-forever[aria-pressed=true]{background:#8f3324;color:#fff}
.admin-note{margin:0;padding:8px 10px;border-radius:10px;background:#0000000b;font-size:12.5px}.admin-note.is-bad{background:#b8432f1f;color:#7a2416}
.admin-sheet-grid h4{border-radius:8px;padding:5px 9px}
.admin-confirm{border-radius:14px;box-shadow:0 12px 32px -14px #0008}
.admin-footer{font-size:11.5px;opacity:.9}
/* Avertissement reçu par le joueur */







/* Mobile : console plein écran, liste puis fiche (bouton retour), onglets lisibles qui défilent */
@media(max-width:760px){
 #admin-panel{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;margin:0;border-radius:0;border:0}
 .admin-heading{padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top))}
 .admin-pad{padding:12px}
 .admin-stats{grid-template-columns:1fr 1fr}
 .admin-layout{display:block}
 .admin-directory{border:0;background:none}
 .admin-players{max-height:none!important;overflow:visible}
 .admin-layout:not(.has-selection) .admin-selection-empty{display:none}
 .admin-layout.has-selection .admin-directory{display:none}
 .admin-selection{padding:10px 12px 16px}
 #admin-panel .admin-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:6px 12px;border:1px solid var(--window-line);background:var(--window-paper);font-weight:800}
 .admin-selection>header{flex-direction:column;align-items:flex-start}
 .admin-chips{margin-left:0}
 .admin-action-group{grid-template-columns:1fr;gap:5px}
 .admin-action-group>span{padding-top:0}
 #admin-panel .admin-action-group button{flex:1 1 auto;justify-content:center;min-height:38px;padding:6px 10px;font-size:12.5px}
 .admin-subtabs .admin-link-btn{width:100%;text-align:center}
 #admin-panel .admin-primary{position:sticky;bottom:0;z-index:2;box-shadow:0 -10px 18px -10px #0006}
 .admin-subtabs{margin:10px 12px 0;max-width:calc(100% - 24px);flex-wrap:wrap;border-radius:16px}
 #ytv-admin{padding:10px 12px 16px}
 .admin-sheet-grid{grid-template-columns:1fr}
 .admin-footer{display:none}
}

/* Événements créés par un MJ (14/10/2026) : thèmes, bandeau avec icône et halo lumineux, pastille et détail. */















/* Console › Événements (admin-events-ui.js) */
.aev{display:grid;gap:14px;padding:16px 18px 0}
.aev-card{border:1px solid var(--window-line);border-radius:16px;background:var(--window-paper);overflow:hidden}
.aev-card>header{padding:12px 16px;border-bottom:1px solid var(--window-line);background:linear-gradient(135deg,color-mix(in srgb,var(--window-accent,#e07b17) 12%,var(--window-paper)),var(--window-paper))}
.aev-card h3{margin:2px 0 0;font:400 18px/1.2 var(--font-display,var(--font-ui))}
.aev-kicker,.aev-field-title,.aev-field>span{font:800 10.5px var(--font-ui);letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.aev-field>span small{text-transform:none;letter-spacing:0;font-weight:600}
.aev-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;padding:14px 16px 16px}
.aev-form,.aev-side{display:grid;gap:11px;align-content:start;min-width:0}
#admin-panel .aev label{display:grid;gap:4px;font-weight:700}
#admin-panel .aev label small{font-weight:600;opacity:.7}
#admin-panel .aev textarea{width:100%;border:1px solid var(--window-line);border-radius:9px;background:#fffbe9;color:#2b2214;padding:7px 10px;font:inherit;resize:vertical}
.aev-field{display:grid;gap:6px}
.aev-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:5px}
#admin-panel .aev-icons button{min-height:38px;padding:0;font-size:19px;border:1px solid var(--window-line);background:var(--window-paper-deep)}
#admin-panel .aev-icons button[aria-pressed=true]{border-color:var(--window-accent,#e07b17);box-shadow:0 0 0 2px var(--window-accent,#e07b17);background:#fff6e0}
.aev-themes,.aev-seg{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#admin-panel .aev-themes button,#admin-panel .aev-seg button{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--window-line);background:var(--window-paper-deep);font-weight:700}
.aev-themes i{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--tier) 60%,var(--tier-ink))}
#admin-panel .aev-themes button[aria-pressed=true],#admin-panel .aev-seg button[aria-pressed=true]{background:var(--window-chrome);color:var(--window-text);border-color:var(--window-chrome)}
#admin-panel .aev-seg input{width:110px}
#admin-panel .aev-switch{display:flex!important;align-items:center;gap:8px}
#admin-panel .aev-switch input{width:auto;min-height:0}
.aev-bonuses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#admin-panel .aev-bonuses label{position:relative;font-size:12px}
.aev-bonuses i{position:absolute;right:10px;bottom:9px;font-style:normal;opacity:.6}
.aev-preview{display:flex;gap:12px;align-items:center;padding:14px;border:2px solid var(--tier-ink);border-radius:14px;background:linear-gradient(180deg,#fffaf0,#f3e7c8);color:#2a1c08;box-shadow:0 0 0 2px var(--tier) inset}
.aev-preview.is-glow{box-shadow:0 0 0 2px var(--tier) inset,0 0 22px color-mix(in srgb,var(--tier) 70%,transparent)}
.aev-preview-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--tier) 62%,var(--tier-ink));font-size:24px}
.aev-preview small{font:800 10.5px var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--tier-ink)}
.aev-preview b{display:block;font:400 18px/1.2 var(--font-display,serif)}
.aev-preview p{margin:3px 0 0;font-size:12.5px}.aev-preview .aev-bonus{font-weight:800;color:var(--tier-ink)}
.aev-actions{display:flex;flex-wrap:wrap;gap:8px}
#admin-panel .aev-btn{min-height:38px;padding:0 14px;border:1px solid var(--window-line);background:var(--window-paper-deep);font-weight:800}
#admin-panel .aev-btn.is-main{background:var(--window-accent,#e07b17);color:var(--window-accent-ink,#1d1306);border-color:transparent}
#admin-panel .aev-btn.is-danger{color:#8f3324;border-color:#8f332466}
#admin-panel .aev-btn.is-small{min-height:30px;padding:0 10px;font-size:12px}
.aev-list,.aev-group{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.aev-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--window-line);border-left:4px solid var(--tier);border-radius:10px;background:var(--window-paper-deep)}
.aev-list small{display:block;opacity:.75}.aev-li-icon{font-size:20px}
.aev-state{font:800 11px var(--font-ui);padding:2px 8px;border-radius:999px;background:#0000000f;white-space:nowrap}.aev-state.is-live{background:#2f7a3f;color:#fff}.aev-state.is-soon{background:#b77a16;color:#fff}
.aev-mlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:5px;max-height:240px;overflow:auto;padding:2px}
#admin-panel .aev-mlist button{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--window-line);background:var(--window-paper-deep);text-align:left;font-weight:400}
.aev-mlist img,.aev-group img{width:36px;height:36px;object-fit:contain;flex:none}
.aev-mlist span{flex:1;min-width:0}.aev-mlist b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aev-mlist small{opacity:.7}.aev-mlist i{font-style:normal;font-weight:800;color:var(--window-accent,#b15a00)}
.aev-group li{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,150px) auto;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--window-line);border-radius:10px;background:var(--window-paper-deep);position:relative}
.aev-group li em{position:absolute;top:-8px;left:8px;padding:0 6px;border-radius:999px;background:var(--window-accent,#e07b17);color:#fff;font:800 10px var(--font-ui);font-style:normal}
#admin-panel .aev-x{width:28px;min-height:28px;padding:0;border:0;background:#0000000f}
.aev-hint,.aev-empty{margin:0;font-size:12px;opacity:.75}
.aev-note{margin:0;padding:9px 12px;border-radius:10px;background:#dce5c3;color:#203a10;font-weight:700}.aev-note.is-bad{background:#f1d5bd;color:#5e2414}
@media(max-width:760px){.aev{padding:10px 12px 0}.aev-grid{grid-template-columns:1fr;padding:12px}.aev-bonuses{grid-template-columns:1fr 1fr 1fr}.aev-group li{grid-template-columns:auto minmax(0,1fr) auto}.aev-group select{grid-column:1/-1}.aev-list li{grid-template-columns:auto minmax(0,1fr) auto}.aev-list li .aev-btn{grid-column:1/-1}}

/* Retirer un objet : objets du sac du joueur, choix mis en avant (15/10/2026) */
.admin-take button{position:relative;width:40px;height:40px;padding:0;border:1px solid var(--window-line);background:#0000000d;border-radius:3px;cursor:pointer}
.admin-take button[aria-pressed=true]{border-color:#c0392b;box-shadow:0 0 0 2px #c0392b66;background:#c0392b1f}

/* Personnages concernés par une modification de fiche (15/10/2026) */
.admin-chars{display:grid;gap:6px;margin:0 0 10px}.admin-chars>span{font-weight:700;font-size:12px}
.admin-chars>div{display:flex;flex-wrap:wrap;gap:6px}
.admin-chars label{display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--window-line);border-radius:8px;background:#0000000a;cursor:pointer}
.admin-chars label.is-on{border-color:#b8741c;background:#f3c56a33}
.admin-chars label small{opacity:.75}
.admin-chars .admin-link-btn{justify-self:start}
.admin-chars label input{width:16px!important;height:16px!important;min-width:0!important;margin:0!important;flex:none}
.admin-chars label{flex-direction:row}.admin-chars label b{margin-right:2px}

/* onglet Guildes de la console (16/10/2026) */
.admin-item-list{height:280px;overflow-y:auto;overscroll-behavior:contain}
/* Liste d'objets (18/10/2026) : lignes à leur taille naturelle, sans étirement pour remplir la hauteur fixe */
#admin-panel .admin-item-list{align-content:start;grid-auto-rows:min-content}
#admin-panel .admin-item-list button{height:auto;min-height:44px;max-height:56px}

/* Fiche d'un joueur : où il se trouve (18/10/2026) — zone, état, « Voir sur la carte », « Aller à lui » */
.admin-where{display:grid;gap:7px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--window-line);border-radius:14px;background:var(--window-paper)}
.admin-where.is-live{border-color:color-mix(in srgb,#3f9a3f 45%,var(--window-line));background:linear-gradient(135deg,color-mix(in srgb,#3f9a3f 8%,var(--window-paper)),var(--window-paper))}
.admin-where.is-unknown{opacity:.85}
.admin-where-head{display:flex;align-items:center;gap:10px;min-width:0}
.admin-where-head>div{display:flex;flex-direction:column;min-width:0}
.admin-where-head b{font:400 17px/1.2 var(--font-display,var(--font-ui));overflow-wrap:anywhere}
.admin-where-head small{font-size:12px;opacity:.8;overflow-wrap:anywhere}
.admin-where-xy{font:800 13px var(--font-ui);opacity:.75;white-space:nowrap}
.admin-where-pin{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#0000000f;font-size:17px}
.admin-where.is-live .admin-where-pin{box-shadow:0 0 0 0 #3f9a3f66;animation:admin-where-ping 2s ease-out infinite}
@keyframes admin-where-ping{0%{box-shadow:0 0 0 0 #3f9a3f66}70%{box-shadow:0 0 0 9px #3f9a3f00}100%{box-shadow:0 0 0 0 #3f9a3f00}}
@media(prefers-reduced-motion:reduce){.admin-where.is-live .admin-where-pin{animation:none}}
.admin-where-dungeon{margin:0;padding:5px 9px;border-radius:8px;background:#2b6c9a14;font-size:12.5px;font-weight:700}
.admin-where-state{display:flex;flex-wrap:wrap;gap:4px}
.admin-where-when{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;opacity:.8}
.admin-where-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch}
.admin-where-actions>button{flex:none}
.admin-where-goto{display:flex;gap:6px;flex:1;min-width:220px}
.admin-where-goto input{flex:1;min-width:0}
.admin-where-goto button{flex:none;white-space:nowrap}
.admin-where-mini{display:block;font-size:11.5px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.admin-where{padding:10px 12px}.admin-where-actions{flex-direction:column}.admin-where-actions>button,.admin-where-goto{width:100%;min-width:0}}
/* ═══ Console v2 (19/10/2026) : barre latérale par thèmes (menu compact sur mobile), pastilles « à traiter », message d'état en
   surimpression (le contenu ne bouge plus), filtres collants, tableaux compacts ; Comptes, Réglages, Sondages, Guildes v2. ═══ */
#admin-panel{height:min(840px,calc(100dvh - 32px))}
.admin-heading{flex:none}
.admin-heading-tools{display:flex;align-items:center;gap:6px}
#admin-panel #admin-refresh{width:34px;height:32px;min-height:32px;padding:0;font-size:17px;border-radius:10px}
#admin-panel #admin-refresh.is-loading{animation:admin-spin 1s linear infinite}
@keyframes admin-spin{to{transform:rotate(360deg)}}
#admin-panel .admin-menu-toggle{display:none}
.admin-body{flex:1;min-height:0;display:grid;grid-template-columns:208px minmax(0,1fr)}
.admin-nav{min-height:0;overflow-y:auto;padding:10px 8px 14px;border-right:1px solid var(--window-line);background:color-mix(in srgb,var(--window-paper-deep) 70%,var(--window-paper));display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.admin-nav-group{display:grid;gap:2px}
.admin-nav-title{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.6;padding:0 8px 2px}
#admin-panel .admin-nav button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;padding:6px 8px;min-height:34px;border-radius:8px;font-weight:600}
#admin-panel .admin-nav button:hover:not(:disabled){background:#ffffff66}
#admin-panel .admin-nav button[aria-current=page]{background:var(--window-chrome);color:var(--window-text);box-shadow:inset 3px 0 var(--window-accent,#e07b17)}
.admin-nav img{width:20px;height:20px;object-fit:contain;flex:none}
.admin-nav span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-badge{flex:none;min-width:20px;padding:0 6px;border-radius:999px;font:800 11px/18px var(--font-ui);text-align:center;background:#0000001f;color:inherit}
.admin-badge.is-alert{background:#c2471f;color:#fff}
.admin-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}
.admin-main>#admin-content{flex:1;min-height:0}
.admin-toast{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(560px,calc(100% - 24px));padding:7px 7px 7px 14px;border-radius:12px;background:#21331f;color:#eaf6d8;box-shadow:0 10px 30px -8px #000a;font-weight:600}
.admin-toast.is-error{background:#6a2412;color:#ffe9dc}
#admin-panel .admin-toast button{flex:none;min-height:26px;width:26px;padding:0;border:0;background:#ffffff26;color:inherit;border-radius:8px}
#admin-panel button.is-danger{border-color:#a23a2288;color:#8f2a14}
#admin-panel button.is-danger:hover:not(:disabled){background:#f6dccd}
#admin-panel textarea{width:100%;border:1px solid var(--window-line);background:#fffbe9;color:#2b2214;border-radius:8px;padding:6px 8px;font:inherit;resize:vertical}
/* filtres collants en haut de la vue */
.admin-filters{position:sticky;top:0;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 -14px 10px;padding:9px 14px;background:color-mix(in srgb,var(--window-paper) 92%,transparent);backdrop-filter:blur(4px);border-bottom:1px solid #0000001a}
.admin-pad>.admin-filters:first-child{margin-top:-12px}
.admin-filters>input,.admin-filters>select{flex:1 1 200px;min-width:0}
.admin-chiprow{display:flex;flex-wrap:wrap;gap:4px}
#admin-panel .admin-chiprow button{min-height:28px;padding:3px 10px;font-weight:600;border-radius:999px}
#admin-panel .admin-chiprow button[aria-pressed=true]{background:var(--window-chrome);color:var(--window-text)}
.admin-count{font-size:12px;opacity:.7;margin-left:auto}
.admin-empty{margin:10px 0;padding:18px 12px;border:1px dashed #0000002e;border-radius:12px;text-align:center;opacity:.75}
/* accueil : à traiter */
.admin-todo{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-bottom:14px}
#admin-panel .admin-todo-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:8px 10px;font-weight:400;border-radius:12px}
.admin-todo-item img{grid-row:span 2;width:26px;height:26px;object-fit:contain}
.admin-todo-item b{font-size:18px;line-height:1}.admin-todo-item span{font-size:12px;opacity:.8}
#admin-panel .admin-todo-item.is-alert{border-color:#c2471f;box-shadow:inset 3px 0 #c2471f;background:#fbe3d3}
/* tableaux compacts (comptes) */
.admin-ttable{display:grid;gap:2px}
.admin-trow{display:grid;grid-template-columns:minmax(140px,1.3fr) 96px minmax(160px,2fr) 110px minmax(90px,auto);gap:8px;align-items:center;padding:5px 8px;border-radius:8px;background:#ffffff47;font-size:12.5px}
.admin-trow:nth-child(even){background:#ffffff26}
.admin-trow.is-head{background:none;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.6}
.admin-trow>span{min-width:0;overflow-wrap:anywhere}
.admin-trow>span:last-child{display:flex;gap:4px;justify-content:flex-end;align-items:center}
.admin-mono{font-variant-numeric:tabular-nums;opacity:.8}
.admin-chars-list{display:flex;flex-wrap:wrap;gap:0 4px}
.admin-access-tag{font-style:normal;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:#3f8f4a;color:#fff}.admin-access-tag.is-staff{background:#7a4bd1}
.admin-note.is-bad{color:#7a2a14;font-weight:600}
/* réglages */
.admin-setting{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--window-line);background:#ffffff40;margin-bottom:14px}
.admin-setting b{display:block;font-size:14px}.admin-setting small{display:block;opacity:.75;margin-top:2px}
.admin-setting.is-closed{border-color:#b8902f;background:#fff4d6}
/* guildes */
.ag-stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ag-stats small{font-size:11px;font-weight:600;opacity:.75}.ag-stats .is-bad{color:#b8432f;opacity:1}
.ag-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:-6px 0 12px;font-size:12px}
.ag-note{margin:0 0 8px;padding:7px 10px;border-radius:10px;background:#e1ecd0;color:#20380f;font-weight:700;font-size:12px}.ag-note.is-bad{background:#f6dccd;color:#6a2412}
.ag-table{display:grid;gap:3px}
.ag-line{display:grid;grid-template-columns:28px 30px minmax(150px,2fr) 40px minmax(90px,1fr) minmax(90px,1fr) 52px 100px;gap:8px;align-items:center}
#admin-panel button.ag-line{width:100%;text-align:left;font-weight:400;padding:3px 8px;min-height:38px;border-radius:10px;background:#ffffff4d;border:1px solid #0000001a}
#admin-panel button.ag-line:hover{background:#ffffff8c}
.ag-line.is-head{padding:0 9px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.6}
.ag-line>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-line small{opacity:.7;font-size:11.5px}
.ag-name{display:flex;align-items:center;gap:6px}.ag-name b{overflow:hidden;text-overflow:ellipsis}
.ag-official{font-style:normal;flex:none;padding:0 7px;border-radius:999px;background:#2f6f9a;color:#fff;font:700 10.5px/17px var(--font-ui);vertical-align:middle}
.ag-tag{font-style:normal;flex:none;padding:0 6px;border-radius:999px;background:#e07b1733;font-size:10.5px;font-weight:700}
.ag-alert{font-style:normal;color:#b8432f;font-weight:800}
#admin-panel .ag-item.is-open>button.ag-line{background:var(--window-chrome);color:var(--window-text);border-color:var(--window-chrome)}
.ag-detail{margin:4px 0 10px;padding:12px;border:1px solid var(--window-line);border-radius:12px;background:#fffaf0b3}
.ag-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.ag-head>div{min-width:0}
.ag-head h3{margin:0;font:400 18px/1.2 var(--font-display,var(--font-ui))}
.ag-head p{margin:3px 0}
.ag-xp{position:relative;height:16px;border-radius:999px;background:#0000001f;overflow:hidden;margin:6px 0 4px;max-width:420px}
.ag-xp i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#d99a2b,#f2c25a)}
.ag-xp span{position:relative;display:block;text-align:center;font-size:11px;font-weight:700;line-height:16px}
.ag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ag-sec{min-width:0;padding:8px 10px;border-radius:10px;background:#ffffff59;border:1px solid #0000001a}
.ag-wide{grid-column:1/-1}
.ag-sec h4{margin:0 0 6px;font-size:12.5px}.ag-sec h4 small{font-weight:500;opacity:.7}
.ag-members{display:grid;gap:1px;max-height:300px;overflow-y:auto}
.ag-mrow,.ag-crow{display:grid;gap:8px;align-items:center;padding:3px 6px;border-radius:7px;font-size:12px}
.ag-mrow{grid-template-columns:110px minmax(120px,1.4fr) 56px 100px minmax(110px,1fr) auto}
.ag-crow{grid-template-columns:minmax(150px,1.5fr) minmax(110px,1fr) minmax(150px,1.2fr) minmax(100px,1fr) auto}
.ag-mrow:nth-child(odd),.ag-crow:nth-child(odd){background:#0000000a}
.ag-mrow.is-leader{background:#f2c25a33}
.ag-crow.is-attacked{background:#f6dccd}
.ag-mrow>span,.ag-crow>span{min-width:0;overflow-wrap:anywhere}
.ag-crow small{display:block;opacity:.7}
.ag-mrow .admin-presence{display:inline-block;margin-right:5px;vertical-align:middle}
.ag-macts{display:flex;gap:3px;justify-content:flex-end;flex-wrap:wrap}
#admin-panel .ag-macts button,#admin-panel .ag-crow button{min-height:26px;padding:2px 8px;font-size:11.5px}
.ag-spark{width:100%;max-width:300px;height:56px;display:block}.ag-spark polyline{fill:none;stroke:#c97e12;stroke-width:2;vector-effect:non-scaling-stroke}
.ag-log{max-height:220px;overflow-y:auto}.ag-log small{opacity:.65}
.ag-notes li p{margin:0;white-space:pre-wrap}
.ag-form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.ag-form>span{font-size:12px;font-weight:700;min-width:84px}
.ag-form>input,.ag-form>textarea,.ag-form>select{flex:1 1 180px;min-width:0}
.ag-controls{display:grid;gap:4px;align-content:start}
.ag-emblem-edit{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:8px;border-radius:10px;background:#0000000d}
#admin-panel .ag-emblem-edit input[type=color]{padding:0;width:44px;min-height:30px}
.ag-danger{padding-top:8px;border-top:1px dashed #a23a2266}
/* sondages */
.ap-list{display:grid;gap:8px}
.ap-card{padding:10px 12px;border-radius:12px;border:1px solid var(--window-line);background:#ffffff59}
.ap-card.is-pinned{box-shadow:inset 3px 0 var(--window-accent,#e07b17)}
.ap-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ap-card h4{margin:0;font-size:14px;overflow-wrap:anywhere}.ap-card header small{opacity:.7}
.ap-state{flex:none;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#0000001a}
.ap-state.is-open{background:#3f8f4a;color:#fff}.ap-state.is-scheduled{background:#2f6f9a;color:#fff}.ap-state.is-draft{background:#8b8573;color:#fff}
.ap-desc{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.ap-meta{margin:6px 0;font-size:12px}
.ap-live{color:#3f8f4a;font-weight:700}
.ap-results{display:grid;gap:4px;margin:6px 0}
.ap-bar{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(80px,2fr) 48px 44px;gap:8px;align-items:center;font-size:12.5px}
.ap-bar span{overflow-wrap:anywhere}
.ap-bar i{height:12px;border-radius:999px;background:linear-gradient(90deg,#c97e12 var(--pct),#0000001a var(--pct))}
.ap-bar.is-lead span{font-weight:800}
.ap-bar b{text-align:right}.ap-bar small{opacity:.7;text-align:right}
.ap-answers{display:grid;gap:4px;max-height:260px;overflow-y:auto;margin:6px 0}
.ap-answer{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:5px 8px;border-radius:8px;background:#0000000d}
.ap-answer p{margin:0;overflow-wrap:anywhere}.ap-answer small{opacity:.65;grid-column:1}.ap-answer button{grid-row:1/span 2;grid-column:2;align-self:center}
.ap-answer.is-hidden p{text-decoration:line-through;opacity:.55}
.ap-comments{margin:6px 0;font-size:12px}.ap-comments p{margin:4px 0;overflow-wrap:anywhere}
.ap-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.ap-form{display:grid;gap:8px;border-color:var(--window-accent,#e07b17);background:#fff8e6;margin-bottom:10px}
.ap-form h4{margin:0}
.ap-opts{border:0;padding:0;margin:0;display:grid;gap:4px}.ap-opts legend{font-weight:700;font-size:12px;margin-bottom:3px}
.ap-optedit{display:flex;gap:4px}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;align-items:start}
.ap-when{display:grid;gap:4px}.ap-when>span{font-size:12px;font-weight:700}
#admin-panel .ap-inline{display:flex;align-items:center;gap:6px}
#admin-panel .ap-inline input[type=number]{width:70px}
#admin-panel .ap-inline input[type=checkbox]{width:auto;min-height:0}
#admin-panel button.ag-line{display:grid}
#admin-panel :is(.admin-chars-list,.ag-top) .admin-link-btn{min-height:0;padding:1px 3px;color:#8a5a12;font-weight:700}
.ag-top .admin-link-btn small{font-weight:500;opacity:.8}
.admin-trow>span:last-child:empty{display:none}
/* mobile : menu compact (bouton ☰ de l'en-tête, total des pastilles), vues sur toute la largeur */
@media(max-width:760px){
 .admin-heading>div:first-child>div>span{display:none}
 .admin-heading h2{font-size:16px}
 #admin-panel .admin-menu-toggle{display:flex;align-items:center;gap:6px;min-height:34px;padding:4px 10px;border-radius:10px;max-width:44vw}
 .admin-menu-toggle b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .admin-menu-toggle i{font-style:normal;min-width:18px;padding:0 5px;border-radius:999px;background:#c2471f;color:#fff;font:800 11px/18px var(--font-ui)}
 .admin-body{display:flex;flex-direction:column;position:relative}
 .admin-main{flex:1}
 .admin-nav{position:absolute;inset:0 0 auto 0;max-height:80%;z-index:25;display:none;border-right:0;border-bottom:1px solid var(--window-line);box-shadow:0 18px 30px -12px #0009;background:var(--window-paper)}
 #admin-panel.is-menu-open .admin-nav{display:block;columns:2;column-gap:10px}
 .admin-nav-group{break-inside:avoid;margin-bottom:10px}
 #admin-panel .admin-filters :is(button,input,select){min-height:32px}
 .admin-chiprow{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;order:3;width:100%}
 .admin-chiprow button{flex:none}
 .admin-filters .admin-count{order:2}
 .ag-top{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
 #admin-panel .admin-nav button{min-height:40px}
 .admin-pad>.admin-filters:first-child{margin-top:-12px}
 .admin-filters{margin-left:-12px;margin-right:-12px;padding:8px 12px}
 .admin-trow{grid-template-columns:1fr auto}.admin-trow.is-head{display:none}.admin-trow>span:nth-child(3){grid-column:1/-1}.admin-trow>span:nth-child(4){text-align:right}
 .ag-line{grid-template-columns:22px 28px minmax(0,1fr) 30px 66px}.ag-line>span:nth-child(n+6){display:none}
 .ag-grid{grid-template-columns:1fr}
 .ag-mrow{grid-template-columns:1fr auto;row-gap:2px}.ag-mrow>span:nth-child(1){grid-column:1/-1;font-size:11px;opacity:.7}.ag-mrow>.ag-macts{grid-column:1/-1;justify-content:flex-start}
 .ag-crow{grid-template-columns:1fr}.ag-crow>span:last-child{justify-self:start}
 .ap-bar{grid-template-columns:1fr 44px 38px}.ap-bar i{grid-column:1/-1;grid-row:2}
 .ap-card header{flex-direction:column-reverse;align-items:flex-start;gap:4px}
 .admin-setting{flex-direction:column;align-items:stretch}
 .admin-toast{bottom:10px}
}
/* Santé du serveur (20/10/2026) : bandeau des alertes de tools/health-check.php */
#admin-panel .admin-health{margin:10px 14px 0;border:1px solid #c2471f;border-left:5px solid #c2471f;border-radius:10px;background:#fbe3d3;color:#5a1c08;padding:6px 10px}
#admin-panel .admin-health.is-crit{border-color:#b3261e;background:#c0392b;color:#fff}
#admin-panel .admin-health summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;cursor:pointer;list-style:none}
#admin-panel .admin-health summary::-webkit-details-marker{display:none}
#admin-panel .admin-health summary img{width:22px;height:22px;object-fit:contain}
#admin-panel .admin-health summary span{font-size:12px;opacity:.9;min-width:0;overflow-wrap:anywhere}
#admin-panel .admin-health ul{margin:6px 0 2px;padding-left:18px;font-size:13px;overflow-wrap:anywhere}
#admin-panel .admin-health li.is-crit b{text-decoration:underline}
#admin-panel .admin-health.is-crit .admin-hint,#admin-panel .admin-health.is-crit small{color:#fde7e3}
