/* ==========================================================================
   v3-admin.css — design novo: Painel administrativo (admin.js + admin-*.js) e o editor de missões.
   Usa os tokens de v3-base.css. Vale em todas as telas (PC e celular).

   O painel é montado por três fontes: o index.html (casca), o ui.js (ofuscado,
   com muito estilo inline — o admin.js traduz as cores inline para os tokens)
   e os admin-*.js (classes próprias, estilizadas só aqui). O CSS antigo usa
   ids e !important; por isso os seletores começam com `html body`.
   ========================================================================== */

/* ---------- Escopo: cor de destaque do painel ------------------------------ */
/* admin-theme.js pode trocar o verde-ácido só dentro do painel (--adm-acid). */
html body #admin-modal,
html body #pxat-panel,
html body #admin-terminal-panel,
html body .pxad,
html body .pxcb-modal {
    --pc-acid: var(--adm-acid, #d4ff3a);
    --pc-acid-soft: var(--adm-acid-soft, rgba(212, 255, 58, .12));
    --pc-corners:
        linear-gradient(var(--pc-acid), var(--pc-acid)) top left / 10px 1px no-repeat,
        linear-gradient(var(--pc-acid), var(--pc-acid)) top left / 1px 10px no-repeat,
        linear-gradient(var(--pc-acid), var(--pc-acid)) top right / 10px 1px no-repeat,
        linear-gradient(var(--pc-acid), var(--pc-acid)) top right / 1px 10px no-repeat,
        linear-gradient(var(--pc-acid), var(--pc-acid)) bottom left / 10px 1px no-repeat,
        linear-gradient(var(--pc-acid), var(--pc-acid)) bottom left / 1px 10px no-repeat,
        linear-gradient(var(--pc-acid), var(--pc-acid)) bottom right / 10px 1px no-repeat,
        linear-gradient(var(--pc-acid), var(--pc-acid)) bottom right / 1px 10px no-repeat;
}

/* ---------- Botão flutuante de acesso (#admin-button, estilo inline) ------ */
html body #admin-button {
    width: 46px !important;
    height: 46px !important;
    border-radius: 2px !important;
    background: var(--pc-ink) !important;
    border: 1px solid var(--pc-acid) !important;
    color: var(--pc-acid) !important;
    font-size: 18px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .6) !important;
}
html body #admin-button:hover { background: var(--pc-acid) !important; color: var(--pc-acid-ink) !important; }

/* Os botões do canto (social, ranking, bugs…) ficavam por cima do painel
   aberto — no PC 1366×768 cobriam o rodapé do conteúdo. Saem enquanto o
   painel está aberto; o painel tem o próprio botão de fechar. */
html body:has(#admin-modal[style*="flex"]) #spx-corner-bar { visibility: hidden !important; }

/* ---------- Fundo + janela -------------------------------------------------- */
html body #admin-backdrop {
    background: var(--pc-backdrop) !important;
    -webkit-backdrop-filter: blur(4px) saturate(.5) !important;
    backdrop-filter: blur(4px) saturate(.5) !important;
}
html body #admin-modal,
html body.theme-agariobr #admin-modal {
    width: min(1120px, 96vw);
    height: min(760px, 92vh);
    max-width: 96vw;
    max-height: 92vh;
    background: var(--pc-corners), var(--pc-panel) !important;
    border: 1px solid var(--pc-line-2) !important;
    border-radius: 2px !important;
    box-shadow: var(--pc-shadow) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: var(--pc-text);
    font-family: var(--pc-body) !important;
    animation: v3admIn .18s ease both;
}
@keyframes v3admIn {
    from { opacity: 0; transform: translate(-50%, calc(-50% + 10px)); }
    to { opacity: 1; transform: translate(-50%, -50%); }
}
/* Fundo escolhido pelo admin (Temas): véu escuro por cima para ler o conteúdo */
html body #admin-modal.pxat-has-bg {
    background: var(--admin-bg) center / cover no-repeat, var(--pc-panel) !important;
}
html body #admin-modal.pxat-has-bg::before {
    content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: var(--pc-corners), rgba(11, 13, 12, .86);
}
html body #admin-modal.pxat-has-bg > * { position: relative; z-index: 1; }
html body #admin-modal.pxat-has-bg > #admin-reason-overlay,
html body #admin-modal.pxat-has-bg > #admin-input-overlay,
html body #admin-modal.pxat-has-bg > #admin-delete-confirm-overlay { position: absolute; z-index: 12; }

/* Fonte: tudo do painel em Bricolage; números/rótulos em mono vêm por classe */
html body #admin-modal button,
html body #admin-modal input,
html body #admin-modal select,
html body #admin-modal textarea { font-family: inherit; }
html body #admin-modal ::selection { background: var(--pc-acid); color: var(--pc-acid-ink); }

/* Rolagem fina, sem rosa */
html body #admin-modal *::-webkit-scrollbar,
html body #admin-terminal-out::-webkit-scrollbar { width: 6px; height: 6px; }
html body #admin-modal *::-webkit-scrollbar-thumb,
html body #admin-terminal-out::-webkit-scrollbar-thumb { background: var(--pc-line-2); border-radius: 0; }
html body #admin-modal *::-webkit-scrollbar-thumb:hover { background: var(--pc-dim); }
html body #admin-modal *::-webkit-scrollbar-track { background: transparent; }
html body #admin-modal * { scrollbar-color: var(--pc-line-2) transparent; }

/* ---------- Cabeçalho ------------------------------------------------------- */
html body #admin-modal .adm-modal-header {
    justify-content: flex-start;
    gap: 14px;
    padding: 14px 18px;
    background: transparent !important;
    border-bottom: 1px solid var(--pc-line) !important;
}
html body #admin-modal .adm-modal-title {
    gap: 12px;
    min-width: 0;
    color: var(--pc-text) !important;
    font: 800 18px/1.1 var(--pc-display);
    letter-spacing: -.02em;
    text-transform: uppercase;
}
html body #admin-modal .adm-modal-title span {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
html body #admin-modal .adm-modal-title span::before {
    content: 'Staff · agariox';
    display: block;
    margin-bottom: 4px;
    font: 500 10px/1.2 var(--pc-mono);
    letter-spacing: .16em;
    color: var(--pc-acid);
}
html body #admin-modal .adm-modal-title-icon {
    flex: 0 0 auto;
    width: 38px; height: 38px;
    border-radius: 2px !important;
    background: var(--pc-acid-soft) !important;
    border: 1px solid color-mix(in srgb, var(--pc-acid) 55%, transparent) !important;
    color: var(--pc-acid) !important;
    box-shadow: none !important;
    font-size: 15px;
}
html body #admin-modal .adm-modal-close {
    flex: 0 0 auto;
    width: 36px; height: 36px;
    border-radius: 2px !important;
    border: 1px solid var(--pc-line-2) !important;
    background: transparent !important;
    color: var(--pc-dim) !important;
    font-size: 20px;
}
html body #admin-modal .adm-modal-close:hover { color: var(--pc-hot) !important; border-color: var(--pc-hot) !important; }

/* Seletor de servidor do painel (admin-server-selector.js) */
html body #pxass-wrap {
    display: flex; align-items: center; gap: 10px;
    margin: 0 0 0 auto;
    min-width: 0;
}
html body #pxass-select {
    min-height: 34px;
    max-width: 200px;
    padding: 0 10px;
    background: var(--pc-ink);
    border: 1px solid var(--pc-line-2);
    border-radius: 2px;
    color: var(--pc-text);
    font: 600 11px var(--pc-mono);
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    outline: none;
}
html body #pxass-select:focus { border-color: var(--pc-acid); }
html body #pxass-select option { background: var(--pc-panel); color: var(--pc-text); }
html body #pxass-status {
    display: inline-flex; align-items: center; gap: 6px;
    max-width: 170px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    font: 500 10px var(--pc-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pc-dim);
}
html body #pxass-status::before {
    content: ''; flex: 0 0 auto; width: 7px; height: 7px; background: var(--pc-faint);
}
html body #pxass-status:empty { display: none; }
html body #pxass-status.is-ok { color: var(--pc-ok); }
html body #pxass-status.is-ok::before { background: var(--pc-ok); box-shadow: 0 0 0 3px var(--pc-ok-soft); }
html body #pxass-status.is-err { color: var(--pc-hot); }
html body #pxass-status.is-err::before { background: var(--pc-hot); }

/* ---------- Navegação lateral ---------------------------------------------- */
html body #admin-modal #admin-tabbar {
    width: 214px;
    padding: 14px 10px 18px;
    gap: 1px;
    background: var(--pc-ink-2) !important;
    border-right: 1px solid var(--pc-line) !important;
    border-bottom: 0;
}
html body #admin-modal .admin-nav-group {
    padding: 13px 10px 6px;
    font: 500 10px/1 var(--pc-mono);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--pc-faint);
}
html body #admin-modal .admin-nav-group:first-child { padding-top: 2px; }
html body #admin-modal .admin-tab-btn {
    position: relative;
    min-height: 33px;
    padding: 0 10px;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: var(--pc-dim);
    font: 500 11px/1 var(--pc-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: color .12s, background .12s;
}
html body #admin-modal .admin-tab-btn i {
    width: 16px; margin-right: 10px;
    font-size: 12px;
    color: var(--pc-faint);
    opacity: 1;
}
html body #admin-modal .admin-tab-btn:hover { color: var(--pc-text); background: rgba(233, 239, 228, .04); }
html body #admin-modal .admin-tab-btn:hover i { color: var(--pc-dim); }
html body #admin-modal .admin-tab-btn.active {
    color: var(--pc-text) !important;
    background: var(--pc-acid-soft) !important;
    border-color: transparent !important;
    box-shadow: inset 2px 0 0 var(--pc-acid) !important;
}
html body #admin-modal .admin-tab-btn.active i { color: var(--pc-acid); }
html body #admin-modal .admin-tab-btn .admin-tool-ext {
    width: auto; margin: 0 0 0 auto;
    font-size: 9px;
    color: var(--pc-faint);
}
/* Selos de contagem na barra (skins pendentes, pedidos de música) */
html body #admin-modal #admin-skins-badge,
html body #admin-modal #pxrs-badge-tab {
    position: static !important;
    margin-left: auto;
    min-width: 18px; height: 18px;
    padding: 0 5px !important;
    border-radius: 2px !important;
    background: var(--pc-hot) !important;
    color: var(--pc-ink) !important;
    box-shadow: none !important;
    font: 700 10px/18px var(--pc-mono) !important;
    text-align: center;
}
html body #admin-modal #pxrs-badge-tab { background: var(--pc-acid) !important; color: var(--pc-acid-ink) !important; }

/* ---------- Área de conteúdo + peças comuns -------------------------------- */
html body #admin-modal .admin-content-area { background: transparent; }
html body #admin-modal .admin-tab-content { background: transparent; }

/* Botões genéricos (.adm-btn do index.html e do ui.js) */
html body #admin-modal .adm-btn,
html body #admin-modal .adm-back-btn {
    min-height: 34px;
    padding: 0 12px;
    gap: 8px;
    justify-content: flex-start;
    background: transparent;
    border: 1px solid var(--pc-line-2);
    border-radius: 2px !important;
    color: var(--pc-text);
    font: 600 10.5px/1.15 var(--pc-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: none !important;
    transform: none !important;
    transition: border-color .12s, background .12s, color .12s;
}
html body #admin-modal .adm-btn i { width: auto; opacity: 1; font-size: 11px; color: inherit; }
html body #admin-modal .adm-btn:hover,
html body #admin-modal .adm-back-btn:hover { border-color: var(--pc-text); background: rgba(233, 239, 228, .04); color: var(--pc-text); }
html body #admin-modal .adm-btn.danger { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body #admin-modal .adm-btn.danger:hover { background: var(--pc-hot-soft); border-color: var(--pc-hot); color: var(--pc-hot); }
html body #admin-modal .adm-btn.info { color: var(--pc-info); border-color: color-mix(in srgb, var(--pc-info) 40%, transparent); }
html body #admin-modal .adm-btn.info:hover { background: var(--pc-info-soft); border-color: var(--pc-info); color: var(--pc-info); }
html body #admin-modal .adm-btn.gold { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 40%, transparent); }
html body #admin-modal .adm-btn.gold:hover { background: var(--pc-gold-soft); border-color: var(--pc-gold); color: var(--pc-gold); }

/* Campos de formulário em todo o painel */
html body #admin-modal input[type="text"],
html body #admin-modal input[type="number"],
html body #admin-modal input[type="email"],
html body #admin-modal input[type="search"],
html body #admin-modal input[type="datetime-local"],
html body #admin-modal input:not([type]),
html body #admin-modal select,
html body #admin-modal textarea {
    background: var(--pc-ink) !important;
    border: 1px solid var(--pc-line-2) !important;
    border-radius: 2px !important;
    color: var(--pc-text) !important;
    font-family: var(--pc-body) !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box;
}
html body #admin-modal input:focus,
html body #admin-modal select:focus,
html body #admin-modal textarea:focus {
    border-color: var(--pc-acid) !important;
    box-shadow: inset 3px 0 0 var(--pc-acid) !important;
}
html body #admin-modal input::placeholder,
html body #admin-modal textarea::placeholder { color: var(--pc-faint) !important; opacity: 1; }
html body #admin-modal select option { background: var(--pc-panel); color: var(--pc-text); }
html body #admin-modal input[type="checkbox"],
html body #admin-modal input[type="radio"] { accent-color: var(--pc-acid) !important; }
html body #admin-modal input[type="color"] {
    width: 30px; height: 30px; padding: 2px;
    background: var(--pc-ink); border: 1px solid var(--pc-line-2); border-radius: 2px; cursor: pointer;
}

/* Títulos de seção que o ui.js escreve como <strong>/<h3>/<h4> soltos */
html body #admin-modal .admin-tab-content strong { font-weight: 700; color: var(--pc-text); }
html body #admin-modal #admin-tab-skins > div:first-child > strong,
html body #admin-modal #admin-tab-store > div:first-child strong,
html body #admin-modal #admin-tab-ranking > div:first-child strong {
    font: 700 13px var(--pc-display) !important;
    text-transform: uppercase;
    letter-spacing: -.01em;
    color: var(--pc-text) !important;
}
html body #admin-modal #admin-tab-skins > div:first-child > strong i,
html body #admin-modal #admin-tab-store > div:first-child strong i,
html body #admin-modal #admin-tab-ranking > div:first-child strong i { color: var(--pc-acid); margin-right: 4px; }
/* Barras de ferramentas do topo das abas do ui.js */
html body #admin-modal #admin-tab-skins > div:first-child,
html body #admin-modal #admin-tab-store > div:first-child,
html body #admin-modal #admin-tab-ranking > div:first-child,
html body #admin-modal #admin-accounts-list-view > div:first-child {
    padding: 14px 16px !important;
    gap: 8px !important;
    border-bottom: 1px solid var(--pc-line) !important;
}
html body #admin-modal #admin-tab-skins > div:first-child input,
html body #admin-modal #admin-tab-store > div:first-child input,
html body #admin-modal #admin-tab-ranking > div:first-child input,
html body #admin-modal #admin-accounts-list-view > div:first-child input { min-height: 36px; padding: 0 12px !important; font-size: 13px !important; }
html body #admin-modal #admin-tab-skins > div:first-child .adm-btn,
html body #admin-modal #admin-tab-store > div:first-child .adm-btn,
html body #admin-modal #admin-tab-ranking > div:first-child .adm-btn,
html body #admin-modal #admin-accounts-list-view > div:first-child .adm-btn { min-height: 36px; width: auto !important; justify-content: center; }

/* Vazio / carregando escritos pelo ui.js (divs com padding e texto cinza) */
html body #admin-modal #admin-account-list > div:only-child:not([onclick]),
html body #admin-modal #admin-store-items-list > div:only-child,
html body #admin-modal #admin-skins-list > div:only-child,
html body #admin-modal #admin-ranking-list > div:only-child {
    display: flex; align-items: center; justify-content: center;
    min-height: 120px;
    padding: 20px !important;
    border: 1px dashed var(--pc-line-2);
    background: radial-gradient(rgba(233, 239, 228, .05) 1px, transparent 1.2px) 0 0 / 14px 14px;
    font: 500 11px var(--pc-mono) !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-align: center;
}
html body #admin-modal .v3-empty { font-family: var(--pc-mono); }

