/* Painel ADM — Jogadores. Usa os tokens --a-* do shell.css (seguem o elemento escolhido). */
.players-page{max-width:1500px;margin:0 auto;padding:24px 28px 80px}
.pl-workspace{display:flex;flex-direction:column;gap:16px}
.pl-spacer{flex:1}

/* Barra superior */
.pl-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--a-line);border-radius:14px;background:var(--a-card)}
.pl-server{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--a-faint)}
.pl-server select{min-width:140px}
.pl-connection{margin:0;font-size:13px;color:var(--a-faint)}
.pl-connection.is-live{color:var(--a-good)}

/* Botões */
.pl-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--a-line-strong);background:transparent;color:var(--a-text);font:600 13px/1 var(--a-body);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,opacity .15s}
.pl-btn:hover:not(:disabled){background:var(--a-hover)}
.pl-btn:disabled{opacity:.45;cursor:not-allowed}
.pl-btn--primary{background:var(--a-accent);border-color:var(--a-accent);color:var(--el-on,#fff)}
.pl-btn--primary:hover:not(:disabled){background:var(--a-accent-hi);border-color:var(--a-accent-hi)}
.pl-btn--danger{border-color:var(--a-bad-line);color:var(--a-bad);background:var(--a-bad-bg)}
.pl-btn--danger:hover:not(:disabled){background:rgba(255,107,133,.2)}
.pl-btn--ghost{background:transparent}

/* Layout */
.pl-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:980px){.pl-layout{grid-template-columns:1fr}.pl-roster{position:static;max-height:55vh}}

/* Lista */
.pl-roster{position:sticky;top:16px;display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--a-line);border-radius:16px;background:var(--a-card);max-height:calc(100vh - 32px)}
.pl-roster input[type=search]{width:100%}
.pl-filters{display:flex;flex-wrap:wrap;gap:6px}
.pl-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--a-line);background:transparent;color:var(--a-dim);font:600 12px/1 var(--a-body);cursor:pointer}
.pl-chip[aria-pressed=true]{background:var(--a-accent-soft);border-color:var(--a-accent-line);color:var(--a-text)}
.pl-chip__n{font-weight:400;color:var(--a-faint)}
.pl-roster__list{display:flex;flex-direction:column;gap:2px;overflow:auto;margin:0 -6px;padding:0 6px}
.pl-roster__count{margin:0;font-size:12px;color:var(--a-faint)}
.pl-row{display:grid;grid-template-columns:36px minmax(0,1fr) 10px;align-items:center;gap:10px;padding:8px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--a-text);text-align:left;cursor:pointer}
.pl-row:hover{background:var(--a-hover)}
.pl-row[aria-current=true]{background:var(--a-accent-soft);border-color:var(--a-accent-line)}
.pl-row__text{display:flex;flex-direction:column;min-width:0}
.pl-row__text strong{display:flex;align-items:center;gap:6px;font-size:14px;overflow:hidden;white-space:nowrap}
.pl-row__text small{color:var(--a-faint);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-head{border-radius:8px;image-rendering:pixelated;background:var(--a-soft);flex:none}
.pl-dot{width:9px;height:9px;border-radius:50%;background:var(--a-faint)}
.pl-dot--online{background:var(--a-good);box-shadow:0 0 0 3px var(--a-good-bg)}
.pl-dot--unknown{background:transparent;border:1px dashed var(--a-faint)}

.pl-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:6px;font:700 10px/1 var(--a-body);letter-spacing:.04em;text-transform:uppercase}
.pl-badge--vip{background:var(--a-warn-bg);color:var(--a-warn);border:1px solid var(--a-warn-line)}
.pl-badge--op{background:var(--a-accent-soft);color:var(--a-accent-hi);border:1px solid var(--a-accent-line)}
.pl-badge--ban{background:var(--a-bad-bg);color:var(--a-bad);border:1px solid var(--a-bad-line)}

/* Ficha */
.pl-dossier{min-width:0}
.pl-empty{display:grid;place-items:center;min-height:320px;border:1px dashed var(--a-line-strong);border-radius:16px;color:var(--a-faint)}
.pl-hero{display:grid;grid-template-columns:minmax(260px,auto) 1fr;grid-template-areas:"id stats" "quick quick";gap:16px 24px;padding:20px;border:1px solid var(--a-line);border-radius:16px;background:linear-gradient(135deg,var(--a-accent-soft),transparent 60%),var(--a-card)}
.pl-hero__id{grid-area:id;display:flex;align-items:center;gap:16px}
.pl-hero__id .pl-head{border-radius:12px;box-shadow:0 0 0 2px var(--a-accent-line)}
.pl-hero__names h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;font-size:24px}
.pl-hero__char{margin:4px 0 0;color:var(--a-dim);font-size:14px}
.pl-hero__presence{margin:4px 0 0;font-size:12px;color:var(--a-faint)}
.pl-hero__presence--online{color:var(--a-good)}
.pl-hero__stats{grid-area:stats;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0;align-self:center}
.pl-hero__stats div{padding:10px 12px;border-radius:12px;background:var(--a-soft);border:1px solid var(--a-line)}
.pl-hero__stats dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--a-faint)}
.pl-hero__stats dd{margin:4px 0 0;font-weight:600;font-size:14px}
.pl-hero__quick{grid-area:quick;display:flex;flex-wrap:wrap;gap:8px}
.pl-hero__pending{grid-column:1/-1;justify-self:start;padding:6px 12px;border-radius:999px;border:1px solid var(--a-warn-line);background:var(--a-warn-bg);color:var(--a-warn);font:600 12px var(--a-body);cursor:pointer}
@media (max-width:760px){.pl-hero{grid-template-columns:1fr;grid-template-areas:"id" "stats" "quick"}}

.pl-tabs{display:flex;gap:2px;margin:16px 0 0;border-bottom:1px solid var(--a-line);overflow-x:auto}
.pl-tab{padding:10px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--a-dim);font:600 14px var(--a-body);cursor:pointer;white-space:nowrap}
.pl-tab:hover{color:var(--a-text)}
.pl-tab[aria-selected=true]{color:var(--a-text);border-bottom-color:var(--a-accent)}
.pl-panel{padding-top:16px}
.pl-panel__inner{display:flex;flex-direction:column;gap:22px}

.pl-section__title{margin:0 0 4px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--a-faint)}
.pl-section > .pl-note{margin:0 0 10px}
.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:8px}
.pl-grid--flat{display:block}
.pl-note{color:var(--a-faint);font-size:13px;margin:0}
.pl-link{color:var(--a-accent-hi);font-size:13px}
.pl-banner{margin:0;padding:10px 14px;border-radius:12px;border:1px solid var(--a-line-strong);background:var(--a-soft);color:var(--a-dim);font-size:13px}
.pl-banner--bad{border-color:var(--a-bad-line);background:var(--a-bad-bg);color:var(--a-bad)}

/* Cartões de ação */
.pl-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--a-line);border-radius:14px;background:var(--a-card)}
.pl-card--danger{border-color:var(--a-bad-line)}
.pl-card__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pl-card__head h3{margin:0;font-size:15px}
.pl-card__current{font-size:12px;color:var(--a-faint)}
.pl-card__desc{margin:0;font-size:13px;color:var(--a-dim)}
.pl-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.pl-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--a-faint);min-width:0}
.pl-field--wide{grid-column:1/-1}
.pl-field input,.pl-field select,.pl-field textarea{width:100%;min-width:0}
.pl-field small{color:var(--a-faint);font-size:11px}
.pl-field--check{grid-column:1/-1;flex-direction:row;align-items:center;gap:8px;color:var(--a-dim);font-size:13px}
.pl-field--check input{width:auto}
.pl-field[hidden]{display:none}
.pl-card__foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}
.pl-card__status{margin:0;font-size:12px;color:var(--a-faint);flex:1 1 160px}
.pl-card__status[data-tone=good]{color:var(--a-good)}
.pl-card__status[data-tone=bad]{color:var(--a-bad)}
.pl-card__status[data-tone=warn]{color:var(--a-warn)}
.pl-vipstate.is-active{border-color:var(--a-warn-line);background:linear-gradient(135deg,var(--a-warn-bg),transparent 70%),var(--a-card)}
.pl-vipstate h3{margin:0}

