Integrated Incident Management - 24Cevent
*
margin: 0; padding: 0; box-sizing: border-box;
body
background: transparent;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
.gi-wrap
display: flex; align-items: center; justify-content: center;
padding: 2rem 1rem 1rem; gap: 0; width: 100%;
.gi-arrow
flex-shrink: 0; display: flex; align-items: center; justify-content: center;
padding-bottom: 48px;
.gi-arrow svg
width: 32px; height: 32px;
.gi-arrow-line
stroke: #90caf9; stroke-width: 1.8; fill: none; stroke-linecap: round; transition: stroke 0.4s;
.gi-arrow.lit .gi-arrow-line
stroke: #2196f3;
.stage-node
width: 52px; height: 52px; border-radius: 50%;
background: #e3f2fd; border: 1.5px solid #90caf9;
display: flex; align-items: center; justify-content: center;
font-size: 22px; flex-shrink: 0;
transition: background 0.4s, border-color 0.4s, transform 0.4s;
margin-bottom: 10px;
.stage-node.pulse
background: #bbdefb; border-color: #2196f3; transform: scale(1.12);
.gi-col
display: flex; flex-direction: column; align-items: center; flex-shrink: 0;
.gi-card
background: #f5f8fb; border: 1px solid #dde6ee;
border-radius: 14px; padding: 14px 16px;
display: flex; flex-direction: column; gap: 10px;
width: 200px;
opacity: 0; transform: translateY(10px);
transition: opacity 0.45s ease, transform 0.45s ease, border-color 0.4s, background 0.4s;
.gi-card.show
opacity: 1; transform: translateY(0);
.gi-card.active
border-color: #90caf9; background: #fff;
.gi-item
display: flex; align-items: center; gap: 10px;
opacity: 0; transform: translateX(-6px);
transition: opacity 0.3s ease, transform 0.3s ease;
.gi-item.show
opacity: 1; transform: translateX(0);
.gi-item-icon
width: 36px; height: 36px; border-radius: 8px;
background: #e8f4fd; border: 1px solid #dde6ee;
display: flex; align-items: center; justify-content: center;
font-size: 16px; flex-shrink: 0;
.gi-item-text
font-size: 12px; font-weight: 500; color: #1a2332; line-height: 1.35;
.gi-footer
text-align: center; margin-top: 12px;
.gi-title
font-size: 13px; font-weight: 700; color: #1565c0;
opacity: 0; transition: opacity 0.4s;
.gi-title.show
opacity: 1;
.gi-subtitle
font-size: 11px; color: #90a4b0; margin-top: 3px; line-height: 1.4;
max-width: 190px; text-align: center;
opacity: 0; transition: opacity 0.4s;
.gi-subtitle.show
opacity: 1;
.src-node
display: flex; flex-direction: column; align-items: center; gap: 8px;
flex-shrink: 0; padding-bottom: 48px;
opacity: 0; transition: opacity 0.4s;
.src-node.show
opacity: 1;
.src-circle
width: 48px; height: 48px; border-radius: 50%;
background: #fff8e1; border: 1.5px solid #ffe082;
display: flex; align-items: center; justify-content: center; font-size: 22px;
.src-label
font-size: 11px; color: #90a4b0; font-weight: 500;
.gi-progress-wrap
width: 100%; max-width: 560px; margin: 20px auto 0; padding: 0 1rem;
.gi-progress-track
height: 3px; background: #dde6ee; border-radius: 4px; overflow: hidden;
.gi-progress-fill
height: 100%; border-radius: 4px; background: #2196f3; transition: width 0.5s cubic-bezier(.4,0,.2,1); width: 0%;
.gi-status
margin-top: 10px; font-size: 13px; color: #607080; text-align: center; min-height: 20px; padding-bottom: 1.5rem;
.gi-status span
font-weight: 600; color: #1a2332;
@media (max-width: 640px) {
.gi-wrap
flex-wrap: wrap; gap: 12px; padding: 1rem 0.5rem;
.gi-card
width: 160px;
.gi-arrow
padding-bottom: 0;
.src-node
padding-bottom: 0;
}
🔔
🔗
Centralization of monitoring
👥
Assigned incident teams
📞
Immediate mass notification
🔥
📋
Create custom incidents
📑
Complete history in one place
🔔
Associate alarms and more context
💡
🗂️
Evidence of management and actions
📈
Time and performance metrics
Getting started...
function add(id, cls, delay) {
setTimeout(() =>
const e = document.getElementById(id); if(e) e.classList.add(cls); , delay);
}
function rem(id, cls, delay) {
setTimeout(() =>
const e = document.getElementById(id); if(e) e.classList.remove(cls); , delay);
}
function status(txt, pct, delay) {
setTimeout(() =>
document.getElementById('giStatus').innerHTML = txt;
document.getElementById('giFill').style.width = pct + '%';
, delay);
}
function reset() {
['srcNode','card0','card1','card2',
'i00','i01','i02','i10','i11','i12','i13','i20','i21','i22',
't0','s0','t1','s1','t2','s2'].forEach(id =>
const e = document.getElementById(id); if(e) e.classList.remove('show');
);
['sn0','sn1','sn2'].forEach(id =>
const e = document.getElementById(id); if(e) e.classList.remove('pulse');
);
['arw0','arw1','arw2'].forEach(id =>
const e = document.getElementById(id); if(e) e.classList.remove('lit');
);
document.getElementById('giFill').style.width = '0%';
document.getElementById('giStatus').innerHTML = 'Iniciando…';
}
function run()
reset();
status('Se genera una alerta en el sistema de monitoreo…', 5, 300);
add('srcNode', 'show', 400);
add('arw0', 'lit', 900);
status('Notificación automática activada al equipo responsable…', 28, 1100);
add('sn0', 'pulse', 1000);
add('card0', 'show', 1100);
add('card0', 'active', 1100);
add('i00', 'show', 1300);
add('i01', 'show', 1550);
add('i02', 'show', 1800);
add('t0', 'show', 2000);
add('s0', 'show', 2100);
add('arw1', 'lit', 2600);
rem('card0', 'active', 2600);
rem('sn0', 'pulse', 2600);
status('Gestión del incidente en curso — equipo trabajando en la solución…', 55, 2700);
add('sn1', 'pulse', 2700);
add('card1', 'show', 2800);
add('card1', 'active', 2800);
add('i10', 'show', 3000);
add('i11', 'show', 3250);
add('i12', 'show', 3500);
add('i13', 'show', 3750);
add('t1', 'show', 3950);
add('s1', 'show', 4050);
add('arw2', 'lit', 4600);
rem('card1', 'active', 4600);
rem('sn1', 'pulse', 4600);
status('Análisis y cierre — informe generado, métricas registradas ✓', 100, 4700);
add('sn2', 'pulse', 4700);
add('card2', 'show', 4800);
add('card2', 'active', 4800);
add('i20', 'show', 5000);
add('i21', 'show', 5250);
add('i22', 'show', 5500);
add('t2', 'show', 5700);
add('s2', 'show', 5800);
setTimeout(run, 9000);
run();