/* Lo propio de los paneles: portada, cambio de panel, finanzas, administrativo y gerente. */
.marca img { height: 34px; }
.intro-logo { height: 56px; }
.cambio-panel { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; background: var(--campo); border-radius: 11px; padding: 3px; margin: 2px 2px 10px; }
.cambio-panel a { display: grid; justify-items: center; gap: 1px; padding: 5px 0 4px; border-radius: 8px; font-size: 10.5px; font-weight: 500; color: var(--texto-3); transition: background .2s, color .2s; min-width: 0; }
.cambio-panel a svg { width: 16px; height: 16px; }
.cambio-panel a:hover { color: #000; }
.cambio-panel a.activo { background: #fff; color: #000; box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.panel-nombre { font: 600 15px/1.2 var(--sans); letter-spacing: -.015em; padding: 2px 12px 2px; }
.menu-tit:first-child { padding-top: 12px; }
#chip-lectura { flex: none; }
.verde-t { color: var(--verde); }

/* portada */
.hub { max-width: 1120px; margin: 0 auto; padding: 44px 24px 60px; }
.hub-logo { height: 52px; display: block; margin-bottom: 34px; animation: entra .55s var(--mola) both; }
.hub-f { color: var(--texto-3); font-weight: 500; }
.hub h1 { font: 600 clamp(32px, 5vw, 56px)/1.05 var(--sans); letter-spacing: -.038em; max-width: 19ch; margin-top: 6px; animation: entra .6s .05s var(--mola) both; }
.hub h1 em { color: var(--texto-3); font-style: normal; }
.hub-p { color: var(--texto-3); font-size: 16px; max-width: 62ch; margin-top: 12px; animation: entra .6s .1s var(--mola) both; }
.hub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.hub-carta { background: #fff; border-radius: 22px; padding: 22px 24px; display: flex; flex-direction: column; gap: 6px; transition: transform .3s var(--mola), box-shadow .3s; animation: entra .6s var(--mola) both; }
.hub-carta:nth-child(2) { animation-delay: .06s; } .hub-carta:nth-child(3) { animation-delay: .12s; } .hub-carta:nth-child(4) { animation-delay: .18s; }
.hub-carta:hover { transform: translateY(-3px); box-shadow: 0 12px 34px rgba(0, 0, 0, .08); }
.hub-cab { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; } .hub-cab > svg { width: 20px; height: 20px; color: var(--texto-3); transition: transform .3s var(--mola); } .hub-carta:hover .hub-cab > svg { transform: translateX(4px); color: #000; }
.hub-ic { width: 40px; height: 40px; background: #000; color: #fff; border-radius: 12px; display: inline-grid; place-items: center; flex: none; } .hub-ic svg { width: 21px; height: 21px; }
.hub-carta h2 { font: 600 24px/1.15 var(--sans); letter-spacing: -.025em; } .hub-carta p { color: var(--texto-3); }
.hub-nums { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--linea); } .hub-nums b { display: block; font: 600 28px/1.1 var(--sans); letter-spacing: -.03em; font-variant-numeric: tabular-nums; } .hub-nums span { color: var(--texto-3); font-size: 13px; }

/* gráficos y listas */
.dos-a { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: stretch; }
.dos-b { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); align-items: stretch; }
.doble { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; height: 210px; } .doble-g { display: flex; flex-direction: column; min-width: 0; } .doble-b { flex: 1; display: flex; align-items: flex-end; gap: 2px; } .doble-b i { flex: 1; height: var(--h); min-height: 2px; border-radius: 3px 3px 0 0; animation: crece-y .9s var(--mola) both; transform-origin: bottom; } .doble-b .ing { background: #000; } .doble-b .eg { background: #a1a1a6; } .doble-g > span { font-size: 11px; color: var(--texto-3); text-align: center; padding-top: 4px; } .doble-g.actual > span { color: #000; font-weight: 600; }
.bh-v.largo2 { min-width: 62px; }
.lista-saldos li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--linea); font-size: 13.5px; } .lista-saldos li:last-child { border-bottom: 0; } .lista-saldos b { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; } .ls-a { display: block; flex: 1; min-width: 0; text-align: left; transition: opacity .15s; } .ls-a:hover { opacity: .65; } .ls-a b { white-space: normal; font-weight: 500; }
.sig-paso { padding: 13px 20px; display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; } .sig-paso span { color: var(--texto-3); font-size: 13px; } .sig-paso b { font-weight: 500; }
.linea-t { padding: 2px 22px 18px; } .linea-t li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--linea); font-size: 13.5px; } .linea-t li:last-child { border-bottom: 0; }

