button { all: unset; }

@media (max-width: 480px) {
  .tabs .tab-btn {
    background: #181818 !important;
    border: 1px solid #444 !important;
    border-bottom: none !important;
    border-radius: 12px 12px 0 0 !important;
    color: #aaa !important;
    font-size: 18px !important;
    font-family: Arial, sans-serif !important;
    padding: 16px 0 12px 0 !important;
    margin: 0 !important;
    flex: 1 1 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
    font-weight: normal !important;
    cursor: pointer !important;
    outline: none !important;
    appearance: none !important;
  }
  .tabs .tab-btn.active {
    background: #232323 !important;
    color: #007bff !important;
    border: 2px solid #007bff !important;
    border-bottom: none !important;
    font-weight: bold !important;
    z-index: 2 !important;
    box-shadow: none !important;
  }
  .tabs button {
    background: none !important;
    border: none !important;
    outline: none !important;
    appearance: none !important;
    box-shadow: none !important;
    flex: 1 1 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 1px solid #444 !important;
    border-bottom: none !important;
    border-radius: 12px 12px 0 0 !important;
    background: #181818 !important;
    color: #aaa !important;
    font-size: 18px !important;
    font-family: Arial, sans-serif !important;
    padding: 16px 0 12px 0 !important;
    transition: background 0.2s, color 0.2s, border 0.2s !important;
    box-shadow: none !important;
    font-weight: normal !important;
    cursor: pointer !important;
  }
  .tabs button.active {
    background: #232323 !important;
    color: #007bff !important;
    border: 2px solid #007bff !important;
    border-bottom: none !important;
    font-weight: bold !important;
    z-index: 2 !important;
    box-shadow: none !important;
  }
  /* Forzar tabs a ocupar todo el ancho de la ventana */
  .tabs {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 0 24px 0 !important;
    border-bottom: 2px solid #333;
    box-sizing: border-box !important;
  }
  /* Eliminar padding lateral de .App solo para desktop */
  @media (min-width: 700px) {
    .App {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  }
  .tabs, .tabs button {
    box-sizing: content-box !important;
  }
  /* Forzar tabs a cubrir todo el ancho visual del área .App */
  .App {
    position: relative;
  }
  .tabs {
    width: calc(100% + 48px) !important;
    margin-left: -24px !important;
  }
  .tabs {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
    border-bottom: 2px solid #333;
    gap: 0 !important;
  }
  .tabs button {
    flex: 1 1 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 1px solid #444;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    background: #181818;
    color: #aaa;
    font-size: 18px;
    font-family: Arial, sans-serif;
    padding: 16px 0 12px 0;
    transition: background 0.2s, color 0.2s, border 0.2s;
    box-shadow: none;
    font-weight: normal;
    cursor: pointer;
  }
  .tabs button.active {
    background: #232323;
    color: #007bff;
    border: 2px solid #007bff;
    border-bottom: none;
    font-weight: bold;
    z-index: 2;
    box-shadow: none;
  }
  .tabs {
    width: 100%;
    min-width: 0;
  }
  .tabs button {
    width: 100%;
    min-width: 0;
    flex: 1 1 0;
  }
  .tabs {
    display: flex;
    width: 100%;
    gap: 0;
    border-bottom: 2px solid #333;
    margin-bottom: 24px;
  }
  .tabs button {
    flex: 1 1 0;
    border-radius: 8px 8px 0 0;
    border: 1px solid #444;
    border-bottom: 2px solid #007bff;
    background: #181818;
    color: #007bff;
    font-size: 18px;
    font-family: Arial, sans-serif;
    padding: 16px 0 12px 0;
    margin: 0 2px;
    transition: background 0.2s, color 0.2s, border-bottom 0.2s;
    box-shadow: none;
    font-weight: normal;
  }
  .tabs button.active {
    background: #232323;
    color: #007bff;
    border-bottom: 4px solid #007bff;
    font-weight: bold;
    z-index: 2;
    box-shadow: 0 2px 8px #0003;
  }
  #logoutBtn {
    font-size: 20px;
    font-family: Arial, sans-serif;
    margin: 10px 0px;
    padding: 10px 20px;
  }
  #logoutBtn {
    height: 40px !important;
  }
  button, .tabs button {
    background: #0056b3;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 8px 16px;
    cursor: pointer;
  }
    .login-logo { width: 100% !important; max-width: none !important; height: auto !important; }
}
@media (max-width: 480px) {
  .login-logo { width: 80vw; max-width: 300px; height: auto; }
}
body { font-family: Arial, sans-serif; background: #181818; color: #f4f4f4; margin: 0; padding: 0; }
.login button[type="submit"] {
  background: #0056b3;
  color: #fff;
  border: none;
  border-radius: 4px;
}
.login button[type="submit"] {
  font-size: 20px;
  font-family: Arial, sans-serif;
  margin: 10px 0 0 0;
  padding: 10px 20px;
}
.login input[type="text"], .login input[type="password"] {
  margin-top: 10px;
  margin-bottom: 10px;
}
.login input[type="text"], .login input[type="password"] {
  padding: 10px;
}
.login h1 {
  font-size: 32px;
  text-align: left;
  width: 100%;
}
.login {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  background: #232323;
  border-radius: 16px;
  box-shadow: 0 4px 24px #0008;
  padding: 36px 32px 32px 32px;
  max-width: 380px;
  margin: 48px auto;
}
.App { max-width: 700px; margin: 30px auto; background: #232323; padding: 24px; border-radius: 8px; box-shadow: 0 2px 8px #0003; }
.tabs { margin-bottom: 16px; }

.tabs {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  flex-direction: row !important;
}
.tabs button { margin-right: 8px; padding: 8px 16px; border: none; border-radius: 4px; background: #0056b3; color: #fff; cursor: pointer; }
.tabs button.active { background: #0099ff; color: #fff; }
.login-logo { width: 400px; height: 120px; object-fit: contain; margin-bottom: 32px; }
.error { color: #ff6666; }
table { width: 100%; border-collapse: collapse; margin-top: 12px; }
th, td { border: 1px solid #444; padding: 6px 10px; text-align: left; }
th { background: #232323; color: #f4f4f4; }
select, input[type="text"], input[type="password"] { background: #232323; color: #f4f4f4; border: 1px solid #444; padding: 6px; margin: 6px 0; width: 100%; box-sizing: border-box; }
button { background: #0056b3; color: #fff; border: none; border-radius: 4px; padding: 8px 16px; cursor: pointer; }
button:hover, .tabs button:hover, .tab-btn:hover, .login button[type="submit"]:hover {
  background: #007bff !important;
}
@media (max-width: 480px) {
  .login, .App {
    max-width: 98vw;
    padding: 16px 4vw 16px 4vw;
    margin: 16px auto;
    box-sizing: border-box;
  }
  .login-logo { width: 120px; }
  h1, h2, h3 { font-size: 1.1em; }
  button, .tabs button { font-size: 1em; padding: 8px 8px; }
  input, select { font-size: 1em; }
  table, th, td { font-size: 0.95em; }
}
.tab-btn {
  background: #181818 !important;
  border: 1px solid #444 !important;
  border-bottom: none !important;
  border-radius: 12px 12px 0 0 !important;
  color: #aaa !important;
  font-size: 18px !important;
  font-family: Arial, sans-serif !important;
  padding: 16px 0 12px 0 !important;
  margin: 0 !important;
  flex: 1 1 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  box-shadow: none !important;
  font-weight: normal !important;
  cursor: pointer !important;
  outline: none !important;
  appearance: none !important;
  transition: background 0.2s, color 0.2s, border 0.2s !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.tab-btn.active {
  background: #232323 !important;
  color: #007bff !important;
  border: 2px solid #007bff !important;
  border-bottom: none !important;
  font-weight: bold !important;
  z-index: 2 !important;
  box-shadow: none !important;
}
.tabs .tab-btn.active:hover { color: #fff !important; }
#logoutBtn {
  background: #d32f2f !important;
  color: #fff !important;
}
#logoutBtn:hover {
  background: #b71c1c !important;
  color: #fff !important;
}
#consultarFamilias, #consultarArticulo { margin-top: 10px !important; }
#nombreFamilia, #codigoArticulo { height: 48px !important; font-size: 20px !important; }
#logoutBtn, #consultarFamilias, #consultarArticulo, .login button[type="submit"] { height: 40px !important; }
#consultarFamilias, #consultarArticulo { color: #fff !important; font-weight: bold !important; }
#logoutBtn { color: #fff !important; font-weight: bold !important; font-size: 18px !important; font-family: Arial, sans-serif !important; }
select { height: 48px !important; font-size: 20px !important; }
.login input[type="text"], .login input[type="password"] { height: 48px !important; font-size: 20px !important; }
.precio-container {
  display: flex;
  align-items: center;
  gap: 5px;
}
.precio-flecha {
  cursor: pointer;
  color: #4fc3f7;
  font-size: 12px;
  padding: 2px 4px;
  border-radius: 3px;
  transition: background-color 0.2s;
}
.precio-flecha:hover {
  background-color: #1a1a2e;
  color: #81d4fa;
}