/* ---------- Estrutura (antes injetada pelos admin-*.js) -------------------- */
/* Só layout; cores e tipografia ficam nas seções de cada aba, mais abaixo. */
html body #admin-modal .pxcl { display: flex; flex-direction: column; height: 100%; min-height: 0; }
html body #admin-modal .pxcl-bar { display: flex; align-items: center; flex-wrap: wrap; }
html body #admin-modal .pxcl-stats { display: flex; margin-left: auto; }
html body #admin-modal .pxcl-body { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; }
html body #admin-modal .pxcl-row { display: flex; align-items: center; cursor: pointer; }
html body #admin-modal .pxcl-pos { flex: 0 0 auto; text-align: center; }
html body #admin-modal .pxcl-crest { flex: 0 0 auto; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; }
html body #admin-modal .pxcl-crest img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body #admin-modal .pxcl-main { flex: 1; min-width: 0; }
html body #admin-modal .pxcl-name,
html body #admin-modal .pxcl-sub { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #admin-modal .pxcl-sub { margin-top: 3px; }
html body #admin-modal .pxcl-hero-info .pxcl-sub { white-space: normal; }
html body #admin-modal .pxcl-pts,
html body #admin-modal .pxcl-chip { flex: 0 0 auto; }
html body #admin-modal .pxcl-card { display: flex; flex-direction: column; }
html body #admin-modal .pxcl-card h4 { display: flex; align-items: center; }
html body #admin-modal .pxcl-card h4 .pxcl-chip { margin-left: auto; }
html body #admin-modal .pxcl-hero { display: flex; align-items: center; }
html body #admin-modal .pxcl-hero-info { flex: 1; min-width: 0; }
html body #admin-modal .pxcl-kpis { display: flex; flex-wrap: wrap; }
html body #admin-modal .pxcl-kpi { display: flex; flex-direction: column; gap: 3px; }
html body #admin-modal .pxcl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
html body #admin-modal .pxcl-lbl { display: block; }
html body #admin-modal .pxcl-list { display: flex; flex-direction: column; max-height: 320px; overflow-y: auto; }
html body #admin-modal .pxcl-mrow { display: flex; align-items: center; }
html body #admin-modal .pxcl-mrow .grow { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #admin-modal .pxcl-dot { flex: 0 0 auto; }
html body #admin-modal .pxcl-war { display: flex; align-items: center; }

html body #admin-modal .pxvb-row { display: flex; align-items: center; }
html body #admin-modal .pxvb-main { flex: 1; min-width: 0; }
html body #admin-modal .pxvb-badge { display: inline-block; margin-left: 7px; }
html body #admin-modal .pxvb-meta,
html body #admin-modal .pxvb-reason { margin-top: 4px; }
html body #admin-modal .pxvb-btn { flex: 0 0 auto; white-space: nowrap; cursor: pointer; }
html body #admin-modal .pxvb-btn:disabled { opacity: .5; cursor: default; }

html body #admin-modal .pxuf-hero { display: flex; align-items: center; flex-wrap: wrap; }
html body #admin-modal .pxuf-av { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 50%; }
html body #admin-modal .pxuf-av img { width: 100%; height: 100%; object-fit: cover; }
html body #admin-modal .pxuf-htt { flex: 1; min-width: 0; }
html body #admin-modal .pxuf-name { display: flex; align-items: center; flex-wrap: wrap; }
html body #admin-modal .pxuf-chips,
html body #admin-modal .pxuf-nicks { display: flex; flex-wrap: wrap; }
html body #admin-modal .pxuf-pat { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
html body #admin-modal .pxuf-pat b,
html body #admin-modal .pxuf-pat span { display: block; }
html body #admin-modal .pxuf-rep { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
html body #admin-modal .pxuf-rep-item { display: flex; flex-direction: column; align-items: center; gap: 3px; }
html body #admin-modal .pxuf-rep-item i { margin-bottom: 2px; }
html body #admin-modal .pxuf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
html body #admin-modal .pxuf-sec-t { display: flex; align-items: center; gap: 7px; }
html body #admin-modal .pxuf-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px solid var(--pc-line); }
html body #admin-modal .pxuf-row:last-child { border-bottom: 0; }
html body #admin-modal .pxuf-row > span { flex: 0 0 auto; }
html body #admin-modal .pxuf-row > b { min-width: 0; text-align: right; word-break: break-word; }

html body #admin-modal .pxan-form { display: flex; flex-direction: column; }
html body #admin-modal .pxan-row-inputs { display: flex; }
html body #admin-modal .pxan-input { flex: 1; min-width: 0; }
html body #admin-modal .pxan-toolbar { display: flex; flex-wrap: wrap; align-items: center; }
html body #admin-modal .pxan-emoji-picker { display: flex; flex-wrap: wrap; }
html body #admin-modal .pxan-emoji-btn { width: 32px; height: 32px; background: transparent; border: 1px solid transparent; font-size: 16px; cursor: pointer; }
html body #admin-modal .pxan-editor h1 { font-size: 20px; margin: 6px 0; }
html body #admin-modal .pxan-editor h2 { font-size: 16px; margin: 5px 0; }
html body #admin-modal .pxan-row-body h1 { font-size: 16px; margin: 4px 0; }
html body #admin-modal .pxan-row-body h2 { font-size: 14px; margin: 4px 0; }
html body #admin-modal .pxan-actions { display: flex; }
html body #admin-modal .pxan-list { display: flex; flex-direction: column; }
html body #admin-modal .pxan-row { display: flex; flex-direction: column; }
html body #admin-modal .pxan-row-head { display: flex; align-items: center; flex-wrap: wrap; }
html body #admin-modal .pxan-row-title { flex: 1; min-width: 120px; }
html body #admin-modal .pxan-row-actions { display: flex; justify-content: flex-end; }

html body #admin-modal .pxrs { display: flex; flex-direction: column; height: 100%; min-height: 0; }
html body #admin-modal .pxrs-list { display: flex; flex-direction: column; overflow-y: auto; }
html body #admin-modal .pxrs-item { display: flex; align-items: center; }
html body #admin-modal .pxrs-item .grow { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #admin-modal .pxrs-bar span { display: block; height: 100%; }

/* ---------- Jogadores ------------------------------------------------------- */
html body #admin-modal .adm-search-bar {
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--pc-line);
}
html body #admin-modal .adm-search-row { gap: 8px; margin-bottom: 10px; }
html body #admin-modal .adm-search-input { min-height: 38px; padding: 0 12px !important; font-size: 13.5px; }
html body #admin-modal .adm-refresh-btn {
    width: 38px; min-height: 38px; padding: 0;
    background: transparent !important;
    border: 1px solid var(--pc-line-2) !important;
    border-radius: 2px !important;
    color: var(--pc-dim) !important;
}
html body #admin-modal .adm-refresh-btn:hover { color: var(--pc-acid) !important; border-color: var(--pc-acid) !important; }
html body #admin-modal .adm-players-meta {
    margin-top: 8px;
    font: 500 10px var(--pc-mono);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--pc-faint);
}
html body #admin-modal .adm-players-meta span { color: var(--pc-text); font-weight: 600; }

/* Filtros rápidos + ordenação (admin-sessions-nicks.js) */
html body #admin-modal .pxa-filters { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
html body #admin-modal .pxa-chips { display: flex; gap: 4px; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; }
html body #admin-modal .pxa-chip {
    display: inline-flex; align-items: center; gap: 6px;
    min-height: 28px; padding: 0 9px;
    background: transparent;
    border: 1px solid var(--pc-line);
    border-radius: 2px;
    color: var(--pc-dim);
    font: 500 10px var(--pc-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}
html body #admin-modal .pxa-chip b { font-weight: 600; color: var(--pc-faint); font-variant-numeric: tabular-nums; }
html body #admin-modal .pxa-chip:hover { color: var(--pc-text); border-color: var(--pc-line-2); }
html body #admin-modal .pxa-chip.on { color: var(--pc-acid-ink); background: var(--pc-acid); border-color: var(--pc-acid); }
html body #admin-modal .pxa-chip.on b { color: var(--pc-acid-ink); }
html body #admin-modal .pxa-sort { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; }
html body #admin-modal .pxa-sort span { font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pc-faint); }
html body #admin-modal .pxa-sort select { min-height: 28px; padding: 0 8px; font: 600 10.5px var(--pc-mono) !important; letter-spacing: .06em; text-transform: uppercase; }

html body #admin-modal #admin-player-list { padding: 12px 16px 16px !important; gap: 6px !important; }
html body #admin-modal .pxa-card {
    gap: 12px;
    padding: 11px 12px;
    background: var(--pc-ink);
    border: 1px solid var(--pc-line);
    border-radius: 2px;
    box-shadow: none;
    transform: none !important;
    transition: border-color .12s, background .12s;
}
html body #admin-modal .pxa-card:hover { border-color: var(--pc-line-2); background: #0e110f; box-shadow: inset 2px 0 0 var(--pc-acid); }
html body #admin-modal .pxa-av { width: 42px; height: 42px; }
html body #admin-modal .pxa-av-img,
html body #admin-modal .pxa-av-ini {
    width: 42px; height: 42px;
    border: 1px solid var(--pc-line-2);
    box-shadow: none;
    font: 700 16px var(--pc-display);
    color: var(--pc-text);
}
html body #admin-modal .pxa-av-ini,
html body #admin-modal .pxa-av-fallback .pxa-av-ini { background: var(--pc-panel-2) !important; }
html body #admin-modal .pxa-status {
    width: 10px; height: 10px;
    border: 2px solid var(--pc-ink);
    box-shadow: none !important;
}
html body #admin-modal .pxa-status.s-live { background: var(--pc-ok); }
html body #admin-modal .pxa-status.s-spec { background: var(--pc-gold); }
html body #admin-modal .pxa-body { gap: 5px; }
html body #admin-modal .pxa-name .pxa-nm { font: 700 14.5px var(--pc-body); letter-spacing: 0; color: var(--pc-text); }
html body #admin-modal .pxa-flags { gap: 4px; }
html body #admin-modal .pxa-flag {
    padding: 2px 6px;
    border-radius: 2px;
    font: 500 9.5px var(--pc-mono);
    letter-spacing: .08em;
    color: var(--pc-dim);
    border: 1px solid var(--pc-line-2);
    background: transparent;
}
html body #admin-modal .pxa-flag.k-discord { color: var(--pc-info); border-color: color-mix(in srgb, var(--pc-info) 40%, transparent); }
html body #admin-modal .pxa-flag.k-conta { color: var(--pc-text); }
html body #admin-modal .pxa-flag.k-guest { color: var(--pc-faint); border-color: var(--pc-line); }
html body #admin-modal .pxa-flag.f-admin { color: var(--pc-acid); border-color: color-mix(in srgb, var(--pc-acid) 45%, transparent); background: var(--pc-acid-soft); }
html body #admin-modal .pxa-flag.f-verif { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 40%, transparent); }
html body #admin-modal .pxa-flag.f-prem { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 40%, transparent); }
html body #admin-modal .pxa-flag.f-frozen { color: var(--pc-info); border-color: color-mix(in srgb, var(--pc-info) 40%, transparent); background: var(--pc-info-soft); }
html body #admin-modal .pxa-flag.f-muted { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); background: var(--pc-hot-soft); }
html body #admin-modal .pxa-discord { font-size: 12px; color: var(--pc-dim); }
html body #admin-modal .pxa-discord i { color: var(--pc-info); }
html body #admin-modal .pxa-dim { color: var(--pc-faint); }
html body #admin-modal .pxa-stats { gap: 4px 14px; font: 500 11px var(--pc-mono); color: var(--pc-text); font-variant-numeric: tabular-nums; }
html body #admin-modal .pxa-st i { color: var(--pc-faint); opacity: 1; }
html body #admin-modal .pxa-st.st-spec,
html body #admin-modal .pxa-st.st-spec i { color: var(--pc-gold); }
html body #admin-modal .pxa-st.ping-ok i { color: var(--pc-ok); }
html body #admin-modal .pxa-st.ping-mid i { color: var(--pc-gold); }
html body #admin-modal .pxa-st.ping-bad,
html body #admin-modal .pxa-st.ping-bad i { color: var(--pc-hot); }
html body #admin-modal .pxa-net { font: 500 10.5px var(--pc-mono); color: var(--pc-faint); }
html body #admin-modal .pxa-nt.pxa-ip { font-family: var(--pc-mono); color: var(--pc-dim); }
html body #admin-modal .pxa-risk { padding: 1px 6px; border-radius: 2px; font: 500 9.5px var(--pc-mono); letter-spacing: .08em; }
html body #admin-modal .pxa-risk.r-ok { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 35%, transparent); background: transparent; }
html body #admin-modal .pxa-risk.r-bad { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); background: var(--pc-hot-soft); }
html body #admin-modal .pxa-sessions { border-top: 1px dashed var(--pc-line-2); }
html body #admin-modal .pxa-sess-h {
    border-radius: 2px; font: 500 9.5px var(--pc-mono); letter-spacing: .06em; text-transform: uppercase;
    color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 40%, transparent); background: var(--pc-gold-soft);
}
html body #admin-modal .pxa-sess {
    border-radius: 2px; font: 500 10px var(--pc-mono);
    color: var(--pc-text); border-color: var(--pc-line-2); background: transparent;
}
html body #admin-modal .pxa-sess i { color: var(--pc-faint); }
html body #admin-modal .pxa-sess.is-spec,
html body #admin-modal .pxa-sess.is-spec i { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 30%, transparent); background: transparent; }
html body #admin-modal .pxa-sess-id { color: var(--pc-acid); }
html body #admin-modal .pxa-sess-acc,
html body #admin-modal .pxa-sess-guest { border-radius: 2px; font-family: var(--pc-mono); }
html body #admin-modal .pxa-sess-acc { color: var(--pc-ok); background: var(--pc-ok-soft); }
html body #admin-modal .pxa-sess-guest { color: var(--pc-dim); background: rgba(233, 239, 228, .06); }
html body #admin-modal .pxa-empty { min-height: 160px; gap: 10px; padding: 24px; font-size: 11px; color: var(--pc-dim); }
html body #admin-modal .pxa-empty i { opacity: 1; font-size: 20px; color: var(--pc-acid); }

/* Painel do jogador selecionado (markup do ui.js, estilo inline repintado) */
html body #admin-modal #admin-player-actions {
    padding: 14px 16px !important;
    gap: 12px;
    background: transparent !important;
}
html body #admin-modal #admin-player-actions > div:first-child {
    margin: -14px -16px 0 !important;
    padding: 12px 16px;
    border-bottom: 1px solid var(--pc-line);
    gap: 12px !important;
}
html body #admin-modal #admin-player-actions > div:first-child > button {
    min-height: 32px; padding: 0 12px !important;
    background: transparent !important;
    border: 1px solid var(--pc-line-2) !important;
    color: var(--pc-dim) !important;
    font: 600 10.5px var(--pc-mono) !important;
    letter-spacing: .08em; text-transform: uppercase;
}
html body #admin-modal #admin-player-actions > div:first-child > button:hover { color: var(--pc-text) !important; border-color: var(--pc-text) !important; }
html body #admin-modal #admin-target-name {
    font: 800 16px/1.1 var(--pc-display) !important;
    text-transform: uppercase;
    letter-spacing: -.01em;
    color: var(--pc-text) !important;
    display: flex; align-items: center; gap: 8px;
}
html body #admin-modal #admin-player-actions > div:first-child > span { font: 500 10.5px var(--pc-mono) !important; letter-spacing: .1em; color: var(--pc-faint) !important; }
html body #admin-modal #admin-player-actions > div:first-child > span #admin-target-id { color: var(--pc-acid); }
html body #admin-modal #admin-player-actions > div:nth-child(2) { gap: 12px !important; min-height: 0; }
html body #admin-modal #admin-target-details { gap: 8px !important; }
html body #admin-modal #admin-target-details > div,
html body #admin-modal #admin-target-details > div > div {
    padding: 12px !important;
}
html body #admin-modal #admin-target-details img { border: 1px solid var(--pc-line-2) !important; }
/* rótulos "Conta", "Informacoes de IP", "Acoes", "Modificar", "Chat recente" */
html body #admin-modal #admin-player-actions [style*="text-transform"] { color: var(--pc-faint) !important; font-size: 10px !important; font-weight: 500 !important; }
html body #admin-modal #admin-player-actions > div:nth-child(2) > div:last-child > div[style*="text-transform"] {
    margin: 4px 0 8px !important;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--pc-line);
}
html body #admin-modal #admin-player-actions .adm-btn { min-height: 36px; }
html body #admin-modal #admin-player-actions > div:nth-child(2) > div:last-child > div[style*="grid"] { gap: 6px !important; margin-bottom: 14px !important; }
html body #admin-modal #admin-target-chat-history > div { padding: 7px 9px !important; border: 1px solid var(--pc-line); font-size: 12px !important; }
html body #admin-modal #admin-target-chat-history > div > span:first-child { font: 500 10px var(--pc-mono); }
/* Sessões e nicks do IP (admin-sessions-nicks.js) */
html body #admin-modal #pxsn-panel { gap: 8px; margin: 0; }
html body #admin-modal .pxsn-block { padding: 12px; border-radius: 2px; border: 1px solid var(--pc-line); background: var(--pc-ink-2); }
html body #admin-modal .pxsn-block-title {
    margin-bottom: 10px;
    font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pc-acid);
}
html body #admin-modal .pxsn-block-title i { color: var(--pc-acid); }
html body #admin-modal .pxsn-empty { color: var(--pc-dim); font-size: 12px; }
html body #admin-modal .pxsn-sessions li,
html body #admin-modal .pxsn-nicks li {
    border-radius: 2px; background: var(--pc-ink); border: 1px solid var(--pc-line);
    font: 500 11px var(--pc-mono); color: var(--pc-dim);
}
html body #admin-modal .pxsn-sessions li b,
html body #admin-modal .pxsn-uses { color: var(--pc-acid); }
html body #admin-modal .pxsn-nick { color: var(--pc-text); font-family: var(--pc-body); font-weight: 700; font-size: 12.5px; }
html body #admin-modal .pxsn-tag { border-radius: 2px; color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 40%, transparent); background: transparent; }
html body #admin-modal .pxsn-when { color: var(--pc-faint); }

