Conectar Drive
--:--:--
👁 MODO SOLO LECTURA
📌 Panel operativo
⏰ Tareas próximas
✈ Próximos VC
🚔 Alertas vehículos
📡 Estado BUBAS
📌 Nueva cita / tarea
👮 Estado de Hoy
Nombre TIP Empleo Sección Turno Hoy Ausencia/VC Estado
📋 Notas del Día
👮 Gestión de Personal
#NombreTIP/NIPEmpleoSecciónTeléfonoEmailRolEstadoAcciones
📁 Personal fuera del grupo
Nombre TIP/NIP Empleo Sección Teléfono Email Acciones
📊 Contadores Anuales

💡 Doble clic en celda para editar días asignados. Verde=OK, naranja=75%+, rojo=agotado.

Funcionario
📅 Cuadrante Semanal
Fin de semana Festivo Nota

💡 Toca/clic para ciclar turno. Clic derecho / mantén 0.6s para nota. Las ausencias VC/Vac/AP/CH aparecen automáticamente sombreadas.

📝 Observaciones de la semana
📌 Citas / tareas de la semana
Fecha Hora Cita / tarea Responsables Estado Acciones
🏷 Leyenda y Conteo de Turnos
✈ Comisiones VC — Mensual

💡 Toca celda para marcar/desmarcar VC. Se descuenta del contador y aparece en semanal. Clic derecho para nota.

🏖 Vacaciones / AP / CH — Mensual

💡 Toca para ciclar ausencias. Se descuentan del contador y aparecen en semanal.

🏷 Leyenda Ausencias
📡 BUBAS · Acceso rápido
📡 Gestión de BUBAS (Geolocalizadores)
# Nombre Estado Device ID Contraseña IMEI SIM vinculada Instalación Observaciones Acciones
📱 Teléfonos máster
# Nombre Estado IMEI SIM vinculada Observaciones Acciones
💳 Tarjetas SIM
# Nº teléfono Nº físico SIM Compañía Estado Instalada en Última recarga PIN PUK Observaciones Acciones
🚗 SISVEH · Vehículos con BUBA

Control de vehículos que llevan o han llevado geolocalizador/BUBA. Registra movimientos por operación y calcula automáticamente el tiempo parado hasta el siguiente movimiento del mismo vehículo.

0
Operaciones
0
Vehículos controlados
0
Movimientos
Media parado
➕ SISVEH · Alta rápida de movimiento
🗂 SISVEH · Operaciones y vehículos
🔎 SISVEH · Filtros
📋 SISVEH · Historial de movimientos
#OperaciónVehículoFechaInicioParadaTiempo parado hasta siguienteDirección paradaObservacionesAcciones
📊 SISVEH · Análisis por vehículo
OperaciónVehículoMovimientosPrimer movimientoÚltimo movimientoTiempo parado acumulado
🚔 Control de Vehículos Policiales
# Marca y modelo Matrícula CNP Matrícula civil Combustible Kilómetros Estado Próx. aceite/filtros Próx. ruedas ITV Observaciones Acciones
🛠 Histórico de mantenimientos / obras
Fecha Fecha arreglo Vehículo Tipo Kilómetros Taller Observaciones Acciones
🔄 Incidencias Rotatorias
#IncidenciaTipoResponsableInicioFinEstadoNotasAcciones
🔁 Orden de Rotación
🧭 Administración

Acceso, informes, abreviaturas, configuración e historial agrupados en una única pestaña. El bloque de acceso queda visible para todos; la edición administrativa sigue restringida por permisos.

🔐 Acceso y conexión

Este bloque queda disponible para cualquier usuario, incluso sin permisos de edición, para poder iniciar sesión, pegar el ID compartido y conectarse a SISGRUP la primera vez.

👥 Multi-usuario · visible para todos
PASOS PARA AÑADIR UN EDITOR:
  1. Abre Google Drive → busca sisgrup_data.json → clic derecho → Compartir
  2. Añade el correo con permiso Editor o Lector
  3. Dale el ID del archivo (abajo) y la URL de SISGRUP
  4. El otro usuario: Config → pega ID → elige rol → Conectar
ID DEL ARCHIVO:
CONECTAR A ARCHIVO COMPARTIDO:
👤 Cuenta y Estado · visible para todos
Drive: No conectado
Usuario: No identificado
Archivo:
Último guardado:
📄 Informes y Exportación

💡 Cada informe pregunta el formato: PDF (imprimible), CSV (Excel) o HTML.

