.admin-layout { max-width: 1200px; margin: auto; padding: 50px 5vw 90px; }
.admin-layout > h1 { margin-top: 15px; }
.admin-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.admin-card { padding: 24px; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--superficie); }
.admin-card h2 { overflow-wrap: anywhere; }
.admin-grid .admin-card { transition: transform .2s, box-shadow .2s; }
.admin-grid .admin-card:hover { transform: translateY(-3px); box-shadow: var(--sombra); }
.admin-lista { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 26px; }
.productos-admin { align-items: start; }
.admin-filtros { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: 16px; align-items: end; margin-bottom: 25px; padding: 20px; background: var(--superficie); border-radius: var(--radio); }
.admin-filtros label { margin: 0; }
.crear-producto { margin-bottom: 25px; }
details > summary { cursor: pointer; font-size: 1.15rem; }
details[open] > summary { margin-bottom: 22px; }
.acciones-admin { display: flex; flex-wrap: wrap; gap: 10px; }
.boton.peligro { background: #8c2231; color: white; }
.check { display: flex; grid-template-columns: none; flex-direction: row; align-items: center; gap: 9px; }
.check input { width: auto; }
.mensaje { padding: 12px 16px; border-radius: 10px; background: #e0f2df; }
.mensaje-error { background: #f8dfe2; color: #751927; }
.miniatura-admin { width: 100%; max-height: 210px; margin-bottom: 18px; object-fit: cover; border-radius: 12px; }
.imagenes-restaurante-admin { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 22px; }
.imagenes-restaurante-admin img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 12px; }
.personalizacion-admin { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 8px 0 25px; padding: 18px; border: 1px dashed var(--borde); border-radius: 14px; }
.logo-admin { width: auto; max-width: 190px; max-height: 80px; object-fit: contain; }
.ayuda-admin { margin: 0; color: var(--texto-suave); }
.muestra-colores { display: flex; overflow: hidden; width: 150px; height: 52px; border: 1px solid var(--borde); border-radius: 999px; }
.muestra-colores span { flex: 1; background: var(--muestra-1); }
.muestra-colores span:nth-child(2) { background: var(--muestra-2); }
.muestra-colores span:nth-child(3) { background: var(--muestra-3); }
.campo-tema { margin: 24px 0; padding: 22px; border: 1px solid var(--borde); border-radius: 14px; }
.campo-tema legend { padding-inline: 8px; font-size: 1.15rem; font-weight: 800; }
.guardar-identidad { margin-top: 16px; }
.campos-colores { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.campos-colores input[type='color'] { min-height: 52px; padding: 4px; cursor: pointer; }
.barra-guardar { position: sticky; bottom: 14px; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 25px; padding: 14px 16px; color: white; background: rgba(23,23,18,.94); border: 1px solid rgba(255,255,255,.15); border-radius: 14px; box-shadow: 0 14px 40px rgba(0,0,0,.24); backdrop-filter: blur(8px); }
.barra-guardar span { font-size: .9rem; }
.barra-guardar .boton { flex-shrink: 0; background: white; color: var(--texto); }
.carta-miniatura { width: 100%; max-height: 330px; object-fit: contain; margin-bottom: 18px; background: #eee; }
.seguridad-form { max-width: 620px; }
.tabla-responsive { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; background: white; }
th, td { padding: 12px; border-bottom: 1px solid var(--borde); text-align: left; }
.login { max-width: 420px; margin: 80px auto; padding: 30px; background: white; border-radius: var(--radio); box-shadow: var(--sombra); }
@media (max-width: 850px) {
  .admin-grid, .admin-lista { grid-template-columns: 1fr; }
  .admin-filtros { grid-template-columns: 1fr; }
  .campos-colores { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .admin-layout { padding: 35px 20px 70px; }
  .imagenes-restaurante-admin { grid-template-columns: 1fr; }
  .personalizacion-admin { align-items: flex-start; flex-direction: column; }
  .campos-colores { grid-template-columns: 1fr; }
  .barra-guardar { align-items: stretch; flex-direction: column; bottom: 8px; }
  .barra-guardar .boton { width: 100%; }
}
