/* =====================================================================
   ECOVERIS ESTRATO 2 · sistema visual de la plataforma (SIG, Portal y Campo) · 2026-11-05
   © Ecoveris S.R.L. Todos los derechos reservados.
   Los colores de marca (--e-misti, --e-celda, --e-ocre, --e-hoja) los fija cada instancia
   desde config/instancia.php (includes/estrato.php > estratoHead). Los colores de ESTADO son
   fijos para todos los clientes. Fuentes: Barlow / Barlow Condensed (SIL OFL 1.1), WOFF2
   con caracteres del español, alojadas en el servidor.
   ===================================================================== */
@font-face{font-family:'Barlow';src:url('../fonts/Barlow-Regular.woff2') format('woff2');font-weight:400 500;font-display:swap}
@font-face{font-family:'Barlow';src:url('../fonts/Barlow-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Barlow';src:url('../fonts/Barlow-Bold.woff2') format('woff2');font-weight:700 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('../fonts/BarlowCondensed-SemiBold.woff2') format('woff2');font-weight:500 600;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('../fonts/BarlowCondensed-Bold.woff2') format('woff2');font-weight:700 800;font-display:swap}

:root{
  /* paleta */
  --e-celda:#0F2A1D;      /* fondo del menú: corte profundo de la celda */
  --e-misti:#1E4A2A;      /* verde de marca: acciones principales */
  --e-hoja:#2F7A4A;       /* éxito, avance */
  --e-ocre:#C08A2D;       /* pampa dorada: lo que pide atención, selección */
  --e-tierra:#8A6A43;     /* serie secundaria en gráficos */
  --e-oxido:#A9402E;      /* riesgo, error */
  --e-caliche:#EEF1EC;    /* fondo de trabajo */
  --e-papel:#FFFFFF;
  --e-tinta:#1C2A23;      /* texto */
  --e-tinta-2:#55635B;    /* texto secundario */
  --e-linea:#D8DED7;
  --e-linea-2:#E7EBE5;
  --e-sombra-flot:0 12px 32px -12px rgba(15,42,29,.28),0 2px 6px rgba(15,42,29,.08);
  --e-r-caja:12px; --e-r-ctrl:8px;
  --e-mono:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace;
  --e-sans:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --e-cond:'Barlow Condensed','Barlow',system-ui,sans-serif;
  /* alias que usan las hojas existentes */
  --em-verde-oscuro:var(--e-misti); --em-verde-medio:var(--e-misti); --em-verde-claro:var(--e-hoja); --em-verde-accent:var(--e-ocre); --em-verde-light:color-mix(in srgb,var(--e-misti) 12%,#fff);
  --verde-oscuro:var(--e-celda); --verde-medio:color-mix(in srgb,var(--e-celda) 80%,var(--e-misti)); --verde-claro:var(--e-hoja); --verde-lima:color-mix(in srgb,var(--e-ocre) 60%,#fff); --verde-accent:var(--e-ocre);
  --verde-osc:var(--e-misti); --verde-osc2:var(--e-celda); --verde:var(--e-misti); --menta:#CFE0D2;
  --tierra:var(--e-tierra); --beige:#D9C7A6; --crema:var(--e-caliche); --texto:var(--e-tinta); --texto-muted:var(--e-tinta-2);
  --rojo:var(--e-oxido); --ambar:var(--e-ocre); --borde:var(--e-linea);
  --sombra:0 0 0 1px var(--e-linea);
}
html{-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
button,input,select,textarea{font-family:inherit}
body{margin:0;font-family:var(--e-sans)!important;color:var(--e-tinta);background:var(--e-caliche)!important;font-size:14px;line-height:1.45;font-feature-settings:"lnum" 1}
h1,h2,h3,.topbar-title,.page-title{font-family:var(--e-cond);letter-spacing:.005em;color:var(--e-tinta)}
h1{font-weight:700} h2{font-weight:700;font-size:26px;line-height:1.1} h3{font-weight:600;font-size:18px}
td,th,.stat-number,.kpi .v,.kpi-value,input[type=number]{font-variant-numeric:tabular-nums lining-nums}
a{color:var(--e-misti)}
:focus-visible{outline:2px solid var(--e-ocre)!important;outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none!important}
::selection{background:color-mix(in srgb,var(--e-ocre) 32%,#fff)}

/* ── Menú lateral (SIG y Portal) ───────────────────────────────────── */
.sidebar{background:var(--e-celda)!important;border-right:0!important;box-shadow:none!important}
.sidebar::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--e-hoja) 0 22%,var(--e-misti) 22% 48%,#8A6A43 48% 63%,var(--e-ocre) 63% 70%,#3D4A43 70% 100%);opacity:.9;pointer-events:none}
.sidebar .sidebar-logo,.sidebar .brand{border-bottom:1px solid rgba(255,255,255,.08)!important;background:transparent!important}
.sidebar button.ngb1{font-family:var(--e-cond);font-size:15px;font-weight:600;letter-spacing:.01em;text-transform:none;color:#E6ECE7;background:transparent!important;padding:9px 14px;border-radius:8px}
.sidebar button.ngb1:hover,.sidebar button.ngb1:focus-visible{background:rgba(255,255,255,.06)!important;color:#fff}
.sidebar button.ngb1.open,.sidebar button.ngb1.active{background:rgba(255,255,255,.04)!important;color:#fff}
.sidebar button.ngb2,.sidebar button.ngb3{font-size:13px;color:#B9C6BE;background:transparent!important;text-transform:none}
.sidebar button.ngb2:hover,.sidebar button.ngb3:hover{color:#fff;background:rgba(255,255,255,.05)!important}
.sidebar button.ngb2.open,.sidebar button.ngb3.open{color:color-mix(in srgb,var(--e-ocre) 40%,#fff);background:transparent!important}
.sidebar .ng3 a,.sidebar .ng2 a,.sidebar .ng1 > a,.sidebar a.nav-item,.sidebar .nav-item{color:#C9D4CD;font-size:13px;border-radius:7px;text-transform:none}
.sidebar .ng3 a:hover,.sidebar .ng2 a:hover,.sidebar a.nav-item:hover{color:#fff;background:rgba(255,255,255,.06)!important}
.sidebar a.active,.sidebar a.nav-item.active,.sidebar .nav-item.active{background:color-mix(in srgb,var(--e-ocre) 18%,transparent)!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--e-ocre);font-weight:600}
.sidebar small{opacity:.55;font-weight:400;letter-spacing:0}
.sidebar .nav-section,.sidebar .nav-label,.sidebar .nav-group-label{text-transform:none!important;letter-spacing:.01em!important;font-family:var(--e-cond);font-size:13px!important;font-weight:600;color:#8FA398!important}
.sidebar svg{opacity:.85}

/* ── Barra superior ──────────────────────────────────────────────── */
.topbar{background:rgba(255,255,255,.92)!important;backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--e-linea)!important;box-shadow:none!important}
.topbar-title,.topbar h1,.topbar .titulo{font-family:var(--e-cond)!important;font-size:22px!important;font-weight:700!important;color:var(--e-tinta)!important;text-transform:none!important}
.user-avatar,.topbar .avatar{background:var(--e-misti)!important;color:#fff!important;font-family:var(--e-cond);font-weight:700}

/* ── Área de trabajo ─────────────────────────────────────────────── */
.page-content,.main-wrap .content,.main-content{background:transparent}
.page-content > h2:first-child,.page-content h2{font-size:28px;margin-bottom:6px}
.form-card,.card,.stat-card,.box-card{background:var(--e-papel)!important;border:1px solid var(--e-linea)!important;border-radius:var(--e-r-caja)!important;box-shadow:none!important}
.form-card h3,.card h3{font-family:var(--e-cond);font-size:19px;font-weight:700;text-transform:none!important;letter-spacing:0!important;color:var(--e-tinta)}
label,.form-group label,.filters-bar label{text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important;color:var(--e-tinta-2)!important}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-family:var(--e-sans)!important;border:1px solid #CCD4CC!important;border-radius:var(--e-r-ctrl)!important;background:#fff!important;color:var(--e-tinta)!important;font-size:14px;min-height:38px;box-shadow:none!important;transition:border-color .15s}
input:focus,select:focus,textarea:focus{border-color:var(--e-misti)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--e-misti) 16%,transparent)!important;outline:none}
.filters-bar{background:var(--e-papel)!important;border:1px solid var(--e-linea)!important;border-radius:var(--e-r-caja)!important;box-shadow:none!important}

/* ── Botones ────────────────────────────────────────────────────── */
.btn,button.btn,a.btn{font-family:var(--e-sans)!important;font-weight:600!important;border-radius:var(--e-r-ctrl)!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;transition:background .15s,border-color .15s,color .15s}
.btn-primary,.btn-success,button.btn-login,.btn-login{background:var(--e-misti)!important;border:1px solid var(--e-misti)!important;color:#fff!important}
.btn-primary:hover,.btn-success:hover,.btn-login:hover{background:color-mix(in srgb,var(--e-misti) 82%,#000)!important;border-color:color-mix(in srgb,var(--e-misti) 82%,#000)!important}
.btn-secondary,.btn-outline{background:#fff!important;border:1px solid #C9D2CA!important;color:var(--e-tinta)!important}
.btn-secondary:hover,.btn-outline:hover{border-color:var(--e-misti)!important;color:var(--e-misti)!important}
.btn-danger{background:#fff!important;border:1px solid #E3B9B0!important;color:var(--e-oxido)!important}
.btn-sm{font-size:12.5px!important}

/* ── Tablas: datos primero ─────────────────────────────────────────── */
.table-wrap{border:1px solid var(--e-linea);border-radius:var(--e-r-caja);background:#fff;overflow:auto}
.data-table,table.data-table{border-collapse:separate!important;border-spacing:0;background:#fff!important;font-size:13.5px}
.data-table thead th,.data-table th{background:#F5F7F3!important;color:var(--e-tinta-2)!important;font-family:var(--e-sans)!important;font-weight:600!important;font-size:12.5px!important;text-transform:none!important;letter-spacing:0!important;border-bottom:1px solid var(--e-linea)!important;position:sticky;top:0;z-index:1}
.data-table td{border-bottom:1px solid var(--e-linea-2)!important;color:var(--e-tinta)}
.data-table tbody tr:hover td{background:#F7FAF6!important}
.data-table tbody tr:last-child td{border-bottom:0!important}
.table-wrap .data-table{border:0!important}

/* ── Estados ─────────────────────────────────────────────────────── */
.badge,.estado,.pill{font-family:var(--e-sans);font-weight:600;font-size:12px!important;border-radius:999px!important;text-transform:none!important;letter-spacing:0!important;padding:3px 10px!important}
.badge-pendiente,.badge-observado{background:#FBF1DC!important;color:#7A5413!important}
.badge-aprobado,.badge-asignado{background:color-mix(in srgb,var(--e-misti) 12%,#fff)!important;color:var(--e-misti)!important}
.badge-completado,.badge-completado_operativo,.badge-completado_comercial{background:var(--e-misti)!important;color:#fff!important}
.badge-cancelado{background:#F4E2DE!important;color:var(--e-oxido)!important}
.flash-success,.alert-success{background:#E8F1EA!important;border:1px solid #BFD6C5!important;color:#1E4A2A!important;border-radius:var(--e-r-ctrl)!important}
.flash-error,.alert-error,.alert-danger{background:#F8E9E5!important;border:1px solid #E7C2B9!important;color:#7E2E20!important;border-radius:var(--e-r-ctrl)!important}

/* ── Indicadores: la cifra manda ─────────────────────────────────── */
.kpi,.stat-card{border-top:0!important;position:relative}
.kpi .v,.kpi-value,.stat-number,.kpi b.num{font-family:var(--e-cond)!important;font-weight:700!important;font-size:34px!important;line-height:1!important;color:var(--e-tinta)!important}
.kpi .l,.kpi-label,.stat-label,.kpi small{text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;color:var(--e-tinta-2)!important}

/* ── Ventanas y avisos flotantes ─────────────────────────────────── */
.modal-content{border-radius:14px!important;border:0!important;box-shadow:var(--e-sombra-flot)!important}
.modal-header h3{font-family:var(--e-cond);font-size:21px}
.toast{border-radius:10px!important;box-shadow:var(--e-sombra-flot)!important;font-family:var(--e-sans)}

/* ── Cadena de custodia (Portal): avance de una solicitud por estaciones ── */
.cadena{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.cadena .capas{display:inline-grid;grid-template-columns:repeat(5,14px);gap:2px}
.cadena .capas i{display:block;height:8px;border-radius:2px;background:#DCE3DB}
.cadena .capas i.on{background:var(--e-misti)}
.cadena .capas i.ahora{background:var(--e-ocre)}
.cadena.obs .capas i.ahora{background:var(--e-oxido)}
.cadena .txt{font-size:12.5px;font-weight:600;color:var(--e-tinta)}
.cadena.fin .txt{color:var(--e-misti)}
.cadena.cancel .capas i{background:#EADBD7}.cadena.cancel .txt{color:var(--e-oxido)}

/* ── Acceso (login) ──────────────────────────────────────────────── */
.est-acceso{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);background:var(--e-caliche);font-family:var(--e-sans)}
.est-corte{position:relative;background:var(--e-celda);color:#E7EEE9;padding:40px 56px 38vh;display:flex;flex-direction:column;justify-content:space-between;gap:40px;overflow:hidden}
.est-corte .marca img{height:44px;width:auto;display:block}
.est-corte h1{font-family:var(--e-cond);font-weight:700;font-size:clamp(38px,4.4vw,64px);line-height:.98;color:#fff;max-width:17ch;margin:0 0 18px}
.est-corte p.bajada{font-size:17px;line-height:1.5;color:#BFCCC4;max-width:46ch;margin:0}
.est-corte .arriba{display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;z-index:2}
.est-corte .pie{font-size:13px;color:#8FA398;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.est-svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:36%;pointer-events:none}
.est-svg .capa{transform-origin:left bottom;animation:est-capa .9s cubic-bezier(.2,.7,.2,1) both}
.est-svg .capa:nth-child(2){animation-delay:.08s}.est-svg .capa:nth-child(3){animation-delay:.16s}.est-svg .capa:nth-child(4){animation-delay:.24s}.est-svg .capa:nth-child(5){animation-delay:.32s}.est-svg .capa:nth-child(6){animation-delay:.4s}
@keyframes est-capa{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.est-leyenda{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,max-content));gap:6px 26px;font-size:13px;color:#C7D3CB;margin-top:26px}
.est-leyenda span{display:flex;align-items:center;gap:8px}
.est-leyenda i{width:22px;height:8px;border-radius:2px;display:inline-block;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.est-form{display:flex;align-items:center;justify-content:center;padding:40px 28px}
.est-form .caja{width:100%;max-width:380px}
.est-form h2{font-family:var(--e-cond);font-size:34px;font-weight:700;margin:0 0 6px;color:var(--e-tinta)}
.est-form p.sub{color:var(--e-tinta-2);margin:0 0 26px;font-size:15px}
.est-form .campo{margin-bottom:16px}
.est-form .campo label{display:block;margin-bottom:6px;font-size:13px!important;color:var(--e-tinta)!important}
.est-form input{width:100%;min-height:46px!important;font-size:15px!important;padding:10px 12px}
.est-form .entrar{width:100%;min-height:48px;margin-top:8px;font-size:16px!important;border-radius:10px!important;cursor:pointer}
.est-form .error{background:#F8E9E5;border:1px solid #E7C2B9;color:#7E2E20;border-radius:8px;padding:10px 12px;font-size:13.5px;margin-bottom:16px}
.est-form .nota{font-size:13px;color:var(--e-tinta-2);margin-top:20px;line-height:1.5}
.est-form .nota a{font-weight:600}
.est-form .legal{font-size:11.5px;color:#7A867F;margin-top:22px;line-height:1.5}
.est-form .legal a{color:inherit}
@media (max-width:900px){.est-acceso{grid-template-columns:1fr}.est-corte{padding:24px 24px 96px;gap:22px}.est-corte h1{font-size:34px}.est-corte p.bajada{font-size:15px}.est-svg{height:80px}.est-leyenda,.est-corte .pie{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{body{background:#fff!important}.sidebar,.topbar{display:none!important}}

/* ── Mayúsculas: el sistema escribe en tipo oración (los códigos y placas se escriben como son) ── */
body *:not(input):not(textarea):not(.mayus){text-transform:none!important}
.section-title,.section-label,.nav-section,.brand-sub,.kpi-label,.stat-label,th,.kanban-col-header{letter-spacing:0!important}
.sidebar .section-title{font-family:var(--e-cond);font-size:13px!important;font-weight:600!important;color:#8FA398!important;border-top-color:rgba(255,255,255,.08)!important}
.section-label{font-family:var(--e-cond)!important;font-size:18px!important;font-weight:700!important;color:var(--e-tinta)!important;margin:22px 0 10px!important}
.form-card h3,.card h3{border-left:0!important;padding-left:0!important}
table.data th{background:#F5F7F3!important;color:var(--e-tinta-2)!important;font-size:12.5px!important;font-weight:600!important;border-bottom:1px solid var(--e-linea)!important}
table.data td{border-bottom:1px solid var(--e-linea-2)!important}
table.data{background:#fff;font-size:13.5px}
.kpi{border-top:0!important;box-shadow:none!important;border:1px solid var(--e-linea)!important}
/* tablas propias de algunas pantallas (sin clase data-table): mismo encabezado claro */
.page-content table:not(.no-estrato) thead th,.main-wrap table:not(.no-estrato) thead th{background:#F5F7F3!important;color:var(--e-tinta-2)!important;font-weight:600!important;font-size:12.5px!important;border-bottom:1px solid var(--e-linea)!important}

/* ── EcoHub Industrial: flujo de recursos (pantallas de acceso) ───────── */
.eh-flujo{width:100%;max-width:720px;height:auto;display:block;margin:6px 0 0;font-family:var(--e-sans)}
.eh-flujo .via{fill:none;stroke:#7FA58A;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1200;stroke-dashoffset:1200;animation:eh-trazo 1.6s cubic-bezier(.3,.6,.2,1) .2s forwards}
.eh-flujo .via.fin{stroke:#8E9A93}
.eh-flujo .via.vuelta{stroke:var(--e-ocre);stroke-width:2.5;animation-delay:.9s}
.eh-flujo .via.datos{stroke:#9DB3A5;stroke-width:1.4;stroke-dasharray:3 6;stroke-dashoffset:0;animation:none;opacity:.8}
.eh-flujo .nodo circle{fill:var(--e-celda);stroke:#9CC3A6;stroke-width:3}
.eh-flujo .nodo.valor circle{stroke:var(--e-ocre)}
.eh-flujo .nodo-ind{fill:none;stroke:#9CC3A6;stroke-width:2.5}
.eh-flujo text{fill:#E6EEE8;font-size:15px;font-weight:600}
.eh-flujo text.t2{fill:#9FB3A7;font-size:12.5px;font-weight:500}
.eh-flujo text.lbl{fill:#C9D6CE;font-size:13px;font-weight:600}
.eh-flujo text.vuelta-t{fill:#E5C27E}
.eh-flujo text.datos-t{fill:#9FB3A7;font-weight:500}
@keyframes eh-trazo{to{stroke-dashoffset:0}}
.eh-pilares{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:#C7D3CB}
.eh-pilares li{display:flex;align-items:center;gap:8px}
.eh-pilares li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--e-ocre)}
.est-corte .lema{font-family:var(--e-cond);font-weight:600;font-size:15px;color:#9FB3A7;margin:0 0 10px;letter-spacing:.01em}
.est-corte.sin-corte{padding-bottom:36px;justify-content:flex-start;gap:6vh}
.est-corte.sin-corte h1{font-size:clamp(30px,3.1vw,46px);max-width:24ch;line-height:1.02}
.est-corte.sin-corte .eh-flujo{max-width:600px;margin-top:22px}

/* ── Portal en versión clara (mayoritariamente blanco) ─────────────── */
.est-claro{background:#fff!important}
.est-claro .main-wrap,.est-claro .main-wrapper,.est-claro .content,.est-claro .page-content{background:#fff!important}
.est-claro .sidebar{background:#fff!important;border-right:1px solid var(--e-linea)!important}
.est-claro .sidebar::before{display:none}
.est-claro .sidebar .brand,.est-claro .sidebar .sidebar-logo{border-bottom:1px solid var(--e-linea-2)!important}
.est-claro .sidebar .brand-sub{color:var(--e-tinta-2)!important;font-size:12px!important;font-weight:500!important;opacity:1!important}
.est-claro .sidebar .nav-section{color:#8A968F!important}
.est-claro .sidebar .nav-item,.est-claro .sidebar a{color:var(--e-tinta)!important}
.est-claro .sidebar .nav-item svg{opacity:.7}
.est-claro .sidebar .nav-item:hover{background:#F2F6F2!important;color:var(--e-misti)!important}
.est-claro .sidebar .nav-item.active{background:#EDF4EE!important;color:var(--e-misti)!important;box-shadow:inset 3px 0 0 var(--e-ocre)}
.est-claro .sidebar .foot{color:#8A968F!important;border-top:1px solid var(--e-linea-2)!important}
.est-claro .topbar{background:#fff!important}
.est-claro .card,.est-claro .kpi,.est-claro .filters-bar{background:#fff!important;border-color:var(--e-linea-2)!important}
.est-claro .data-table thead th,.est-claro table.data th{background:#FAFBF9!important}
/* acceso del Portal en claro */
.est-claro .est-acceso{background:#fff}
.est-claro .est-corte{background:#fff;color:var(--e-tinta);border-right:1px solid var(--e-linea-2)}
.est-claro .est-corte h1{color:var(--e-tinta)}
.est-claro .est-corte p.bajada{color:var(--e-tinta-2)}
.est-claro .est-corte .lema{color:var(--e-hoja)}
.est-claro .est-corte .pie{color:#7A867F}
.est-claro .eh-pilares{color:var(--e-tinta-2)}
.est-claro .eh-flujo .via{stroke:var(--e-misti)}
.est-claro .eh-flujo .via.fin{stroke:#8E9A93}
.est-claro .eh-flujo .via.vuelta{stroke:var(--e-ocre)}
.est-claro .eh-flujo .via.datos{stroke:#A9B8AE}
.est-claro .eh-flujo .nodo circle{fill:#fff;stroke:var(--e-misti)}
.est-claro .eh-flujo .nodo.valor circle{stroke:var(--e-ocre)}
.est-claro .eh-flujo .nodo-ind{stroke:var(--e-misti);fill:#F2F6F2}
.est-claro .eh-flujo text{fill:var(--e-tinta)}
.est-claro .eh-flujo text.t2,.est-claro .eh-flujo text.datos-t{fill:var(--e-tinta-2)}
.est-claro .eh-flujo text.lbl{fill:var(--e-tinta)}
.est-claro .eh-flujo text.vuelta-t{fill:#8A6113}
.est-claro .est-form{background:#fff}
@media (max-width:900px){.eh-flujo{display:none}.est-corte.sin-corte{padding-bottom:24px}}

/* =====================================================================
   ESTRATO 2 · componentes comunes (includes/estrato.php)
   ===================================================================== */
/* Logo en letras cuando la instancia no tiene logo */
.e-logo-texto{font-family:var(--e-cond);font-weight:700;font-size:26px;letter-spacing:.01em;color:inherit;line-height:1}
.sidebar .e-logo-texto,.est-corte .marca .e-logo-texto{color:#fff;font-size:30px}.est-claro .sidebar .e-logo-texto{color:var(--e-misti)}.est-claro .est-corte .marca .e-logo-texto{color:var(--e-misti)}

/* Íconos del negocio */
.e-ico{width:20px;height:20px;display:inline-block;vertical-align:-4px;flex:0 0 auto;color:inherit}
.e-ico.g{width:28px;height:28px}.e-ico.xl{width:40px;height:40px}

/* Códigos: ticket, OT, SOL, lote */
.e-cod{font-family:var(--e-mono);font-size:.92em;font-weight:600;letter-spacing:0;background:#F1F4F0;border:1px solid var(--e-linea-2);border-radius:5px;padding:1px 6px;white-space:nowrap;color:var(--e-tinta)}

/* Insignias de estado: forma + color (se distinguen también sin ver colores) */
.e-ins{display:inline-flex;align-items:center;gap:6px;font-family:var(--e-sans);font-weight:600;font-size:12.5px;line-height:1.2;padding:3px 10px 3px 8px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.e-ins::before{font-size:11px;line-height:1;width:12px;text-align:center}
.e-ins-pendiente{background:#FBF1DC;color:#7A5413;border-color:#F0DDB2}.e-ins-pendiente::before{content:"○"}
.e-ins-programado{background:#E6EDFA;color:#1E3A8A;border-color:#C9D7F2}.e-ins-programado::before{content:"◔"}
.e-ins-en_curso{background:#E3F0E8;color:#14532D;border-color:#BCD9C6}.e-ins-en_curso::before{content:"◐"}
.e-ins-alerta{background:#FBE7DC;color:#8A2E12;border-color:#F1C6AF}.e-ins-alerta::before{content:"▲";font-size:9px}
.e-ins-hecho{background:#14532D;color:#fff}.e-ins-hecho::before{content:"●"}
.e-ins-cerrado{background:#EDEFF1;color:#374151;border-color:#DADEE3}.e-ins-cerrado::before{content:"■";font-size:9px}
.e-ins-anulado{background:#F5F5F5;color:#6B7280;border-color:#E5E7EB}.e-ins-anulado::before{content:"✕"}
.e-ins-grande{font-size:15px;padding:6px 14px 6px 12px}.e-ins-grande::before{font-size:13px}

/* Ficha: código en monoespaciada, título condensado, estado a la derecha */
.e-ficha-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.e-ficha-cab .e-meta{font-size:12.5px;color:var(--e-tinta-2);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.e-ficha-cab h2{margin:4px 0 2px;font-size:26px;line-height:1.1}
.e-ficha-cab .e-lado{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:13px}

/* Indicadores: la cifra manda, con periodo y fuente */
.e-cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.e-cifra{background:var(--e-papel);border:1px solid var(--e-linea);border-radius:var(--e-r-caja);padding:12px 14px}
.e-cifra-v{font-family:var(--e-cond);font-weight:700;font-size:36px;line-height:1;color:var(--e-tinta);font-variant-numeric:tabular-nums lining-nums}
.e-cifra-v small{font-family:var(--e-sans);font-size:14px;font-weight:600;color:var(--e-tinta-2);margin-left:4px}
.e-cifra-l{font-size:13px;font-weight:600;color:var(--e-tinta);margin-top:6px}
.e-cifra-p{font-size:11.5px;color:var(--e-tinta-2);margin-top:2px}

/* Etapas numeradas del proceso */
.e-etapas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--e-tinta-2)}
.e-etapas li{display:flex;align-items:center;gap:6px}
.e-etapas b{font-family:var(--e-cond);font-weight:700;font-size:14px;color:#9AA59E}
.e-etapas li.hecha{color:var(--e-tinta)}.e-etapas li.hecha b{color:var(--e-hoja)}
.e-etapas li.ahora{color:var(--e-tinta);font-weight:600}.e-etapas li.ahora b{color:var(--e-misti);box-shadow:inset 0 -2px 0 var(--e-ocre)}

/* Tablas: números a la derecha (agregar class="e-num" a la celda) */
td.e-num,th.e-num{text-align:right;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}

/* Campo (garita, checklists, Mi espacio): fondo claro, toque grande, texto 16 px */
.e-campo{font-size:16px;background:#fff!important}
.e-campo .btn,.e-campo button.btn{min-height:56px;font-size:16px!important;padding:0 18px}
.e-campo .btn-xl{min-height:64px;font-size:18px!important}
.e-campo input:not([type=checkbox]):not([type=radio]),.e-campo select,.e-campo textarea{min-height:48px!important;font-size:16px!important}
.e-resultado{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;font-size:17px;font-weight:600;border:2px solid}
.e-resultado::before{font-size:26px;line-height:1}
.e-resultado.ok{background:#E3F0E8;border-color:#14532D;color:#14532D}.e-resultado.ok::before{content:"✓"}
.e-resultado.no{background:#FBE7DC;border-color:#8A2E12;color:#8A2E12}.e-resultado.no::before{content:"✕"}
.e-resultado.sin-red{background:#EDEFF1;border-color:#374151;color:#374151}.e-resultado.sin-red::before{content:"⇣"}

/* Crédito del software (pie y acceso) */
.e-credito{font-size:11.5px;color:#7A867F}
.e-credito a{color:inherit}

/* Página "Acerca de" */
.e-acerca{max-width:880px}
.e-acerca .e-prod{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.e-acerca .e-prod-nombre{font-family:var(--e-cond);font-weight:700;font-size:34px;line-height:1;color:var(--e-tinta)}
.e-acerca .e-prod-ver{font-family:var(--e-mono);font-size:13px;color:var(--e-tinta-2)}
.e-acerca dl{display:grid;grid-template-columns:minmax(150px,max-content) 1fr;gap:8px 18px;margin:0;font-size:14px}
.e-acerca dt{color:var(--e-tinta-2);font-weight:600}.e-acerca dd{margin:0}
.e-acerca .e-comp{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.e-acerca .e-comp div{border:1px solid var(--e-linea);border-radius:10px;padding:10px 12px;background:#fff;font-size:13px;color:var(--e-tinta-2)}
.e-acerca .e-comp b{display:block;font-family:var(--e-cond);font-size:17px;color:var(--e-tinta);margin-bottom:2px}
.e-iconos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.e-iconos div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:1px solid var(--e-linea-2);border-radius:10px;font-size:12px;color:var(--e-tinta-2);text-align:center;background:#fff}
.e-iconos .e-ico{width:30px;height:30px;color:var(--e-misti)}
@media print{.e-ins{border:1px solid currentColor}}