/* ---------- Diálogos e confirmações ---------------------------------------- */
/* Overlays do index.html/ui.js dentro do painel (motivo, valor, exclusão) */
html body #admin-modal .adm-reason-overlay,
html body #admin-modal #admin-input-overlay,
html body #admin-modal #admin-delete-confirm-overlay {
    background: var(--pc-backdrop) !important;
    -webkit-backdrop-filter: blur(4px) saturate(.5) !important;
    backdrop-filter: blur(4px) saturate(.5) !important;
    padding: 24px !important;
}
html body #admin-modal .adm-reason-card,
html body #admin-modal #admin-input-overlay > div,
html body #admin-modal #admin-delete-confirm-overlay .adc-box {
    max-width: 420px !important;
    padding: 20px !important;
    background: var(--pc-corners), var(--pc-panel) !important;
    border: 1px solid var(--pc-line-2) !important;
    border-radius: 2px !important;
    box-shadow: var(--pc-shadow) !important;
    animation: none;
}
html body #admin-modal .adm-reason-title,
html body #admin-modal #admin-input-title,
html body #admin-modal #admin-delete-confirm-overlay h4 {
    margin: 0 0 12px !important;
    color: var(--pc-text) !important;
    font: 800 17px/1.15 var(--pc-display) !important;
    letter-spacing: -.02em;
    text-transform: uppercase;
}
html body #admin-modal .adm-reason-title i { color: var(--pc-hot); }
html body #admin-modal .adm-reason-action {
    margin: 0 0 16px !important;
    padding: 10px 12px !important;
    background: var(--pc-ink) !important;
    border: 1px solid var(--pc-line) !important;
    border-left: 2px solid var(--pc-hot) !important;
    border-radius: 2px !important;
    color: var(--pc-text) !important;
    font: 600 12px var(--pc-mono) !important;
    letter-spacing: .04em;
}
html body #admin-modal .adm-reason-label,
html body #admin-modal #admin-input-label,
html body #admin-modal #admin-ban-duration-fields label {
    margin-bottom: 6px !important;
    color: var(--pc-faint) !important;
    font: 500 10px var(--pc-mono) !important;
    letter-spacing: .14em;
    text-transform: uppercase;
}
html body #admin-modal #admin-input-help { color: var(--pc-dim) !important; font-size: 13px !important; margin-bottom: 14px !important; }
html body #admin-modal .adm-reason-textarea,
html body #admin-modal #admin-input-value { padding: 10px 12px !important; font-size: 14px !important; }
html body #admin-modal #admin-ban-duration-fields {
    padding: 12px !important;
    background: var(--pc-ink-2) !important;
    border: 1px solid var(--pc-line) !important;
    border-radius: 2px !important;
}
html body #admin-modal .adm-reason-actions,
html body #admin-modal #admin-input-overlay > div > div:last-child,
html body #admin-modal #admin-delete-confirm-overlay .adc-actions { gap: 8px !important; margin-top: 16px !important; }
html body #admin-modal .adm-reason-cancel,
html body #admin-modal .adm-reason-confirm,
html body #admin-modal #admin-input-overlay > div > div:last-child > button,
html body #admin-modal #admin-delete-confirm-overlay .adc-actions button {
    min-height: 38px;
    padding: 0 14px !important;
    border-radius: 2px !important;
    background: transparent !important;
    border: 1px solid var(--pc-line-2) !important;
    color: var(--pc-dim) !important;
    font: 600 11px var(--pc-mono) !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    box-shadow: none !important;
}
html body #admin-modal .adm-reason-cancel:hover,
html body #admin-modal #admin-input-overlay > div > div:last-child > button:first-child:hover { color: var(--pc-text) !important; border-color: var(--pc-text) !important; }
html body #admin-modal .adm-reason-confirm,
html body #admin-modal #admin-delete-confirm-overlay .adc-confirm {
    color: var(--pc-hot) !important;
    border-color: color-mix(in srgb, var(--pc-hot) 55%, transparent) !important;
}
html body #admin-modal .adm-reason-confirm:hover,
html body #admin-modal #admin-delete-confirm-overlay .adc-confirm:hover { background: var(--pc-hot-soft) !important; border-color: var(--pc-hot) !important; }
html body #admin-modal #admin-input-overlay > div > div:last-child > button:last-child {
    background: var(--pc-acid) !important; border-color: var(--pc-acid) !important; color: var(--pc-acid-ink) !important;
}

/* Diálogo do painel (admin.js → pxAdminDialog) e banimento de chat */
html body .pxad-back,
html body .pxcb-back { z-index: 100060; }
html body .pxad.v3-modal,
html body .pxcb-modal.v3-modal { z-index: 100061; width: min(460px, calc(100vw - 24px)); }
html body .pxad .v3-head,
html body .pxcb-modal .v3-head { align-items: flex-start; }
html body .pxad.is-danger .v3-kicker { color: var(--pc-hot); }
html body .pxad .v3-title i,
html body .pxcb-modal .v3-title i { margin-right: 10px; }
html body .pxad.is-danger .v3-title i,
html body .pxcb-modal .v3-title i { color: var(--pc-hot); }
html body .pxad .v3-body,
html body .pxcb-modal .v3-body { display: flex; flex-direction: column; gap: 14px; }
html body .pxad-target {
    display: flex; flex-direction: column; gap: 4px;
    padding: 10px 12px;
    background: var(--pc-ink);
    border: 1px solid var(--pc-line);
    border-left: 2px solid var(--pc-acid);
}
html body .pxad.is-danger .pxad-target,
html body .pxcb-modal .pxad-target { border-left-color: var(--pc-hot); }
html body .pxad-target b { font: 700 15px var(--pc-body); color: var(--pc-text); word-break: break-word; }
html body .pxad-text,
html body .pxcb-who { margin: 0; color: var(--pc-dim); font-size: 14px; line-height: 1.5; }
html body .pxad-field .v3-label em,
html body .v3-label em { font-style: normal; color: var(--pc-faint); opacity: .8; letter-spacing: .06em; text-transform: none; }
html body .pxad-field .v3-label b { color: var(--pc-hot); font-weight: 700; }
html body .pxad-field .is-invalid { border-color: var(--pc-hot) !important; box-shadow: inset 3px 0 0 var(--pc-hot) !important; }
html body .pxad .v3-foot,
html body .pxcb-modal .v3-foot { justify-content: flex-end; }
html body .pxad .v3-btn.is-danger:not(:disabled),
html body .pxcb-modal .v3-btn.is-danger { background: var(--pc-hot); border-color: var(--pc-hot); color: var(--pc-ink); }
html body .pxad .v3-btn.is-danger:hover:not(:disabled),
html body .pxcb-modal .v3-btn.is-danger:hover { background: #ff6d85; box-shadow: 0 0 0 4px var(--pc-hot-soft); }
html body .pxcb-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: -6px; }
html body .pxcb-chip {
    min-height: 36px;
    background: transparent;
    border: 1px solid var(--pc-line-2);
    border-radius: 2px;
    color: var(--pc-dim);
    font: 600 10.5px var(--pc-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
}
html body .pxcb-chip:hover { color: var(--pc-text); border-color: var(--pc-text); }
html body .pxcb-chip.on { color: var(--pc-ink); background: var(--pc-hot); border-color: var(--pc-hot); }

/* ---------- Contas ---------------------------------------------------------- */
html body #admin-modal #admin-account-list { padding: 0 16px 16px !important; gap: 6px !important; }
html body #admin-modal #admin-account-list > div[onclick] {
    grid-template-columns: 36px minmax(0, 1fr) auto !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    cursor: pointer;
    transition: border-color .12s, background .12s;
}
html body #admin-modal #admin-account-list > div[onclick]:hover { border-color: var(--pc-line-2) !important; background: #0e110f !important; box-shadow: inset 2px 0 0 var(--pc-acid); }
html body #admin-modal #admin-account-list > div[onclick] img { width: 36px !important; height: 36px !important; border: 1px solid var(--pc-line-2) !important; }
html body #admin-modal #admin-account-list > div[onclick] > div:nth-child(2) > div:first-child { font-size: 14px !important; }
html body #admin-modal #admin-account-list > div[onclick] > div:nth-child(2) > div:not(:first-child) { font: 500 10.5px/1.5 var(--pc-mono) !important; }
html body #admin-modal #admin-account-list > div[onclick] > div:last-child { flex-direction: row !important; flex-wrap: wrap; justify-content: flex-end; align-items: center !important; gap: 4px !important; max-width: 220px; }
html body #admin-modal #admin-account-list > div[onclick] > div:last-child > span {
    padding: 2px 6px !important;
    font: 500 9.5px var(--pc-mono) !important;
    letter-spacing: .1em;
}
/* Sub-abas (admin-accounts-tabs.js) */
html body #admin-modal .pxact-tabs {
    display: flex; gap: 2px;
    margin: 0 0 12px;
    padding: 0 16px;
    border-bottom: 1px solid var(--pc-line);
    overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap;
}
html body #admin-modal .pxact-tabs::-webkit-scrollbar { display: none; }
html body #admin-modal .pxact-tab {
    position: relative; flex: 0 0 auto;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 12px 10px;
    background: transparent; border: 0; border-radius: 0;
    color: var(--pc-dim);
    font: 500 10.5px var(--pc-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
}
html body #admin-modal .pxact-tab i { color: var(--pc-faint); font-size: 11px; }
html body #admin-modal .pxact-tab:hover { color: var(--pc-text); }
html body #admin-modal .pxact-tab.active { color: var(--pc-text); }
html body #admin-modal .pxact-tab.active i { color: var(--pc-acid); }
html body #admin-modal .pxact-tab.active::after { content: ''; position: absolute; left: 8px; right: 8px; bottom: -1px; height: 2px; background: var(--pc-acid); }
html body #admin-modal .pxact-count {
    min-width: 18px; padding: 1px 5px;
    border: 1px solid var(--pc-line-2); border-radius: 2px;
    background: transparent;
    color: var(--pc-dim);
    font: 600 10px var(--pc-mono);
    text-align: center;
}
html body #admin-modal .pxact-tab.active .pxact-count { color: var(--pc-acid-ink); background: var(--pc-acid); border-color: var(--pc-acid); }
html body #admin-modal .pxact-approve {
    display: inline-flex; align-items: center; gap: 6px;
    min-height: 26px; padding: 0 9px;
    background: var(--pc-acid); border: 1px solid var(--pc-acid); border-radius: 2px;
    color: var(--pc-acid-ink);
    font: 700 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
    cursor: pointer;
}
html body #admin-modal .pxact-approve:hover { box-shadow: 0 0 0 3px var(--pc-acid-soft); }
html body #admin-modal .pxact-approve:disabled { opacity: .45; cursor: default; }
html body #admin-modal #pxact-empty,
html body #admin-modal .pxvb-empty { margin: 4px 0; }
/* IPs suspeitos (VPN) */
html body #admin-modal #pxvb-panel { padding: 0 16px 16px; overflow-y: auto; }
html body #admin-modal .pxvb-row {
    gap: 12px; margin-bottom: 6px; padding: 11px 12px;
    background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px;
}
html body #admin-modal .pxvb-ip { font: 700 13px var(--pc-mono); color: var(--pc-text); }
html body #admin-modal .pxvb-badge { border-radius: 2px; font: 500 9.5px var(--pc-mono); letter-spacing: .1em; padding: 1px 6px; }
html body #admin-modal .pxvb-badge.vpn,
html body #admin-modal .pxvb-badge.tor { color: var(--pc-hot); background: var(--pc-hot-soft); border: 1px solid color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body #admin-modal .pxvb-badge.proxy,
html body #admin-modal .pxvb-badge.suspicious { color: var(--pc-gold); background: var(--pc-gold-soft); border: 1px solid color-mix(in srgb, var(--pc-gold) 45%, transparent); }
html body #admin-modal .pxvb-meta { color: var(--pc-dim); font-size: 12px; }
html body #admin-modal .pxvb-meta b { color: var(--pc-text); }
html body #admin-modal .pxvb-reason { color: var(--pc-faint); font: 500 11px var(--pc-mono); }
html body #admin-modal .pxvb-btn {
    min-height: 34px; padding: 0 12px;
    background: transparent; border: 1px solid color-mix(in srgb, var(--pc-ok) 45%, transparent); border-radius: 2px;
    color: var(--pc-ok);
    font: 600 10.5px var(--pc-mono); letter-spacing: .08em; text-transform: uppercase;
}
html body #admin-modal .pxvb-btn:hover { background: var(--pc-ok-soft); }

