:root{
  --naranja:#F29F1D; --naranja-s:#FEF3E2; --azul:#1B4B9B; --azul-2:#2A5FBF; --azul-s:#E8EEF8;
  --verde:#0E5A2F; --verde-s:#E3F1E8; --rojo:#C2362B; --rojo-s:#FBE9E7; --ambar:#B86E00; --ambar-s:#FFF4DF;
  --tinta:#140C0C; --texto:#2B2B30; --tenue:#6B6F7B; --borde:#E5E7EC; --fondo:#F5F6F8; --tarjeta:#FFFFFF;
  --sombra:0 1px 2px rgba(20,12,12,.04),0 4px 16px rgba(20,12,12,.05); --radio:12px;
  --lat:248px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--fondo);color:var(--texto);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--azul);text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{color:var(--tinta);margin:0;letter-spacing:-.01em}
.oculto{display:none!important}
.giro{width:28px;height:28px;border:3px solid var(--borde);border-top-color:var(--azul);border-radius:50%;display:inline-block;animation:g .8s linear infinite}
@keyframes g{to{transform:rotate(360deg)}}
.cargando-pantalla{height:100vh;display:grid;place-items:center}

/* ---------- acceso (mismo diseño que OneCapture®) ---------- */
.acceso{min-height:100vh;display:grid;grid-template-columns:52.4% 1fr;font-family:Manrope,Arial,sans-serif;color:#0E0506}
.acceso-arte{position:relative;background:#0E0506;overflow:hidden;min-height:100vh}
.acceso-arte canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.acceso-lema{position:absolute;left:72px;bottom:40px;right:40px;max-width:420px}
.acceso-lema p{margin:0 0 18px;color:#CDBCBE;font-size:15px;line-height:1.5}
.acceso-lema small{display:block;color:#8F7F81;font-size:11px}
.acceso-panel{background:#F6F1E9;display:grid;place-items:center;padding:32px 24px}
.acceso-panel form{width:100%;max-width:380px;display:flex;flex-direction:column}
.acceso-simbolo{display:none;width:44px;height:44px;margin-bottom:18px}
.acceso-panel h2{font-family:Manrope,Arial,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.01em;color:#0E0506;margin:0}
.acceso-sub{margin:6px 0 26px;font-size:14px;color:#615354}
.acceso-panel label{font-size:13px;font-weight:500;color:#615354;margin:0 0 6px}
.acceso-panel input{height:44px;border:1px solid #E5D4D6;border-radius:8px;background:#fff;padding:0 11px;font:400 16px Manrope,Arial,sans-serif;color:#0E0506;margin-bottom:16px;width:100%}
.acceso-panel input:focus{outline:none;border-color:#124596;box-shadow:0 0 0 3px rgba(18,69,150,.15)}
.acceso-err{min-height:0;font-size:13px;color:#B3261E;font-weight:600;margin:-6px 0 10px}
.acceso-err:empty{display:none}
.acceso-btn{height:46px;border-radius:8px;border:1px solid #124596;background:#124596;color:#fff;font:600 15px Manrope,Arial,sans-serif;padding:0 22px;cursor:pointer;margin-top:4px;transition:background .15s}
.acceso-btn:hover{background:#0F3B82}
.acceso-btn:disabled{opacity:.6;cursor:progress}
.acceso-idioma{align-self:center;display:inline-flex;gap:2px;margin-top:16px;padding:3px;border:1px solid #E5D4D6;border-radius:999px;background:#fff}
.acceso-idioma button{border:0;background:transparent;color:#615354;font:500 12px Manrope,Arial,sans-serif;padding:4px 12px;border-radius:999px;cursor:pointer}
.acceso-idioma button.activo{background:#124596;color:#fff}

/* ---------- marca ---------- */
.marca{display:flex;align-items:center;gap:10px}
.marca img{width:34px;height:34px}
.marca .nom{font-weight:800;font-size:20px;color:var(--tinta);letter-spacing:-.02em}
.marca .nom b{font-weight:800}
.marca .nom span{font-weight:500}
.marca.claro .nom{color:#fff}
.marca small{display:block;font-size:10.5px;color:var(--tenue);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:-2px}

/* ---------- estructura ---------- */
.shell{display:grid;grid-template-columns:var(--lat) 1fr;min-height:100vh}
.lateral{background:#fff;border-right:1px solid var(--borde);padding:18px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow:auto}
.lateral .marca{padding:4px 8px 16px}
.nav-g{font-size:11px;font-weight:700;color:var(--tenue);text-transform:uppercase;letter-spacing:.07em;padding:14px 10px 6px}
.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--texto);font-weight:500;position:relative}
.nav a:hover{background:var(--fondo)}
.nav a.activo{background:var(--azul-s);color:var(--azul);font-weight:700}
.nav a.activo::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--azul)}
.nav a .cnt{margin-left:auto;font-size:11px;background:var(--fondo);border-radius:20px;padding:1px 8px;color:var(--tenue);font-weight:600}
.nav a .cnt.alerta{background:var(--rojo-s);color:var(--rojo)}
.nav svg{width:18px;height:18px;flex:none}
.lateral .pie{margin-top:auto;padding:12px 10px 0;border-top:1px solid var(--borde);font-size:11.5px;color:var(--tenue)}
.lateral .pie .franja{display:flex;height:4px;border-radius:3px;overflow:hidden;margin-bottom:10px}
.franja i{flex:1}
.principal{min-width:0;display:flex;flex-direction:column}
.superior{height:64px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--borde);display:flex;align-items:center;gap:16px;padding:0 28px;position:sticky;top:0;z-index:20}
.superior .menu-btn{display:none}
.buscador{position:relative;flex:1;max-width:520px}
.buscador input{width:100%;height:40px;border:1px solid var(--borde);border-radius:10px;background:var(--fondo);padding:0 12px 0 38px}
.buscador input:focus{outline:2px solid var(--azul-s);border-color:var(--azul);background:#fff}
.buscador svg{position:absolute;left:12px;top:11px;width:18px;color:var(--tenue)}
.buscador kbd{position:absolute;right:10px;top:10px;font-size:11px;border:1px solid var(--borde);border-radius:5px;padding:1px 6px;color:var(--tenue);background:#fff}
.resultados{position:absolute;top:46px;left:0;right:0;background:#fff;border:1px solid var(--borde);border-radius:12px;box-shadow:var(--sombra);max-height:420px;overflow:auto;padding:6px}
.resultados a{display:flex;gap:10px;padding:8px 10px;border-radius:8px;color:var(--texto);align-items:center}
.resultados a:hover,.resultados a.sel{background:var(--fondo)}
.resultados small{color:var(--tenue)}
.org{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--tenue);margin-left:auto}
.org .pill{background:var(--naranja-s);color:#8A5A00;border-radius:20px;padding:2px 10px;font-size:11.5px;font-weight:700}
.usuario-btn{display:flex;align-items:center;gap:10px;border:0;background:none;cursor:pointer;padding:4px 6px;border-radius:10px;position:relative}
.usuario-btn:hover{background:var(--fondo)}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--tinta);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.menu-usr{position:absolute;right:0;top:46px;background:#fff;border:1px solid var(--borde);border-radius:12px;box-shadow:var(--sombra);min-width:240px;padding:8px;text-align:left;z-index:30}
.menu-usr div{padding:8px 10px;font-size:12.5px;color:var(--tenue)}
.menu-usr a{display:block;padding:8px 10px;border-radius:8px;color:var(--texto)}
.menu-usr a:hover{background:var(--fondo)}
.contenido{padding:28px;max-width:1400px;width:100%}

/* ---------- componentes ---------- */
.encabezado{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.encabezado h1{font-size:26px;font-weight:800}
.encabezado p{margin:4px 0 0;color:var(--tenue)}
.encabezado .acciones{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.miga{font-size:12.5px;color:var(--tenue);margin-bottom:6px}
.miga a{color:var(--tenue)} .miga a:hover{color:var(--azul)}
.btn{height:38px;padding:0 14px;border-radius:9px;border:1px solid var(--borde);background:#fff;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.btn:hover{border-color:#CDD1DA;background:#FBFBFC}
.btn svg{width:16px;height:16px}
.btn.prim{background:var(--tinta);border-color:var(--tinta);color:#fff}
.btn.prim:hover{background:#2c2222}
.btn.azul{background:var(--azul);border-color:var(--azul);color:#fff}
.btn.peligro{color:var(--rojo)}
.btn.peligro.lleno{background:var(--rojo);border-color:var(--rojo);color:#fff}
.btn.chico{height:30px;padding:0 10px;font-size:12.5px;border-radius:7px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-icono{width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:none;display:grid;place-items:center;cursor:pointer;color:var(--tenue)}
.btn-icono:hover{background:var(--fondo);color:var(--tinta)}
.btn-icono svg{width:18px;height:18px}
.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra)}
.tarjeta .cab{display:flex;align-items:center;gap:10px;padding:16px 18px 0}
.tarjeta .cab h3{font-size:15px;font-weight:700}
.tarjeta .cab .der{margin-left:auto}
.tarjeta .cuerpo{padding:16px 18px}
.rejilla{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g2{grid-template-columns:repeat(2,1fr)}
.g-2-1{grid-template-columns:2fr 1fr}
.kpi{padding:16px 18px;position:relative;overflow:hidden;cursor:pointer;transition:transform .15s}
.kpi:hover{transform:translateY(-1px)}
.kpi .et{font-size:12.5px;color:var(--tenue);font-weight:600}
.kpi .val{font-size:30px;font-weight:800;color:var(--tinta);margin-top:6px;letter-spacing:-.02em}
.kpi .sub{font-size:12px;color:var(--tenue);margin-top:2px}
.kpi::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,var(--azul))}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;background:var(--fondo);color:var(--tenue);white-space:nowrap}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.chip.sin-punto::before{display:none}
.chip.verde{background:var(--verde-s);color:var(--verde)}
.chip.rojo{background:var(--rojo-s);color:var(--rojo)}
.chip.ambar{background:var(--ambar-s);color:var(--ambar)}
.chip.azul{background:var(--azul-s);color:var(--azul)}
.chip.naranja{background:var(--naranja-s);color:#8A5A00}
.chip.negro{background:#EEECEC;color:var(--tinta)}
.vacio{padding:40px 20px;text-align:center;color:var(--tenue)}
.vacio svg{width:40px;height:40px;opacity:.5}

/* tabla */
.barra{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px 16px;border-bottom:1px solid var(--borde)}
.barra input[type=search]{height:36px;border:1px solid var(--borde);border-radius:8px;padding:0 12px;min-width:240px;flex:1;max-width:340px}
.barra select{height:36px;border:1px solid var(--borde);border-radius:8px;padding:0 8px;background:#fff;max-width:200px}
.barra label.tog{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tenue)}
.barra .total{margin-left:auto;color:var(--tenue);font-size:12.5px}
.tabla-c{overflow:auto}
table{width:100%;border-collapse:collapse}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--tenue);font-weight:700;text-align:left;padding:10px 14px;background:#FAFAFB;border-bottom:1px solid var(--borde);white-space:nowrap;cursor:pointer;user-select:none}
th.orden::after{content:" ↓";color:var(--azul)} th.orden.asc::after{content:" ↑"}
td{padding:11px 14px;border-bottom:1px solid #F0F1F4;vertical-align:middle}
tbody tr{cursor:pointer}
tbody tr:hover td{background:#FAFBFD}
tr.baja td{opacity:.55}
td .principal-txt{font-weight:600;color:var(--tinta)}
td .sec{font-size:12px;color:var(--tenue)}
.folio{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--tenue)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.barra-prog{height:6px;background:var(--fondo);border-radius:4px;overflow:hidden;min-width:70px}
.barra-prog i{display:block;height:100%;background:var(--verde);border-radius:4px}

/* ficha */
.ficha-cab{display:flex;gap:18px;align-items:flex-start;padding:22px;flex-wrap:wrap}
.ficha-ico{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--azul-s);color:var(--azul);flex:none}
.ficha-ico svg{width:26px;height:26px}
.ficha-cab h1{font-size:24px;font-weight:800}
.ficha-cab .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:center}
.ficha-cab .acciones{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.pestanas{display:flex;gap:4px;border-bottom:1px solid var(--borde);padding:0 18px;overflow:auto}
.pestanas button{border:0;background:none;padding:12px 12px;font-weight:600;color:var(--tenue);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.pestanas button.activo{color:var(--tinta);border-bottom-color:var(--naranja)}
.pestanas button .cnt{font-size:11px;background:var(--fondo);border-radius:10px;padding:0 6px;margin-left:4px}
.datos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 24px}
.datos .d{min-width:0}
.datos .d.a2{grid-column:span 2}
.datos .d.a4{grid-column:1/-1}
.datos dt{font-size:11.5px;color:var(--tenue);font-weight:600;margin-bottom:3px}
.datos dd{margin:0;color:var(--tinta);font-weight:500;overflow-wrap:anywhere}
.seccion-t{font-size:12px;font-weight:800;color:var(--azul);text-transform:uppercase;letter-spacing:.07em;margin:22px 0 12px;display:flex;align-items:center;gap:10px}
.seccion-t::after{content:"";flex:1;height:1px;background:var(--borde)}
.seccion-t:first-child{margin-top:0}
.aviso{display:flex;gap:10px;padding:12px 14px;border-radius:10px;background:var(--ambar-s);color:#6B4400;font-size:13px;align-items:flex-start}
.aviso.rojo{background:var(--rojo-s);color:#7A1F17}
.aviso.azul{background:var(--azul-s);color:#173F82}
.aviso.verde{background:var(--verde-s);color:var(--verde)}
.aviso svg{width:18px;height:18px;flex:none;margin-top:1px}
.lista-docs{display:grid;gap:8px}
.doc{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--borde);border-radius:10px;background:#fff}
.doc.falta{border-style:dashed;background:#FCFCFD}
.doc .ic{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--rojo-s);color:var(--rojo);flex:none;font-size:10px;font-weight:800}
.doc.falta .ic{background:var(--fondo);color:var(--tenue)}
.doc .txt{min-width:0;flex:1}
.doc .txt b{display:block;font-weight:600;color:var(--tinta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc .txt small{color:var(--tenue)}
.doc .acc{display:flex;gap:4px}
.linea{position:relative;padding-left:22px}
.linea::before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:var(--borde)}
.evento{position:relative;padding:0 0 16px}
.evento::before{content:"";position:absolute;left:-20px;top:4px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--azul)}
.evento.alerta::before{border-color:var(--naranja)}
.evento b{color:var(--tinta)}
.evento small{color:var(--tenue);display:block}
.evento .det{font-size:12.5px;color:var(--tenue);margin-top:4px}

/* vigencias */
.tablero-v{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;overflow:auto;padding-bottom:6px}
.col-v{background:#EFF0F3;border-radius:12px;padding:10px;min-height:200px}
.col-v h4{margin:2px 4px 10px;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--tinta)}
.col-v h4 .n{margin-left:auto;font-size:12px;color:var(--tenue)}
.col-v h4 i{width:10px;height:10px;border-radius:3px}
.tarj-v{background:#fff;border-radius:10px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--borde);cursor:pointer;border-left:4px solid var(--c,var(--borde))}
.tarj-v:hover{box-shadow:var(--sombra)}
.tarj-v b{display:block;color:var(--tinta);font-size:13px}
.tarj-v small{color:var(--tenue);display:block}
.tarj-v .pie{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;margin-top:6px;font-size:11.5px;color:var(--tenue)}
.tarj-v .pie .folio{font-size:11px}

/* gráficas */
.barras-h{display:grid;gap:10px}
.barras-h .f{display:grid;grid-template-columns:120px 1fr 40px;gap:10px;align-items:center;font-size:13px}
.barras-h .b{height:10px;background:var(--fondo);border-radius:6px;overflow:hidden}
.barras-h .b i{display:block;height:100%;border-radius:6px}
.barras-v{display:flex;align-items:flex-end;gap:12px;height:170px;padding-top:10px}
.barras-v .c{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.barras-v .c i{width:100%;max-width:44px;border-radius:6px 6px 2px 2px;background:var(--azul);min-height:3px}
.barras-v .c:first-child i{background:var(--naranja)}
.barras-v .c span{font-size:11.5px;color:var(--tenue)}
.barras-v .c b{font-size:12.5px;color:var(--tinta)}
.dona{display:flex;gap:18px;align-items:center}
.dona svg{width:132px;height:132px;flex:none}
.leyenda{display:grid;gap:8px;font-size:13px}
.leyenda div{display:flex;gap:8px;align-items:center}
.leyenda i{width:10px;height:10px;border-radius:3px}
.monto-g{font-size:22px;font-weight:800;color:var(--tinta)}

/* panel lateral / modal */
.velo{position:fixed;inset:0;background:rgba(20,12,12,.38);z-index:50;display:flex;justify-content:flex-end;animation:ap .15s}
@keyframes ap{from{opacity:0}}
.panel{width:min(760px,100%);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.12);animation:entra .2s ease-out}
@keyframes entra{from{transform:translateX(30px);opacity:.4}}
.panel .p-cab{padding:18px 22px;border-bottom:1px solid var(--borde);display:flex;align-items:center;gap:12px}
.panel .p-cab h2{font-size:18px}
.panel .p-cuerpo{padding:22px;overflow:auto;flex:1}
.panel .p-pie{padding:14px 22px;border-top:1px solid var(--borde);display:flex;gap:10px;justify-content:flex-end;background:#FAFAFB}
.velo.centro{justify-content:center;align-items:center}
.modal{background:#fff;border-radius:14px;width:min(480px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.2);animation:ap .15s}
.modal .m-cuerpo{padding:22px}
.modal .m-cuerpo h3{font-size:17px;margin-bottom:8px}
.modal .m-pie{padding:14px 22px;border-top:1px solid var(--borde);display:flex;gap:10px;justify-content:flex-end}

/* formularios */
.forma{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}
.campo{display:flex;flex-direction:column;gap:5px;min-width:0}
.campo.a2{grid-column:1/-1}
.campo label{font-size:12.5px;font-weight:600;color:var(--tinta)}
.campo label .req{color:var(--rojo)}
.campo input,.campo select,.campo textarea{border:1px solid #D9DCE3;border-radius:8px;padding:9px 11px;background:#fff;width:100%}
.campo textarea{min-height:84px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--azul-s);border-color:var(--azul)}
.campo .ayuda{font-size:11.5px;color:var(--tenue)}
.campo .err{font-size:12px;color:var(--rojo);font-weight:600}
.campo.con-error input,.campo.con-error select,.campo.con-error textarea{border-color:var(--rojo)}
.campo input[readonly]{background:var(--fondo);color:var(--tenue)}
.opciones-r{display:flex;gap:8px;flex-wrap:wrap}
.opciones-r label{display:flex;align-items:center;gap:8px;border:1px solid #D9DCE3;border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:500}
.opciones-r label:has(input:checked){border-color:var(--azul);background:var(--azul-s);color:var(--azul)}
.opciones-r input{accent-color:var(--azul)}
.chk{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer;padding-top:4px}
.chk input{width:16px;height:16px;accent-color:var(--azul)}
.f-sec{grid-column:1/-1;font-size:12px;font-weight:800;color:var(--azul);text-transform:uppercase;letter-spacing:.07em;margin-top:8px;padding-bottom:6px;border-bottom:1px solid var(--borde)}
.subida{border:1.5px dashed #CBD0DA;border-radius:10px;padding:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.subida select{border:1px solid #D9DCE3;border-radius:8px;padding:7px}
.sel-busca{position:relative}
.sel-busca .lista{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--borde);border-radius:10px;box-shadow:var(--sombra);max-height:240px;overflow:auto;z-index:5;margin-top:4px}
.sel-busca .lista div{padding:8px 10px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}
.sel-busca .lista div:hover{background:var(--fondo)}
.sel-busca .lista small{color:var(--tenue)}
.multi{display:flex;flex-wrap:wrap;gap:6px}
.multi label{display:flex;align-items:center;gap:6px;border:1px solid #D9DCE3;border-radius:20px;padding:5px 12px;cursor:pointer;font-size:13px}
.multi label:has(input:checked){background:var(--tinta);color:#fff;border-color:var(--tinta)}
.multi input{display:none}

/* toasts */
#toasts{position:fixed;bottom:20px;right:20px;display:grid;gap:8px;z-index:90}
.toast{background:var(--tinta);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--sombra);max-width:380px;animation:ap .2s;font-weight:500}
.toast.error{background:var(--rojo)}
.toast.ok{background:var(--verde)}

.integ{display:flex;gap:14px;align-items:flex-start;padding:16px}
.integ .lg{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#fff;flex:none}
.integ h4{margin:0 0 4px;color:var(--tinta)}
.integ p{margin:0;color:var(--tenue);font-size:13px}

@media (max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g-2-1,.g3{grid-template-columns:1fr}.datos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .lateral{position:fixed;left:0;top:0;z-index:60;width:var(--lat);transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 40px rgba(0,0,0,.2)}
  .lateral.abierto{transform:none}
  .superior{padding:0 16px}
  .superior .menu-btn{display:grid}
  .org{display:none}
  .contenido{padding:16px}
  .acceso{grid-template-columns:1fr}.acceso-arte{display:none}.acceso-simbolo{display:block}
  .forma,.g2{grid-template-columns:1fr}
  .datos{grid-template-columns:1fr}.datos .d.a2{grid-column:auto}
  .buscador kbd{display:none}
  .encabezado h1{font-size:22px}
}

.consulta #b-alta,.consulta #b-nuevo,.consulta #b-editar,.consulta #b-baja,.consulta #b-reac,.consulta #b-mas,.consulta [data-nuevo],.consulta [data-subir],.consulta [data-reemp],.consulta [data-borrar],.consulta .subida{display:none!important}
.tabla-f table{width:100%;border:1px solid var(--borde);border-radius:8px;border-collapse:separate;border-spacing:0;overflow:hidden}
.tabla-f th{cursor:default;padding:8px 10px}
.tabla-f td{padding:6px 8px;border-bottom:1px solid #F0F1F4}
.tabla-f select{width:100%;border:1px solid #D9DCE3;border-radius:7px;padding:7px 8px;background:#fff}
.tabla-f tbody tr{cursor:default}
.tabla-f tbody tr:hover td{background:none}
tfoot td{background:#FAFAFB}
