/* GestionContable — lo propio sobre gp.css (el mismo de GestiónRRHH y Gestión PPTO).
   Maqueta aprobada por Carlos el 15-11-2026 (oficina_virtual/Cajonera/2026-11-15/maquetas/). */
#gp-top .marca{width:auto;margin-right:18px}
#gp-top .marca b{color:var(--amber)}
:root{--naranjo:#f97316}

/* Botones de calidad (rh.css de GestiónRRHH) */
.bq{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:30px;padding:0 12px;border-radius:7px;
  font:600 12px var(--sans);cursor:pointer;text-decoration:none;white-space:nowrap;border:1px solid var(--border2);
  background:var(--bg3);color:var(--text);transition:background .15s,border-color .15s}
.bq:hover{border-color:#e8c547;background:rgba(232,197,71,.08)}
.bq:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.45)}
.bq svg{width:15px;height:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bq.alto{height:34px;padding:0 14px;font-size:12.5px}
.bq.ama{border-color:#e8c547;color:#f3e5ab;background:rgba(232,197,71,.05)}
.bq.p{background:#1d4ed8;border-color:#1d4ed8;color:#fff;font-weight:700}.bq.p:hover{background:#1e40af}
.bq.ok{background:#047857;border-color:#047857;color:#fff;font-weight:700}.bq.ok:hover{background:#065f46}
.bq.ver{border-color:rgba(16,185,129,.6);color:#6ee7b7;background:transparent}
.bq.wa{border-color:rgba(37,211,102,.6);color:#86efac;background:transparent}
.bq.alerta{border-color:rgba(239,68,68,.55);color:#fca5a5;background:transparent}
.bq[disabled]{opacity:.45;cursor:not-allowed}

/* Barra de menú horizontal (rh.css) */
#gp-menu.menu-h{width:auto;flex-shrink:0;min-height:42px;display:flex;align-items:stretch;gap:2px;padding:0 10px;
  background:#000;border-right:0;border-bottom:1px solid #2a2f3a;overflow:visible;position:relative;z-index:30;font-size:13px}
#gp-menu.menu-h .sec{position:relative;display:flex}
#gp-menu.menu-h .der{margin-left:auto}
#gp-menu.menu-h .bt{display:flex;align-items:center;gap:7px;padding:0 13px;background:none;border:0;border-bottom:2px solid transparent;
  color:var(--text2);font:600 13px var(--sans);cursor:pointer;text-decoration:none;white-space:nowrap}
#gp-menu.menu-h .bt .ic{color:var(--amber);width:22px;height:22px}
#gp-menu.menu-h .bt:hover{color:var(--text);background:#1a1a1a}
#gp-menu.menu-h .bt.off{opacity:.42;cursor:default}
#gp-menu.menu-h .sec.aqui > .bt{color:var(--amber);border-bottom-color:var(--amber)}
#gp-menu.menu-h .fase{font:9px var(--mono);border:1px solid currentColor;border-radius:3px;padding:0 4px}
#gp-menu.menu-h .bdg{background:var(--red);color:#fff;font:600 10px var(--mono);border-radius:8px;padding:0 6px}
#gp-menu.menu-h .bdg.a{background:var(--amber);color:#0f1117}
#gp-menu.menu-h .dd{display:none;position:absolute;top:100%;left:0;min-width:250px;background:var(--bg2);border:1px solid var(--border2);
  border-top:2px solid var(--amber);border-radius:0 0 8px 8px;box-shadow:0 14px 34px rgba(0,0,0,.55);padding:6px 0}
#gp-menu.menu-h .der .dd{left:auto;right:0}
#gp-menu.menu-h .sec.abierta > .dd{display:block}
#gp-menu.menu-h .dd a{display:block;padding:8px 16px;color:var(--text2);text-decoration:none;border-left:3px solid transparent}
#gp-menu.menu-h .dd a:hover,#gp-menu.menu-h .dd a:focus{background:var(--bg3);color:var(--text);outline:none;border-left-color:var(--amber)}
#gp-menu.menu-h .dd a.on{color:var(--amber)}
#gp-menu.menu-h .dd .d{display:block;font-size:11px;color:var(--text3)}

/* Página */
.cubre{background:rgba(249,115,22,.1);border-bottom:1px solid rgba(249,115,22,.45);color:#fdba74;font-size:12.5px;padding:7px 18px;flex-shrink:0}
.pag{flex:1;min-height:0;overflow:auto;padding:0 20px 26px}
.saludo{display:flex;align-items:flex-end;gap:16px;padding:16px 0 12px;flex-wrap:wrap}
.saludo h1{font-size:20px;font-weight:600;margin:0}.saludo .sub{font-size:12px;color:var(--text2);margin-top:2px}
.saludo .der{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;text-align:left;color:var(--text);cursor:pointer;font:inherit}
.tile:hover{border-color:var(--border2)}
.tile.on{border-color:var(--tc);box-shadow:inset 0 -2px 0 var(--tc)}
.tile .l{font:10px var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.tile .v{font:600 24px var(--mono);margin-top:4px;letter-spacing:-.5px;color:var(--tc)}
.tile .s{font-size:11px;color:var(--text2);margin-top:3px}
.card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;min-width:0;margin-top:14px;overflow:hidden}
.card > h2{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;margin:0;padding:11px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.card > h2 .x{margin-left:auto;font:400 11px var(--sans);color:var(--text3);display:flex;gap:8px;align-items:center}
.card > h2 a{color:var(--accent);cursor:pointer}
.tabla{overflow-x:auto}
.tabla table{min-width:760px;background:var(--bg)}
.tabla td .nom{color:var(--text)}
.tabla td.acc{text-align:right;white-space:nowrap}
.tabla td.acc .bq{margin-left:4px}
.chico{font:10px var(--mono);color:var(--text3)}
.b-nar{background:rgba(249,115,22,.12);color:var(--naranjo);border-color:rgba(249,115,22,.35)}
.tg{display:inline-block;font:9px var(--mono);border:1px solid var(--border2);color:var(--text3);border-radius:3px;padding:0 4px;margin-left:4px;text-transform:uppercase;vertical-align:1px}
.tg.cub{border-color:rgba(249,115,22,.5);color:var(--naranjo)}
.leyenda{display:flex;gap:14px;font-size:11px;color:var(--text2);margin:10px 14px;flex-wrap:wrap}
.leyenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.hm-c{display:inline-grid;place-items:center;width:30px;height:20px;border-radius:3px;font:600 9px var(--mono);color:#0f1117;margin:1px}
.hm-c.fuera{background:repeating-linear-gradient(135deg,transparent 0 3px,rgba(255,255,255,.05) 3px 5px);border:1px dashed var(--border);color:var(--text3)}
.nota{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:10px 12px;color:var(--text2);font-size:12px;margin-top:12px;line-height:1.6}
.nota b{color:var(--text)}.nota.a{border-left-color:var(--amber)}
.vacio2{color:var(--text3);font-size:12px;padding:14px;line-height:1.6}

/* Diálogos propios */
dialog.gp.ancho{width:min(1100px,calc(100vw - 24px))}
dialog.gp.medio{width:min(780px,calc(100vw - 24px))}
dialog.gp .dh .sub-d{display:block;font:400 11px var(--mono);color:var(--text3);margin-top:3px}
dialog.gp .db{flex:1;min-height:0}
dialog.gp .df{flex-wrap:wrap}
.rot{font:600 9.5px var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;padding-bottom:5px;border-bottom:1px solid var(--border);margin:14px 0 8px}
.rej{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 10px}
.campo{display:flex;flex-direction:column;gap:3px;min-width:0}
.campo label{font:9px var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:.07em}
.campo input.num{text-align:right;font-family:var(--mono)}
.campo input.calc{background:var(--bg);border-style:dashed;color:var(--green);font-family:var(--mono);text-align:right}
.campo.falta input,.campo.falta select,input.mal,select.mal{border-color:var(--red)!important;background:rgba(239,68,68,.06)!important}
.casilla{display:flex;gap:8px;align-items:flex-start;padding:5px 0;font-size:12.5px;cursor:pointer}
.casilla input{margin-top:2px;width:auto}
.casilla.off{opacity:.45;cursor:default}
.sucio{color:var(--amber);font-size:12px;margin-right:auto}
.err-campo{color:var(--red);font-size:11px}
.tarea-rej{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
@media (max-width:900px){.tarea-rej{grid-template-columns:minmax(0,1fr)}}
.ruta{display:flex;flex-wrap:wrap;margin-top:10px}
.ruta span{display:flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--border);background:var(--bg3);font-size:11.5px;color:var(--text2);margin-left:-1px}
.ruta span:first-child{border-radius:7px 0 0 7px;margin-left:0}.ruta span:last-child{border-radius:0 7px 7px 0}
.ruta .k{width:18px;height:18px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font:600 9.5px var(--mono)}
.ruta .ok{color:var(--green)}.ruta .ya{color:var(--accent);border-color:rgba(59,130,246,.55);background:rgba(59,130,246,.1);position:relative;z-index:1}
.total-g{display:flex;justify-content:space-between;align-items:baseline;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 12px;margin-top:10px}
.total-g span{font:9.5px var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.total-g b{font:600 20px var(--mono);color:var(--amber)}
.vtabs{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}
.traza{display:grid;gap:3px;font:11px var(--mono);color:var(--text2)}
.traza span{padding:3px 8px;border-left:2px solid var(--border2)}
.correo{background:#fff;color:#1a1a1a;border-radius:6px;padding:16px;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45;overflow-x:auto}
.correo p{margin:0 0 10px}
.correo .enc{font-size:12px;border-bottom:3px solid #000;padding-bottom:6px;margin-bottom:10px}
.correo table{min-width:0;width:auto;border-collapse:collapse;font-size:12.5px;background:#fff}
.correo th{position:static;background:#F8CBAD;color:#000;font:400 12px Arial,sans-serif;text-transform:none;letter-spacing:0;text-align:center;border:1px solid #000;padding:2px 8px;box-shadow:none}
.correo td{border:1px solid #000;padding:2px 8px;color:#000!important;background:#fff;white-space:nowrap}
.correo tbody tr{cursor:default}.correo tbody tr:hover td{background:#fff}
.correo tr.tot td{background:#FFF2CC;font-weight:700}
.correo mark{background:#FFFF00;font-weight:700;color:#000}
.correo .firma{color:#7F7F7F;font-weight:700;margin-top:10px}.correo .firma span{color:#ED7D31}
.wa{background:#0B141A;border-radius:8px;padding:14px;max-width:460px}
.wa .burbuja{background:#144D37;color:#E9EDEF;border-radius:8px;padding:9px 11px;white-space:pre-wrap;font:13.5px/1.45 "Segoe UI",system-ui,sans-serif}
.wa .hora{text-align:right;font:11px var(--mono);color:#8FA9A0}

/* Ingreso */
.ingreso{min-height:100vh;display:grid;place-items:center;padding:20px}
.ingreso .caja-i{width:min(400px,100%);background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:22px 24px}
.ingreso h1{font-size:18px;margin:0 0 4px}.ingreso h1 b{color:var(--amber)}
.ingreso .sub{font-size:12px;color:var(--text2);margin-bottom:16px;line-height:1.5}
.ingreso .campo{margin-bottom:10px}
.ingreso .campo input{width:100%}
.ingreso .aviso{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.4);color:#fcd34d;border-radius:6px;padding:8px 10px;font-size:12px;margin-bottom:12px;line-height:1.5}
.ingreso .error{min-height:16px;margin:6px 0}