/* Ficha da conta (ui.js + admin-user-tabs.js) */
html body #admin-modal #admin-account-detail { padding: 14px 16px !important; background: transparent !important; gap: 0; }
html body #admin-modal #admin-account-detail > button:first-child {
    min-height: 32px; margin-bottom: 12px !important; padding: 0 12px !important;
    background: transparent !important; border: 1px solid var(--pc-line-2) !important;
    color: var(--pc-dim) !important;
    font: 600 10.5px var(--pc-mono) !important; letter-spacing: .08em; text-transform: uppercase;
}
html body #admin-modal #admin-account-detail > button:first-child::before { content: '\2190  '; }
html body #admin-modal #admin-account-detail > button:first-child:hover { color: var(--pc-text) !important; border-color: var(--pc-text) !important; }
html body #admin-modal #admin-account-detail > div { padding-right: 4px !important; }
html body #admin-modal .pxut-tabbar {
    position: sticky; top: 0; z-index: 2;
    display: flex; gap: 2px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
    margin: 0 0 14px; padding: 0;
    background: var(--pc-panel);
    border-bottom: 1px solid var(--pc-line);
}
html body #admin-modal .pxut-tabbar::-webkit-scrollbar { display: none; }
html body #admin-modal .pxut-tab {
    position: relative; flex: 0 0 auto;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 11px 12px;
    background: transparent; border: 0; border-radius: 0;
    color: var(--pc-dim);
    font: 500 10.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
    cursor: pointer;
}
html body #admin-modal .pxut-tab i { color: var(--pc-faint); font-size: 11px; opacity: 1; }
html body #admin-modal .pxut-tab:hover { color: var(--pc-text); }
html body #admin-modal .pxut-tab.active { color: var(--pc-text); background: transparent; border: 0; box-shadow: none; }
html body #admin-modal .pxut-tab.active i { color: var(--pc-acid); }
html body #admin-modal .pxut-tab.active::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; background: var(--pc-acid); }
html body #admin-modal .pxut-panel { display: none; }
html body #admin-modal .pxut-panel.active { display: block; animation: none; }
html body #admin-modal .pxut-panel > div { margin-bottom: 12px !important; }
html body #admin-modal .pxut-panel h3 { font: 800 17px var(--pc-display) !important; text-transform: uppercase; letter-spacing: -.02em; }
html body #admin-modal .pxut-panel h4 {
    margin: 4px 0 10px !important;
    font: 500 10px var(--pc-mono) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--pc-acid) !important;
}
/* O admin.js reescreve o style ao repintar: o navegador põe espaço depois dos ":" */
html body #admin-modal .pxut-panel > div > div[style*="grid-template-columns: 120px"],
html body #admin-modal .pxut-panel > div > div[style*="grid-template-columns:120px"] { font-size: 12.5px !important; gap: 6px 10px !important; }
html body #admin-modal .pxut-panel > div > div[style*="grid-template-columns: 120px"] > span,
html body #admin-modal .pxut-panel > div > div[style*="grid-template-columns:120px"] > span { font: 500 10px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pc-faint); align-self: center; }
html body #admin-modal .pxut-empty { padding: 18px 4px; color: var(--pc-dim); font: 500 11px var(--pc-mono); text-transform: uppercase; letter-spacing: .06em; }
html body #admin-modal .pxut-flabel {
    display: flex; align-items: center; gap: 7px;
    margin: 14px 0 6px;
    font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pc-faint);
}
html body #admin-modal .pxut-flabel i { color: var(--pc-acid); opacity: 1; }
html body #admin-modal .pxut-fieldgrid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; }
/* Paginação do histórico de chat da conta (botões do ui.js) */
html body #admin-modal #admin-account-detail button[onclick^="adminChatPageNav"] {
    min-height: 28px; padding: 0 10px !important;
    background: transparent !important; border: 1px solid var(--pc-line-2) !important;
    color: var(--pc-text) !important; font: 600 10px var(--pc-mono) !important; letter-spacing: .08em; text-transform: uppercase;
}
html body #admin-modal #admin-account-detail button[onclick^="adminChatPageNav"]:hover { border-color: var(--pc-text) !important; }
html body #admin-modal #admin-account-detail button[onclick^="adminChatPageNav"] + span { font: 500 10.5px var(--pc-mono); color: var(--pc-dim); }
html body #admin-modal #admin-account-chat-rows > div { padding: 7px 10px !important; border: 1px solid var(--pc-line); font-size: 12.5px !important; }
html body #admin-modal .pxut-field { display: flex; flex-direction: column; min-width: 0; }
html body #admin-modal .pxut-field .pxut-flabel { margin-top: 4px; }
html body #admin-modal .pxut-field-full { grid-column: 1 / -1; }
html body #admin-modal #admin-account-detail .pxut-field input { min-height: 38px; padding: 0 12px !important; font-size: 13.5px !important; }
html body #admin-modal .pxut-pwd {
    margin-top: 10px; padding: 12px 14px;
    background: var(--pc-ink-2); border: 1px solid var(--pc-line); border-radius: 2px;
}
html body #admin-modal .pxut-pwd .pxut-flabel { margin-top: 0; color: var(--pc-text); }
html body #admin-modal .pxut-inrow { display: flex; gap: 8px; align-items: flex-end; flex-wrap: wrap; }
html body #admin-modal .pxut-input { flex: 1; min-width: 120px; min-height: 36px; padding: 0 12px; font-size: 13px; }
html body #admin-modal .pxut-slot {
    flex: 1; min-width: 96px;
    display: flex; flex-direction: column; gap: 5px;
    font: 500 10px var(--pc-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--pc-faint);
}
html body #admin-modal .pxut-btn {
    min-height: 36px; padding: 0 14px;
    display: inline-flex; align-items: center; gap: 7px;
    background: transparent; border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text);
    font: 600 10.5px var(--pc-mono) !important; letter-spacing: .08em; text-transform: uppercase;
    white-space: nowrap; cursor: pointer;
}
html body #admin-modal .pxut-btn:hover { border-color: var(--pc-text); filter: none; }
html body #admin-modal #pxut-save-edit { background: var(--pc-acid); border-color: var(--pc-acid); color: var(--pc-acid-ink); }
html body #admin-modal .pxut-hint { margin-top: 7px; color: var(--pc-faint); font-size: 12px; }
html body #admin-modal .pxut-modrow { display: flex; gap: 6px; flex-wrap: wrap; }
html body #admin-modal .pxut-b-verify { color: var(--pc-ok) !important; border-color: color-mix(in srgb, var(--pc-ok) 45%, transparent) !important; background: transparent !important; }
html body #admin-modal .pxut-b-unverify { color: var(--pc-gold) !important; border-color: color-mix(in srgb, var(--pc-gold) 45%, transparent) !important; background: transparent !important; }
html body #admin-modal .pxut-b-ban,
html body #admin-modal .pxut-b-del { color: var(--pc-hot) !important; border-color: color-mix(in srgb, var(--pc-hot) 50%, transparent) !important; background: transparent !important; }
html body #admin-modal .pxut-b-ban:hover,
html body #admin-modal .pxut-b-del:hover { background: var(--pc-hot-soft) !important; }
html body #admin-modal .pxut-b-unban { color: var(--pc-info) !important; border-color: color-mix(in srgb, var(--pc-info) 45%, transparent) !important; background: transparent !important; }
/* Cartão completo da conta (ADMIN_USER_FULL) */
html body #admin-modal .pxuf-card { padding: 16px; margin-bottom: 12px; background: var(--pc-ink-2); border: 1px solid var(--pc-line); border-radius: 2px; }
html body #admin-modal .pxuf-hero { gap: 16px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--pc-line); }
html body #admin-modal .pxuf-av {
    width: 64px; height: 64px;
    background: var(--pc-panel-2); border: 1px solid var(--pc-acid);
    color: var(--pc-text); font: 800 22px var(--pc-display);
}
html body #admin-modal .pxuf-name { font: 800 20px/1.1 var(--pc-display); text-transform: uppercase; letter-spacing: -.02em; color: var(--pc-text); gap: 8px; }
html body #admin-modal .pxuf-sub { margin-top: 4px; font: 500 11px var(--pc-mono); letter-spacing: .06em; color: var(--pc-dim); }
html body #admin-modal .pxuf-chips { gap: 4px; margin-top: 8px; }
html body #admin-modal .pxuf-chip {
    padding: 2px 7px; border-radius: 2px;
    background: transparent; border: 1px solid var(--pc-line-2);
    color: var(--pc-dim); font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
}
html body #admin-modal .pxuf-chip.ok { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 45%, transparent); background: transparent; }
html body #admin-modal .pxuf-chip.gold { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 45%, transparent); background: transparent; }
html body #admin-modal .pxuf-chip.bad { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); background: var(--pc-hot-soft); }
html body #admin-modal .pxuf-pat { padding: 9px 12px; border-radius: 2px; background: var(--pc-ink); border: 1px solid var(--pc-line-2); }
html body #admin-modal .pxuf-pat b { color: var(--pc-text); }
html body #admin-modal .pxuf-pat span { font: 500 10.5px var(--pc-mono); color: var(--pc-gold); }
html body #admin-modal .pxuf-rep { gap: 6px; margin-bottom: 14px; }
html body #admin-modal .pxuf-rep-item { padding: 10px 6px; border-radius: 2px; border: 1px solid var(--pc-line); background: var(--pc-ink); }
html body #admin-modal .pxuf-rep-item i { color: var(--pc-faint); }
html body #admin-modal .pxuf-rep-item b { font: 700 18px var(--pc-mono); color: var(--pc-text); }
html body #admin-modal .pxuf-rep-item span { font: 500 9.5px var(--pc-mono); letter-spacing: .12em; color: var(--pc-faint); }
html body #admin-modal .pxuf-rep-item.up,
html body #admin-modal .pxuf-rep-item.down,
html body #admin-modal .pxuf-rep-item.score { background: var(--pc-ink); border-color: var(--pc-line); }
html body #admin-modal .pxuf-rep-item.up i,
html body #admin-modal .pxuf-rep-item.up b { color: var(--pc-ok); }
html body #admin-modal .pxuf-rep-item.down i,
html body #admin-modal .pxuf-rep-item.down b { color: var(--pc-hot); }
html body #admin-modal .pxuf-rep-item.score i { color: var(--pc-acid); }
html body #admin-modal .pxuf-grid { gap: 8px; }
html body #admin-modal .pxuf-sec { padding: 12px; border-radius: 2px; border: 1px solid var(--pc-line); background: var(--pc-ink); }
html body #admin-modal .pxuf-sec-t { font: 500 10px var(--pc-mono); letter-spacing: .14em; color: var(--pc-acid); margin-bottom: 8px; }
html body #admin-modal .pxuf-row { font-size: 12.5px; border-bottom-color: var(--pc-line); }
html body #admin-modal .pxuf-row > span { color: var(--pc-dim); }
html body #admin-modal .pxuf-row > b { color: var(--pc-text); font-weight: 600; }
html body #admin-modal .pxuf-ok { color: var(--pc-ok); }
html body #admin-modal .pxuf-nicks { gap: 4px; }
html body #admin-modal .pxuf-nick { padding: 3px 8px; border-radius: 2px; background: transparent; border: 1px solid var(--pc-line-2); color: var(--pc-text); font: 500 11px var(--pc-mono); }
html body #admin-modal .pxuf-nick.main { color: var(--pc-acid-ink); background: var(--pc-acid); border-color: var(--pc-acid); }
/* Cartão de chat na ficha (admin-chatban.js) */
html body #admin-modal .pxcb-card { margin: 0 0 12px; padding: 12px 14px; background: var(--pc-ink-2); border: 1px solid var(--pc-line); border-radius: 2px; }
html body #admin-modal .pxcb-card.is-banned { border-left: 2px solid var(--pc-hot); }
html body #admin-modal .pxcb-card-h {
    display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
    font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pc-acid);
}
html body #admin-modal .pxcb-card-h .pxcb-pill { margin-left: auto; }
html body #admin-modal .pxcb-status { margin-bottom: 10px; color: var(--pc-dim); font-size: 13px; line-height: 1.5; }
html body #admin-modal .pxcb-status b { color: var(--pc-text); }
html body #admin-modal .pxcb-by { display: block; color: var(--pc-faint); font: 500 10.5px var(--pc-mono); }
html body #admin-modal .pxcb-row { display: flex; gap: 8px; flex-wrap: wrap; }
html body #admin-modal .pxcb-btn {
    min-height: 34px; padding: 0 12px;
    display: inline-flex; align-items: center; gap: 7px;
    background: transparent; border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text); font: 600 10.5px var(--pc-mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
}
html body #admin-modal .pxcb-btn.danger { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 50%, transparent); }
html body #admin-modal .pxcb-btn.danger:hover { background: var(--pc-hot-soft); }
html body .pxcb-pill {
    display: inline-flex; align-items: center;
    padding: 2px 7px; border-radius: 2px;
    font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
}
html body .pxcb-pill.on { color: var(--pc-hot); background: var(--pc-hot-soft); border: 1px solid color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body .pxcb-pill.off { color: var(--pc-ok); background: transparent; border: 1px solid color-mix(in srgb, var(--pc-ok) 40%, transparent); }
html body #admin-target-name #pxcb-badge { font-family: var(--pc-mono); }

/* ---------- Clãs (admin-clans.js) ------------------------------------------ */
html body #admin-modal .pxcl { font-family: var(--pc-body); }
html body #admin-modal .pxcl-bar { gap: 8px; padding: 14px 16px; border-bottom: 1px solid var(--pc-line); }
html body #admin-modal .pxcl-bar.pxcl-bar-in { padding: 0; border: 0; }
html body #admin-modal .pxcl-in { min-height: 36px; padding: 0 12px; font-size: 13px; }
html body #admin-modal .pxcl-in.grow { flex: 1; min-width: 150px; }
html body #admin-modal .pxcl-in.wide { width: 100%; }
html body #admin-modal .pxcl-btn {
    min-height: 36px; padding: 0 14px;
    display: inline-flex; align-items: center; gap: 7px;
    background: var(--pc-acid); border: 1px solid var(--pc-acid); border-radius: 2px;
    color: var(--pc-acid-ink);
    font: 700 10.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
    white-space: nowrap; cursor: pointer;
}
html body #admin-modal .pxcl-btn:hover { background: var(--pc-acid); box-shadow: 0 0 0 4px var(--pc-acid-soft); }
html body #admin-modal .pxcl-btn.ghost { background: transparent; border-color: var(--pc-line-2); color: var(--pc-text); }
html body #admin-modal .pxcl-btn.ghost:hover { border-color: var(--pc-text); box-shadow: none; }
html body #admin-modal .pxcl-btn.danger { background: transparent; border-color: color-mix(in srgb, var(--pc-hot) 50%, transparent); color: var(--pc-hot); }
html body #admin-modal .pxcl-btn.danger:hover { background: var(--pc-hot-soft); box-shadow: none; }
html body #admin-modal .pxcl-push { margin-left: auto; }
html body #admin-modal .pxcl-stats { gap: 14px; font: 500 10px var(--pc-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--pc-faint); }
html body #admin-modal .pxcl-stats b { color: var(--pc-text); font-size: 12px; }
html body #admin-modal .pxcl-body { padding: 14px 16px; gap: 8px; }
html body #admin-modal .pxcl-empty {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
    min-height: 110px; padding: 20px;
    border: 1px dashed var(--pc-line-2);
    background: radial-gradient(rgba(233, 239, 228, .05) 1px, transparent 1.2px) 0 0 / 14px 14px;
    font: 500 11px var(--pc-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--pc-dim);
}
html body #admin-modal .pxcl-empty > i { font-size: 20px; color: var(--pc-acid); }
html body #admin-modal .pxcl-row {
    gap: 12px; padding: 10px 12px;
    background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px;
}
html body #admin-modal .pxcl-row:hover { border-color: var(--pc-line-2); background: #0e110f; box-shadow: inset 2px 0 0 var(--pc-acid); }
html body #admin-modal .pxcl-pos { width: 24px; font: 700 12px var(--pc-mono); color: var(--pc-faint); }
html body #admin-modal .pxcl-pos.top1 { color: var(--pc-gold); }
html body #admin-modal .pxcl-pos.top2 { color: var(--pc-silver); }
html body #admin-modal .pxcl-pos.top3 { color: var(--pc-bronze); }
html body #admin-modal .pxcl-crest { border-radius: 2px; border: 1px solid var(--pc-line-2); background: var(--pc-panel-2); color: var(--pc-acid); }
html body #admin-modal .pxcl-crest.big { width: 72px; height: 72px; border-radius: 2px; font-size: 24px; }
html body #admin-modal .pxcl-name { font: 700 14px var(--pc-body); color: var(--pc-text); }
html body #admin-modal .pxcl-name-big { font: 800 20px/1.1 var(--pc-display); text-transform: uppercase; letter-spacing: -.02em; }
html body #admin-modal .pxcl-tag { color: var(--pc-acid); font-family: var(--pc-mono); }
html body #admin-modal .pxcl-sub { color: var(--pc-dim); font-size: 12px; }
html body #admin-modal .pxcl-note { margin-top: 6px; color: var(--pc-faint); }
html body #admin-modal .pxcl-muted { color: var(--pc-faint); }
html body #admin-modal .pxcl-pts { font: 700 12.5px var(--pc-mono); color: var(--pc-gold); }
html body #admin-modal .pxcl-chip {
    padding: 2px 7px; border-radius: 2px;
    background: transparent; border: 1px solid var(--pc-line-2);
    color: var(--pc-dim); font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
}
html body #admin-modal .pxcl-chip.warn { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 45%, transparent); background: var(--pc-gold-soft); }
html body #admin-modal .pxcl-chip.war { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); background: var(--pc-hot-soft); }
html body #admin-modal .pxcl-chip.on { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 45%, transparent); }
html body #admin-modal .pxcl-card { gap: 10px; padding: 14px; background: var(--pc-ink-2); border: 1px solid var(--pc-line); border-radius: 2px; }
html body #admin-modal .pxcl-card h4 {
    gap: 8px; margin: -14px -14px 2px; padding: 10px 14px;
    border-bottom: 1px solid var(--pc-line);
    font: 500 10px var(--pc-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--pc-acid);
}
html body #admin-modal .pxcl-card h4 i { color: var(--pc-acid); }
html body #admin-modal .pxcl-hero { gap: 16px; }
html body #admin-modal .pxcl-kpis { gap: 6px; margin-top: 12px; }
html body #admin-modal .pxcl-kpi { min-width: 92px; padding: 8px 10px; background: var(--pc-ink); border: 1px solid var(--pc-line); }
html body #admin-modal .pxcl-kpi b { font: 700 15px var(--pc-mono); color: var(--pc-text); }
html body #admin-modal .pxcl-kpi span { font: 500 9.5px var(--pc-mono); letter-spacing: .12em; color: var(--pc-faint); }
html body #admin-modal .pxcl-lbl { margin-bottom: 6px; font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pc-faint); }
html body #admin-modal .pxcl-list { gap: 4px; }
html body #admin-modal .pxcl-mrow { gap: 8px; padding: 7px 10px; background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px; color: var(--pc-text); font-size: 13px; }
html body #admin-modal .pxcl-dot { width: 7px; height: 7px; border-radius: 0; background: var(--pc-faint); }
html body #admin-modal .pxcl-dot.on { background: var(--pc-ok); box-shadow: 0 0 0 3px var(--pc-ok-soft); }
html body #admin-modal .pxcl-role { min-height: 30px; padding: 0 6px; font-size: 12px; }
html body #admin-modal .pxcl-mini {
    min-height: 30px; padding: 0 10px;
    background: transparent; border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text); font: 600 10px var(--pc-mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
}
html body #admin-modal .pxcl-mini:hover { border-color: var(--pc-text); }
html body #admin-modal .pxcl-mini.ok { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 45%, transparent); }
html body #admin-modal .pxcl-mini.no { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body #admin-modal .pxcl-mini.no:hover { background: var(--pc-hot-soft); }
html body #admin-modal .pxcl-war { gap: 10px; padding: 9px 12px; border-radius: 2px; background: var(--pc-ink); border: 1px solid var(--pc-line); border-left: 2px solid var(--pc-hot); font-size: 13px; }
html body #admin-modal .pxcl-war .grow { flex: 1; min-width: 0; }
html body #admin-modal .pxcl-score { padding: 3px 10px; border-radius: 2px; background: var(--pc-panel-2); font: 700 12px var(--pc-mono); color: var(--pc-text); }

/* ---------- Visão geral (ui.js + admin-metrics-ping.js) -------------------- */
html body #admin-modal #admin-tab-quick > .pxov { padding: 16px !important; gap: 14px !important; }
/* Texto de introdução antigo ("Use as abas acima…") sai: o cabeçalho já diz */
html body #admin-modal #admin-tab-quick > .pxov > div:first-child:not([id]) { display: none; }
html body #admin-modal .admin-quick-stats {
    display: flex; flex-wrap: wrap; gap: 6px;
    padding: 0; background: transparent; border: 0; border-radius: 0;
}
html body #admin-modal .admin-quick-stats > span {
    display: inline-flex; align-items: center; gap: 6px;
    min-height: 28px; padding: 0 10px;
    background: var(--pc-ink); border: 1px solid var(--pc-line-2); border-radius: 2px;
    font: 500 10.5px var(--pc-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--pc-dim);
}
html body #admin-modal .admin-quick-stats > span i { color: var(--pc-faint); }
html body #admin-modal .admin-quick-stats > span strong { color: var(--pc-text); }
html body #admin-modal .admin-quick-stats .ok { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 40%, transparent); }
html body #admin-modal .admin-quick-stats .bad { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); background: var(--pc-hot-soft); }
html body #admin-modal .pxov-sec,
html body #admin-modal .pxm-metrics {
    margin: 0;
    padding: 0 14px 14px;
    background: var(--pc-ink-2);
    border: 1px solid var(--pc-line);
    border-radius: 2px;
}
html body #admin-modal .pxov-h,
html body #admin-modal .pxm-metrics-title {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    margin: 0 -14px 12px; padding: 10px 14px;
    border-bottom: 1px solid var(--pc-line);
    font: 500 10px var(--pc-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--pc-acid);
}
html body #admin-modal .pxov-h i { color: var(--pc-acid); }
html body #admin-modal .pxov-h-note { margin-left: auto; color: var(--pc-faint); letter-spacing: .1em; }
html body #admin-modal .pxov-cards { display: grid; gap: 6px; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); }
html body #admin-modal .pxov-card {
    display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
    min-height: 92px; padding: 12px;
    background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px;
    color: var(--pc-text); text-align: left; cursor: pointer;
    transition: border-color .12s, background .12s;
}
html body #admin-modal .pxov-card:hover { border-color: var(--pc-line-2); background: #0e110f; }
html body #admin-modal .pxov-card-h { display: flex; align-items: center; gap: 7px; font: 500 10px var(--pc-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--pc-faint); }
html body #admin-modal .pxov-card-h i { width: 12px; color: var(--pc-dim); }
html body #admin-modal .pxov-card b { font: 700 26px/1 var(--pc-mono); color: var(--pc-text); font-variant-numeric: tabular-nums; }
html body #admin-modal .pxov-card small { color: var(--pc-faint); font-size: 11.5px; line-height: 1.3; }
html body #admin-modal .pxov-card.is-gold { border-color: color-mix(in srgb, var(--pc-gold) 45%, transparent); box-shadow: inset 2px 0 0 var(--pc-gold); }
html body #admin-modal .pxov-card.is-gold b,
html body #admin-modal .pxov-card.is-gold .pxov-card-h i { color: var(--pc-gold); }
html body #admin-modal .pxov-card.is-hot { border-color: color-mix(in srgb, var(--pc-hot) 50%, transparent); box-shadow: inset 2px 0 0 var(--pc-hot); }
html body #admin-modal .pxov-card.is-hot b,
html body #admin-modal .pxov-card.is-hot .pxov-card-h i { color: var(--pc-hot); }
/* Ações rápidas: três grupos lado a lado */
html body #admin-modal .pxov-actgrid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
html body #admin-modal .admin-quick-group { gap: 8px; min-width: 0; }
html body #admin-modal .admin-quick-title { font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pc-faint); }
html body #admin-modal .admin-quick-grid { grid-template-columns: 1fr; gap: 6px; }
html body #admin-modal .adm-quick-btn {
    display: flex; align-items: center; gap: 9px;
    min-height: 38px; padding: 0 12px;
    background: transparent; border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text);
    font: 600 10.5px var(--pc-mono); letter-spacing: .08em; text-transform: uppercase; text-align: left;
    transform: none !important;
}
html body #admin-modal .adm-quick-btn i { width: 14px; color: var(--pc-dim); }
html body #admin-modal .adm-quick-btn:hover { background: rgba(233, 239, 228, .04); border-color: var(--pc-text); }
html body #admin-modal .adm-quick-btn.active { background: var(--pc-gold-soft); border-color: var(--pc-gold); color: var(--pc-gold); }
html body #admin-modal .adm-quick-btn.active i { color: var(--pc-gold); }
html body #admin-modal .adm-quick-btn.good { background: transparent; color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 40%, transparent); }
html body #admin-modal .adm-quick-btn.good i { color: var(--pc-ok); }
html body #admin-modal .adm-quick-btn.good:hover { background: var(--pc-ok-soft); }
html body #admin-modal .adm-quick-btn.warn { background: transparent; color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 40%, transparent); }
html body #admin-modal .adm-quick-btn.warn i { color: var(--pc-gold); }
html body #admin-modal .adm-quick-btn.warn:hover { background: var(--pc-gold-soft); }
html body #admin-modal .adm-quick-btn.danger { background: transparent; color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body #admin-modal .adm-quick-btn.danger i { color: var(--pc-hot); }
html body #admin-modal .adm-quick-btn.danger:hover { background: var(--pc-hot-soft); }
/* Saúde do servidor */
html body #admin-modal .pxm-metrics-grid { gap: 6px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
html body #admin-modal .pxm-metric { gap: 10px; padding: 10px 12px; background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px; }
html body #admin-modal .pxm-metric > i { width: 16px; font-size: 13px; color: var(--pc-faint); }
html body #admin-modal .pxm-metric b { font: 700 15px var(--pc-mono); color: var(--pc-text); font-variant-numeric: tabular-nums; }
html body #admin-modal .pxm-metric span { margin-top: 2px; font: 500 9.5px var(--pc-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--pc-faint); }
html body #admin-modal .pxm-metric.is-gold b,
html body #admin-modal .pxm-metric.is-gold > i { color: var(--pc-gold); }
html body #admin-modal .pxm-metric.is-hot b,
html body #admin-modal .pxm-metric.is-hot > i { color: var(--pc-hot); }
html body #admin-modal .pxm-metrics-loading { color: var(--pc-dim); font: 500 11px var(--pc-mono); text-transform: uppercase; letter-spacing: .06em; }
/* Todos os servidores */
html body #admin-modal .pxas-grid { gap: 4px; }
html body #admin-modal .pxas-row {
    display: grid;
    grid-template-columns: minmax(130px, 1.2fr) minmax(150px, 1.6fr) .8fr .7fr .8fr 1.2fr 30px;
    align-items: center; gap: 10px;
    padding: 8px 10px;
    background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px;
}
html body #admin-modal .pxas-row.is-cur { border-left: 2px solid var(--pc-acid); }
html body #admin-modal .pxas-row.pxas-loading { display: flex; color: var(--pc-faint); font-style: normal; }
html body #admin-modal .pxas-name { min-width: 0; font: 700 13px var(--pc-body); color: var(--pc-text); display: flex; align-items: center; gap: 8px; }
html body #admin-modal .pxas-name em {
    font-style: normal; padding: 1px 5px; border: 1px solid color-mix(in srgb, var(--pc-acid) 45%, transparent);
    color: var(--pc-acid); font: 500 9px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
}
html body #admin-modal .pxas-meta { font: 500 10.5px var(--pc-mono); color: var(--pc-dim); overflow: hidden; text-overflow: ellipsis; }
html body #admin-modal .pxas-meta b { color: var(--pc-text); font-weight: 700; }
html body #admin-modal .pxas-meta i { width: 14px; margin-right: 4px; color: var(--pc-faint); }
html body #admin-modal .pxas-reset-btn {
    width: 30px; height: 30px; margin: 0;
    background: transparent; border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-dim);
}
html body #admin-modal .pxas-reset-btn:hover { color: var(--pc-hot); border-color: var(--pc-hot); background: var(--pc-hot-soft); }
/* Últimas punições */
html body #admin-modal .pxov-filters { display: inline-flex; gap: 2px; margin-left: auto; }
html body #admin-modal .pxov-f {
    min-height: 24px; padding: 0 8px;
    background: transparent; border: 1px solid var(--pc-line); border-radius: 2px;
    color: var(--pc-dim); font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
}
html body #admin-modal .pxov-f:hover { color: var(--pc-text); border-color: var(--pc-line-2); }
html body #admin-modal .pxov-f.on { color: var(--pc-acid-ink); background: var(--pc-acid); border-color: var(--pc-acid); }
html body #admin-modal .pxov-log { display: flex; flex-direction: column; gap: 4px; max-height: 360px; overflow-y: auto; }
html body #admin-modal .pxov-row {
    display: grid; grid-template-columns: 74px minmax(0, 1fr) minmax(130px, auto) 110px;
    align-items: center; gap: 12px;
    padding: 9px 12px;
    background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px;
}
html body #admin-modal .pxov-row[data-user] { cursor: pointer; }
html body #admin-modal .pxov-row[data-user]:hover { border-color: var(--pc-line-2); box-shadow: inset 2px 0 0 var(--pc-acid); }
html body #admin-modal .pxov-kind {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    min-height: 24px; padding: 0 6px;
    border: 1px solid var(--pc-line-2); border-radius: 2px;
    font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
}
html body #admin-modal .pxov-kind.k-ban { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body #admin-modal .pxov-kind.k-chat { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 45%, transparent); }
html body #admin-modal .pxov-main,
html body #admin-modal .pxov-who { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
html body #admin-modal .pxov-main b { font: 700 13.5px var(--pc-body); color: var(--pc-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #admin-modal .pxov-main small { color: var(--pc-dim); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #admin-modal .pxov-who span { font-size: 12px; color: var(--pc-dim); }
html body #admin-modal .pxov-who b { color: var(--pc-text); }
html body #admin-modal .pxov-who small { font: 500 10px var(--pc-mono); color: var(--pc-faint); letter-spacing: .04em; }
html body #admin-modal .pxov-state { justify-self: end; font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pc-faint); text-align: right; }
html body #admin-modal .pxov-row.is-ativo .pxov-state { color: var(--pc-hot); }
html body #admin-modal .pxov-row.is-removido,
html body #admin-modal .pxov-row.is-expirado { opacity: .72; }

/* ---------- Avisos (admin-notices.js) -------------------------------------- */
html body #admin-modal .pxan-form { gap: 10px; padding: 16px; border-bottom: 1px solid var(--pc-line); }
html body #admin-modal .pxan-row-inputs { gap: 8px; }
html body #admin-modal .pxan-input { min-height: 38px; padding: 0 12px; font-size: 13.5px; }
html body #admin-modal .pxan-input.pxan-type { flex: 0 0 150px; }
html body #admin-modal .pxan-toolbar {
    gap: 4px; padding: 6px;
    background: var(--pc-ink-2); border: 1px solid var(--pc-line); border-radius: 2px;
}
html body #admin-modal .pxan-toolbar button,
html body #admin-modal .pxan-swatch {
    min-width: 30px; height: 30px; padding: 0 8px;
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    background: transparent; border: 1px solid transparent; border-radius: 2px;
    color: var(--pc-dim); font: 600 10.5px var(--pc-mono); cursor: pointer;
}
html body #admin-modal .pxan-toolbar button:hover,
html body #admin-modal .pxan-swatch:hover { color: var(--pc-text); border-color: var(--pc-line-2); }
html body #admin-modal .pxan-toolbar button.active { color: var(--pc-acid-ink); background: var(--pc-acid); }
html body #admin-modal .pxan-code { margin-left: auto; }
html body #admin-modal .pxan-sep { width: 1px; height: 18px; margin: 0 4px; background: var(--pc-line-2); }
html body #admin-modal .pxan-swatch input[type="color"] { width: 18px; height: 18px; padding: 0; border: 0; background: none; }
html body #admin-modal .pxan-input.pxan-fs { min-height: 30px; padding: 0 6px; font: 600 10.5px var(--pc-mono) !important; text-transform: uppercase; }
html body #admin-modal .pxan-emoji-picker { gap: 2px; padding: 6px; background: var(--pc-ink-2); border: 1px solid var(--pc-line); border-radius: 2px; }
html body #admin-modal .pxan-emoji-btn { border-radius: 2px; }
html body #admin-modal .pxan-emoji-btn:hover { background: rgba(233, 239, 228, .08); }
html body #admin-modal .pxan-editor {
    min-height: 110px; max-height: 240px; overflow-y: auto;
    padding: 12px; line-height: 1.55;
    background: var(--pc-ink); border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text); font-size: 14px; outline: none;
}
html body #admin-modal .pxan-editor:focus { border-color: var(--pc-acid); box-shadow: inset 3px 0 0 var(--pc-acid); }
html body #admin-modal .pxan-editor:empty::before { content: attr(data-placeholder); color: var(--pc-faint); }
html body #admin-modal .pxan-editor a,
html body #admin-modal .pxan-row-body a { color: var(--pc-acid); }
html body #admin-modal .pxan-code-area { min-height: 130px; padding: 10px 12px; font: 12px/1.5 var(--pc-mono) !important; resize: vertical; }
html body #admin-modal .pxan-actions { gap: 8px; }
html body #admin-modal .pxan-save-btn,
html body #admin-modal .pxan-cancel-btn {
    min-height: 38px; padding: 0 16px;
    display: inline-flex; align-items: center; gap: 8px;
    border-radius: 2px; cursor: pointer;
    font: 700 11px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
}
html body #admin-modal .pxan-save-btn { background: var(--pc-acid); border: 1px solid var(--pc-acid); color: var(--pc-acid-ink); }
html body #admin-modal .pxan-save-btn:hover { box-shadow: 0 0 0 4px var(--pc-acid-soft); }
html body #admin-modal .pxan-cancel-btn { background: transparent; border: 1px solid var(--pc-line-2); color: var(--pc-dim); }
html body #admin-modal .pxan-cancel-btn:hover { color: var(--pc-text); border-color: var(--pc-text); }
html body #admin-modal .pxan-list { gap: 6px; padding: 14px 16px 16px; }
html body #admin-modal .pxan-row {
    gap: 8px; padding: 12px 14px;
    background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px;
}
html body #admin-modal .pxan-row.pinned { border-color: color-mix(in srgb, var(--pc-gold) 45%, transparent); box-shadow: inset 2px 0 0 var(--pc-gold); }
html body #admin-modal .pxan-row.off { opacity: .6; }
html body #admin-modal .pxan-row-head { gap: 8px; }
html body #admin-modal .pxan-row-title { font: 700 14px var(--pc-body); color: var(--pc-text); }
html body #admin-modal .pxan-row-type,
html body #admin-modal .pxan-pin-tag,
html body #admin-modal .pxan-row-badge {
    padding: 2px 7px; border-radius: 2px;
    font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
    border: 1px solid var(--pc-line-2); color: var(--pc-dim); background: transparent;
}
html body #admin-modal .pxan-row[data-type="warning"] .pxan-row-type,
html body #admin-modal .pxan-row[data-type="event"] .pxan-row-type { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 45%, transparent); }
html body #admin-modal .pxan-row[data-type="danger"] .pxan-row-type { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body #admin-modal .pxan-row[data-type="success"] .pxan-row-type { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 45%, transparent); }
html body #admin-modal .pxan-row[data-type="info"] .pxan-row-type { color: var(--pc-info); border-color: color-mix(in srgb, var(--pc-info) 40%, transparent); }
html body #admin-modal .pxan-pin-tag { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 45%, transparent); background: var(--pc-gold-soft); }
html body #admin-modal .pxan-row-badge.active { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 45%, transparent); }
html body #admin-modal .pxan-row-badge.inactive { color: var(--pc-faint); }
html body #admin-modal .pxan-row-body { color: var(--pc-dim); font-size: 13px; line-height: 1.55; word-break: break-word; }
html body #admin-modal .pxan-row-body h1,
html body #admin-modal .pxan-row-body h2,
html body #admin-modal .pxan-row-body h3 { color: var(--pc-text); font-family: var(--pc-display); text-transform: uppercase; letter-spacing: -.01em; }
html body #admin-modal .pxan-row-foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 8px; border-top: 1px solid var(--pc-line); }
html body #admin-modal .pxan-row-meta { flex: 1; min-width: 160px; color: var(--pc-faint); font: 500 10.5px var(--pc-mono); letter-spacing: .04em; }
html body #admin-modal .pxan-row-meta strong { color: var(--pc-dim); }
html body #admin-modal .pxan-row-actions { gap: 4px; }
html body #admin-modal .pxan-act {
    width: 32px; height: 32px;
    background: transparent; border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-dim); font-size: 12px; cursor: pointer;
}
html body #admin-modal .pxan-act:hover { color: var(--pc-text); border-color: var(--pc-text); }
html body #admin-modal .pxan-act.on { color: var(--pc-gold); border-color: color-mix(in srgb, var(--pc-gold) 50%, transparent); }
html body #admin-modal .pxan-act.pxan-danger:hover { color: var(--pc-hot); border-color: var(--pc-hot); background: var(--pc-hot-soft); }

