/* LOGIND ERP — tema claro corporativo.
   Azul LOGIND #1F4E78 y dorado #F2A900 (los colores del ícono). Fuente del sistema (Segoe UI): no depende de internet. */

:root {
  --erp-azul: #1F4E78;
  --erp-azul-oscuro: #12324f;
  --erp-azul-noche: #0e2a47;
  --erp-dorado: #F2A900;
  --erp-fondo: #eef2f7;
  --erp-tinta: #1d2939;
  --erp-suave: #667085;
  --erp-linea: #e4e9f0;
  --erp-rojo: #c4320a;
  --erp-ambar: #b54708;
  --erp-verde: #067647;
  --erp-sombra: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 14px rgba(16, 24, 40, .06);
  --erp-riel: 92px;

  /* Variables del panel de Django */
  --font-family-primary: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --primary: var(--erp-azul);
  --secondary: var(--erp-azul-oscuro);
  --accent: var(--erp-dorado);
  --primary-fg: #fff;
  --body-fg: var(--erp-tinta);
  --body-bg: #fff;
  --body-quiet-color: var(--erp-suave);
  --body-medium-color: #475467;
  --body-loud-color: #101828;
  --header-color: var(--erp-tinta);
  --header-branding-color: var(--erp-azul);
  --header-bg: #fff;
  --header-link-color: var(--erp-azul);
  --breadcrumbs-fg: var(--erp-suave);
  --breadcrumbs-link-fg: var(--erp-azul);
  --breadcrumbs-bg: transparent;
  --link-fg: #1d5c91;
  --link-hover-color: var(--erp-azul-noche);
  --link-selected-fg: var(--erp-azul);
  --hairline-color: var(--erp-linea);
  --border-color: #d0d7e2;
  --darkened-bg: #f6f8fb;
  --selected-bg: #eef4fb;
  --selected-row: #fff6dc;
  --button-fg: #fff;
  --button-bg: #4a7298;
  --button-hover-bg: var(--erp-azul);
  --default-button-bg: var(--erp-azul);
  --default-button-hover-bg: var(--erp-azul-noche);
  --close-button-bg: #98a2b3;
  --close-button-hover-bg: #667085;
  --delete-button-bg: #c4320a;
  --delete-button-hover-bg: #9c2a10;
  --object-tools-fg: #fff;
  --object-tools-bg: var(--erp-azul);
  --object-tools-hover-bg: var(--erp-azul-noche);
  color-scheme: light;
}

body { background: var(--erp-fondo); }
.rojo, .negativo { color: var(--erp-rojo); }
.ambar { color: var(--erp-ambar); }
.theme-toggle { display: none !important; }

/* ---------- Encabezado */
#header {
  background: #fff; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; color: var(--erp-tinta); border-bottom: 1px solid var(--erp-linea);
  padding: 10px 28px; min-height: 60px; box-sizing: border-box; box-shadow: 0 1px 0 rgba(16, 24, 40, .03);
}
#branding { display: flex; align-items: center; }
.erp-marca { display: flex; align-items: center; gap: 10px; text-decoration: none !important; color: var(--erp-tinta) !important; }
.erp-marca b { display: block; font-size: 16px; letter-spacing: .02em; color: var(--erp-azul); }
.erp-marca small { display: block; font-size: 11.5px; color: var(--erp-suave); }
#user-tools { font-size: 13px; color: var(--erp-suave); text-transform: none; letter-spacing: 0; }
#user-tools a, #logout-form button { color: var(--erp-azul); border-bottom: 0; text-transform: none; font-size: 13px; }
#user-tools a:hover, #logout-form button:hover { color: var(--erp-azul-noche); text-decoration: underline; }
.erp-saludo strong { color: var(--erp-tinta); }