📊
Contadores Anuales
V, AP, CH, SS, N, VAP por funcionario
📅
Cuadrante Semanal
Turnos de la semana visible
Comisiones VC
Mes seleccionado con totales
🏖
Vac / AP / CH
Mes seleccionado
🔄
Incidencias
Todas las incidencias
👮
Plantilla
Todos los funcionarios
📡
BUBAS
Todos los geolocalizadores
🖨
Resumen Completo
Dashboard general imprimible
🏷 Abreviaturas

💡 Turno: semanal. Ausencia: Vac/AP/CH (contabiliza y aparece en semanal). VC: comisiones (aparece en semanal).

📱 Instalar en iPhone/iPad
  1. Abre Safari en tu iPhone o iPad
  2. Ve a la URL de SISGRUP
  3. Pulsa el botón Compartir ⎙ (barra inferior)
  4. Toca "Añadir a pantalla de inicio"
  5. Nombre: SISGRUP"Añadir"
✅ Icono en pantalla de inicio  ✅ Pantalla completa  ✅ Misma cuenta Google  ⚠ Necesita internet
🗄 Backup
🧾 Historial de auditoría

Editar tarea

Añadir Funcionario

Días asignados — Año actual

Nueva Abreviatura

Nueva Incidencia

Editar Contador

Asignación Masiva

Establece días para todos los funcionarios. Vacío = no modificar.

⠿ Reordenar Personal

Arrastra o usa ▲▼. Este orden se refleja en todos los cuadrantes.

✏ Orden de Rotación de Incidencias

Arrastra o usa ▲▼ para establecer el orden de rotación.

Nueva BUBA

Nuevo teléfono máster

Nueva tarjeta SIM

Nuevo Vehículo

Nuevo mantenimiento

🎲 Autocompletar Semana

Rellena solo celdas vacías de lunes a viernes. Usa únicamente M y T. No toca vacaciones, AP, CH, VC ni turnos ya introducidos. Excluye inspectores.

Pulsa “Simular” para ver la propuesta antes de aplicarla.

🎲 Generador Automático VC

Exportar Informe

Selecciona el formato de exportación:

--red:#DC2626; --green:#10B981; --ora:#F97316; --pur:#8B5CF6; --cy:#06B6D4; --pk:#EC4899; /* TEXTO */ --tx:#24324A; --tx2:#6B7A90; --tx3:#9AA9BC; --wh:#152033; /* EFECTOS */ --sh:0 2px 10px rgba(15,23,42,.05); --glow:none; --r:10px; /* WEEKEND / FESTIVOS */ --we-bg:#F5F3FF; --we-th:#EDE9FE; --hol-bg:#FEF2F2; --hol-th:#FEE2E2; } *{box-sizing:border-box;margin:0;padding:0;} body{ font-family:'Inter',sans-serif; background:var(--bg); color:var(--tx); display:flex; flex-direction:column; min-height:100vh; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; line-height:1.4; } #hdr{ background:#FFFFFF; border-bottom:1px solid var(--b1); padding:0 14px; display:flex; align-items:center; justify-content:space-between; height:56px; flex-shrink:0; position:sticky; top:0; z-index:200; gap:8px; } .logo{display:flex;align-items:center;gap:10px;} .shield{width:32px;height:38px;background:linear-gradient(160deg,var(--ac),var(--ac3));clip-path:polygon(50% 0%,100% 20%,100% 70%,50% 100%,0% 70%,0% 20%);display:flex;align-items:center;justify-content:center;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:10px;color:#fff;box-shadow:0 0 14px rgba(26,127,212,.7);} .logo h1{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;color:var(--wh);letter-spacing:3px;} .logo small{font-family:'Share Tech Mono',monospace;font-size:8px;color:var(--tx2);letter-spacing:2px;display:block;} .hm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;} #clock{font-family:'Share Tech Mono',monospace;font-size:16px;color:var(--ac2);letter-spacing:2px;} #ddate{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--tx2);letter-spacing:1px;text-align:right;} .ds{display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:20px;font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;letter-spacing:1px;border:1px solid var(--b2);cursor:pointer;transition:all .2s;white-space:nowrap;} .ds.off{color:var(--tx2);background:var(--bg3);} .ds.on{color:var(--green);background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.3);} .ds.sav{color:var(--gold);background:rgba(232,160,32,.1);border-color:rgba(232,160,32,.3);} .ds.ro{color:var(--cy);background:rgba(6,182,212,.1);border-color:rgba(6,182,212,.3);} .ds-dot{width:6px;height:6px;border-radius:50%;background:currentColor;} .rbadge{font-family:'Rajdhani',sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 9px;border-radius:4px;} .rbadge.ed{background:rgba(26,127,212,.15);color:var(--ac2);border:1px solid rgba(26,127,212,.3);} .rbadge.ro{background:rgba(6,182,212,.1);color:var(--cy);border:1px solid rgba(6,182,212,.3);} #ro-banner{display:none;background:rgba(6,182,212,.1);border-bottom:1px solid rgba(6,182,212,.3);padding:5px 14px;text-align:center;font-family:'Rajdhani',sans-serif;font-size:11px;color:var(--cy);letter-spacing:1px;} #nav{ background:#FFFFFF; border-bottom:1px solid var(--b1); display:flex; padding:0 12px; overflow-x:auto; flex-shrink:0; scrollbar-width:none; } #nav::-webkit-scrollbar{height:0;} .nb{ font-family:'Inter',sans-serif; font-weight:600; font-size:11px; letter-spacing:.5px; text-transform:uppercase; color:var(--tx2); background:none; border:none; padding:11px 13px; cursor:pointer; white-space:nowrap; border-bottom:3px solid transparent; transition:all .2s; } .nb:hover{ color:var(--tx); } .nb.act{ color:var(--ac2); border-bottom-color:var(--ac2); } #main{flex:1;padding:14px;max-width:1700px;margin:0 auto;width:100%;} .view{display:none;} .view.act{display:block;} .pn{ background:var(--bg3); border:1px solid var(--b1); border-radius:12px; margin-bottom:14px; overflow:hidden; box-shadow:var(--sh); } .ph{ background:#FFFFFF; padding:12px 16px; border-bottom:1px solid var(--b1); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; } .pt{ font-family:'Inter',sans-serif; font-weight:700; font-size:13px; letter-spacing:.3px; text-transform:none; color:var(--tx); display:flex; align-items:center; gap:7px; } .pb{padding:15px;} .sr{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:10px;margin-bottom:14px;} .sc{background:var(--bg3);border:1px solid var(--b2);border-radius:var(--r);padding:12px 10px;text-align:center;transition:border-color .2s,box-shadow .2s;} .sc:hover{border-color:var(--ac);box-shadow:var(--glow);} .sv{font-family:'Rajdhani',sans-serif;font-size:28px;font-weight:700;line-height:1;} .sl{font-size:9px;color:var(--tx2);letter-spacing:1px;text-transform:uppercase;margin-top:4px;} .cb{color:var(--ac2);} .cg{color:var(--green);} .cr{color:var(--red);} .cgo{color:var(--gold);} .co{color:var(--ora);} .cp{color:var(--pur);} .cc{color:var(--cy);} .cpk{color:var(--pk);} .btn{font-family:'Rajdhani',sans-serif;font-weight:600;font-size:11px;letter-spacing:1px;cursor:pointer;border:none;border-radius:5px;padding:7px 13px;transition:all .2s;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;} .bp{background:var(--ac);color:#fff;} .bp:hover{background:var(--ac2);box-shadow:var(--glow);} .bd{background:var(--red);color:#fff;} .bd:hover{filter:brightness(1.2);} .bg{background:transparent;color:var(--tx2);border:1px solid var(--b2);} .bg:hover{color:var(--tx);border-color:var(--ac);} .bsu{background:var(--green);color:#021a0f;} .bsu:hover{filter:brightness(1.15);} .bgo{background:var(--gold);color:#1a0e00;} .bgo:hover{filter:brightness(1.1);} .bsm{padding:4px 9px;font-size:10px;} .bxs{padding:3px 7px;font-size:10px;} .dt{width:100%;border-collapse:collapse;} .dt th{background:var(--bg3);color:var(--tx2);font-family:'Rajdhani',sans-serif;font-weight:600;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 10px;text-align:left;border-bottom:1px solid var(--grid);} .dt td{padding:8px 10px;border-bottom:1px solid var(--grid);font-size:12px;color:var(--tx);transition:background .15s;} .dt tr:hover td{ background:#F8FBFF; } .tw{overflow-x:auto;} .tw::-webkit-scrollbar{height:4px;} .tw::-webkit-scrollbar-thumb{background:var(--b2);} .bdg{display:inline-block;padding:2px 7px;border-radius:4px;font-family:'Share Tech Mono',monospace;font-size:10px;font-weight:700;letter-spacing:1px;} .bdg-ok{background:rgba(16,185,129,.15);color:var(--green);border:1px solid rgba(16,185,129,.3);} .bdg-bj{background:rgba(220,38,38,.15);color:var(--red);border:1px solid rgba(220,38,38,.3);} .bdg-co{background:rgba(249,115,22,.15);color:var(--ora);border:1px solid rgba(249,115,22,.3);} .bdg-ot{background:rgba(139,92,246,.15);color:var(--pur);border:1px solid rgba(139,92,246,.3);} .mo{display:none;position:fixed;inset:0;background:rgba(4,6,12,.9);z-index:500;align-items:center;justify-content:center;padding:12px;} .mo.open{display:flex;} .md{background:var(--bg2);border:1px solid var(--b2);border-radius:10px;padding:20px;width:100%;max-width:520px;box-shadow:0 24px 64px rgba(0,0,0,.8);max-height:92vh;overflow-y:auto;} .md h3{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:700;color:var(--ac2);letter-spacing:2px;text-transform:uppercase;margin-bottom:15px;} /* ===== CHIPS RESPONSABLES TAREAS ===== */ .chips-box{ position:relative; background:var(--bg3); border:1px solid var(--b2); border-radius:7px; padding:7px; } .chips-list{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; } .chip{ display:inline-flex; align-items:center; gap:6px; background:rgba(37,99,235,.12); color:var(--ac3); border:1px solid rgba(37,99,235,.25); border-radius:20px; padding:4px 8px; font-size:12px; font-weight:600; } .chip button{ border:none; background:transparent; color:var(--ac3); cursor:pointer; font-weight:700; } .chips-box input{ width:100%; border:none; outline:none; background:transparent; color:var(--tx); font-size:13px; font-family:'Inter',sans-serif; padding:4px; } .chips-suggestions{ position:absolute; left:0; right:0; top:100%; z-index:50; background:var(--bg3); border:1px solid var(--b2); border-radius:7px; margin-top:4px; box-shadow:var(--sh); display:none; max-height:180px; overflow:auto; } .chips-suggestions div{ padding:8px 10px; font-size:12px; cursor:pointer; } .chips-suggestions div:hover{ background:var(--bg4); } /* FORMULARIOS */ .fr{margin-bottom:11px;} .fr label{display:block;font-size:9px;color:var(--tx2);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;} .fr input,.fr select,.fr textarea{width:100%;background:var(--bg3);border:1px solid var(--b2);border-radius:5px;padding:8px 10px;color:var(--tx);font-size:13px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;} .fr input:focus,.fr select:focus,.fr textarea:focus{border-color:var(--ac);} .fg{display:grid;grid-template-columns:1fr 1fr;gap:10px;} .fa{display:flex;gap:8px;justify-content:flex-end;margin-top:15px;} select option{background:var(--bg3);} input[type="color"]{width:42px;height:30px;border:none;background:none;cursor:pointer;padding:0;border-radius:4px;} /* CUADRANTE SEMANAL */ .cs{border-collapse:collapse;width:100%;min-width:560px;} .cs th{background:var(--bg3);color:var(--tx2);font-family:'Rajdhani',sans-serif;font-weight:600;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 4px;text-align:center;border:1px solid var(--grid);} .cs th.we{background:var(--we-th);} .cs th.hol{background:var(--hol-th);} .cs td{border:1px solid var(--grid);padding:3px 2px;text-align:center;vertical-align:middle;} .cs td.we{background:var(--we-bg);} .cs td.hol{background:var(--hol-bg);} .cs tbody tr:nth-child(odd) td:not(.we):not(.hol){ background:rgba(255,255,255,0.025); } .cs tbody tr:nth-child(even) td:not(.we):not(.hol){ background:rgba(26,127,212,0.085); } .cs tbody tr:hover td:not(.we):not(.hol){ background:rgba(56,189,248,0.16)!important; } .cs .tfn{ text-align:left; padding:2px 6px; width:250px; min-width:240px; max-width:240px; overflow:hidden; } .tfn-name{ font-size:12px; font-weight:700; line-height:1.1; white-space:nowrap; overflow:visible; text-overflow:clip; } .tfn-emp{ font-size:9px; color:var(--tx2); opacity:.85; line-height:1; margin-top:1px; } .cs .tfn.we,.cs .tfn.hol{background:transparent!important;} .cs tr.alt-row td.we{background:var(--we-bg);} .cs tr.alt-row td.hol{background:var(--hol-bg);} .cb2{display:block;width:100%;min-width:32px;padding:5px 2px;background:transparent;border:1px solid transparent;border-radius:4px;font-family:'Share Tech Mono',monospace;font-weight:700;font-size:11px;transition:all .15s;color:var(--tx3);cursor:pointer;-webkit-tap-highlight-color:transparent;} .cb2:hover,.cb2:active{background:var(--bg3);border-color:var(--b2);} .cb2.has-val{border-color:transparent;} /* resumen fila */ .cs td.td-resumen{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--tx2);padding:3px 6px;text-align:left;min-width:60px;} /* conteo bottom */ .cs tr.conteo td{background:var(--bg3);font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--ac2);padding:4px 2px;border-top:2px solid var(--b2);} .cs tr.conteo td.lbl{text-align:left;padding-left:10px;color:var(--tx2);font-size:9px;} /* CUADRANTE MENSUAL */ .cm{border-collapse:collapse;width:100%;min-width:700px;} .cm th{background:var(--bg3);color:var(--tx2);font-family:'Rajdhani',sans-serif;font-weight:600;font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:6px 2px;text-align:center;border:1px solid var(--grid);min-width:22px;} .cm th.we{background:var(--we-th);} .cm th.hol{background:var(--hol-th);} .cm td{border:1px solid var(--grid);padding:2px 1px;text-align:center;} .cm tbody tr:nth-child(odd) td:not(.we):not(.hol){ background:rgba(255,255,255,0.025); } .cm tbody tr:nth-child(even) td:not(.we):not(.hol){ background:rgba(26,127,212,0.085); } .cm tbody tr:hover td:not(.we):not(.hol){ background:rgba(56,189,248,0.16)!important; } .cm td.we{background:var(--we-bg);} .cm td.hol{background:var(--hol-bg);} .cm .tfnm{text-align:left;padding:4px 9px;min-width:120px;font-size:11px;color:var(--tx);} .cm2{display:block;width:100%;padding:4px 0;min-width:20px;background:transparent;border:1px solid transparent;border-radius:3px;font-family:'Share Tech Mono',monospace;font-weight:700;font-size:10px;transition:all .15s;color:var(--tx3);cursor:pointer;-webkit-tap-highlight-color:transparent;} .cm2:hover,.cm2:active{background:var(--bg4);} /* COUNTER */ .cbar{height:5px;border-radius:3px;background:var(--bg3);overflow:hidden;margin-top:3px;} .cfill{height:100%;border-radius:3px;transition:width .4s;} .cc2{min-width:75px;cursor:pointer;} .cc2:hover{background:var(--bg4)!important;} /* NOTE */ .cwrap{position:relative;display:inline-block;width:100%;} .ndot{position:absolute;top:2px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--gold);pointer-events:none;} .npop{position:fixed;z-index:800;background:var(--bg2);border:1px solid var(--gold);border-radius:8px;padding:13px;min-width:210px;max-width:290px;box-shadow:0 12px 40px rgba(0,0,0,.7);} .npop textarea{width:100%;background:var(--bg3);border:1px solid var(--b2);border-radius:5px;padding:7px;color:var(--tx);font-size:12px;font-family:'Inter',sans-serif;resize:vertical;min-height:65px;outline:none;} .npop .nlbl{font-family:'Rajdhani',sans-serif;font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase;margin-bottom:5px;} .npop .nact{display:flex;gap:5px;margin-top:7px;justify-content:flex-end;} /* ABREV */ .ag{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:9px;} .ac2{background:var(--bg3);border:1px solid var(--b2);border-radius:var(--r);padding:10px 12px;display:flex;align-items:center;gap:10px;} .abb{font-family:'Share Tech Mono',monospace;font-size:13px;font-weight:700;padding:4px 8px;border-radius:5px;letter-spacing:1px;min-width:44px;text-align:center;flex-shrink:0;} .ai{flex:1;} .an{font-size:12px;font-weight:500;color:var(--wh);} .at{font-size:9px;color:var(--tx2);margin-top:1px;text-transform:uppercase;letter-spacing:1px;} /* INCIDENCIAS */ .itag{font-family:'Share Tech Mono',monospace;font-size:10px;background:rgba(26,127,212,.15);color:var(--ac2);border:1px solid rgba(26,127,212,.3);padding:2px 8px;border-radius:4px;} .rstrip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--bg3);border:1px solid var(--b2);border-radius:var(--r);padding:11px;} .ri{font-family:'Share Tech Mono',monospace;font-size:10px;background:var(--bg4);border:1px solid var(--b2);border-radius:4px;padding:3px 9px;color:var(--tx);} .ri.ract{background:rgba(26,127,212,.2);color:var(--ac2);border-color:var(--ac);} /* DRAG */ .dlist{list-style:none;padding:0;margin:0;} .ditem{display:flex;align-items:center;gap:9px;background:var(--bg3);border:1px solid var(--b2);border-radius:6px;padding:9px 11px;margin-bottom:7px;user-select:none;-webkit-user-select:none;touch-action:none;} .ditem.dov{background:var(--bg4);border-color:var(--ac);box-shadow:var(--glow);} .ditem.dg{opacity:.4;} .dhandle{color:var(--tx3);font-size:16px;cursor:grab;flex-shrink:0;touch-action:none;} .dnum{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--ac2);min-width:18px;text-align:center;} .dname{flex:1;font-size:12px;color:var(--tx);} .demp{font-size:9px;color:var(--tx2);} .darr{display:flex;flex-direction:column;gap:2px;} .darr button{background:var(--bg4);border:1px solid var(--b2);border-radius:3px;color:var(--tx2);cursor:pointer;padding:1px 5px;font-size:10px;line-height:1.4;} .darr button:hover{color:var(--ac2);border-color:var(--ac);} /* SISVEH integrado en BUBAS */ .sisveh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px} .sisveh-card{background:var(--bg3);border:1px solid var(--b2);border-radius:var(--r);padding:10px} .sisveh-val{font-family:'Rajdhani',sans-serif;font-size:26px;font-weight:700;color:var(--ac2);line-height:1} .sisveh-lbl{font-size:9px;color:var(--tx2);letter-spacing:1px;text-transform:uppercase;margin-top:4px} .sisveh-time{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--tx)} /* BUBAS */ .buba-en-uso{background:rgba(16,185,129,.15);color:var(--green);border:1px solid rgba(16,185,129,.3);} .buba-lista{background:rgba(56,189,248,.15);color:var(--ac2);border:1px solid rgba(56,189,248,.3);} .buba-sin-bateria{background:rgba(232,160,32,.15);color:var(--gold);border:1px solid rgba(232,160,32,.3);} .buba-no-funciona{background:rgba(220,38,38,.15);color:var(--red);border:1px solid rgba(220,38,38,.3);} .buba-perdida{background:rgba(139,92,246,.15);color:var(--pur);border:1px solid rgba(139,92,246,.3);} .buba-desechada{background:rgba(42,64,96,.2);color:var(--tx3);border:1px solid var(--b2);text-decoration:line-through;} /* SIM */ .sim-libre{background:rgba(16,185,129,.15);color:var(--green);border:1px solid rgba(16,185,129,.3);} .sim-en-uso{background:rgba(37,99,235,.15);color:var(--ac2);border:1px solid rgba(37,99,235,.3);} .sim-sin-saldo{background:rgba(232,160,32,.15);color:var(--gold);border:1px solid rgba(232,160,32,.3);} .sim-prestada{background:rgba(139,92,246,.15);color:var(--pur);border:1px solid rgba(139,92,246,.3);} .sim-baja{background:rgba(220,38,38,.15);color:var(--red);border:1px solid rgba(220,38,38,.3);} .sim-averiada{background:rgba(249,115,22,.15);color:var(--ora);border:1px solid rgba(249,115,22,.3);} /* REPORTS */ .rg{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px;} .rc{background:var(--bg3);border:1px solid var(--b2);border-radius:var(--r);padding:14px 12px;text-align:center;cursor:pointer;transition:all .2s;} .rc:hover{border-color:var(--ac);box-shadow:var(--glow);transform:translateY(-2px);} .ri2{font-size:24px;margin-bottom:7px;} .rn{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;color:var(--wh);letter-spacing:1px;} .rd{font-size:10px;color:var(--tx2);margin-top:3px;line-height:1.4;} /* MODAL FORMATO */ .fmt-opts{display:flex;gap:10px;justify-content:center;margin:16px 0;} .fmt-btn{flex:1;padding:14px;border-radius:8px;border:2px solid var(--b2);background:var(--bg3);color:var(--tx);cursor:pointer;text-align:center;transition:all .2s;font-family:'Rajdhani',sans-serif;font-weight:600;font-size:13px;letter-spacing:1px;} .fmt-btn:hover{border-color:var(--ac);color:var(--ac2);} .fmt-btn.sel{border-color:var(--ac2);background:rgba(56,189,248,.1);color:var(--ac2);} /* WARN */ .wstrip{background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3);border-radius:var(--r);padding:9px 13px;margin-bottom:13px;font-size:11px;color:var(--red);} /* MISC */ .fr2{display:flex;align-items:center;gap:7px;flex-wrap:wrap;} .tip{font-size:10px;color:var(--tx2);margin-bottom:9px;line-height:1.5;} .sep{height:1px;background:var(--b1);margin:13px 0;} .nlbl2{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:600;color:var(--ac2);letter-spacing:1px;} .sb{background:var(--bg3);border:1px solid var(--b2);border-radius:5px;padding:7px 10px;color:var(--tx);font-size:12px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;min-width:150px;} .sb:focus{border-color:var(--ac);} .est{text-align:center;padding:34px 20px;color:var(--tx3);font-size:12px;} .toast{position:fixed;bottom:16px;right:16px;z-index:1000;background:var(--bg3);border:1px solid var(--ac);border-radius:8px;padding:10px 15px;font-size:11px;color:var(--tx);box-shadow:var(--sh);animation:si .3s ease;max-width:250px;} .toast.err{border-color:var(--red);} .toast.warn{border-color:var(--gold);} @keyframes si{from{transform:translateX(120%);}to{transform:translateX(0);}} /* leyenda colores WE */ .ley-we{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--tx2);} .ley-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;} ::-webkit-scrollbar{width:5px;height:5px;} ::-webkit-scrollbar-track{background:var(--bg2);} ::-webkit-scrollbar-thumb{background:var(--b2);border-radius:3px;} @media print{#hdr,#nav,#ro-banner,.btn,.bsm,.bxs,.bp,.bd,.bg,.bgo,.bsu{display:none!important;}body{background:#fff;color:#000;}.pn{border:1px solid #ccc;}.dt td,.dt th,.cs td,.cs th,.cm td,.cm th{border-color:#ccc;color:#000;}.cs th.we,.cs td.we{background:#ede9fe!important;}.cs th.hol,.cs td.hol{background:#fee2e2!important;}.cm th.we,.cm td.we{background:#ede9fe!important;}.cm th.hol,.cm td.hol{background:#fee2e2!important;}}
Conectar Drive
--:--:--
👁 MODO SOLO LECTURA
📌 Panel operativo
⏰ Tareas próximas
✈ Próximos VC
🚔 Alertas vehículos
📡 Estado BUBAS
📌 Nueva cita / tarea
👮 Estado de Hoy
Nombre TIP Empleo Sección Turno Hoy Ausencia/VC Estado
📋 Notas del Día
👮 Gestión de Personal
#NombreTIP/NIPEmpleoSecciónTeléfonoEmailRolEstadoAcciones
📁 Personal fuera del grupo
Nombre TIP/NIP Empleo Sección Teléfono Email Acciones
📊 Contadores Anuales