/* ---------- Tickets (tickets.js dentro do painel) --------------------------- */
html body #admin-modal #admin-tab-tickets > .tk-root { padding: 14px 16px !important; }

/* ---------- Ranking (ui.js) ------------------------------------------------- */
html body #admin-modal #admin-tab-ranking > div:first-child > div[style*="grid"] { gap: 8px !important; }
html body #admin-modal #admin-ranking-list { padding: 14px 16px !important; gap: 14px !important; }
html body #admin-modal #admin-ranking-list > div > div:first-child {
    padding: 0 0 10px !important;
    border-bottom-color: var(--pc-line) !important;
    font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase;
}
html body #admin-modal #admin-ranking-list > div > div:first-child strong { font: 500 10px var(--pc-mono) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--pc-acid) !important; }
html body #admin-modal #admin-ranking-list > div > div:first-child > i { color: var(--pc-acid); }
html body #admin-modal #admin-ranking-list > div > div:first-child > span:last-child { color: var(--pc-dim) !important; font-family: var(--pc-mono); }
html body #admin-modal #admin-ranking-list input,
html body #admin-modal #admin-ranking-list select { min-height: 32px; font-size: 12.5px !important; }
html body #admin-modal #admin-ranking-list input[type="checkbox"] { min-height: 0; }
html body #admin-modal #admin-ranking-list label { font-family: var(--pc-body); }
html body #admin-modal #admin-ranking-list > div:first-child > div[style*="grid"] > div:first-child > div:first-child { font-size: 13px !important; }
html body #admin-modal #admin-ranking-list > div:last-child > div:last-child > div:last-child > span { font-family: var(--pc-mono) !important; }

/* ---------- Loja (ui.js) ---------------------------------------------------- */
html body #admin-modal #admin-tab-store > div:first-child > div:last-child { gap: 8px !important; grid-template-columns: 1fr 1fr 1fr 90px 64px auto !important; }
html body #admin-modal #admin-tab-store > div:first-child > div:last-child > button {
    justify-content: center; color: var(--pc-acid-ink) !important; background: var(--pc-acid) !important; border-color: var(--pc-acid) !important;
}
html body #admin-modal #admin-store-items-list { padding: 14px 16px !important; gap: 6px !important; }
html body #admin-modal #admin-store-items-list > div:not([style*="grid"]) {
    margin-top: 8px; padding: 4px 0 !important;
    font: 500 10px var(--pc-mono) !important; letter-spacing: .14em; color: var(--pc-acid) !important;
}
html body #admin-modal #admin-store-items-list > div:first-child { margin-top: 0; }
html body #admin-modal #admin-store-items-list > div[style*="grid"] > div:first-child > div:last-child { font: 500 10.5px var(--pc-mono) !important; letter-spacing: .04em; margin-top: 2px; }
html body #admin-modal #admin-store-items-list .adm-btn { min-height: 32px; }

/* ---------- Skins (ui.js) --------------------------------------------------- */
html body #admin-modal #admin-skins-list { padding: 14px 16px !important; }
html body #admin-modal #admin-skins-pending-label { color: var(--pc-gold) !important; font: 500 10.5px var(--pc-mono) !important; letter-spacing: .1em; text-transform: uppercase; }
html body #admin-modal .admin-skin-grid { gap: 6px; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); }
html body #admin-modal .admin-skin-card { padding: 12px !important; transition: border-color .12s; }
html body #admin-modal .admin-skin-card:hover { border-color: var(--pc-line-2) !important; }
html body #admin-modal .admin-skin-card img { background: var(--pc-panel-2) !important; border-radius: 2px !important; }
html body #admin-modal .admin-skin-card [id^="admin-skin-label-"] { font: 700 13px var(--pc-body) !important; }
html body #admin-modal .admin-skin-card [id^="admin-skin-actions-"] .adm-btn { justify-content: center; min-height: 30px; }
html body #admin-modal #admin-skins-list > div[style*="font-weight:bold"],
html body #admin-modal #admin-skins-list > div[style*="font-weight: bold"] { font: 500 10px var(--pc-mono) !important; letter-spacing: .14em !important; }

/* ---------- Console (terminal flutuante) ----------------------------------- */
html body #admin-terminal-panel {
    background: var(--pc-ink) !important;
    border: 1px solid var(--pc-line-2) !important;
    border-radius: 2px !important;
    box-shadow: var(--pc-shadow) !important;
    font-family: var(--pc-mono) !important;
}
html body #admin-terminal-header {
    padding: 8px 10px !important;
    background: var(--pc-panel) !important;
    border-bottom: 1px solid var(--pc-line) !important;
}
html body .adm-term-titlebar { gap: 10px; }
html body .adm-term-dots { gap: 4px; order: 3; }
html body .adm-term-dot {
    position: relative;
    width: 24px !important; height: 24px !important;
    border-radius: 2px !important;
    background: transparent !important;
    border: 1px solid var(--pc-line-2) !important;
    filter: none !important;
}
html body .adm-term-dot::before {
    position: absolute; inset: 0; display: grid; place-items: center;
    font: 900 10px 'Font Awesome 6 Free'; color: var(--pc-dim);
}
html body .adm-term-dot.green::before { content: '\f12d'; }   /* limpar */
html body .adm-term-dot.yellow::before { content: '\f068'; }  /* minimizar */
html body .adm-term-dot.red::before { content: '\f00d'; }     /* fechar */
html body .adm-term-dot.green { order: 1; }
html body .adm-term-dot.yellow { order: 2; }
html body .adm-term-dot.red { order: 3; }
html body .adm-term-dot:hover { border-color: var(--pc-text) !important; }
html body .adm-term-dot.red:hover { border-color: var(--pc-hot) !important; }
html body .adm-term-dot.red:hover::before { color: var(--pc-hot); }
html body .adm-term-title {
    order: 1; flex: 1; margin: 0 !important; text-align: left !important;
    color: var(--pc-dim) !important;
    font: 500 10px var(--pc-mono) !important; letter-spacing: .14em; text-transform: uppercase;
}
html body .adm-term-title::before { content: '>_ '; color: var(--pc-acid); }
html body #pxte-select {
    order: 2; margin-left: auto;
    min-height: 26px; max-width: 150px; padding: 0 8px;
    background: var(--pc-ink); border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text); font: 600 10px var(--pc-mono); letter-spacing: .06em; text-transform: uppercase;
    cursor: pointer; outline: none;
}
html body #pxte-select:focus { border-color: var(--pc-acid); }
html body #pxte-select option { background: var(--pc-panel); }
html body #admin-terminal-out {
    padding: 12px 14px !important;
    background: var(--pc-ink) !important;
    color: var(--pc-text) !important;
    font: 12px/1.55 var(--pc-mono) !important;
}
html body #admin-terminal-input-row {
    padding: 8px 12px 10px !important;
    background: var(--pc-ink-2) !important;
    border-top: 1px solid var(--pc-line) !important;
}
html body .adm-term-prompt { color: var(--pc-acid) !important; font-family: var(--pc-mono); opacity: 1 !important; }
html body #admin-terminal-in { color: var(--pc-text) !important; caret-color: var(--pc-acid) !important; font: 13px var(--pc-mono) !important; }
html body #admin-terminal-in::placeholder { color: var(--pc-faint) !important; }
html body #admin-terminal-fab {
    position: fixed; z-index: 999996;
    display: none; align-items: center; justify-content: center;
    width: 46px; height: 46px;
    background: var(--pc-ink); border: 1px solid var(--pc-acid); border-radius: 2px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .6);
    color: var(--pc-acid); font-size: 17px;
    cursor: grab; user-select: none; touch-action: none;
}
html body #admin-terminal-fab:hover { background: var(--pc-acid); color: var(--pc-acid-ink); }
html body #admin-terminal-fab.dragging { cursor: grabbing; }
html body #admin-terminal-fab .pxte-fab-badge {
    position: absolute; top: -6px; right: -6px;
    display: none; align-items: center; justify-content: center;
    min-width: 16px; height: 16px; padding: 0 4px;
    background: var(--pc-hot); color: var(--pc-ink); font: 700 9px var(--pc-mono);
}