/* ---------- Zona de trabajo */
body.con-menu #container { padding-left: var(--erp-riel); box-sizing: border-box; width: 100%; min-width: 0; }
body.con-menu .main { background: transparent; }
.breadcrumbs { padding: 14px 32px 0; font-size: 13px; }
.breadcrumbs a { color: var(--erp-azul); }
body.con-menu #content {
  background: #fff; border-radius: 16px; box-shadow: var(--erp-sombra);
  margin: 14px 28px 32px; padding: 24px 28px; box-sizing: border-box; max-width: calc(100% - 56px);
}
body.dashboard #content { background: transparent; box-shadow: none; padding: 0; margin-top: 22px; width: auto; max-width: 1360px; }
body.dashboard #content-main { float: none; width: auto; }
#content h1 { font-weight: 600; color: var(--erp-tinta); }
.module h2, .module caption, .inline-group h2 { background: var(--erp-azul); border-radius: 10px 10px 0 0; font-weight: 600; letter-spacing: .02em; }
.module { border-radius: 10px; }
fieldset.module { border: 1px solid var(--erp-linea); overflow: hidden; }
.button, input[type=submit], input[type=button], .submit-row input, a.button { border-radius: 8px !important; }
.submit-row { border-radius: 10px; background: var(--darkened-bg); border: 1px solid var(--erp-linea); }
input[type=text], input[type=password], input[type=email], input[type=number], input[type=date], input[type=url], textarea, select, .vTextField {
  border-radius: 7px; border-color: #d0d7e2;
}
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(31, 78, 120, .25); outline-offset: 0; border-color: var(--erp-azul); }
#changelist .actions { border-radius: 10px; }
#changelist-filter { border-radius: 12px; overflow: hidden; box-shadow: var(--erp-sombra); }
#changelist-filter h2 { background: var(--erp-azul); }
.object-tools a { border-radius: 999px; }
.paginator { border-top: 0; }
.messagelist li { border-radius: 10px; }

