/* Adaptador del admin nativo. Conserva responsive, formularios e inlines de Django. */
:root, html[data-theme="light"], html[data-theme="dark"] {
  --primary: var(--jsg-accion);
  --secondary: var(--jsg-accion-hover);
  --accent: var(--jsg-texto);
  --primary-fg: var(--jsg-sobre-accion);
  --body-fg: var(--jsg-texto);
  --body-bg: var(--jsg-fondo);
  --body-quiet-color: var(--jsg-secundario);
  --body-medium-color: var(--jsg-secundario);
  --body-loud-color: var(--jsg-texto);
  --header-color: var(--jsg-texto);
  --header-branding-color: var(--jsg-texto);
  --header-bg: var(--jsg-superficie);
  --header-link-color: var(--jsg-enlace);
  --breadcrumbs-bg: var(--jsg-suave);
  --breadcrumbs-fg: var(--jsg-secundario);
  --breadcrumbs-link-fg: var(--jsg-enlace);
  --link-fg: var(--jsg-enlace);
  --link-hover-color: var(--jsg-texto);
  --link-selected-fg: var(--jsg-enlace);
  --hairline-color: var(--jsg-borde);
  --border-color: var(--jsg-borde);
  --darkened-bg: var(--jsg-suave);
  --selected-bg: var(--jsg-suave);
  --selected-row: var(--jsg-suave);
  --close-button-bg: var(--jsg-accion);
  --close-button-hover-bg: var(--jsg-accion-hover);
  --button-bg: var(--jsg-accion);
  --button-hover-bg: var(--jsg-accion-hover);
  --default-button-bg: var(--jsg-accion);
  --default-button-hover-bg: var(--jsg-accion-hover);
  --error-fg: var(--jsg-error);
  --message-error-bg: var(--jsg-error-fondo);
  --message-warning-bg: var(--jsg-aviso-fondo);
  --message-success-bg: var(--jsg-exito-fondo);
  --font-family-primary: var(--jsg-fuente);
}
#header { border-bottom: 1px solid var(--jsg-borde); padding: 18px 28px; }
#site-name a { display: flex; align-items: center; gap: 12px; font-size: 18px; font-weight: 600; }
#site-name img { flex-shrink: 0; }
#content h1 { font-weight: 600; letter-spacing: -0.6px; color: var(--jsg-texto); }
.module, .inline-group { background: var(--jsg-superficie); border: 1px solid var(--jsg-borde); border-radius: var(--jsg-radio); }
.module h2, .module caption, .inline-group h2 {
  background: var(--jsg-suave); color: var(--jsg-texto); font-weight: 600;
  padding: 12px 14px; border-radius: 9px 9px 0 0;
}
.module caption a.section:link, .module caption a.section:visited { color: var(--jsg-enlace); }
#nav-sidebar { background: var(--jsg-superficie); }
#nav-sidebar .module { border: 0; border-bottom: 1px solid var(--jsg-borde); border-radius: 0; margin-bottom: 14px; }
#nav-sidebar .module caption { border-radius: 0; font-size: 12px; letter-spacing: .03em; }
#nav-sidebar .current-model { box-shadow: inset 3px 0 var(--jsg-enlace); }
.form-row { padding: 16px 14px; }
.form-row .help, .help, p.help { font-size: 13px; line-height: 1.5; color: var(--jsg-secundario); }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea {
  border-radius: var(--jsg-radio-control); border-color: var(--jsg-borde-control);
}
input[type="text"], input[type="password"], input[type="email"], input[type="number"], select { min-height: 36px; }
.button, input[type="submit"], .submit-row a, .object-tools a { border-radius: var(--jsg-radio-control); }
.submit-row { border-radius: var(--jsg-radio); background: var(--jsg-superficie); }
#changelist-filter { border: 1px solid var(--jsg-borde); border-radius: var(--jsg-radio); }
#changelist-filter h2 { background: var(--jsg-suave); color: var(--jsg-texto); }
#result_list td, #result_list th { padding-top: 12px; padding-bottom: 12px; font-variant-numeric: tabular-nums; }
.errornote, .errorlist { border-radius: var(--jsg-radio-control); }
.errornote { background: var(--jsg-error-fondo); border: 1px solid var(--jsg-error); line-height: 1.6; }
.errornote a { color: var(--jsg-error); text-decoration: underline; }
ul.messagelist li { margin: 12px 20px; border-radius: var(--jsg-radio-control); }
:focus-visible { outline: 3px solid var(--jsg-foco); outline-offset: 3px; }
.login #container { border-radius: 14px; box-shadow: 0 12px 36px #0f172a0a; }
.jsg-dialogo { max-width: 480px; width: calc(100% - 64px); padding: 24px; border: 1px solid var(--jsg-borde); border-radius: 14px; background: var(--jsg-superficie); color: var(--jsg-texto); box-shadow: 0 24px 64px #0f172a33; }
.jsg-dialogo::backdrop { background: #0f172a80; }
.jsg-dialogo h2 { font-size: 22px; font-weight: 600; margin-top: 0; }
.jsg-dialogo p { line-height: 1.6; }
.jsg-dialogo-acciones { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.jsg-dialogo button { min-height: 44px; font: inherit; padding: 10px 14px; }
.jsg-dialogo .jsg-secundario { background: var(--jsg-superficie); color: var(--jsg-enlace); border: 1px solid var(--jsg-borde-control); }
@media (max-width: 767px) {
  #header { padding: 14px 16px; }
  #site-name a { font-size: 16px; }
  .form-row { padding: 14px 10px; }
  .submit-row input { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }
