/* ============================================================
   Guardia vacante
   styles/guardia-vacante.css
   Antes vivía dentro de index.html. Mismo contenido, sin cambios.
   ============================================================ */
  .gv-form-card2,.gv-mis-card2{background:var(--blanco);border:1.5px solid var(--borde);box-shadow:var(--shadow);border-radius:16px;padding:24px 26px;margin-bottom:18px}
  .gv-seclbl{font-family:var(--font-secondary);letter-spacing:.1em;text-transform:uppercase;color:var(--verde);align-items:center;gap:8px;margin-bottom:8px;font-size:.7rem;font-weight:900;display:flex}
  .gv-seclbl .gv-num{background:var(--verde);min-width:22px;height:22px;color:var(--negro);border-radius:50%;justify-content:center;align-items:center;padding:0 4px;font-size:.7rem;font-weight:900;display:inline-flex}
  .gv-form-hint{color:var(--gris-4);margin-bottom:18px;font-size:.82rem;font-weight:600}
  .gv-form-grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}
  @media (max-width:560px){.gv-form-grid2{grid-template-columns:1fr}}
  .gv-field2{margin-bottom:14px;flex-direction:column;display:flex}
  .gv-field2 label{font-family:var(--font-secondary);letter-spacing:.04em;text-transform:uppercase;color:var(--gris-4);margin-bottom:6px;font-size:.72rem;font-weight:800}
  .gv-field2 input,.gv-field2 select{border:1.5px solid var(--borde);border-radius:10px;font-family:var(--font-main);color:var(--negro);background:var(--fondo);box-sizing:border-box;outline:none;width:100%;padding:11px 14px;font-size:.9rem;font-weight:600;transition:border-color .15s}
  .gv-field2 input:focus,.gv-field2 select:focus{border-color:var(--verde);background:var(--blanco)}
  .gv-check-especial{cursor:pointer;background:var(--gris-1);border:1.5px solid var(--borde);border-radius:10px;align-items:center;gap:10px;margin:6px 0 4px;padding:12px 16px;font-family:var(--font-main);color:var(--negro);font-size:.86rem;font-weight:700;display:flex}
  .gv-check-especial input{width:18px;height:18px;accent-color:var(--verde)}
  .gv-btn2{border-radius:10px;font-family:var(--font-main);cursor:pointer;border:none;padding:11px 22px;font-size:.86rem;font-weight:800;transition:opacity .15s,transform .1s}
  .gv-btn2:hover{opacity:.88;transform:translateY(-1px)}
  .gv-btn2-mint{background:var(--verde);color:var(--negro)}
  .gv-btn2-navy{background:var(--azul);color:#fff}
  .gv-btn2-ghost{background:var(--gris-1);color:var(--negro);border:1.5px solid var(--borde)}
  .gv-btn2-del{background:var(--rosa-p);color:var(--rosa)}
  .gv-vacio{color:var(--gris-4);text-align:center;background:var(--gris-1);border-radius:10px;padding:22px;font-size:.85rem;font-weight:600}
  .gv-mis-card{background:var(--fondo);border:1.5px solid var(--borde);border-radius:12px;margin-bottom:10px;padding:14px 16px}
  .gv-mis-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}
  .gv-mis-card-fecha{font-family:var(--font-main);color:var(--negro);font-size:.92rem;font-weight:800;text-transform:capitalize}
  .gv-mis-card-sub{color:var(--gris-4);margin-top:3px;font-size:.78rem;font-weight:600}
  .gv-mis-pill{border-radius:999px;white-space:nowrap;padding:4px 12px;font-size:.72rem;font-weight:800}
  .gv-mis-pill.rev{background:#fef3c7;color:#92400e}
  .gv-mis-pill.apr{background:var(--azul-p);color:var(--azul)}
  .gv-mis-pill.rec{background:var(--rosa-p);color:var(--rosa)}
  .gv-mis-pill.pag{background:var(--verde-p);color:#0b8f6a}
  .gv-tag-especial{background:#ede9fe;color:#6d28d9;border-radius:999px;margin-top:8px;padding:2px 10px;font-size:.7rem;font-weight:800;display:inline-block}
  .gv-mis-nota-rechazo{background:var(--rosa-p);color:var(--rosa);border-radius:8px;margin-top:8px;padding:9px 12px;font-size:.78rem;font-weight:700;line-height:1.4}

  /* ===== ADMIN ===== */
  .gv-admin-toolbar2{background:var(--blanco);border:1.5px solid var(--borde);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:16px 18px;display:flex}
  .gv-tabla-wrap2{background:var(--blanco);border:1.5px solid var(--borde);box-shadow:var(--shadow);border-radius:14px;overflow-x:auto}
  .gv-tabla2{border-collapse:collapse;width:100%;font-size:.82rem;min-width:760px}
  .gv-tabla2 th{background:var(--negro);color:#fff;text-align:left;white-space:nowrap;padding:11px 14px;font-size:.68rem;font-weight:800;letter-spacing:.04em}
  .gv-tabla2 td{border-bottom:1px solid var(--gris-1);vertical-align:middle;color:var(--negro);padding:11px 14px;font-weight:600}
  .gv-tabla2 tr:hover td{background:var(--fondo)}
  .gv-pill2{border-radius:999px;white-space:nowrap;padding:3px 10px;font-size:.7rem;font-weight:800;display:inline-block}
  .gv-pill2.rev{background:#fef3c7;color:#92400e}
  .gv-pill2.apr{background:var(--azul-p);color:var(--azul)}
  .gv-pill2.rec{background:var(--rosa-p);color:var(--rosa)}
  .gv-pill2.pag{background:var(--verde-p);color:#0b8f6a}
  .gv-acc-row{flex-wrap:wrap;gap:5px;display:flex}
  .gv-btn-mini{padding:5px 11px!important;font-size:.74rem!important}
  .gv-totales-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}
  .gv-tot-card{background:var(--blanco);border:1.5px solid var(--borde);box-shadow:var(--shadow);border-radius:14px;padding:18px 20px}
  .gv-tot-nombre{color:var(--negro);margin-bottom:10px;font-size:1rem;font-weight:800}
  .gv-tot-row{color:var(--gris-4);justify-content:space-between;margin-bottom:4px;font-size:.8rem;font-weight:600;display:flex}
  .gv-tot-row strong{color:var(--negro)}
  .gv-tot-total{border-top:1.5px solid var(--borde);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;font-size:.9rem;font-weight:800;display:flex}
  .gv-deuda{color:var(--rosa)}.gv-ok{color:#0b8f6a}
  /* Modales admin */
  .gv-modal2{z-index:10000;background:#0f111e99;justify-content:center;align-items:center;padding:18px;display:none;position:fixed;inset:0}
  .gv-modal2-card{background:var(--blanco);border-radius:16px;width:100%;max-width:480px;max-height:90vh;padding:26px;overflow-y:auto;box-shadow:0 16px 60px #0f111e40}
  .gv-modal2-card h3{color:var(--negro);margin-bottom:4px;font-size:1.05rem;font-weight:900}
  .gv-modal2-sub{color:var(--gris-4);margin-bottom:18px;font-size:.8rem;font-weight:600}
  .gv-modal2-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}
  .gv-ap-total-box{background:var(--negro);border-radius:12px;justify-content:space-between;align-items:center;margin-top:6px;padding:16px 20px;display:flex}
  .gv-ap-total-box span:first-child{color:#ffffff80;font-family:var(--font-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:900}
  .gv-ap-total-num{font-family:var(--font-display);letter-spacing:1px;color:var(--verde);font-size:1.8rem}
  .gv-precio-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}
  .gv-precio-nombre{flex:1;border:1.5px solid var(--borde);border-radius:8px;font-family:var(--font-main);color:var(--negro);background:var(--fondo);outline:none;padding:9px 12px;font-size:.85rem;font-weight:700}
  .gv-precio-monto-wrap{align-items:center;gap:4px;display:flex;font-weight:700;color:var(--gris-4)}
  .gv-precio-monto{border:1.5px solid var(--borde);border-radius:8px;width:90px;text-align:right;font-family:var(--font-main);color:var(--negro);outline:none;padding:9px 10px;font-size:.85rem;font-weight:700}
  /* Badge de validación cruzada con Horas de Conexión (compartido con Pago de Horas) */
  .hxv-badge{border-radius:999px;white-space:nowrap;padding:3px 10px;font-size:.68rem;font-weight:800;display:inline-block;background:var(--gris-1);color:var(--gris-4)}
  .hxv-badge.hxv-validado{background:var(--verde-p);color:#0b8f6a}
  .hxv-badge.hxv-parcial{background:#fef3c7;color:#92400e}
  .hxv-badge.hxv-sin-evidencia{background:var(--rosa-p);color:var(--rosa)}
  /* Chips de filtro por célula */
  .gv-chips-wrap{display:flex;flex-wrap:wrap;gap:8px}
  .gv-chip{border:1.5px solid var(--borde);background:var(--blanco);color:var(--gris-4);border-radius:999px;padding:6px 14px;font-family:var(--font-secondary);font-size:.76rem;font-weight:800;cursor:pointer;transition:all .15s}
  .gv-chip:hover{border-color:var(--verde)}
  .gv-chip.active{background:var(--verde);border-color:var(--verde);color:var(--negro)}
  /* Tarjetas de acumulado: botones X y editar */
  .gv-tot-card{position:relative}
  .gv-tot-del{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;border:none;background:var(--rosa-p);color:var(--rosa);font-weight:900;font-size:.75rem;cursor:pointer;line-height:1}
  .gv-tot-del:hover{background:var(--rosa);color:#fff}
  .gv-tot-edit{border:none;background:none;color:var(--gris-4);cursor:pointer;font-size:.75rem;margin-left:6px}
  .gv-tot-edit:hover{color:var(--azul)}
  /* Tablero Aprobado Por */
  .gv-ap-bloque{background:var(--blanco);border:1.5px solid var(--borde);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px;margin-bottom:14px}
  .gv-ap-bloque-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
  /* ── Calendario de Vacantes ── */
  .gv-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
  .gv-cal-mes-actual{font-family:var(--font-display);letter-spacing:1px;color:var(--negro);font-size:1.05rem;text-transform:capitalize}
  .gv-cal-dias-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}
  .gv-cal-dias-header span{text-align:center;font-family:var(--font-secondary);font-size:.68rem;font-weight:900;color:var(--gris-4);text-transform:uppercase;letter-spacing:.04em;padding:4px 0}
  .gv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
  .gv-cal-dia{background:var(--fondo);border:1.5px solid var(--borde);border-radius:9px;min-height:74px;padding:5px;display:flex;flex-direction:column;gap:3px;position:relative}
  .gv-cal-dia.gv-cal-vacio{background:transparent;border:none}
  .gv-cal-dia.gv-cal-hoy{border-color:var(--verde);box-shadow:0 0 0 1.5px var(--verde) inset}
  .gv-cal-dia-num{font-family:var(--font-secondary);font-size:.72rem;font-weight:800;color:var(--gris-4)}
  .gv-cal-add-btn{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:none;background:var(--gris-1);color:var(--gris-4);font-size:.7rem;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
  .gv-cal-add-btn:hover{background:var(--verde);color:var(--negro)}
  .gv-cal-chip{border-radius:6px;padding:2px 5px;font-size:.62rem;font-weight:800;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s}
  .gv-cal-chip:hover{opacity:.8}
  .gv-cal-chip.gv-cal-chip-disponible{background:var(--verde-p,#d7f7ec);color:#0b8f6a;border:1px dashed #0b8f6a}
  .gv-cal-chip.gv-cal-chip-mia{background:var(--azul-p,#eef4ff);color:var(--azul,#272883);border:1px solid var(--azul,#272883)}
  .gv-cal-chip.gv-cal-chip-tomada{background:var(--gris-1);color:var(--gris-4);border:1px solid var(--borde)}
  .gv-cal-chip.gv-cal-chip-aprobada{background:#fef3c7;color:#92400e;border:1px solid #d97706}
  .gv-cal-det-row{display:flex;justify-content:space-between;font-size:.85rem;padding:6px 0;border-bottom:1px solid var(--gris-1)}
  .gv-cal-det-row:last-child{border-bottom:none}