/* ---------- Temas (admin-theme.js) ----------------------------------------- */
html body #pxat-backdrop { z-index: 100050; }
html body .pxat.v3-modal { z-index: 100051; width: min(480px, calc(100vw - 24px)); }
html body .pxat .v3-title i { margin-right: 10px; color: var(--pc-acid); }
html body .pxat .v3-tabs { padding: 0 20px; }
html body .pxat .v3-body { display: flex; flex-direction: column; gap: 10px; }
html body .pxat .v3-label { margin-top: 6px; }
html body .pxat-presets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
html body .pxat-preset {
    position: relative;
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 10px 4px 8px;
    background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px;
    color: var(--pc-dim); cursor: pointer;
}
html body .pxat-preset span { width: 26px; height: 26px; background: var(--sw); border: 1px solid rgba(0, 0, 0, .4); }
html body .pxat-preset small { font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase; }
html body .pxat-preset:hover { border-color: var(--pc-line-2); color: var(--pc-text); }
html body .pxat-preset.is-on { border-color: var(--pc-acid); color: var(--pc-text); box-shadow: inset 0 -2px 0 var(--pc-acid); }
html body .pxat-custom input[type="color"] { width: 26px; height: 26px; padding: 0; border: 1px solid var(--pc-line-2); background: none; cursor: pointer; }
html body .pxat-row { display: flex; align-items: center; gap: 12px; }
html body .pxat-row input[type="range"] { flex: 1; accent-color: var(--pc-acid); }
html body .pxat-row b { min-width: 46px; text-align: right; font: 600 12px var(--pc-mono); color: var(--pc-text); }
html body .pxat-bgopt { display: none; gap: 8px; align-items: center; }
html body .pxat-bgopt span { color: var(--pc-dim); font-size: 12.5px; }
html body .pxat-bgopt input[type="color"] { width: 36px; height: 34px; padding: 2px; background: var(--pc-ink); border: 1px solid var(--pc-line-2); border-radius: 2px; cursor: pointer; }
html body .pxat-bgopt input[type="range"] { flex: 1; accent-color: var(--pc-acid); }
html body .pxat-gthemes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
html body .pxat-gtheme {
    display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
    padding: 12px;
    background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px;
    color: var(--pc-text); text-align: left; cursor: pointer;
}
html body .pxat-gtheme b { font: 800 13px var(--pc-display); text-transform: uppercase; }
html body .pxat-gtheme small { font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pc-faint); }
html body .pxat-gtheme:hover { border-color: var(--pc-line-2); }
html body .pxat-gtheme.is-on { border-color: var(--pc-acid); box-shadow: inset 0 -2px 0 var(--pc-acid); }
html body .pxat-gt-sw { width: 100%; height: 30px; border-radius: 0; }
html body .pxat-gt-projetox { background: linear-gradient(90deg, #0b0d0c 0 55%, #d4ff3a 55%); }
html body .pxat-gt-agariobr { background: linear-gradient(90deg, #009c3b 0 40%, #ffdf00 40% 75%, #002776 75%); }
html body .pxat-hint { margin: 2px 0 0; color: var(--pc-faint); font-size: 12.5px; line-height: 1.45; }

/* ---------- Estúdio da Rádio (admin-radio.js) ------------------------------ */
html body #admin-modal .pxrs { font-family: var(--pc-body); }
html body #admin-modal .pxrs-nav {
    display: flex; gap: 2px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
    padding: 0 16px; border-bottom: 1px solid var(--pc-line);
}
html body #admin-modal .pxrs-nav::-webkit-scrollbar { display: none; }
html body #admin-modal .pxrs-nav button {
    position: relative; flex: 0 0 auto;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 12px 10px;
    background: transparent; border: 0; border-radius: 0;
    color: var(--pc-dim); font: 500 10.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
    cursor: pointer;
}
html body #admin-modal .pxrs-nav button i { color: var(--pc-faint); }
html body #admin-modal .pxrs-nav button:hover { color: var(--pc-text); }
html body #admin-modal .pxrs-nav button.on { color: var(--pc-text); background: transparent; }
html body #admin-modal .pxrs-nav button.on i { color: var(--pc-acid); }
html body #admin-modal .pxrs-nav button.on::after { content: ''; position: absolute; left: 8px; right: 8px; bottom: -1px; height: 2px; background: var(--pc-acid); }
html body #admin-modal .pxrs-cross {
    display: flex; align-items: center; gap: 8px;
    margin: 0; padding: 10px 16px;
    background: var(--pc-ink-2); border-bottom: 1px solid var(--pc-line);
    color: var(--pc-dim); font: 500 10.5px var(--pc-mono); letter-spacing: .06em; text-transform: uppercase;
    cursor: pointer;
}
html body #admin-modal .pxrs-cross:hover { color: var(--pc-text); }
html body #admin-modal .pxrs-cross i { color: var(--pc-acid); }
html body #admin-modal .pxrs-cross input { accent-color: var(--pc-acid); width: 15px; height: 15px; }
html body #admin-modal .pxrs-body { flex: 1; overflow-y: auto; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; min-height: 0; }
html body #admin-modal .pxrs-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; background: var(--pc-ink-2); border: 1px solid var(--pc-line); border-radius: 2px; }
html body #admin-modal .pxrs-card h4 {
    display: flex; align-items: center; gap: 8px;
    margin: -14px -14px 2px; padding: 10px 14px;
    border-bottom: 1px solid var(--pc-line);
    font: 500 10px var(--pc-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--pc-acid);
}
html body #admin-modal .pxrs-card h4 i { color: var(--pc-acid); }
html body #admin-modal .pxrs-hint { color: var(--pc-dim); font-size: 12.5px; line-height: 1.5; }
html body #admin-modal .pxrs-hint b { color: var(--pc-text); }
html body #admin-modal .pxrs-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
html body #admin-modal .pxrs-row > .pxrs-in { flex: 1; min-width: 120px; }
html body #admin-modal .pxrs-in { min-height: 36px; padding: 0 12px; font-size: 13px; }
html body #admin-modal .pxrs-in.small { width: 96px; flex: 0 0 auto; }
html body #admin-modal .pxrs-in.small.wide { width: 140px; }
html body #admin-modal .pxrs-in.grow { flex: 1; min-width: 0; }
html body #admin-modal .pxrs-lbl { font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pc-faint); }
html body #admin-modal .pxrs-btn {
    align-self: flex-start;
    min-height: 36px; padding: 0 14px;
    background: var(--pc-acid); border: 1px solid var(--pc-acid); border-radius: 2px;
    color: var(--pc-acid-ink); font: 700 10.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase;
    cursor: pointer;
}
html body #admin-modal .pxrs-btn:hover { box-shadow: 0 0 0 4px var(--pc-acid-soft); }
html body #admin-modal .pxrs-btn.ghost { background: transparent; border-color: var(--pc-line-2); color: var(--pc-text); }
html body #admin-modal .pxrs-btn.ghost:hover { border-color: var(--pc-text); box-shadow: none; }
html body #admin-modal .pxrs-btn.danger { background: transparent; border-color: color-mix(in srgb, var(--pc-hot) 50%, transparent); color: var(--pc-hot); }
html body #admin-modal .pxrs-btn.danger:hover { background: var(--pc-hot-soft); box-shadow: none; }
html body #admin-modal .pxrs-chk { display: inline-flex; align-items: center; gap: 7px; color: var(--pc-dim); font-size: 12.5px; cursor: pointer; }
html body #admin-modal .pxrs-live { display: flex; align-items: center; gap: 10px; font: 800 15px var(--pc-display); text-transform: uppercase; letter-spacing: -.01em; }
html body #admin-modal .pxrs-dot { width: 10px; height: 10px; border-radius: 0; background: var(--pc-faint); box-shadow: none; }
html body #admin-modal .pxrs-dot.on { background: var(--pc-hot); box-shadow: 0 0 0 3px var(--pc-hot-soft); animation: v3admPulse 1.4s infinite; }
@keyframes v3admPulse { 50% { opacity: .4; } }
html body #admin-modal .pxrs-kv { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--pc-line); color: var(--pc-dim); font-size: 13px; }
html body #admin-modal .pxrs-kv:last-of-type { border-bottom: 0; }
html body #admin-modal .pxrs-kv b { color: var(--pc-text); font-weight: 600; text-align: right; }
html body #admin-modal .pxrs-list { gap: 4px; max-height: 300px; }
html body #admin-modal .pxrs-item { gap: 8px; padding: 8px 10px; background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px; color: var(--pc-text); font-size: 13px; }
html body #admin-modal .pxrs-item[data-pid] { cursor: pointer; }
html body #admin-modal .pxrs-item[data-pid]:hover { border-color: var(--pc-line-2); }
html body #admin-modal .pxrs-item .muted { color: var(--pc-faint); font: 500 10.5px var(--pc-mono); }
html body #admin-modal .pxrs-item.sel { border-color: var(--pc-acid); background: var(--pc-acid-soft); }
html body #admin-modal .pxrs-item button {
    min-height: 28px; padding: 0 9px;
    background: transparent; border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text); font: 600 10px var(--pc-mono); letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
}
html body #admin-modal .pxrs-item button[data-reqok] { color: var(--pc-ok); border-color: color-mix(in srgb, var(--pc-ok) 45%, transparent); }
html body #admin-modal .pxrs-item button[data-reqno] { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body #admin-modal .pxrs-tag { padding: 2px 7px; border-radius: 2px; font: 500 9.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase; }
html body #admin-modal .pxrs-tag.on { color: var(--pc-ok); background: transparent; border: 1px solid color-mix(in srgb, var(--pc-ok) 40%, transparent); }
html body #admin-modal .pxrs-tag.off { color: var(--pc-faint); background: transparent; border: 1px solid var(--pc-line-2); }
html body #admin-modal .pxrs-tag.warn { color: var(--pc-gold); background: var(--pc-gold-soft); border: 1px solid color-mix(in srgb, var(--pc-gold) 40%, transparent); }
html body #admin-modal .pxrs-bar { height: 6px; border-radius: 0; background: var(--pc-line); }
html body #admin-modal .pxrs-bar span { border-radius: 0; background: var(--pc-acid); }
html body #admin-modal .pxrs-pollopt { margin: 6px 0; }
html body #admin-modal .pxrs-empty {
    display: flex; align-items: center; justify-content: center; min-height: 70px; padding: 14px;
    border: 1px dashed var(--pc-line-2);
    background: radial-gradient(rgba(233, 239, 228, .05) 1px, transparent 1.2px) 0 0 / 14px 14px;
    color: var(--pc-dim); font: 500 11px var(--pc-mono); letter-spacing: .06em; text-transform: uppercase; text-align: center;
}
html body #admin-modal .pxrs-opts { display: flex; flex-direction: column; gap: 6px; }
html body #admin-modal .pxrs-opt-row { display: flex; align-items: center; gap: 8px; }
html body #admin-modal .pxrs-opt-row input[type="radio"] { accent-color: var(--pc-ok) !important; width: 16px; height: 16px; }
html body #admin-modal .pxrs-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
/* Pedido de música (aparece fora do painel, no canto) */
html body .pxrs-toast {
    position: fixed; right: 16px; bottom: 16px; z-index: 99995;
    width: 270px; padding: 12px 14px;
    background: var(--pc-corners), var(--pc-panel);
    border: 1px solid var(--pc-line-2); border-radius: 2px;
    box-shadow: var(--pc-shadow);
    color: var(--pc-text); font-family: var(--pc-body);
    transition: bottom .18s ease;
    animation: v3admToast .2s ease-out;
}
@keyframes v3admToast { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
html body .pxrs-toast-head { font: 500 10px var(--pc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pc-acid); }
html body .pxrs-toast-song { margin-top: 6px; font: 700 15px/1.3 var(--pc-body); word-break: break-word; }
html body .pxrs-toast-by { margin-top: 2px; color: var(--pc-dim); font: 500 10.5px var(--pc-mono); }
html body .pxrs-toast-acts { display: flex; gap: 6px; margin-top: 12px; }
html body .pxrs-toast-acts button {
    flex: 1; min-height: 34px;
    background: transparent; border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text); font: 700 10.5px var(--pc-mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
}
html body .pxrs-toast-acts .ok { background: var(--pc-acid); border-color: var(--pc-acid); color: var(--pc-acid-ink); }
html body .pxrs-toast-acts .no { color: var(--pc-hot); border-color: color-mix(in srgb, var(--pc-hot) 45%, transparent); }
html body .pxrs-toast-acts .dl { flex: 0 0 auto; padding: 0 10px; white-space: nowrap; }
html body .pxrs-toast-acts .dl:disabled { opacity: .5; cursor: default; }
html body .pxrs-toast-match {
    margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--pc-line);
    color: var(--pc-dim); font-size: 12px; line-height: 1.35;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
html body .pxrs-toast-match .fa-youtube { color: #ff4e45; }

/* Pedido com a música achada no YouTube + download (aba Pedidos) */
html body #admin-modal .pxrs-list.pxrs-reqs { max-height: none; overflow: visible; gap: 8px; }
html body #admin-modal .pxrs-item.pxrs-req { flex-direction: column; align-items: stretch; gap: 10px; padding: 10px 12px; }
html body #admin-modal .pxrs-req-head { display: flex; align-items: center; gap: 8px; min-width: 0; }
html body #admin-modal .pxrs-req-head .grow { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #admin-modal .pxrs-song { display: flex; gap: 12px; align-items: flex-start; }
html body #admin-modal .pxrs-song.is-wait,
html body #admin-modal .pxrs-song.is-miss { align-items: center; gap: 8px; color: var(--pc-dim); font-size: 12.5px; }
html body #admin-modal .pxrs-song.is-miss i { color: var(--pc-gold); }
html body #admin-modal .pxrs-song-thumb { position: relative; flex: 0 0 auto; display: block; width: 128px; aspect-ratio: 16 / 9; background: var(--pc-ink-2); border: 1px solid var(--pc-line); overflow: hidden; }
html body #admin-modal .pxrs-song-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body #admin-modal .pxrs-song-thumb i { position: absolute; right: 5px; bottom: 4px; color: #ff4e45; font-size: 15px; text-shadow: 0 1px 4px rgba(0, 0, 0, .8); }
html body #admin-modal .pxrs-song-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
html body #admin-modal .pxrs-song-title { font: 600 13.5px/1.3 var(--pc-body); color: var(--pc-text); word-break: break-word; }
html body #admin-modal .pxrs-song-meta { color: var(--pc-faint); font: 500 10.5px var(--pc-mono); }
html body #admin-modal .pxrs-song-best { color: var(--pc-ok); }
html body #admin-modal .pxrs-dl { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
html body #admin-modal .pxrs-dl.is-wait { color: var(--pc-dim); font-size: 12.5px; }
html body #admin-modal .pxrs-dl.is-wait i { color: var(--pc-acid); }
html body #admin-modal .pxrs-item .pxrs-dl-btn,
html body #admin-modal .pxrs-dl-btn {
    display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 12px;
    background: var(--pc-acid); border: 1px solid var(--pc-acid); border-radius: 2px;
    color: var(--pc-acid-ink); font: 700 10.5px var(--pc-mono); letter-spacing: .08em; text-transform: uppercase;
    text-decoration: none; cursor: pointer;
}
html body #admin-modal .pxrs-item .pxrs-dl-alt { min-height: 32px; color: var(--pc-text); }
html body #admin-modal .pxrs-item .pxrs-dl-alt .fa-soundcloud { color: #ff7700; }
html body #admin-modal .pxrs-dl-err { color: var(--pc-hot); font-size: 12px; line-height: 1.4; }
html body #admin-modal .pxrs-item .pxrs-song-more {
    align-self: flex-start; min-height: 26px; border: 0; padding: 0;
    color: var(--pc-dim); font: 500 10.5px var(--pc-mono); letter-spacing: .04em; text-transform: none;
}
html body #admin-modal .pxrs-item .pxrs-song-more:hover { color: var(--pc-text); }
html body #admin-modal .pxrs-song-alts { display: flex; flex-direction: column; gap: 4px; }
html body #admin-modal .pxrs-item .pxrs-song-alt {
    display: flex; align-items: center; gap: 10px; min-height: 0; padding: 6px;
    text-align: left; text-transform: none; letter-spacing: 0; font: 400 12.5px var(--pc-body);
    background: var(--pc-ink-2); border: 1px solid var(--pc-line);
}
html body #admin-modal .pxrs-item .pxrs-song-alt:hover { border-color: var(--pc-line-2); }
html body #admin-modal .pxrs-item .pxrs-song-alt.on { border-color: var(--pc-acid); background: var(--pc-acid-soft); }
html body #admin-modal .pxrs-song-alt img { width: 72px; aspect-ratio: 16 / 9; object-fit: cover; flex: 0 0 auto; }
html body #admin-modal .pxrs-song-alt .grow { display: flex; flex-direction: column; gap: 2px; min-width: 0; white-space: normal; }
html body #admin-modal .pxrs-song-alt .grow b { font-weight: 600; color: var(--pc-text); }
html body #admin-modal .pxrs-song-alt .grow span { color: var(--pc-faint); font: 500 10px var(--pc-mono); }
html body #admin-modal .pxrs-song-alt > i { color: var(--pc-acid); }
html body #admin-modal .pxrs-song-search { display: flex; gap: 6px; margin-top: 2px; }
html body #admin-modal .pxrs-song-search .pxrs-in { min-height: 32px; }
html body #admin-modal .pxrs-warn { color: var(--pc-gold); }
@media (max-width: 640px) {
    html body #admin-modal .pxrs-song-thumb { width: 96px; }
    html body #admin-modal .pxrs-req-head { flex-wrap: wrap; }
}
html body .pxrs-badge {
    position: absolute; top: -6px; right: -6px; z-index: 2;
    display: flex; align-items: center; justify-content: center;
    min-width: 18px; height: 18px; padding: 0 5px;
    background: var(--pc-acid); color: var(--pc-acid-ink);
    font: 700 10px var(--pc-mono); pointer-events: none;
}
html body .pxrs-alert { animation: v3admAlert 1.25s ease-in-out infinite; }
@keyframes v3admAlert { 0%, 100% { box-shadow: 0 0 0 0 transparent; } 50% { box-shadow: 0 0 0 3px var(--pc-acid-soft); } }
html body #pxrs-nav .pxrs-badge { position: static; margin-left: 4px; }

