/* ============================================================================
 * dhTordo · Sistema de Diseño v1.0 — capa visual
 * ----------------------------------------------------------------------------
 * Se carga DESPUES de bootstrap.css y de custom.min.css, y gana por cascada.
 * No reemplaza el tema: lo sobrescribe, como pide la hoja 02 del documento.
 * No toca marcado, ni rutas, ni logica: solo como se ve lo que ya funciona.
 *
 * Estado de la migracion (orden de la hoja 02):
 *   [x] 1. Tokens :root
 *   [x] 2. Tipografias, escala y reset de forma
 *   [ ] 3. Navegacion lateral y barra superior
 *   [ ] 4. Tablas de datos y chips de estado
 *   [ ] 5. Botones y formularios
 *   [ ] 6. Paneles KPI, alertas y modales
 * ========================================================================== */


/* ============================================================================
 * FUENTES — servidas desde este servidor, nunca desde un CDN (hoja 10).
 * El backoffice tiene que seguir funcionando sin salida a internet.
 * Archivo e IBM Plex Sans son variables: un archivo cubre todos los pesos.
 * ========================================================================== */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../../fonts/archivo-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../../fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;
  src:url(../../fonts/ibm-plex-sans-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;
  src:url(../../fonts/ibm-plex-sans-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(../../fonts/ibm-plex-mono-400-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(../../fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(../../fonts/ibm-plex-mono-500-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(../../fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url(../../fonts/ibm-plex-mono-600-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url(../../fonts/ibm-plex-mono-600-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}


/* ============================================================================
 * PASO 1 — TOKENS (hoja 09, copiado literal)
 * Ningun hexadecimal suelto debajo de este bloque: criterio de aceptacion 02.
 * ========================================================================== */
:root{
  /* -- color base ------------------------ */
  --tinta:            #131E27;
  --tinta-90:         #1D2C38;
  --tinta-70:         #33434F;
  --gris:             #5D6C75;
  --gris-claro:       #9AA7AE;
  --linea:            #CBD4D6;
  --papel:            #EAEEEE;
  --blanco:           #FFFFFF;

  /* -- marca y estados ------------------- */
  --ambar:            #E09524;
  --ambar-suave:      #FBEBD1;
  --ambar-texto:      #7A4E06;
  --ambar-texto-fuerte: #2E1D02;
  --fix:              #1F7A63;
  --fix-suave:        #DCEDE7;
  --fuera:            #B93B26;
  --fuera-suave:      #F7E0DA;

  /* -- tipografia ------------------------ */
  --display: 'Archivo', system-ui, sans-serif;
  --texto:   'IBM Plex Sans', system-ui, sans-serif;
  --dato:    'IBM Plex Mono', ui-monospace, monospace;

  --fs-titulo:  28px;   --fs-seccion: 20px;
  --fs-sub:     15px;   --fs-base:    14px;
  --fs-menor:   12.5px; --fs-dato:    13px;
  --fs-rotulo:  11px;
  --ls-rotulo:  .16em;  --lh-base:    1.5;

  /* -- espacio y forma ------------------- */
  --esp-1:4px;  --esp-2:8px;  --esp-3:12px;
  --esp-4:16px; --esp-5:24px; --esp-6:32px;
  --radio:        0;
  --borde:        1px solid var(--linea);
  --borde-fuerte: 1.5px solid var(--tinta);
  --fila-alto:    34px;
  --nav-ancho:    240px;
  --foco:         0 0 0 2px rgba(224,149,36,.35);
  --sombra-flotante: 0 8px 24px rgba(19,30,39,.16);
}


/* ============================================================================
 * PASO 2a — RESET DE FORMA
 * Angulo recto en todo y una sola sombra permitida (hojas 02 y 10).
 * ========================================================================== */

/* Sin esquinas redondeadas en ningun lado, ni de 4px (hoja 10, columna EVITAR). */
*, *::before, *::after{ border-radius: var(--radio) !important; }

/* Sin elevacion: la jerarquia se construye con lineas de 1px, no con sombras. */
*{ box-shadow: none !important; }

/* Unica excepcion admitida: lo que efectivamente flota sobre el contenido.
   Estos selectores llevan clase, asi que le ganan al `*` de arriba. */
.modal-content,
.dropdown-menu,
.popover,
.daterangepicker,
.select2-drop{ box-shadow: var(--sombra-flotante) !important; }

/* Anillo de foco de teclado: obligatorio en todo control (criterio 05). */
:focus-visible{ outline: none !important; box-shadow: var(--foco) !important; }

/* Sin movimiento: nada de transiciones de hover ni entradas animadas (hoja 10).
   Acotado al chrome de la aplicacion para no romper plugins que dependan de
   una animacion para funcionar (desplegables, barras de progreso). */
.main_container .x_panel,
.main_container .btn,
.main_container td,
.main_container th,
.main_container a{ transition: none !important; }


/* ============================================================================
 * PASO 2b — TIPOGRAFIA Y ESCALA (hoja 05)
 * ========================================================================== */

body{
  font-family: var(--texto);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--tinta);
}

/* El tema pinta el texto en un gris azulado que no llega a 4.5:1 sobre el fondo
   claro del contenido (criterio 06). Se baja a tinta, el token de texto principal. */
.right_col,
.x_panel,
.x_content,
.x_title,
.form-horizontal,
.panel-body{ color: var(--tinta); }

/* Titulos y nombres de seccion: Archivo, siempre con letter-spacing negativo. */
h1, h2, h3, h4, h5, h6,
.x_title h2,
.page-title .title_left h3{
  font-family: var(--display);
  color: var(--tinta);
  letter-spacing: -.02em;
}
h1,
.page-title .title_left h3{ font-size: var(--fs-titulo); font-weight: 800; letter-spacing: -.03em; }
h2{ font-size: var(--fs-seccion); font-weight: 700; }
h3,
.x_title h2{ font-size: var(--fs-sub); font-weight: 700; letter-spacing: 0; }
h4, h5, h6{ font-size: var(--fs-sub); font-weight: 600; letter-spacing: 0; }

/* Botones en Archivo: son accion, no texto corrido (hoja 05). */
.btn{
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -.01em;
}

/* Rotulos en versalita mono: etiquetas de campo y encabezados de tabla. */
.control-label,
.rotulo{
  font-family: var(--dato);
  font-size: var(--fs-rotulo);
  font-weight: 600;
  letter-spacing: var(--ls-rotulo);
  text-transform: uppercase;
  color: var(--gris);
}

/* Ayudas de campo y texto secundario. */
.help-block,
small,
.text-muted{
  font-size: var(--fs-menor);
  color: var(--gris);
}

/* Placeholders en gris claro, nunca en gris (hoja 06). */
::placeholder{ color: var(--gris-claro) !important; opacity: 1; }


/* ============================================================================
 * PASO 2c — DATOS EN MONO (hoja 05)
 * Todo numero, codigo, importe, fecha, coordenada, patente o CUIT.
 * `.dato` y `.dato-num` son las clases para el marcado nuevo; el resto
 * atrapa lo que ya existe sin tocar las 718 plantillas.
 * ========================================================================== */
.dato,
.dato-num,
input[type=number],
.tabla td.num{
  font-family: var(--dato);
  font-size: var(--fs-dato);
  font-weight: 500;
}

/* Numeros tabulares y alineados a la derecha: sin esto las columnas de importes
   no se pueden comparar de un vistazo, que es para lo que existen (hoja 05). */
.dato-num,
.tabla td.num,
input[type=number],
td.text-right,
th.text-right{
  font-variant-numeric: tabular-nums;
  text-align: right;
}
