body { background-color: #f8fafc; font-family: 'Poppins', sans-serif; }

/* ========================================================= */
/* HERO SEARCH BAR MODERN */
/* ========================================================= */
.search-hero {
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
    padding: 80px 0 100px 0;
    position: relative;
    overflow: hidden;
    border-radius: 0 0 30px 30px;
    box-shadow: 0 10px 30px rgba(59, 130, 246, 0.15);
}
.search-hero::after {
    content: ''; position: absolute; width: 400px; height: 400px;
    background: rgba(255, 255, 255, 0.05); border-radius: 50%;
    bottom: -50px; left: -150px; z-index: 1;
}
.search-box {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    z-index: 2;
    background: white;
    padding: 8px;
    border-radius: 50px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    display: flex;
}
.search-box input {
    border: none; padding: 15px 25px; border-radius: 50px; width: 100%;
    font-size: 1.1rem; font-weight: 600; color: #334155; outline: none;
}
.search-box input::placeholder { color: #94a3b8; font-weight: 400; }
.search-box button {
    background: #f59e0b; color: white; border: none; border-radius: 50px;
    padding: 0 35px; font-weight: 700; font-size: 1.05rem; transition: all 0.3s;
}
.search-box button:hover { background: #d97706; transform: scale(1.02); }

/* ========================================================= */
/* DESAIN TIMELINE (LACAK RESI STYLE) */
/* ========================================================= */
.timeline-container {
    position: relative; padding: 20px 0 20px 45px; margin-top: 10px;
}
.timeline-container::before {
    content: ''; position: absolute; top: 30px; bottom: 30px; left: 24px;
    width: 3px; background: #e2e8f0; border-radius: 3px;
}
.timeline-item {
    position: relative; margin-bottom: 30px;
}
.timeline-item:last-child { margin-bottom: 0; }

.timeline-marker {
    position: absolute; left: -45px; top: 0; width: 45px; height: 45px;
    border-radius: 50%; background: #ffffff; border: 4px solid #e2e8f0;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem; color: #94a3b8; z-index: 2; transition: all 0.4s ease;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.timeline-content {
    background: #ffffff; padding: 20px 25px; border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03); border: 1px solid #f1f5f9;
    transition: all 0.3s; position: relative;
}
.timeline-content::before {
    content: ''; position: absolute; left: -8px; top: 15px;
    width: 15px; height: 15px; background: #ffffff;
    transform: rotate(45deg); border-left: 1px solid #f1f5f9; border-bottom: 1px solid #f1f5f9;
}

/* State: Sukses / Aktif */
.timeline-item.success .timeline-marker {
    background: #10b981; border-color: #d1fae5; color: white;
    box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.15);
}
.timeline-item.success .timeline-content { border-left: 4px solid #10b981; }

/* State: Menunggu / Pending */
.timeline-item.pending .timeline-marker {
    background: #f59e0b; border-color: #fef3c7; color: white;
    box-shadow: 0 0 0 5px rgba(245, 158, 11, 0.15);
    animation: pulseWarning 2s infinite;
}
.timeline-item.pending .timeline-content { border-left: 4px solid #f59e0b; }

/* State: Gagal / Bolong */
.timeline-item.danger .timeline-marker {
    background: #ef4444; border-color: #fee2e2; color: white;
    box-shadow: 0 0 0 5px rgba(239, 68, 68, 0.15);
}
.timeline-item.danger .timeline-content { border-left: 4px solid #ef4444; }

@keyframes pulseWarning {
    0% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(245, 158, 11, 0); }
    100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); }
}