/* Vertical Steps Style */
.steps-vertical {
max-width: 500px;
margin: 2rem auto;
padding: 0;
}

.step-vertical {
display: flex;
position: relative;
padding: 1rem 0;
}

.step-vertical:not(:last-child)::after {
content: '';
position: absolute;
left: 25px;
top: 60px;
bottom: 0;
width: 2px;
background: #e9ecef;
}

.step-vertical-icon {
width: 50px;
height: 50px;
border-radius: 50%;
background: white;
border: 2px solid #dee2e6;
display: flex;
align-items: center;
justify-content: center;
margin-right: 1rem;
font-size: 20px;
color: #6c757d;
position: relative;
z-index: 2;
flex-shrink: 0;
}

.step-vertical-content {
padding-top: 0.5rem;
}

.step-vertical.active .step-vertical-icon {
background: #4361ee;
border-color: #4361ee;
color: white;
box-shadow: 0 0 0 5px rgba(67, 97, 238, 0.2);
}

.step-vertical.complete .step-vertical-icon {
background: #2ecc71;
border-color: #2ecc71;
color: white;
}

/* Interactive buttons */
.controls {
text-align: center;
}

.btn {
padding: 8px 16px;
border-radius: 6px;
border: none;
background: #4361ee;
color: white;
cursor: pointer;
margin: 0 5px;
transition: all 0.3s ease;
}

.btn:hover {
background: #3451c6;
}

.btn:disabled {
background: #dee2e6;
cursor: not-allowed;
}

.login-container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}

.login-card {
display: flex;
border: 2px solid #ccc;
border-radius: 10px;
overflow: hidden;
width: 70%;
max-width: 900px;
}

.login-image {
flex: 1;
background: url('https://eproc.devkftd.my.id/assets/images/login.jpg') no-repeat center center;
background-size: cover;
height: 100vh;
}

.login-form {
flex: 1;
padding: 30px;
display: flex;
flex-direction: column;
justify-content: center;
}

.login-form h3 {
margin-bottom: 20px;
text-align: center;
}

.form-label {
font-weight: bold;
}