/* Resumo */
.pl-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.pl-tile{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--a-line);border-radius:14px;background:var(--a-card)}
.pl-tile__label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--a-faint)}
.pl-tile__value{font-size:22px}
.pl-tile__sub{font-size:12px;color:var(--a-dim)}
.pl-bar{display:block;height:6px;border-radius:999px;background:var(--a-soft);overflow:hidden}
.pl-bar span{display:block;height:100%;background:var(--el-gradient,var(--a-accent))}
.pl-pointrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pl-point{display:flex;flex-direction:column;min-width:110px;padding:10px 14px;border-radius:12px;border:1px solid var(--a-line);background:var(--a-card)}
.pl-point strong{font-size:18px}
.pl-point span{font-size:12px;color:var(--a-faint);text-transform:capitalize}
.pl-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 16px;margin:8px 0 0}
.pl-facts div{padding:8px 0;border-bottom:1px solid var(--a-line)}
.pl-facts dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--a-faint)}
.pl-facts dd{margin:2px 0 0;font-size:14px;word-break:break-word}

/* Histórico */
.pl-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pl-history__item{padding:12px 14px;border:1px solid var(--a-line);border-radius:12px;background:var(--a-card)}
.pl-history__item p{margin:6px 0 0;font-size:13px}
.pl-history__top{display:flex;align-items:center;gap:10px}
.pl-history__top time{font-size:12px;color:var(--a-faint)}
.pl-history__result{color:var(--a-dim)}
.pl-status{padding:2px 8px;border-radius:999px;font:600 11px var(--a-body);border:1px solid var(--a-line-strong);color:var(--a-dim)}
.pl-status--good{color:var(--a-good);border-color:var(--a-good-line);background:var(--a-good-bg)}
.pl-status--bad{color:var(--a-bad);border-color:var(--a-bad-line);background:var(--a-bad-bg)}
.pl-status--warn,.pl-status--wait{color:var(--a-warn);border-color:var(--a-warn-line);background:var(--a-warn-bg)}

/* Diálogos */
.pl-dialog{width:min(460px,calc(100vw - 32px));padding:0;border:1px solid var(--a-line-strong);border-radius:16px;background:var(--a-card);color:var(--a-text);box-shadow:var(--a-pop)}
.pl-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.pl-dialog form{display:flex;flex-direction:column;gap:12px;padding:20px}
.pl-dialog h2{margin:0;font-size:18px}
.pl-dialog p{margin:0;color:var(--a-dim);font-size:14px}
.pl-dialog label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--a-faint)}
.pl-dialog label[hidden]{display:none}
.pl-dialog__actions{display:flex;justify-content:flex-end;gap:8px}

/* Avisos */
.pl-toasts{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 40px))}
.pl-toast{padding:10px 14px;border-radius:12px;border:1px solid var(--a-line-strong);background:var(--a-card);box-shadow:var(--a-pop);font-size:13px;transition:opacity .5s,transform .5s}
.pl-toast--good{border-color:var(--a-good-line)}
.pl-toast--bad{border-color:var(--a-bad-line);color:var(--a-bad)}
.pl-toast--warn,.pl-toast--wait{border-color:var(--a-warn-line)}
.pl-toast.is-out{opacity:0;transform:translateY(8px)}

/* ── Precedência sobre o shell.css ────────────────────────────────
   O shell estiliza todo "main button" com !important (e um :is(#connect…) dá peso de ID aos
   submits). Os seletores abaixo têm especificidade maior para manter os estilos desta página. */
body.admin-unified main.players-page button.pl-btn:not(.pl-z),body.admin-unified dialog.pl-dialog button.pl-btn:not(.pl-z){min-height:36px;height:36px;padding:0 14px !important;border-radius:10px !important;border:1px solid var(--a-line-strong) !important;background:transparent !important;color:var(--a-text) !important;font:600 13px/1 var(--a-body) !important;box-shadow:none !important;filter:none !important}
body.admin-unified main.players-page button.pl-btn:not(.pl-z):hover:not(:disabled),body.admin-unified dialog.pl-dialog button.pl-btn:not(.pl-z):hover:not(:disabled){background:var(--a-hover) !important}
body.admin-unified main.players-page button.pl-btn--primary:not(.pl-z),body.admin-unified #add-dialog button.pl-btn--primary{background:var(--el-gradient) !important;border-color:transparent !important;color:var(--el-on,#fff) !important}
body.admin-unified main.players-page button.pl-btn--primary:not(.pl-z):hover:not(:disabled){filter:brightness(1.1) !important}
body.admin-unified main.players-page button.pl-btn--danger:not(.pl-z),body.admin-unified #confirm #confirm-ok.pl-btn--danger{background:var(--a-bad-bg) !important;border-color:var(--a-bad-line) !important;color:var(--a-bad) !important;text-shadow:none !important}
body.admin-unified main.players-page button.pl-btn--danger:not(.pl-z):hover:not(:disabled),body.admin-unified #confirm #confirm-ok.pl-btn--danger:hover:not(:disabled){background:rgba(255,107,133,.22) !important}
body.admin-unified #confirm #confirm-ok:disabled{opacity:.4 !important;cursor:not-allowed}
body.admin-unified main.players-page button.pl-chip:not(.pl-z){min-height:28px;height:28px;padding:0 10px !important;border-radius:999px !important;border:1px solid var(--a-line) !important;background:transparent !important;color:var(--a-dim) !important;font:600 12px/1 var(--a-body) !important}
body.admin-unified main.players-page button.pl-chip[aria-pressed=true]:not(.pl-z){background:var(--a-accent-soft) !important;border-color:var(--a-accent-line) !important;color:var(--a-text) !important}
body.admin-unified main.players-page button.pl-row:not(.pl-z){display:grid !important;justify-content:stretch;min-height:0;padding:8px !important;border:1px solid transparent !important;border-radius:10px !important;background:transparent !important;color:var(--a-text) !important;text-align:left}
body.admin-unified main.players-page button.pl-row:not(.pl-z):hover{background:var(--a-hover) !important}
body.admin-unified main.players-page button.pl-row[aria-current=true]:not(.pl-z){background:var(--a-accent-soft) !important;border-color:var(--a-accent-line) !important;box-shadow:inset 3px 0 0 var(--a-accent) !important}
body.admin-unified main.players-page button.pl-tab:not(.pl-z){min-height:0;padding:10px 14px !important;border:0 !important;border-bottom:2px solid transparent !important;border-radius:0 !important;background:transparent !important;color:var(--a-dim) !important;font:600 14px var(--a-body) !important;box-shadow:none !important}
body.admin-unified main.players-page button.pl-tab:not(.pl-z):hover{color:var(--a-text) !important;background:transparent !important}
body.admin-unified main.players-page button.pl-tab[aria-selected=true]:not(.pl-z){color:var(--a-text) !important;border-bottom-color:var(--a-accent) !important}
body.admin-unified main.players-page button.pl-hero__pending:not(.pl-z){min-height:0;padding:6px 12px !important;border-radius:999px !important;border:1px solid var(--a-warn-line) !important;background:var(--a-warn-bg) !important;color:var(--a-warn) !important;font:600 12px var(--a-body) !important}
.pl-card__status{flex:1 1 100%}
.pl-card__status:empty{display:none}
body.admin-unified a.pl-badge--suspect{text-decoration:none;cursor:pointer;color:var(--a-bad)}a.pl-badge--suspect:hover{filter:brightness(1.15)}