💡 Doble clic en celda para editar días asignados. Verde=OK, naranja=75%+, rojo=agotado.

Funcionario
📅 Cuadrante Semanal
Fin de semana Festivo Nota

💡 Toca/clic para ciclar turno. Clic derecho / mantén 0.6s para nota. Las ausencias VC/Vac/AP/CH aparecen automáticamente sombreadas.

📝 Observaciones de la semana
📌 Citas / tareas de la semana
Fecha Hora Cita / tarea Responsables Estado Acciones
🏷 Leyenda y Conteo de Turnos
✈ Comisiones VC — Mensual

💡 Toca celda para marcar/desmarcar VC. Se descuenta del contador y aparece en semanal. Clic derecho para nota.

🏖 Vacaciones / AP / CH — Mensual

💡 Toca para ciclar ausencias. Se descuentan del contador y aparecen en semanal.

🏷 Leyenda Ausencias
📡 BUBAS · Acceso rápido
📡 Gestión de BUBAS (Geolocalizadores)
# Nombre Estado Device ID Contraseña IMEI SIM vinculada Instalación Observaciones Acciones
📱 Teléfonos máster
# Nombre Estado IMEI SIM vinculada Observaciones Acciones
💳 Tarjetas SIM
# Nº teléfono Nº físico SIM Compañía Estado Instalada en Última recarga PIN PUK Observaciones Acciones
🚗 SISVEH · Vehículos con BUBA