/* libro diario */
.asientos { padding: 6px 0 10px; } .asiento { padding: 11px 22px; border-bottom: 1px solid var(--linea); } .asiento:last-of-type { border-bottom: 0; } .as-c { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; font-size: 13px; margin-bottom: 5px; } .as-c b { font-weight: 600; }
.as-l { display: grid; grid-template-columns: 58px minmax(0, 1fr) 104px 104px; gap: 8px; font-size: 13px; padding: 2px 0; font-variant-numeric: tabular-nums; } .as-l.haber .as-nom { padding-left: 22px; color: var(--texto-2); } .as-n { color: var(--texto-3); } .ad-m { text-align: right; }
.tabla.pyg td.der { white-space: nowrap; } .tabla.pyg .total td { border-top: 1.5px solid #000; font-weight: 700; } .tabla .rojo b { color: var(--rojo); }
.presup { display: grid; gap: 7px; } .pr-f { display: grid; grid-template-columns: 84px 150px minmax(60px, 1fr) 138px 66px; gap: 10px; align-items: center; font-size: 13px; padding: 3px 0; } .pr-v { text-align: right; font-variant-numeric: tabular-nums; color: var(--texto-2); } .pr-pct { text-align: right; } .mini-barra.sobre i { background: var(--rojo); } .mini-barra.alerta i { background: #8e8e93; }
.carta-cuerpo .presup .pr-f:not(:has(.pr-p)) { grid-template-columns: 150px minmax(60px, 1fr) 138px 66px; }
.control-flujo { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; padding: 18px 22px 8px; } .rango { display: grid; gap: 4px; min-width: 240px; flex: 1; font-size: 13px; } .rango b { font-weight: 600; } .rango input { width: 100%; accent-color: #000; }

/* administrativo */
.asociados { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); } .asociado { padding: 16px 18px; display: grid; gap: 10px; transition: transform .25s var(--mola), box-shadow .25s; } .asociado:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(0, 0, 0, .07); } .as-tags { display: flex; flex-wrap: wrap; gap: 3px; } .as-chk { display: grid; gap: 4px; font-size: 12.5px; } .as-mal { color: var(--ambar); font-weight: 600; }
.asociado .as-cab { align-items: flex-start; }
.chequeo { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); align-items: start; } .chk-lista { padding: 0 22px 16px; } .chk-lista li { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid var(--linea); } .chk-lista li:last-child { border: 0; } .chk-lista b { font-weight: 500; display: block; } .chk-lista small { color: var(--texto-3); } .chk-lista li.mal b { color: var(--ambar); }
.chk-ic { width: 18px; height: 18px; border-radius: 50%; background: var(--ambar-f); color: var(--ambar); font-size: 12px; font-weight: 700; display: grid; place-items: center; flex: none; margin-top: 1px; } .chk-ic.ok { background: #000; color: #fff; }
.asis { display: grid; grid-template-columns: 190px repeat(var(--d), minmax(66px, 1fr)) 76px; min-width: 620px; padding: 0 10px 8px; } .as-h { padding: 8px; font-size: 12px; color: var(--texto-3); font-weight: 500; border-bottom: 1px solid var(--linea); } .as-h.hoy { color: #000; font-weight: 700; } .as-h.der, .as-t.der { text-align: right; } .as-p { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-bottom: 1px solid var(--linea); font-size: 13px; } .as-p:hover { background: var(--hover); } .as-t { padding: 12px 8px; border-bottom: 1px solid var(--linea); font-variant-numeric: tabular-nums; font-weight: 600; }
.as-d { border-bottom: 1px solid var(--linea); font-size: 12.5px; font-variant-numeric: tabular-nums; color: var(--texto-3); transition: background .15s; } .as-d:hover:not(:disabled) { background: var(--hover); } .as-d.tarde { color: var(--ambar); font-weight: 600; background: var(--ambar-f); } .as-d.falta { color: var(--rojo); font-weight: 700; background: var(--rojo-f); } .as-d.permiso { color: var(--texto-2); background: var(--campo); } .as-d.puntual { color: #000; }
.leyenda.pad { padding: 8px 18px 14px; }
.listas-p { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); align-items: stretch; } .lista-p { padding: 14px 18px; display: grid; gap: 6px; align-content: start; } .lista-p code { font: 600 12.5px ui-monospace, Consolas, monospace; } .lista-p p { font-size: 13px; line-height: 1.35; } .lp-gente { display: flex; flex-wrap: wrap; gap: 5px 10px; } .lp-p { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; }
.tabla.matriz th.rot { font-size: 11px; white-space: nowrap; padding: 10px 4px; text-align: center; } .tabla.matriz td { padding: 5px 6px; } .m-p { white-space: nowrap; position: sticky; left: 0; background: #fff; z-index: 1; font-size: 13px; } .m-p b { font-weight: 500; } .m-c { text-align: center; font-size: 13px; } .m-c.editar { color: #000; } .m-c.leer { color: #8e8e93; }

/* gerente */
.areas { grid-template-columns: repeat(3, minmax(0, 1fr)); } .area { padding: 16px 20px 12px; display: block; transition: transform .25s var(--mola), box-shadow .25s; } .area:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(0, 0, 0, .07); } .area-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; } .area-cab h3 { font: 600 17px var(--sans); letter-spacing: -.018em; flex: 1; } .area-cab > svg { width: 18px; height: 18px; color: var(--texto-3); } .area .hub-ic { width: 32px; height: 32px; border-radius: 10px; } .area .hub-ic svg { width: 17px; height: 17px; } .area li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-top: 1px solid var(--linea); font-size: 13.5px; } .area li b { font-weight: 600; font-variant-numeric: tabular-nums; } .area li b.rojo { color: var(--rojo); }
.aprob li { display: flex; align-items: center; gap: 12px; padding: 12px 22px; border-bottom: 1px solid var(--linea); flex-wrap: wrap; } .aprob li:last-child { border: 0; } .ap-t { flex: 1; min-width: 200px; } .ap-t b { display: block; font-weight: 500; } .ap-t small { color: var(--texto-3); } .ap-m { font-variant-numeric: tabular-nums; font-weight: 600; font-size: 15px; }
.proyectos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .proyecto { padding: 20px 22px; display: grid; gap: 12px; align-content: start; transition: transform .25s var(--mola), box-shadow .25s; } .proyecto:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(0, 0, 0, .07); } .proyecto h3 { font: 600 22px/1.15 var(--sans); letter-spacing: -.025em; } .proyecto p { font-size: 13px; } .pr-num b { font: 600 38px/1 var(--sans); letter-spacing: -.035em; } .pr-num span { color: var(--texto-3); margin-left: 6px; }
.vercomo { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); } .vc { padding: 14px 18px; display: grid; gap: 10px; } .vc .as-cab b { font-size: 14px; }
.ranking a.rk { transition: opacity .15s; } .ranking a.rk:hover { opacity: .65; }
.lectura .tarjeta { cursor: default; }