/* ---------- Riel de botones redondos */
.erp-riel {
  position: fixed; inset: 0 auto 0 0; width: var(--erp-riel); z-index: 1001;
  display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 0 14px;
  background: linear-gradient(180deg, var(--erp-azul-noche) 0%, var(--erp-azul) 100%);
  overflow-y: auto; scrollbar-width: none; box-sizing: border-box;
}
.erp-riel::-webkit-scrollbar { display: none; }
.erp-riel-logo { margin-bottom: 10px; border-radius: 12px; line-height: 0; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
.erp-boton {
  display: flex; flex-direction: column; align-items: center; gap: 4px; width: 80px; padding: 3px 0 5px;
  background: none; border: 0; cursor: pointer; text-decoration: none !important; font: inherit;
  color: #c9d8e8 !important; flex-shrink: 0;
}
.erp-boton svg {
  width: 46px; height: 46px; padding: 11px; box-sizing: border-box; border-radius: 50%;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14);
  transition: background .15s, color .15s, transform .15s, box-shadow .15s;
}
.erp-boton span { font-size: 10.5px; line-height: 1.15; letter-spacing: .01em; text-align: center; }
.erp-boton:hover svg { background: rgba(255, 255, 255, .2); color: #fff; transform: translateY(-1px); }
.erp-boton:hover { color: #fff !important; }
.erp-boton:focus-visible { outline: none; }
.erp-boton:focus-visible svg { box-shadow: 0 0 0 3px rgba(242, 169, 0, .7); }
.erp-boton.activo svg { background: #fff; color: var(--erp-azul); border-color: #fff; }
.erp-boton.activo { color: #fff !important; font-weight: 600; }
.erp-boton.desplegado svg { background: var(--erp-dorado); color: var(--erp-azul-noche); border-color: var(--erp-dorado); box-shadow: 0 4px 14px rgba(242, 169, 0, .45); }
.erp-boton.desplegado { color: #fff !important; }
.erp-abajo { margin-top: auto; padding-top: 10px; }

/* ---------- Panel que se despliega */
.erp-panel {
  position: fixed; top: 0; bottom: 0; left: var(--erp-riel); width: 340px; max-width: calc(100vw - var(--erp-riel));
  background: #fff; z-index: 1000; overflow-y: auto; box-sizing: border-box; padding: 22px 22px 30px;
  box-shadow: 12px 0 32px rgba(16, 24, 40, .16); border-right: 1px solid var(--erp-linea);
  transform: translateX(-105%); visibility: hidden; transition: transform .22s ease, visibility .22s;
}
.erp-panel.abierto { transform: none; visibility: visible; }
.erp-velo { position: fixed; inset: 0 0 0 var(--erp-riel); background: rgba(14, 42, 71, .28); z-index: 999; }
.erp-velo[hidden] { display: none; }
.erp-panel-cabeza { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; }
.erp-panel-icono svg { width: 48px; height: 48px; padding: 11px; box-sizing: border-box; border-radius: 50%; background: var(--erp-azul); color: #fff; }
.erp-panel-cabeza h2 { margin: 2px 0 4px; font-size: 19px; font-weight: 600; color: var(--erp-tinta); background: none; padding: 0; }
.erp-panel-cabeza p { margin: 0; font-size: 12.5px; color: var(--erp-suave); line-height: 1.45; }
.erp-panel-cerrar { margin-left: auto; border: 0; background: var(--darkened-bg); color: var(--erp-suave); width: 30px; height: 30px; border-radius: 50%; font-size: 20px; line-height: 1; cursor: pointer; flex-shrink: 0; }
.erp-panel-cerrar:hover { background: var(--erp-linea); color: var(--erp-tinta); }
.erp-panel-cifras { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 18px; }
.erp-panel-cifras div { background: linear-gradient(180deg, #f6f9fc, #eef3f9); border: 1px solid var(--erp-linea); border-radius: 12px; padding: 10px 12px; }
.erp-panel-cifras small { display: block; font-size: 11px; color: var(--erp-suave); }
.erp-panel-cifras b { display: block; font-size: 16px; margin-top: 2px; color: var(--erp-azul-noche); font-variant-numeric: tabular-nums; }
.erp-panel h3 { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--erp-suave); margin: 16px 0 6px; background: none; padding: 0; }
.erp-panel-lista { list-style: none; margin: 0; padding: 0; }
.erp-panel-lista li { display: flex; align-items: center; gap: 6px; padding: 0; list-style: none; }
.erp-panel-lista li a:first-child { flex: 1; display: block; padding: 8px 10px; border-radius: 8px; color: var(--erp-tinta); font-size: 13.5px; }
.erp-panel-lista li a:first-child:hover { background: var(--selected-bg); color: var(--erp-azul); text-decoration: none; }
.erp-nuevo { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 17px; font-weight: 600;
  color: var(--erp-azul) !important; background: var(--selected-bg); text-decoration: none !important; flex-shrink: 0; }
.erp-nuevo:hover { background: var(--erp-azul); color: #fff !important; }

/* ---------- Tablero */
.erp-banner {
  border-radius: 18px; min-height: 168px; padding: 30px 36px; box-sizing: border-box; color: #fff;
  background-size: cover; background-position: center 40%; display: flex; align-items: flex-end; box-shadow: var(--erp-sombra);
}
.erp-banner h1 { color: #fff !important; font-size: 30px; font-weight: 600; margin: 4px 0 6px; }
.erp-banner p { margin: 0; color: rgba(255, 255, 255, .85); font-size: 14px; }
.erp-banner-fecha { text-transform: none; font-size: 13px !important; color: var(--erp-dorado) !important; font-weight: 600; letter-spacing: .02em; }
.erp-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; margin: 18px 0 8px; }
.erp-kpi { background: #fff; border-radius: 14px; padding: 16px 18px; box-shadow: var(--erp-sombra); border-top: 3px solid var(--erp-azul); }
.erp-kpi:nth-child(4n+2) { border-top-color: var(--erp-dorado); }
.erp-kpi:nth-child(4n+3) { border-top-color: #2e90a8; }
.erp-kpi:nth-child(4n+4) { border-top-color: #6b8db3; }
.erp-kpi-nombre { font-size: 12px; color: var(--erp-suave); font-weight: 600; }
.erp-kpi-valor { font-size: 24px; font-weight: 600; margin: 6px 0 2px; font-variant-numeric: tabular-nums; color: var(--erp-azul-noche); }
.erp-kpi-valor.negativo { color: var(--erp-rojo); }
.erp-kpi-nota { font-size: 12px; color: var(--erp-suave); }
.erp-titulo-seccion { font-size: 15px; font-weight: 600; color: var(--erp-tinta); margin: 22px 0 10px; background: none; padding: 0; }
.erp-rapidos { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px; background: #fff; border-radius: 16px;
  padding: 18px 14px; box-shadow: var(--erp-sombra); }
.erp-rapido { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; font-size: 12.5px;
  color: var(--erp-tinta) !important; text-decoration: none !important; padding: 6px 4px; border-radius: 12px; }
.erp-rapido-circulo { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; color: #fff;
  background: linear-gradient(145deg, #2a6699, var(--erp-azul-noche)); box-shadow: 0 6px 14px rgba(31, 78, 120, .28);
  transition: transform .15s, box-shadow .15s; }
.erp-rapido:hover .erp-rapido-circulo { transform: translateY(-2px); box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--erp-dorado), 0 8px 18px rgba(31, 78, 120, .3); }
.erp-rapido:hover { color: var(--erp-azul) !important; }
.erp-alertas { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; margin-top: 18px; }
.erp-tarjeta { background: #fff; border-radius: 16px; box-shadow: var(--erp-sombra); padding: 18px 20px; }
.erp-tarjeta > h2 { font-size: 15px; font-weight: 600; color: var(--erp-tinta); background: none; padding: 0; margin: 0 0 8px; }
.erp-lista { margin: 0; padding: 0; list-style: none; }
.erp-lista li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--erp-linea); list-style: none; font-size: 13.5px; }
.erp-lista li:last-child { border-bottom: 0; }
.erp-lista a { color: var(--erp-tinta); }
.erp-lista a:hover { color: var(--erp-azul); }
.erp-vacio { color: var(--erp-suave); }
.erp-insignia { min-width: 26px; text-align: center; padding: 2px 8px; border-radius: 999px; background: #eef2f6; color: var(--erp-suave); font-size: 12.5px; }
.erp-insignia.rojo { background: #fef3f2; color: var(--erp-rojo); }
.erp-fecha { font-size: 12.5px; white-space: nowrap; color: var(--erp-suave); }
.erp-fecha.rojo { color: var(--erp-rojo); }
.erp-fecha.ambar { color: var(--erp-ambar); }
.erp-informes { margin: 18px 0 10px; }
.erp-informes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 24px; }
.erp-informes-grid h3 { margin: 8px 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--erp-suave); }
.erp-informes-grid a { display: block; padding: 4px 0; font-size: 13.5px; }

/* ---------- Pantalla de entrada */
body.login { background-color: var(--erp-azul-noche); background-size: cover; background-position: center; min-height: 100vh; }
body.login #container {
  width: 400px; max-width: calc(100vw - 32px); margin: 9vh auto 0; border-radius: 20px; overflow: hidden;
  background: rgba(255, 255, 255, .96); box-shadow: 0 24px 60px rgba(8, 24, 44, .45); padding-left: 0;
}
body.login #header { justify-content: center; border: 0; padding: 30px 30px 6px; background: transparent; }
body.login #branding { visibility: visible; }
.erp-login-marca { text-align: center; }
.erp-login-marca img { border-radius: 14px; box-shadow: 0 6px 16px rgba(31, 78, 120, .3); }
.erp-login-marca h1 { margin: 12px 0 2px; font-size: 22px; color: var(--erp-azul) !important; font-weight: 600; }
.erp-login-marca p { margin: 0; color: var(--erp-suave); font-size: 13px; }
body.login #content { padding: 14px 32px 30px; background: transparent; box-shadow: none; margin: 0; }
body.login .form-row { border: 0; padding: 6px 0; }
body.login .form-row label { display: block; font-weight: 600; font-size: 13px; padding: 0 0 4px; color: var(--erp-tinta); }
body.login .form-row input { width: 100%; box-sizing: border-box; padding: 10px 12px; font-size: 14px; }
body.login .submit-row { background: none; border: 0; padding: 14px 0 0; margin: 0; }
body.login .submit-row input { background: var(--erp-azul); width: 100%; padding: 11px; font-size: 15px; font-weight: 600; }

/* ---------- Informes */
.erp-encabezado h1 { margin: 6px 0 2px; }
.erp-sub { color: var(--erp-suave); margin: 0 0 10px; }
.erp-herramientas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0 16px; padding: 12px 14px;
  background: var(--darkened-bg); border: 1px solid var(--erp-linea); border-radius: 12px; }
.erp-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.erp-filtros label { display: flex; gap: 6px; align-items: center; font-size: 13px; color: var(--erp-suave); }
.erp-scroll { overflow-x: auto; border: 1px solid var(--erp-linea); border-radius: 12px; margin-bottom: 16px; }
.erp-tabla { width: 100%; border-collapse: collapse; }
.erp-tabla th, .erp-tabla td { padding: 7px 10px; border-bottom: 1px solid var(--erp-linea); vertical-align: top; font-size: 13px; }
.erp-tabla th { background: #f2f5f9; text-align: left; color: #344054; font-weight: 600; font-size: 12px; }
.erp-tabla tbody tr:hover td { background: #fafbfd; }
.erp-tabla .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.erp-tabla tr.grupo td { font-weight: 600; background: #f6f8fb; }
.erp-tabla tr.total td { font-weight: 700; border-top: 2px solid var(--erp-azul); background: #eef4fb; }
.erp-seccion { margin: 22px 0 8px; font-size: 15px; color: var(--erp-azul); }
.erp-resumen { margin-bottom: 14px; }
.erp-resumen th { text-align: left; padding: 3px 14px 3px 0; color: var(--erp-suave); font-weight: normal; }
.erp-nota { color: var(--erp-suave); font-size: 12px; margin: 4px 0; }
.erp-firmas { display: flex; gap: 60px; margin-top: 50px; flex-wrap: wrap; }
.erp-generado { margin-top: 20px; font-size: 11px; color: var(--erp-suave); }
.erp-acciones { justify-content: flex-start; margin-top: 8px; }

/* ---------- Impresión */
@media print {
  #header, .breadcrumbs, .erp-riel, .erp-panel, .erp-velo, .no-imprimir, #footer, .messagelist { display: none !important; }
  body.con-menu #container { padding-left: 0; }
  body.con-menu #content { box-shadow: none; margin: 0; padding: 0; max-width: none; }
  .erp-scroll { border: 0; }
  .erp-tabla th, .erp-tabla td { padding: 2px 5px; font-size: 10px; }
  body { background: #fff; color: #000; }
}

/* ---------- Pantallas pequeñas (celular): el riel pasa abajo */
@media (max-width: 767px) {
  :root { --erp-riel: 0px; }
  body.con-menu #container { padding-bottom: 76px; }
  .erp-riel { inset: auto 0 0 0; width: 100%; height: 72px; flex-direction: row; overflow-x: auto; overflow-y: hidden; padding: 6px 8px; gap: 2px; }
  .erp-riel-logo, .erp-abajo { display: none; }
  .erp-boton { width: 66px; }
  .erp-boton svg { width: 40px; height: 40px; padding: 9px; }
  .erp-panel { left: 0; top: auto; bottom: 72px; width: 100%; max-width: 100%; max-height: 75vh; border-radius: 18px 18px 0 0; transform: translateY(105%); }
  .erp-velo { inset: 0 0 72px 0; }
  body.con-menu #content { margin: 10px 12px 20px; padding: 16px; max-width: calc(100% - 24px); }
  .erp-banner { padding: 22px; min-height: 130px; }
  .erp-banner h1 { font-size: 22px; }
  #header { padding: 10px 16px; }
}

/* ---------- Ajustes finos */
/* Django subraya todos los enlaces con un selector de alta prioridad; aquí se subrayan solo al pasar el mouse. */
html body a:not(#erp-sin-id):not(.erp-sin-clase) { text-decoration: none; }
html body a:not(#erp-sin-id):not(.erp-sin-clase):hover, html body a:not(#erp-sin-id):not(.erp-sin-clase):focus-visible { text-decoration: underline; }
html body a.erp-boton:not(#erp-sin-id):not(.erp-sin-clase), html body a.erp-rapido:not(#erp-sin-id):not(.erp-sin-clase), html body a.button:not(#erp-sin-id):not(.erp-sin-clase),
html body a.erp-nuevo:not(#erp-sin-id):not(.erp-sin-clase), html body a.erp-marca:not(#erp-sin-id):not(.erp-sin-clase) { text-decoration: none; }
a.button, .erp-herramientas a.button { text-decoration: none !important; display: inline-block; padding: 9px 14px; line-height: 1.2; }
#changelist-filter h2 { color: #fff; }
#changelist-filter h2:empty { display: none; }
@media (min-width: 1100px) { .erp-kpis { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 767px) {
  #user-tools { white-space: normal; text-align: left; width: 100%; }
  .erp-saludo { display: none; }
}

/* ---------- Usuarios */
.erp-usuarios { display: grid; grid-template-columns: minmax(300px, 420px) 1fr; gap: 18px; align-items: start; }
.erp-usuarios-nuevo { max-width: 520px; }
.erp-campo { margin: 0 0 14px; }
.erp-campo > label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 5px; color: var(--erp-tinta); }
.erp-campo input[type=text], .erp-campo input[type=password] { width: 100%; box-sizing: border-box; padding: 9px 11px; font-size: 14px; }
.erp-campo small { display: block; color: var(--erp-suave); font-size: 12px; margin-top: 4px; }
.erp-campo-rol div, .erp-campo-rol ul { list-style: none; margin: 0; padding: 0; }
.erp-campo-rol div label { display: flex; gap: 8px; align-items: flex-start; font-weight: normal; padding: 7px 10px; border: 1px solid var(--erp-linea);
  border-radius: 9px; margin-bottom: 6px; cursor: pointer; font-size: 13px; }
.erp-campo-rol div label:has(input:checked) { border-color: var(--erp-azul); background: var(--selected-bg); }
.erp-error { color: var(--erp-rojo); font-size: 12.5px; margin-top: 4px; }
.erp-en-linea { display: inline; margin: 0; }
.erp-acciones-fila { white-space: nowrap; }
.erp-acciones-fila .button, .erp-acciones-fila input[type=submit] { padding: 6px 10px !important; font-size: 12px; }
.erp-estado-ok { color: var(--erp-verde); font-weight: 600; }
.erp-estado-no { color: var(--erp-suave); }
tr.erp-inactivo td { color: var(--erp-suave); }
@media (max-width: 1000px) { .erp-usuarios { grid-template-columns: 1fr; } }

/* ---------- Permisos por módulo */
.erp-permisos { max-width: 860px; }
.erp-plantillas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 6px 0 16px; padding: 12px 14px;
  background: var(--darkened-bg); border: 1px solid var(--erp-linea); border-radius: 12px; }
.erp-plantillas span { font-size: 13px; color: var(--erp-suave); margin-right: 4px; }
.erp-plantillas .button { background: #fff; color: var(--erp-azul); border: 1px solid #c9d6e4; padding: 6px 12px; font-size: 12.5px; }
.erp-plantillas .button:hover { background: var(--erp-azul); color: #fff; }
.erp-admin-check { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--erp-dorado);
  background: #fffaeb; border-radius: 12px; margin-bottom: 14px; cursor: pointer; font-size: 13.5px; }
.erp-tabla-permisos td, .erp-tabla-permisos th { font-size: 13.5px; padding: 10px 12px; }
.erp-tabla-permisos .centro { text-align: center; width: 150px; }
.erp-tabla-permisos input[type=radio] { width: 18px; height: 18px; accent-color: var(--erp-azul); cursor: pointer; }
.erp-chips { max-width: 360px; }
.erp-chip { display: inline-block; font-size: 11.5px; padding: 2px 8px; margin: 2px 3px 2px 0; border-radius: 999px;
  background: #e8f0f8; color: var(--erp-azul); white-space: nowrap; }
.erp-chip-ver { background: #f2f4f7; color: var(--erp-suave); }
.erp-chip-no { background: #fef3f2; color: var(--erp-rojo); }

/* ---------- Aviso de registros de campo en el tablero */
.erp-aviso-campo { display: block; margin: 14px 0 0; padding: 14px 18px; border-radius: 14px; background: #fff6dc; border: 1px solid var(--erp-dorado);
  color: var(--erp-tinta) !important; font-size: 15px; box-shadow: var(--erp-sombra); }
.erp-aviso-campo b { font-size: 18px; color: var(--erp-azul-noche); }

/* ---------- Cargar desde Excel */
.erp-importar { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.erp-importar .erp-tarjeta { display: grid; gap: 10px; align-content: start; }
.erp-importar .erp-tarjeta > h2 { margin: 0; }
.erp-check { display: grid; grid-template-columns: auto 1fr; gap: 4px 8px; font-size: 13px; }
.erp-check small { grid-column: 2; color: var(--erp-suave); }

/* ---------- Panel por secciones */
.erp-panel h3 { border-top: 1px solid var(--erp-linea); padding-top: 14px !important; margin-top: 18px; color: var(--erp-azul); }
.erp-panel h3:first-of-type { border-top: 0; padding-top: 0 !important; }
.erp-panel-lista li a.erp-informe { color: var(--erp-suave); }
.erp-panel-lista li a.erp-informe::before { content: "▤ "; color: var(--erp-dorado); }

/* ---------- Registrar operario */
.erp-operario { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-bottom: 14px; }
.erp-operario .erp-tarjeta > h2 { margin: 0 0 10px; }
.erp-operario input[type=text], .erp-operario input[type=date], .erp-operario input[type=number], .erp-operario select { width: 100%; box-sizing: border-box; padding: 8px 10px; }

.erp-operario select { height: auto; min-height: 40px; line-height: 1.4; }

/* ---------- Escoger tipo de movimiento de inventario */
.erp-mov { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.erp-mov-boton { display: grid; gap: 6px; padding: 18px; border-radius: 16px; background: #fff; border: 1px solid var(--erp-linea); box-shadow: var(--erp-sombra);
  color: var(--erp-tinta) !important; text-decoration: none !important; transition: transform .12s, box-shadow .12s, border-color .12s; }
.erp-mov-boton:hover { transform: translateY(-2px); border-color: var(--erp-azul); box-shadow: 0 8px 22px rgba(31, 78, 120, .15); }
.erp-mov-icono { font-size: 28px; line-height: 1; }
.erp-mov-boton b { font-size: 16px; color: var(--erp-azul-noche); }
.erp-mov-boton small { color: var(--erp-suave); font-size: 13px; line-height: 1.4; }
.erp-ayuda-botones { margin: 10px 0 0; padding: 10px 14px; border-radius: 10px; background: #f6f8fb; border: 1px dashed var(--erp-linea); font-size: 13px; color: var(--erp-suave); }
.erp-ayuda-botones b { color: var(--erp-tinta); }

/* ---------- Accesos con código QR */
.erp-qr-cabeza { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.erp-qr-cabeza h1 { margin: 4px 0; }
.erp-qr { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 18px; }
.erp-qr-tarjeta { display: grid; grid-template-columns: 220px 1fr; gap: 20px; align-items: center; padding: 20px; border-radius: 18px;
  border: 2px solid var(--erp-azul); background: #fff; break-inside: avoid; }
.erp-qr-codigo svg { width: 220px; height: 220px; display: block; }
.erp-qr-texto h2 { margin: 0 0 6px; font-size: 20px; color: var(--erp-azul-noche); background: none; padding: 0; }
.erp-qr-quien { margin: 0 0 8px; color: var(--erp-suave); font-size: 13.5px; }
.erp-qr-texto ol { margin: 0 0 10px; padding-left: 20px; font-size: 14px; line-height: 1.5; }
.erp-qr-url { font: 600 13px/1.3 Consolas, monospace; background: #fff6cc; border: 2px solid #111; border-radius: 6px; padding: 6px 8px;
  overflow-wrap: anywhere; margin: 0; }
@media (max-width: 620px) { .erp-qr { grid-template-columns: 1fr; } .erp-qr-tarjeta { grid-template-columns: 1fr; justify-items: center; } }
@media print { .erp-qr { grid-template-columns: 1fr; } .erp-qr-tarjeta { page-break-inside: avoid; } }

.erp-acciones-fila input.erp-boton-peligro { background: var(--erp-rojo) !important; }
.erp-acciones-fila input.erp-boton-peligro:hover { background: #8f2611 !important; }

.erp-costo-sistema { color: var(--erp-suave); font-style: italic; font-size: 13px; }