Control de vehículos que llevan o han llevado geolocalizador/BUBA. Registra movimientos por operación y calcula automáticamente el tiempo parado hasta el siguiente movimiento del mismo vehículo.

0
Operaciones
0
Vehículos controlados
0
Movimientos
Media parado
➕ SISVEH · Alta rápida de movimiento
🗂 SISVEH · Operaciones y vehículos
🔎 SISVEH · Filtros
📋 SISVEH · Historial de movimientos
#OperaciónVehículoFechaInicioParadaTiempo parado hasta siguienteDirección paradaObservacionesAcciones
📊 SISVEH · Análisis por vehículo
OperaciónVehículoMovimientosPrimer movimientoÚltimo movimientoTiempo parado acumulado
🚔 Control de Vehículos Policiales
# Marca y modelo Matrícula CNP Matrícula civil Combustible Kilómetros Estado Próx. aceite/filtros Próx. ruedas ITV Observaciones Acciones
🛠 Histórico de mantenimientos / obras
Fecha Fecha arreglo Vehículo Tipo Kilómetros Taller Observaciones Acciones
🔄 Incidencias Rotatorias
#IncidenciaTipoResponsableInicioFinEstadoNotasAcciones
🔁 Orden de Rotación
🧭 Administración

Acceso, informes, abreviaturas, configuración e historial agrupados en una única pestaña. El bloque de acceso queda visible para todos; la edición administrativa sigue restringida por permisos.

