/* ==========================================================================
   AuraMT2 - piezas propias de la web nueva sobre base.css/aura.css
   (formularios con CSRF, cierre de sesión por POST, pestañas sin framework...)
   ========================================================================== */
.skip { position: absolute; left: -9999px; top: 0; }
.skip:focus { left: 8px; top: 8px; z-index: 1000; background: #000; color: #fff; padding: 6px 10px; }

/* Cerrar sesión: es un formulario (POST + CSRF) con aspecto de enlace */
.am-nav-logout { margin: 0; }
.am-nav-logout button { display: block; padding: 11px 14px; background: none; border: 0; border-bottom: 2px solid transparent; color: #d9cdb9; font-size: .93rem; }
.am-nav-logout button:hover { color: var(--gold2); }
.am-nav-logout button .fa { opacity: .75; margin-right: 3px; }
.au-side-logout { margin: 0; }
.au-side-logout button { display: flex; width: 100%; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: #ddd4ee; background: rgba(255,255,255,.03); border: 1px solid var(--au-line); font-weight: 500; text-align: left; }
.au-side-logout button:hover { color: #fff; border-color: rgba(196,181,253,.45); background: rgba(139,92,246,.14); }
.au-side-logout button .fa { width: 18px; text-align: center; color: var(--au-gold); }
.list-group-form { margin: 0; }
.list-group-form .list-group-item { cursor: pointer; }

/* Barra lateral */
.side-hd h4 { text-transform: none; }
.side-user hr, .side-rank hr { margin: 8px 0 12px; }
.side-login { padding: 0 8.33%; }
.side-login .form-control { margin-bottom: 1rem; }
.side-login .btn { margin-bottom: 1rem; }
.side-lost { margin: 0; }
.side-rank .nav-tabs .nav-link img { display: block; margin-bottom: 1px; }
.side-rank .nav-tabs .nav-link.active img { margin-bottom: 2px; }
.side-table { margin-bottom: 1rem; }
.side-rank .tab-pane > p { margin: 0; padding: 1px 0 23px; }

/* Ranking */
.jumbotron-search { padding: 1rem 2rem; }
.rank-search { display: flex; gap: 30px; align-items: center; }
.rank-search .form-control { flex: 1 1 auto; }
.rank-search .btn { flex: 0 0 auto; }
.au-ranking .nav-tabs { margin-top: 1rem; }

/* Entrar / recuperar */
.login-table td { vertical-align: middle; }
.login-table label { margin: 0; }
.login-links { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.login-links > a { margin-bottom: 1rem; }
@media (max-width: 767px) { .login-links { flex-direction: column; gap: 0; } .login-links > a:last-child { align-self: flex-end; } }
.field-error { color: #f8b4a8; font-size: .86rem; margin: 6px 0 0; }

/* Mi cuenta */
.au-panel .jumbotron p { margin-bottom: 1rem; }
.au-reflink { margin-bottom: 4px; }
.au-actions { margin-top: 18px; }
.au-act { margin-bottom: 1rem; }
.au-act > summary, .au-act-link { display: grid; grid-template-columns: 33.333% 1fr; gap: 30px; align-items: center; list-style: none; }
.au-act > summary::-webkit-details-marker { display: none; }
.au-act > summary .btn { pointer-events: none; }
.au-act[open] > summary .btn { filter: brightness(1.1); }
.au-act-body { margin: 12px 0 4px; }
.au-act .au-codeform { max-width: 340px; }

/* GeoGuessr dentro de la web */
.geo-embed { padding: 0 0 2rem; }
.am-main-wide .am-col-main { width: 100%; }

/* Tablas de la administración (plantillas admin/) */
.data-table { width: 100%; border-collapse: collapse; margin: .5rem 0 1.5rem; font-size: .95rem; }
.data-table th, .data-table td { padding: .45rem .6rem; border-bottom: 1px solid var(--au-line); text-align: left; vertical-align: middle; }
.data-table th { color: var(--au-gold); font-weight: 600; }
.data-table .actions { display: flex; gap: .4rem; flex-wrap: wrap; }
.table-scroll { overflow-x: auto; }

@media (max-width: 767px) {
    .am-nav-logout button { width: 100%; text-align: left; border-bottom: 1px solid rgba(255,255,255,.04); }
    .rank-search { flex-direction: column; align-items: flex-start; gap: 4px; }
    .rank-search .form-control { width: 100%; }
    .side-login { padding: 0; }
    .au-act > summary, .au-act-link { grid-template-columns: 1fr; gap: 6px; }
    .bp-table th:nth-child(2), .bp-table td:nth-child(2) { display: none; }
}
