/* ============================================================
   senaite-overrides.css - Marca Testerra sobre las pantallas nativas
   de SENAITE (barra superior, menu lateral, listados, login).
   Se carga en todas las paginas (testerra.ui, viewlet del head).
   ============================================================ */

/* ---- Barra superior ---- */
#senaite-toolbar {
  background: var(--tt-gradient-brand) !important;
  border-bottom: 0;
}

#senaite-toolbar .navbar-brand img {
  height: 28px !important;
  width: auto !important;
  max-width: none;
  padding: 3px 10px;
  border-radius: var(--tt-radius-sm);
  background: var(--tt-white);
}

/* ---- Menu lateral agrupado ---- */
#sidebar a.navTreeLink[data-portal-type="testerra-group"] {
  margin-top: var(--tt-space-3);
  font-size: var(--tt-text-2xs);
  font-weight: var(--tt-weight-bold);
  letter-spacing: var(--tt-tracking-caps);
  text-transform: uppercase;
  color: var(--tt-slate-500);
  cursor: default;
}

#sidebar a.navTreeLink[data-portal-type="testerra-group"]:hover {
  background: transparent;
}

/* Grupos fijos: no se pliegan ni navegan */
#sidebar a.navTreeLink[data-portal-type="testerra-group"] {
  pointer-events: none;
}

#sidebar a.navTreeLink[data-portal-type="testerra-group"] .caret {
  display: none;
}

#sidebar li.navTreeFolderish > ul {
  display: block;
}

#sidebar a.navTreeLink[data-portal-type="testerra-link"] .child-title {
  font-size: var(--tt-text-sm);
}

#sidebar li.navTreeCurrentNode > a.navTreeLink[data-portal-type="testerra-link"] {
  border-left: 3px solid var(--tt-color-primary);
  background: var(--tt-color-primary-soft);
  color: var(--tt-color-primary-hover);
  font-weight: var(--tt-weight-semibold);
}

/* ---- Listados nativos (senaite.app.listing) con la paleta Testerra ---- */
.ajax-contents-table table.contentstable thead th,
.ajax-contents-table .table thead th {
  background-color: var(--tt-color-surface-alt);
  font-size: var(--tt-text-2xs);
  letter-spacing: var(--tt-tracking-caps);
  text-transform: uppercase;
  color: var(--tt-color-text-secondary);
}

.ajax-contents-table .btn-primary,
.tt-native .btn-primary {
  border-color: var(--tt-color-primary);
  background-color: var(--tt-color-primary);
}

.ajax-contents-table .btn-primary:hover,
.tt-native .btn-primary:hover {
  border-color: var(--tt-color-primary-hover);
  background-color: var(--tt-color-primary-hover);
}

/* Contenedor de un listado o formulario nativo dentro de una pagina tt */
.tt-native {
  margin-bottom: var(--tt-space-6);
  padding: var(--tt-space-4);
  border: 1px solid var(--tt-color-border);
  border-radius: var(--tt-radius-md);
  background: var(--tt-color-surface);
  box-shadow: var(--tt-shadow-sm);
}

/* ---- Login ---- */
.tt-login {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--tt-space-12) var(--tt-space-4);
}

.tt-login__card {
  width: 100%;
  max-width: 24rem;
  padding: var(--tt-space-8);
  border: 1px solid var(--tt-color-border);
  border-top: 4px solid var(--tt-color-primary);
  border-radius: var(--tt-radius-lg);
  background: var(--tt-color-surface);
  box-shadow: var(--tt-shadow-lg);
}

.tt-login__brand {
  margin-bottom: var(--tt-space-6);
  text-align: center;
}

.tt-login__brand img {
  max-width: 14rem;
}

.tt-login__subtitle {
  margin: var(--tt-space-2) 0 0;
  font-size: var(--tt-text-sm);
  color: var(--tt-color-text-muted);
}

.tt-login__field {
  margin-bottom: var(--tt-space-4);
}

.tt-login__field input {
  width: 100%;
  padding: var(--tt-space-2) var(--tt-space-3);
  border: 1px solid var(--tt-color-border-strong);
  border-radius: var(--tt-radius-sm);
}

.tt-login__error {
  margin-top: var(--tt-space-1);
  font-size: var(--tt-text-xs);
  color: var(--tt-danger-700);
}

.tt-login__actions input[type="submit"] {
  width: 100%;
  padding: var(--tt-space-2);
  border: 0;
  border-radius: var(--tt-radius-sm);
  background: var(--tt-color-primary);
  font-weight: var(--tt-weight-semibold);
  color: var(--tt-white);
  cursor: pointer;
}

.tt-login__actions input[type="submit"]:hover {
  background: var(--tt-color-primary-hover);
}

.tt-login__footer {
  margin-top: var(--tt-space-4);
  font-size: var(--tt-text-xs);
  text-align: center;
}

.tt-login__legal {
  margin-top: var(--tt-space-6);
  font-size: var(--tt-text-xs);
  color: var(--tt-color-text-muted);
}