🔐 Acceso y conexión

Este bloque queda disponible para cualquier usuario, incluso sin permisos de edición, para poder iniciar sesión, pegar el ID compartido y conectarse a SISGRUP la primera vez.

👥 Multi-usuario · visible para todos
PASOS PARA AÑADIR UN EDITOR:
  1. Abre Google Drive → busca sisgrup_data.json → clic derecho → Compartir
  2. Añade el correo con permiso Editor o Lector
  3. Dale el ID del archivo (abajo) y la URL de SISGRUP
  4. El otro usuario: Config → pega ID → elige rol → Conectar
ID DEL ARCHIVO:
CONECTAR A ARCHIVO COMPARTIDO:
👤 Cuenta y Estado · visible para todos
Drive: No conectado
Usuario: No identificado
Archivo:
Último guardado:
📄 Informes y Exportación

💡 Cada informe pregunta el formato: PDF (imprimible), CSV (Excel) o HTML.

📊
Contadores Anuales
V, AP, CH, SS, N, VAP por funcionario
📅
Cuadrante Semanal
Turnos de la semana visible
Comisiones VC
Mes seleccionado con totales
🏖
Vac / AP / CH
Mes seleccionado
🔄
Incidencias
Todas las incidencias
👮
Plantilla
Todos los funcionarios
📡
BUBAS
Todos los geolocalizadores
🖨
Resumen Completo
Dashboard general imprimible
🏷 Abreviaturas

