/* ==========================================================================
   Panel de administración. Reutiliza los tokens y componentes de
   estilos.css (botones, formularios, paginación, avisos) y añade solo lo
   propio del back-office: barra lateral, tablas y estados.
   ========================================================================== */

.admin-cabecera {
    background: var(--azul-950);
    color: var(--blanco);
    border-bottom: 0;
}
.admin-cabecera .logo,
.admin-cabecera .logo__marca { color: var(--blanco); }
.admin-cabecera .logo__icono { background: rgba(255, 255, 255, .12); }
.admin-cabecera .nav a { color: rgba(255, 255, 255, .75); }
.admin-cabecera .nav a:hover,
.admin-cabecera .nav a[aria-current="page"] {
    background: rgba(255, 255, 255, .12);
    color: var(--blanco);
}
.admin-etiqueta {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--naranja-500);
    border: 1px solid rgba(249, 115, 22, .45);
    border-radius: 100px;
    padding: 2px 8px;
    margin-left: 8px;
}

.admin-usuario {
    font-size: .85rem;
    color: rgba(255, 255, 255, .6);
    margin-right: 4px;
}

/* Cabecera de página del panel */
.admin-titulo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.admin-titulo h1 { margin: 0; font-size: 1.6rem; }

/* Pestañas de estado */
.pestanas {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 18px;
}
.pestanas a {
    padding: 8px 14px;
    border: 1px solid var(--linea);
    border-radius: 100px;
    background: var(--blanco);
    color: var(--tinta-media);
    font-size: .9rem;
    font-weight: 600;
}
.pestanas a:hover { border-color: var(--azul-600); text-decoration: none; }
.pestanas a[aria-current="page"] {
    background: var(--azul-800);
    border-color: var(--azul-800);
    color: var(--blanco);
}
.pestanas .cuenta { opacity: .7; font-weight: 500; }

/* Barra de herramientas (buscador del listado) */
.admin-barra {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 18px;
}
.admin-barra input[type="search"] { max-width: 320px; }

/* Tablas */
.tabla-envoltorio {
    background: var(--blanco);
    border: 1px solid var(--linea);
    border-radius: var(--radio);
    box-shadow: var(--sombra-sm);
    overflow-x: auto;
}
.tabla {
    width: 100%;
    border-collapse: collapse;
    font-size: .93rem;
}
.tabla th, .tabla td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--linea-suave);
    vertical-align: middle;
}
.tabla th {
    background: var(--azul-50);
    color: var(--azul-900);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
}
.tabla tbody tr:last-child td { border-bottom: 0; }
.tabla tbody tr:hover { background: #fafcfe; }
.tabla__principal { font-weight: 600; color: var(--azul-950); }
.tabla__secundario { color: var(--tinta-suave); font-size: .85rem; }
.tabla__acciones { text-align: right; white-space: nowrap; }
.tabla__vacia { padding: 40px; text-align: center; color: var(--tinta-suave); }

/* Distintivos de estado */
.estado {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 100px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: capitalize;
}
.estado--publicado { background: var(--verde-50); color: var(--verde-600); }
.estado--pendiente { background: var(--naranja-50); color: var(--naranja-700); }
.estado--baja      { background: var(--rojo-50); color: var(--rojo-600); }

/* Leads */
.lead-mensaje {
    max-width: 46ch;
    color: var(--tinta-media);
    white-space: pre-line;
}
.lead-contacto a { display: block; }

/* Formulario de edición a dos columnas */
.admin-formulario {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
    align-items: start;
}
.admin-formulario .panel { margin-bottom: 20px; }
.campos-dobles { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* Acceso */
.acceso {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 24px;
    background: linear-gradient(160deg, var(--azul-900) 0%, var(--azul-950) 100%);
}
.acceso__caja {
    width: 100%;
    max-width: 400px;
    background: var(--blanco);
    border-radius: var(--radio-lg);
    box-shadow: var(--sombra-md);
    padding: 32px;
}
.acceso__caja h1 { font-size: 1.4rem; margin-bottom: 4px; }
.acceso__caja .ayuda { margin-bottom: 22px; }
.acceso__pie { text-align: center; margin-top: 20px; font-size: .88rem; }

@media (max-width: 900px) {
    .admin-formulario { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .campos-dobles { grid-template-columns: 1fr; }
}