/* estados editables */
.est-editor { display: grid; gap: 6px; } .est-fila { display: grid; grid-template-columns: 50px minmax(0, 1fr) 118px auto 26px 26px; gap: 6px; align-items: center; } .est-fila input, .est-fila select { background: var(--campo); border: 1px solid transparent; border-radius: 9px; padding: 6px 9px; font-size: 13.5px; min-width: 0; width: 100%; } .est-fila input:focus { outline: 0; border-color: #000; background: #fff; } .est-orden { display: flex; } .est-orden svg { transform: rotate(90deg); } .est-prob { display: flex; align-items: center; gap: 3px; font-size: 12.5px; color: var(--texto-3); } .est-prob input { width: 52px; text-align: right; } .est-n { text-align: right; font-variant-numeric: tabular-nums; } .est-candado { display: grid; place-items: center; color: var(--texto-3); } .est-candado svg { width: 13px; height: 13px; } .est-editor > .btn { justify-self: start; margin-top: 4px; }
/* constructor de tarjetas */
.tj-op { align-items: center; } .tj-t { flex: 1; min-width: 0; } .tj-orden { display: flex; flex: none; } .tj-orden svg { transform: rotate(90deg); } .tj-acc { display: flex; flex: none; } .tj-numero b { display: block; font: 600 42px/1.05 var(--sans); letter-spacing: -.035em; font-variant-numeric: tabular-nums; } .tj-previa { background: var(--hover); border-radius: 12px; padding: 12px 14px; display: grid; gap: 8px; margin-bottom: 4px; } .mis-tarjetas { margin-top: 12px; } .mis-tarjetas .tit-carpeta { margin: 8px 0; }
.campo select:disabled { opacity: .5; }
/* comentarios */
.coment-acc { display: flex; align-items: center; gap: 3px; flex-wrap: wrap; margin-top: 4px; } .reac { border-radius: 999px; padding: 1px 7px; font-size: 13px; display: inline-flex; align-items: center; gap: 3px; background: transparent; transition: background .15s; opacity: .55; } .reac:hover { background: var(--campo); opacity: 1; } .reac:has(small), .reac.mia { opacity: 1; background: var(--campo); } .reac.mia { box-shadow: inset 0 0 0 1px #000; } .reac small { font-size: 11px; font-weight: 600; color: var(--texto-2); }
.acc-txt { font-size: 12px; font-weight: 500; color: var(--texto-2); padding: 2px 6px; border-radius: 6px; } .acc-txt:hover { background: var(--campo); } .sel-micro { font-size: 12px; background: transparent; border: 0; color: var(--texto-3); max-width: 96px; padding: 2px; }
.coment-asig { display: flex; align-items: center; gap: 7px; background: var(--ambar-f); color: var(--ambar); border-radius: 9px; padding: 4px 8px; font-size: 12.5px; font-weight: 500; margin-top: 5px; width: fit-content; } .coment-asig.res { background: var(--campo); color: var(--texto-3); } .coment-asig .casilla { width: 16px; height: 16px; background: #fff; }
.hilo { border-left: 2px solid var(--linea); padding-left: 10px; margin-top: 7px; } .hilo .coment { margin-bottom: 7px; } .hilo-in { width: 100%; background: var(--campo); border: 1px solid transparent; border-radius: 9px; padding: 6px 9px; font-size: 13px; color: var(--texto); } .hilo-in:focus { outline: 0; border-color: #000; background: #fff; }
/* vistas compartidas */
.guardada { padding-left: 8px; } .gd-ic { display: inline-flex; margin-right: 3px; color: var(--texto-3); } .gd-ic svg { width: 11px; height: 11px; } .compartir { display: grid; gap: 9px; } .compartir input[readonly] { font-size: 12.5px; }
.pub-caja.ancha { width: min(1060px, 100%); } .publico { display: block; } .publico .pub-caja { margin: 0 auto; } .pub-tablero { margin-top: 16px; margin-right: 0; padding-right: 0; } .pub-t { cursor: default; } .pub-t:hover { transform: none; box-shadow: none; } .lista-saldos.pad0 { padding: 0 22px 14px; }
.es-publico { background: #fff; } .es-publico .publico { background: var(--fondo); min-height: calc(100vh - 30px); }

@media (max-width: 1240px) {
  .areas, .proyectos { grid-template-columns: minmax(0, 1fr); } .dos-a, .dos-b { grid-template-columns: minmax(0, 1fr); }
  .pr-f { grid-template-columns: 74px 130px minmax(50px, 1fr) 130px 58px; }
}
@media (max-width: 860px) {
  .lado { padding-top: 14px; } .hub { padding: 26px 16px 50px; } .hub-logo { height: 42px; margin-bottom: 24px; } .hub-grid { grid-template-columns: minmax(0, 1fr); } .hub-nums b { font-size: 24px; }
  #chip-lectura { font-size: 11px; padding: 1px 7px; }
  .doble { height: 170px; gap: 3px; } .doble-g > span { font-size: 10px; } .asociados, .listas-p, .vercomo, .chequeo { grid-template-columns: minmax(0, 1fr); }
  .as-l { grid-template-columns: 40px minmax(0, 1fr) 76px 76px; font-size: 12px; } .as-l.haber .as-nom { padding-left: 10px; } .asiento { padding: 10px 16px; } .linea-t { padding: 2px 16px 14px; } .linea-t li { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pr-f, .carta-cuerpo .presup .pr-f:not(:has(.pr-p)) { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; } .pr-p { grid-column: 1 / -1; } .pr-b { grid-column: 1 / -1; grid-row: 3; } .pr-v { grid-column: 1; text-align: left; font-size: 12px; } .pr-n { font-weight: 500; } .pr-pct { grid-column: 2; grid-row: 2; } .pr-f { padding: 6px 0; border-bottom: 1px solid var(--linea); }
  .aprob li { padding: 12px 16px; } .chk-lista { padding: 0 16px 12px; } .control-flujo { padding: 14px 16px 6px; } .sig-paso { padding: 12px 16px; } .area { padding: 14px 16px 10px; } .proyecto { padding: 16px; }
  .asis { grid-template-columns: 150px repeat(var(--d), minmax(58px, 1fr)) 72px; }
  .est-fila { grid-template-columns: 50px minmax(0, 1fr) 26px 26px; } .est-fila > select, .est-fila > .est-prob { grid-column: 2; } .est-fila { padding-bottom: 8px; border-bottom: 1px solid var(--linea); } .hilo-in { font-size: 16px; }
}