💡 Turno: semanal. Ausencia: Vac/AP/CH (contabiliza y aparece en semanal). VC: comisiones (aparece en semanal).

📱 Instalar en iPhone/iPad
  1. Abre Safari en tu iPhone o iPad
  2. Ve a la URL de SISGRUP
  3. Pulsa el botón Compartir ⎙ (barra inferior)
  4. Toca "Añadir a pantalla de inicio"
  5. Nombre: SISGRUP"Añadir"
✅ Icono en pantalla de inicio  ✅ Pantalla completa  ✅ Misma cuenta Google  ⚠ Necesita internet
🗄 Backup
🧾 Historial de auditoría

Editar tarea

Añadir Funcionario

Días asignados — Año actual

Nueva Abreviatura

Nueva Incidencia

Editar Contador

Asignación Masiva

Establece días para todos los funcionarios. Vacío = no modificar.

⠿ Reordenar Personal

Arrastra o usa ▲▼. Este orden se refleja en todos los cuadrantes.

✏ Orden de Rotación de Incidencias

Arrastra o usa ▲▼ para establecer el orden de rotación.

Nueva BUBA

Nuevo teléfono máster

Nueva tarjeta SIM

Nuevo Vehículo

Nuevo mantenimiento

🎲 Autocompletar Semana

Rellena solo celdas vacías de lunes a viernes. Usa únicamente M y T. No toca vacaciones, AP, CH, VC ni turnos ya introducidos. Excluye inspectores.

Pulsa “Simular” para ver la propuesta antes de aplicarla.

🎲 Generador Automático VC

Exportar Informe

Selecciona el formato de exportación: