/* Minha conta (contas de jogadores) — tema Códex */
.menu-ico.account { background:rgba(220,180,108,.14); color:var(--caca); }
.top-menu button.active .menu-ico.account { background:rgba(220,180,108,.26); }
.top-menu button.menu-account { margin-top:6px; margin-bottom:2px; }
#accountMenuLabel { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }

.account-page { max-width:760px; margin:0 auto; padding:28px 24px 50px; }
.account-page h2 { margin:0 0 10px; }
.account-intro { margin:0 0 20px; color:#d9cfbd; line-height:1.6; }
.account-status { margin:0 0 14px; color:#b4bd88; font-weight:600; }
.account-status:empty { display:none; }
.account-card { padding:22px; border:1px solid #302214; border-radius:14px; background:var(--card); box-shadow:0 10px 30px rgba(0,0,0,.25); }
.account-auth { max-width:440px; }

.account-tabs { display:flex; gap:6px; margin:-6px -6px 18px; padding:4px; border-radius:10px; background:#14110d; }
.account-tabs button { flex:1; padding:10px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--muted); font-weight:700; }
.account-tabs button:hover { background:#221d16; color:var(--text); }
.account-tabs button[aria-selected="true"] { background:#634a1b; border-color:#c9a24a; color:#fff6e6; }

.account-page form label { display:block; margin:14px 0 6px; color:#d9cfbd; font-size:14px; font-weight:600; }
.account-page form label:first-of-type { margin-top:0; }
.account-page input { width:100%; padding:12px; border:1px solid #4d3c2b; border-radius:8px; background:#16130e; color:#fff; font-size:15px; outline:none; }
.account-page input:focus { border-color:#c9a24a; outline:2px solid #634a1b; }
.account-hint { display:block; margin:6px 0 0; color:var(--muted); font-size:12.5px; line-height:1.5; }
.account-warning { margin:16px 0 0; padding:12px 14px; border:1px solid #6b4f22; border-radius:9px; background:rgba(220,180,108,.08); color:#ecd9b0; font-size:13.5px; line-height:1.5; }
.account-warning strong { color:var(--caca); }
.account-error { min-height:1em; margin:12px 0; color:#ff9d9d; font-size:14px; }
.account-error:empty { margin:6px 0; }
.account-primary { width:100%; padding:12px; background:#634a1b; border-color:#c9a24a; color:#fff6e6; font-weight:700; font-size:15px; }
.account-primary:hover { background:#7a5b22; }
.account-secondary { flex:none; }

.account-hello { display:flex; align-items:center; gap:14px; }
.account-avatar { width:48px; height:48px; flex:none; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(220,180,108,.14); color:var(--caca); }
.account-hello-text { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.account-hello-text strong { font-size:20px; font-weight:800; color:#fff6e6; overflow-wrap:anywhere; }
.account-hello-text > span { color:var(--muted); font-size:13px; }

.account-section-title { margin:28px 0 12px; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.account-progress-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.account-progress { position:relative; padding:18px; }
.account-progress h4 { margin:12px 0 6px; font-size:16px; color:#fff6e6; }
.account-progress p { margin:0 0 12px; color:#cfc4b1; font-size:13.5px; line-height:1.5; }
.account-progress-ico { width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:9px; background:rgba(220,180,108,.14); color:var(--caca); }
.account-soon { display:inline-block; padding:3px 9px; border:1px dashed #6b5a44; border-radius:20px; color:var(--muted); font-size:12px; font-weight:700; }

.account-card.account-settings { margin-bottom:12px; padding:0; }
.account-settings summary { padding:16px 22px; cursor:pointer; font-weight:700; color:#e4dccd; }
.account-settings summary:hover { color:#fff6e6; }
.account-settings form { padding:0 22px 22px; max-width:440px; }
.account-settings form > p:not(.account-error):not(.account-hint) { margin:0 0 14px; color:#cfc4b1; line-height:1.5; }
.account-danger summary { color:#ffb3b3; }
.account-delete { width:100%; padding:12px; background:#3a1f22; border-color:#8a3b40; color:#ffb3b3; font-weight:700; }
.account-delete:hover { background:#4a252a; }
.account-delete[data-confirm] { background:#8a2f36; color:#fff; }

@media(max-width:900px) { .top-menu button.menu-account { margin:0; } #accountMenuLabel { max-width:120px; } }
@media(max-width:700px) { .account-progress-grid { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .account-page { padding:20px 16px 40px; }
  .account-card { padding:18px; }
  .account-hello { flex-wrap:wrap; }
  .account-settings summary { padding:14px 18px; }
  .account-settings form { padding:0 18px 18px; }
}

/* E-mail, "Esqueci minha senha", troca obrigatória (20/10) */
.account-link { display:block; margin:14px auto 0; padding:4px 6px; border:0; background:none; color:#cdbf9f; font-size:13.5px; text-decoration:underline; text-underline-offset:3px; }
.account-link:hover, .account-link:focus-visible { background:none; color:var(--caca); }
.account-forgot { margin-top:14px; padding:16px; border:1px solid #3a2c1c; border-radius:10px; background:#16130e; }
.account-forgot > p:first-child { margin:0 0 12px; color:#d9cfbd; font-size:13.5px; line-height:1.55; }
.account-forgot .account-support-email { color:var(--caca); overflow-wrap:anywhere; }
.account-page .account-forgot label:first-of-type { margin-top:0; }
.account-forgot-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.account-forgot-actions > * { flex:1 1 150px; }
a.account-button { display:inline-flex; align-items:center; justify-content:center; padding:10px 13px; border:1px solid #c9a24a; border-radius:7px; text-decoration:none; text-align:center; }
a.account-button[hidden] { display:none; }
.account-card-title { margin:0 0 6px; font-size:18px; color:#fff6e6; }
#accountForceChange .account-intro { margin-bottom:16px; }

/* Ferramenta do admin em Pendências */
.account-reset-tool { margin:8px 0 30px; }
.account-reset-tool > p:first-child { color:#d9cfbd; line-height:1.55; }
.account-reset-tool label { display:block; margin:0 0 6px; color:#d9cfbd; font-size:14px; font-weight:600; }
.account-reset-row { display:flex; gap:8px; max-width:440px; }
.account-reset-row input { flex:1; min-width:0; padding:10px 12px; border:1px solid #4d3c2b; border-radius:8px; background:#16130e; color:#fff; font-size:15px; outline:none; }
.account-reset-row input:focus { border-color:#c9a24a; outline:2px solid #634a1b; }
.account-reset-tool .account-error { margin:10px 0; }
.account-reset-card { max-width:520px; padding:18px; border:1px solid #4e4538; border-radius:12px; background:#282218; }
.account-reset-card dl { display:grid; grid-template-columns:auto 1fr; gap:8px 14px; margin:0 0 16px; }
.account-reset-card dt { color:var(--muted); font-size:13px; }
.account-reset-card dd { margin:0; color:#fff6e6; font-weight:700; overflow-wrap:anywhere; }
.account-reset-card > p { margin:0 0 10px; color:#d9cfbd; line-height:1.5; }
.account-temp-password { margin:6px 0 14px !important; padding:12px; border:1px dashed #c9a24a; border-radius:9px; background:#16130e; color:var(--caca) !important; font:700 22px/1.2 ui-monospace,Consolas,monospace; letter-spacing:.08em; text-align:center; user-select:all; }
.account-reset-card .account-hint { margin-top:10px; }

/* Meus personagens (21/10) */
.account-current-email { margin:0 0 14px; color:#cfc4b1; font-size:14px; overflow-wrap:anywhere; }
.account-current-email strong { color:#fff6e6; }
.char-panel { display:flex; flex-direction:column; gap:12px; }
.char-help { margin:0; }
.char-help a { color:#cdbf9f; }
.char-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.char-list:empty { display:none; }
.char-card { position:relative; display:flex; border:1px solid #3a2c1c; border-radius:12px; background:#16130e; transition:border-color .15s, background .15s; }
.char-card:hover { border-color:#6b4f22; }
.char-card.is-active { border-color:#c9a24a; background:linear-gradient(180deg,rgba(201,162,74,.16),rgba(201,162,74,.05)); box-shadow:0 0 0 1px rgba(201,162,74,.35) inset; }
.char-select { flex:1; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:14px 40px 14px 14px; border:0; border-radius:12px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.char-select:hover, .char-select:focus-visible { background:transparent; }
.char-name { max-width:100%; font-size:17px; font-weight:800; color:#fff6e6; overflow-wrap:anywhere; }
.char-info { color:#e4d3ac; font-size:13.5px; font-weight:600; }
.char-voc { color:var(--muted); font-size:12.5px; }
.char-badge { margin-top:8px; padding:3px 10px; border:1px solid #4d3c2b; border-radius:20px; color:var(--muted); font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.char-card.is-active .char-badge { border-color:#c9a24a; background:#634a1b; color:#fff6e6; }
.char-remove { position:absolute; top:6px; right:6px; min-width:30px; height:30px; padding:0 8px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--muted); font-size:18px; line-height:1; }
.char-remove:hover, .char-remove:focus-visible { border-color:#8a3b40; background:#3a1f22; color:#ffb3b3; }
.char-remove[data-confirm] { font-size:12px; font-weight:700; background:#8a2f36; border-color:#8a2f36; color:#fff; }
.char-empty, .char-loading, .char-progress-empty { margin:0; color:#cfc4b1; font-size:14px; line-height:1.5; }
.char-progress-empty { padding:16px 18px; border:1px dashed #4d3c2b; border-radius:12px; }
.char-empty[hidden], .char-progress-empty[hidden], .char-add-toggle[hidden] { display:none; }
.char-panel .account-error:empty { display:none; }
.char-panel .account-error { margin:0; }
.char-add-toggle { align-self:flex-start; padding:10px 16px; font-weight:700; }
.char-add-form { max-width:440px; padding:16px; border:1px solid #3a2c1c; border-radius:10px; background:#16130e; }
.char-add-form .account-error { margin:10px 0; }
.char-add-actions { display:flex; gap:8px; }
.char-add-actions .account-primary { flex:1; width:auto; }

/* Faixa do personagem nas páginas de progresso */
.progress-char-banner { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:0 0 16px; padding:10px 14px; border:1px solid #6b4f22; border-radius:10px; background:rgba(201,162,74,.08); }
.progress-char-banner[hidden] { display:none; }
.progress-char-label { color:var(--muted); font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.progress-char-banner strong { color:#fff6e6; font-size:16px; }
.progress-char-info { color:#e4d3ac; font-size:13.5px; }
.progress-char-switch { margin-left:auto; }
.progress-char-switch select { padding:7px 10px; border:1px solid #4d3c2b; border-radius:8px; background:#16130e; color:#fff; font-size:14px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
@media(max-width:600px) { .char-list { grid-template-columns:1fr; } .progress-char-switch { margin-left:0; width:100%; } .progress-char-switch select { width:100%; } }
.account-progress-grid[hidden] { display:none; }

/* Minha conta: Minhas contribuições (Rank Participação, 22/10/2026) */
.my-contrib { padding:14px 16px; }
.my-contrib-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.my-contrib-item { display:flex; flex-direction:column; gap:4px; padding:12px 14px; border:1px solid #3a2c1d; border-radius:10px; background:#16130e; }
.my-contrib-label { color:var(--muted,#a89c86); font-size:13px; font-weight:600; }
.my-contrib-item strong { color:#f2d38a; font-size:26px; line-height:1.1; font-variant-numeric:tabular-nums; }
.my-contrib-item.contrib-bounty { border-left:3px solid #dcb46c; }
.my-contrib-item.contrib-boss { border-left:3px solid #e0956a; }
.my-contrib-item.contrib-hunts { border-left:3px solid #b4bd88; }
.my-contrib-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; margin:10px 0 0; color:var(--muted,#a89c86); font-size:13px; }
@media(max-width:420px) { .my-contrib-item { padding:10px; } .my-contrib-item strong { font-size:21px; } }

/* Sugestões (Melhore o Site): botão abaixo do cartão da conta + caixa de texto */
.account-suggest-button { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; margin-top:12px; padding:13px 16px; border:1px solid #6b5326; border-radius:12px; background:#221a10; color:#e9cf93; font-weight:700; font-size:15px; cursor:pointer; transition:background .15s, border-color .15s, color .15s; }
.account-suggest-button:hover, .account-suggest-button:focus-visible { background:#2e2313; border-color:#c9a24a; color:#fff1cf; }
.account-suggest-button svg { flex:none; color:#dcb46c; }
.suggestion-dialog { width:min(560px,calc(100% - 32px)); }
.suggestion-dialog label { display:block; margin:14px 0 6px; font-weight:700; }
.suggestion-dialog textarea { display:block; width:100%; box-sizing:border-box; min-height:170px; padding:12px; border:1px solid #634d38; border-radius:8px; background:#16130e; color:#efe6d6; font:inherit; line-height:1.5; resize:vertical; }
.suggestion-dialog textarea:focus { outline:2px solid #c9a24a; outline-offset:1px; }
.suggestion-count { margin-top:6px; text-align:right; color:var(--muted,#a89c86); font-size:12.5px; }
.suggestion-actions { display:flex; gap:10px; margin-top:8px; }
.suggestion-actions .account-primary { flex:1; width:auto; }
.suggestion-actions .account-primary:disabled { opacity:.55; cursor:not-allowed; }
.suggestion-done h2 { color:#e9cf93; }
.suggestion-card .suggestion-meta { margin-top:0; color:#cfc4b1; }
.suggestion-card .suggestion-text { margin:0 0 16px; padding:14px; border-left:3px solid #c9a24a; border-radius:6px; background:#1c170f; color:#efe6d6; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