/* ---------- Editor de missões (missions.js, CSS antigo em hud.css) --------- */
html body .px-madm-back {
    background: var(--pc-backdrop);
    -webkit-backdrop-filter: blur(4px) saturate(.5);
    backdrop-filter: blur(4px) saturate(.5);
}
html body .px-madm {
    width: min(620px, calc(100vw - 24px));
    max-height: calc(100vh - 32px);
    background: var(--pc-corners), var(--pc-panel);
    border: 1px solid var(--pc-line-2);
    border-radius: 2px;
    box-shadow: var(--pc-shadow);
    color: var(--pc-text);
    font-family: var(--pc-body);
}
html body .px-madm-h { gap: 12px; padding: 16px 20px 14px; border-bottom: 1px solid var(--pc-line); }
html body .px-madm-h strong { font: 800 19px/1.1 var(--pc-display); text-transform: uppercase; letter-spacing: -.02em; }
html body .px-madm-h strong::before {
    content: 'Admin · conteúdo'; display: block; margin-bottom: 4px;
    font: 500 10px var(--pc-mono); letter-spacing: .16em; color: var(--pc-acid);
}
html body .px-madm-h i { color: var(--pc-acid); margin-right: 4px; }
html body .px-madm-x {
    width: 34px; height: 34px; border-radius: 2px;
    background: transparent; border: 1px solid var(--pc-line-2); color: var(--pc-dim);
}
html body .px-madm-x:hover { color: var(--pc-hot); border-color: var(--pc-hot); }
html body .px-madm-x i { margin: 0; color: inherit; }
html body .px-madm-body { padding: 16px 20px; }
html body .px-madm-list { gap: 4px; margin-bottom: 16px; color: var(--pc-dim); font: 500 11px var(--pc-mono); }
html body .px-madm-row { gap: 10px; padding: 10px 12px; background: var(--pc-ink); border: 1px solid var(--pc-line); border-radius: 2px; }
html body .px-madm-row:hover { border-color: var(--pc-line-2); }
html body .px-madm-row.off { opacity: .55; }
html body .px-madm-row-main { font-family: var(--pc-body); color: var(--pc-text); }
html body .px-madm-row-main b { font-size: 14px; }
html body .px-madm-row-sub { margin-top: 3px; color: var(--pc-faint); font: 500 10.5px var(--pc-mono); }
html body .px-madm .pxmb-m-diff { border-radius: 2px; font-family: var(--pc-mono); font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
html body .px-madm-row-act { gap: 4px; }
html body .px-madm-row-act button {
    width: 32px; height: 32px; border-radius: 2px;
    background: transparent; border: 1px solid var(--pc-line-2); color: var(--pc-dim);
}
html body .px-madm-row-act button:hover { color: var(--pc-text); border-color: var(--pc-text); }
html body .px-madm-row-act button.del:hover { color: var(--pc-hot); border-color: var(--pc-hot); background: var(--pc-hot-soft); }
html body .px-madm .pxmb-empty {
    padding: 20px; border: 1px dashed var(--pc-line-2);
    background: radial-gradient(rgba(233, 239, 228, .05) 1px, transparent 1.2px) 0 0 / 14px 14px;
    color: var(--pc-dim); font: 500 11px var(--pc-mono); text-transform: uppercase; letter-spacing: .06em; text-align: center;
}
html body .px-madm-form { padding-top: 14px; border-top: 1px solid var(--pc-line); }
html body .px-madm-ftitle { margin-bottom: 12px; font: 500 10px var(--pc-mono); letter-spacing: .16em; color: var(--pc-acid); }
html body .px-madm-grid { gap: 10px 12px; }
html body .px-madm-grid label { gap: 6px; font: 500 10px var(--pc-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--pc-faint); }
html body .px-madm-grid input,
html body .px-madm-grid select {
    min-height: 38px; padding: 0 12px;
    background: var(--pc-ink); border: 1px solid var(--pc-line-2); border-radius: 2px;
    color: var(--pc-text); font: 500 13.5px var(--pc-body); letter-spacing: 0; text-transform: none;
}
html body .px-madm-grid input:focus,
html body .px-madm-grid select:focus { border-color: var(--pc-acid); box-shadow: inset 3px 0 0 var(--pc-acid); }
html body .px-madm-grid select option { background: var(--pc-panel); }
html body .px-madm-grid input[type="checkbox"] { min-height: 0; width: 16px; height: 16px; accent-color: var(--pc-acid); }
html body .px-madm-chk { color: var(--pc-text) !important; }
html body .px-madm-save {
    min-height: 42px; margin-top: 14px; border-radius: 2px;
    background: var(--pc-acid); border: 1px solid var(--pc-acid); color: var(--pc-acid-ink);
    font: 700 11px var(--pc-mono); letter-spacing: .12em; text-transform: uppercase;
}
html body .px-madm-save:hover { filter: none; box-shadow: 0 0 0 4px var(--pc-acid-soft); }
html body .px-madm-hint { margin-top: 10px; color: var(--pc-faint); font-size: 12px; line-height: 1.5; }

/* ==========================================================================
   Telas médias: painel mais estreito
   ========================================================================== */
@media (max-width: 1100px) {
    html body #admin-modal .pxov-actgrid { grid-template-columns: 1fr; }
    html body #admin-modal .admin-quick-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
    html body #admin-modal .pxas-row { display: flex; flex-wrap: wrap; gap: 6px 14px; }
    html body #admin-modal .pxas-reset-btn { margin-left: auto; }
}
@media (max-width: 860px) {
    html body #admin-modal #admin-tabbar { width: 180px; }
    html body #admin-modal #admin-player-actions > div:nth-child(2) { grid-template-columns: 1fr !important; overflow: visible !important; }
    html body #admin-modal #admin-player-actions > div:nth-child(2) > div { overflow: visible !important; }
    html body #admin-modal #admin-player-actions { overflow-y: auto !important; }
    html body #admin-modal .pxov-row { grid-template-columns: 70px minmax(0, 1fr) auto; }
    html body #admin-modal .pxov-state { grid-column: 2 / -1; justify-self: start; }
}

/* ==========================================================================
   Celular (em pé e deitado): folha de tela cheia, abas roláveis, cartões
   ========================================================================== */
@media (max-width: 640px), (orientation: landscape) and (max-height: 540px) and (pointer: coarse) {
    html body #admin-modal,
    html body.theme-agariobr #admin-modal {
        top: 0 !important; left: 0 !important;
        width: 100vw !important; max-width: 100vw !important;
        height: 100vh !important; height: 100dvh !important; max-height: 100dvh !important;
        transform: none !important;
        border: 0 !important;
        padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px) !important;
        box-sizing: border-box;
        animation: v3admFade .16s ease both;
    }
    @keyframes v3admFade { from { opacity: 0; } to { opacity: 1; } }

    /* Cabeçalho: título + fechar; seletor de servidor numa linha própria */
    html body #admin-modal .adm-modal-header { flex-wrap: wrap; gap: 10px 12px; padding: 12px 14px; }
    html body #admin-modal .adm-modal-title { flex: 1 1 auto; font-size: 15px; }
    html body #admin-modal .adm-modal-title span::before { font-size: 9px; margin-bottom: 3px; }
    html body #admin-modal .adm-modal-title-icon { width: 34px; height: 34px; }
    html body #admin-modal .adm-modal-close { width: 40px; height: 40px; order: 2; }
    html body #pxass-wrap { order: 3; flex: 1 1 100%; margin: 0; }
    html body #pxass-select { flex: 1 1 auto; max-width: none; min-height: 38px; }
    html body #pxass-status { max-width: 45%; }

    /* Navegação: faixa de abas rolável com sublinhado ácido */
    html body #admin-modal #admin-body-row { flex-direction: column; }
    html body #admin-modal #admin-tabbar {
        width: 100% !important;
        flex: 0 0 auto;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        padding: 0 8px !important;
        overflow-x: auto; overflow-y: hidden;
        scrollbar-width: none;
        border-right: 0 !important;
        border-bottom: 1px solid var(--pc-line) !important;
        background: var(--pc-ink-2) !important;
    }
    html body #admin-modal #admin-tabbar::-webkit-scrollbar { display: none; }
    html body #admin-modal .admin-nav-group { display: none !important; }
    html body #admin-modal .admin-tab-btn {
        flex: 0 0 auto;
        width: auto !important;
        min-height: 46px !important;
        padding: 0 12px !important;
        font-size: 10.5px !important;
        border-radius: 0 !important;
    }
    html body #admin-modal .admin-tab-btn i { width: auto; margin-right: 7px; }
    html body #admin-modal .admin-tab-btn .admin-tool-ext { display: none; }
    html body #admin-modal .admin-tab-btn.active {
        background: transparent !important;
        box-shadow: inset 0 -2px 0 var(--pc-acid) !important;
    }
    html body #admin-modal .admin-content-area { flex: 1 1 auto; }

    /* Toques: alvos de 40px+, campos com 16px (sem zoom do iOS) */
    html body #admin-modal .adm-btn { min-height: 42px !important; padding: 0 12px !important; font-size: 10.5px !important; }
    html body #admin-modal input[type="text"],
    html body #admin-modal input[type="number"],
    html body #admin-modal input:not([type]),
    html body #admin-modal select,
    html body #admin-modal textarea,
    html body .pxad .v3-input,
    html body .pxad .v3-textarea,
    html body .pxcb-modal .v3-input { font-size: 16px !important; }
    html body #admin-modal #admin-search { min-height: 42px; }

    /* Jogadores */
    html body #admin-modal .adm-search-bar { padding: 12px 12px 8px; }
    html body #admin-modal .pxa-filters { flex-direction: column; align-items: stretch; gap: 8px; }
    html body #admin-modal .pxa-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
    html body #admin-modal .pxa-chips::-webkit-scrollbar { display: none; }
    html body #admin-modal .pxa-chip { flex: 0 0 auto; min-height: 34px; }
    html body #admin-modal .pxa-sort select { flex: 1; min-height: 36px; }
    html body #admin-modal .pxa-sort { width: 100%; }
    html body #admin-modal #admin-player-list { padding: 10px 12px 14px !important; }
    html body #admin-modal .pxa-card { padding: 10px; gap: 10px; }
    html body #admin-modal .pxa-flags { max-width: 100%; justify-content: flex-start; }
    html body #admin-modal .pxa-head { flex-direction: column; align-items: flex-start; gap: 5px; }
    html body #admin-modal #admin-player-actions { padding: 12px !important; overflow-y: auto !important; }
    html body #admin-modal #admin-player-actions > div:first-child { margin: -12px -12px 0 !important; padding: 10px 12px; flex-wrap: wrap; }
    html body #admin-modal #admin-player-actions > div:nth-child(2) { grid-template-columns: 1fr !important; overflow: visible !important; flex: 0 0 auto !important; }
    html body #admin-modal #admin-player-actions > div:nth-child(2) > div { overflow: visible !important; }

    /* Contas: linhas viram cartões (selos embaixo), ficha em uma coluna */
    html body #admin-modal #admin-accounts-list-view > div:first-child { padding: 12px !important; }
    html body #admin-modal .pxact-tabs { padding: 0 8px; }
    html body #admin-modal #admin-account-list { padding: 0 12px 14px !important; }
    html body #admin-modal #admin-account-list > div[onclick] { grid-template-columns: 36px minmax(0, 1fr) !important; }
    html body #admin-modal #admin-account-list > div[onclick] > div:last-child { grid-column: 1 / -1; justify-content: flex-start; max-width: none; }
    html body #admin-modal #admin-account-detail { padding: 12px !important; overflow-y: auto !important; }
    html body #admin-modal #admin-account-detail > div { overflow: visible !important; }
    html body #admin-modal .pxut-fieldgrid { grid-template-columns: 1fr; }
    html body #admin-modal .pxut-panel > div > div[style*="grid-template-columns: 120px"],
    html body #admin-modal .pxut-panel > div > div[style*="grid-template-columns:120px"] { grid-template-columns: 96px 1fr !important; }
    html body #admin-modal .pxuf-rep { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html body #admin-modal .pxuf-grid { grid-template-columns: 1fr; }
    html body #admin-modal .pxut-btn,
    html body #admin-modal .pxcb-btn { min-height: 42px; }

    /* Clãs */
    html body #admin-modal .pxcl-bar { padding: 12px; }
    html body #admin-modal .pxcl-stats { margin-left: 0; width: 100%; }
    html body #admin-modal .pxcl-body { padding: 12px; }
    html body #admin-modal .pxcl-row { flex-wrap: wrap; }
    html body #admin-modal .pxcl-row .pxcl-main { flex-basis: calc(100% - 90px); }
    html body #admin-modal .pxcl-hero { flex-direction: column; align-items: flex-start; }
    html body #admin-modal .pxcl-grid { grid-template-columns: 1fr; }
    html body #admin-modal .pxcl-mrow { flex-wrap: wrap; }
    html body #admin-modal .pxcl-mrow .grow { flex-basis: 100%; white-space: normal; }
    html body #admin-modal .pxcl-btn,
    html body #admin-modal .pxcl-mini { min-height: 40px; }

    /* Visão geral */
    html body #admin-modal #admin-tab-quick > .pxov { padding: 12px !important; gap: 10px !important; }
    html body #admin-modal .pxov-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html body #admin-modal .pxov-card { min-height: 84px; }
    html body #admin-modal .pxov-card b { font-size: 22px; }
    html body #admin-modal .pxov-h-note { display: none; }
    html body #admin-modal .pxov-actgrid { grid-template-columns: 1fr; }
    html body #admin-modal .admin-quick-grid { grid-template-columns: 1fr 1fr; }
    html body #admin-modal .adm-quick-btn { min-height: 44px; }
    html body #admin-modal .pxm-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html body #admin-modal .pxas-row { display: grid; grid-template-columns: 1fr 1fr 32px; gap: 6px 10px; }
    html body #admin-modal .pxas-name { grid-column: 1 / 3; }
    html body #admin-modal .pxas-reset-btn { grid-column: 3; grid-row: 1; width: 34px; height: 34px; }
    html body #admin-modal .pxov-filters { margin-left: 0; width: 100%; }
    html body #admin-modal .pxov-f { flex: 1; min-height: 32px; }
    html body #admin-modal .pxov-row { grid-template-columns: 1fr auto; gap: 6px 10px; }
    html body #admin-modal .pxov-kind { justify-self: start; grid-row: 1; }
    html body #admin-modal .pxov-state { grid-row: 1; grid-column: 2; justify-self: end; }
    html body #admin-modal .pxov-main,
    html body #admin-modal .pxov-who { grid-column: 1 / -1; }
    html body #admin-modal .pxov-log { max-height: none; }

    /* Avisos */
    html body #admin-modal .pxan-form { padding: 12px; }
    html body #admin-modal .pxan-row-inputs { flex-direction: column; }
    html body #admin-modal .pxan-input.pxan-type { flex: 0 0 auto; }
    html body #admin-modal .pxan-toolbar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    html body #admin-modal .pxan-toolbar > * { flex: 0 0 auto; }
    html body #admin-modal .pxan-toolbar button,
    html body #admin-modal .pxan-swatch { min-width: 36px; height: 36px; }
    html body #admin-modal .pxan-list { padding: 12px; }
    html body #admin-modal .pxan-act { width: 40px; height: 40px; }
    html body #admin-modal .pxan-save-btn,
    html body #admin-modal .pxan-cancel-btn { min-height: 44px; flex: 1; justify-content: center; }

    /* Ranking e Loja: formulários em coluna */
    html body #admin-modal #admin-tab-ranking > div:first-child > div[style*="grid"],
    html body #admin-modal #admin-tab-store > div:first-child > div:last-child { grid-template-columns: 1fr 1fr !important; }
    html body #admin-modal #admin-tab-ranking > div:first-child > div[style*="grid"] > :first-child,
    html body #admin-modal #admin-tab-ranking > div:first-child > div[style*="grid"] > :nth-child(2) { grid-column: 1 / -1; }
    html body #admin-modal #admin-tab-store > div:first-child > div:last-child > button { grid-column: 1 / -1; }
    html body #admin-modal #admin-tab-ranking { overflow-y: auto; }
    html body #admin-modal #admin-ranking-list { grid-template-columns: 1fr !important; overflow: visible !important; padding: 12px !important; }
    html body #admin-modal #admin-ranking-list > div { overflow: visible !important; }
    html body #admin-modal #admin-ranking-list > div:first-child > div[style*="grid"] { grid-template-columns: minmax(0, 1fr) 70px 44px !important; }
    html body #admin-modal #admin-ranking-list > div:first-child > div[style*="grid"] > select { grid-column: 1 / -1; grid-row: 2; }
    html body #admin-modal #admin-ranking-list div[style*="grid-template-columns: 1fr 86px 1fr"],
    html body #admin-modal #admin-ranking-list div[style*="grid-template-columns: 1fr 1fr"],
    html body #admin-modal #admin-ranking-list div[style*="grid-template-columns:1fr 86px 1fr"],
    html body #admin-modal #admin-ranking-list div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
    html body #admin-modal #admin-store-items-list { padding: 12px !important; }
    html body #admin-modal #admin-skins-list { padding: 12px !important; }
    html body #admin-modal .admin-skin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /* Estúdio da Rádio */
    html body #admin-modal .pxrs-nav { padding: 0 8px; }
    html body #admin-modal .pxrs-body { padding: 12px; }
    html body #admin-modal .pxrs-grid2 { grid-template-columns: 1fr; }
    html body #admin-modal .pxrs-btn { min-height: 44px; align-self: stretch; }
    html body .pxrs-toast { width: auto; left: 12px; right: 12px; }

    /* Diálogos: cartão centralizado (não precisa de tela cheia) */
    html body .pxad.v3-modal,
    html body .pxcb-modal.v3-modal {
        left: 50%; top: auto; bottom: 12px;
        transform: translateX(-50%);
        width: calc(100vw - 16px); height: auto; max-height: calc(100dvh - 24px);
        padding: 0 0 env(safe-area-inset-bottom, 0px);
        border: 1px solid var(--pc-line-2);
    }
    html body .pxad .v3-foot .v3-btn,
    html body .pxcb-modal .v3-foot .v3-btn { flex: 1; min-height: 46px; }
    html body #admin-modal .adm-reason-overlay,
    html body #admin-modal #admin-input-overlay,
    html body #admin-modal #admin-delete-confirm-overlay { padding: 12px !important; justify-content: flex-end !important; }
    html body .pxat-presets { grid-template-columns: repeat(4, 1fr); }

    /* Console: ocupa a largura, abaixo do topo */
    html body #admin-terminal-panel { border-radius: 0 !important; }
    html body .adm-term-dot { width: 32px !important; height: 32px !important; }
    html body #admin-terminal-in { font-size: 16px !important; }

    /* Missões */
    html body .px-madm {
        top: 0; left: 0; transform: none;
        width: 100vw; height: 100dvh; max-height: none;
        border: 0;
        padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
        box-sizing: border-box;
    }
    html body .px-madm-grid { grid-template-columns: 1fr; }
    html body .px-madm-body { padding: 14px; }
    html body .px-madm-row-act button { width: 40px; height: 40px; }
}

/* Celular deitado (em jogo): pouca altura — cabeçalho numa linha só */
@media (orientation: landscape) and (max-height: 540px) and (pointer: coarse) {
    html body #admin-modal .adm-modal-header { flex-wrap: nowrap; padding: 8px 12px; }
    html body #admin-modal .adm-modal-title { font-size: 14px; }
    html body #admin-modal .adm-modal-title span::before { display: none; }
    html body #admin-modal .adm-modal-title-icon { width: 30px; height: 30px; font-size: 13px; }
    html body #pxass-wrap { order: 1; flex: 0 1 300px; margin-left: auto; }
    html body #pxass-select { min-height: 34px; }
    html body #admin-modal .adm-modal-close { width: 36px; height: 36px; }
    html body #admin-modal .admin-tab-btn { min-height: 40px !important; }
    html body #admin-modal .pxa-filters { flex-direction: row; align-items: center; }
    html body #admin-modal .pxa-chips { flex: 1 1 0; }
    html body #admin-modal .pxa-sort { width: auto; }
    html body #admin-modal .pxov-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    html body #admin-modal .pxm-metrics-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    html body #admin-modal .pxov-actgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    html body #admin-modal .admin-quick-grid { grid-template-columns: 1fr; }
    html body #admin-modal #admin-player-actions > div:nth-child(2) { grid-template-columns: 1fr 1fr !important; }
    html body .pxad.v3-modal,
    html body .pxcb-modal.v3-modal { width: min(520px, calc(100vw - 16px)); top: 8px; bottom: 8px; overflow: auto; }
}
