* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

::-webkit-scrollbar {
  width: 0;
  height: 0;
}

html,
body {
  height: 100%;
}

body {
  font-family: 'Inter', sans-serif;
  color: #2b1b12;
  background: #f6edcf; /* amarillo cremita — lienzo detrás de la ventana */
  -webkit-font-smoothing: antialiased;
}

#app {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
}

/* Ocultar scrollbars internos (app plana, sin cromo) */
.gv-scroll {
  scrollbar-width: none;
}

/* Botones de rol del login: borde rojo al pasar el mouse */
.gv-role:hover {
  border-color: #c8102e !important;
}

/* ---------- Panel admin responsive ---------- */
.gv-mobilebar { display: none; }
.gv-backdrop { display: none; }

@media (max-width: 860px) {
  #app { padding: 0; align-items: flex-start; justify-content: flex-start; }
  .gv-admin { width: 100% !important; height: auto !important; min-height: 100vh; border-radius: 0 !important; box-shadow: none !important; }
  .gv-main { padding: 14px !important; }
  .gv-main h1 { font-size: 22px !important; }

  .gv-mobilebar { display: flex !important; }
  .gv-head { flex-wrap: wrap; gap: 12px; }

  .gv-side {
    position: fixed !important; top: 0; left: 0; bottom: 0; width: 264px;
    transform: translateX(-100%); transition: transform .25s ease; z-index: 60;
  }
  .gv-admin.gv-nav-open .gv-side { transform: translateX(0); box-shadow: 0 12px 40px rgba(43,27,18,.35); }
  .gv-admin.gv-nav-open .gv-backdrop { display: block; position: fixed; inset: 0; background: rgba(43,27,18,.4); z-index: 55; }

  /* Listas: de grilla a tarjetas apiladas con etiqueta */
  .gv-list-head { display: none !important; }
  .gv-list-row { display: block !important; grid-template-columns: none !important; padding: 12px 16px !important; }
  .gv-cell { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; padding: 4px 0; text-align: left !important; }
  .gv-cell::before { content: attr(data-label); color: #8A7A6C; font-size: 12px; font-weight: 600; flex: 0 0 auto; }
  .gv-cell-actions { justify-content: flex-end; margin-top: 8px; }
  .gv-cell-actions::before { content: none; }

  .gv-two-col { grid-template-columns: 1fr !important; }
}
