:root {
--primary: #10b5c8;
--secondary:#dfe0e3;
--accent: #e83e8c;
--bg: #f7f9fc;
--border: #e3e8ef;
--text: #1f2937;
--muted: #6b7280;
--card: #ffffff;
--radius: 14px;
}
.csi-wizard,
.csi-wizard * {
box-sizing: border-box;
font-family: Inter, system-ui, sans-serif;
}
.csi-wizard {
max-width: 1100px;
margin: auto;
padding: 30px;
} .phases {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
margin-bottom: 20px;
}
.phase-pill {
padding: 6px 12px;
border-radius: 999px;
font-weight: 600;
font-size: 0.8rem;
background-color: var(--secondary) !important;
border: 1px solid var(--border);
cursor: pointer;
transition: all .2s ease;
}
.phase-pill:hover {
background-color: var(--primary) !important;
}
.phase-pill.active {
background: var(--primary) !important;
color: #fff;
box-shadow: 0 6px 18px rgba(16,181,200,.35);
} .progress-info {
display: flex;
justify-content: space-between;
font-size: 14px;
color: var(--muted);
margin-bottom: 6px;
}
.progress-bar {
height: 8px;
background: #e5e7eb;
border-radius: 999px;
overflow: hidden;
margin-bottom: 30px;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary), var(--accent));
width: 0%;
transition: width .4s ease;
} .card {
background: var(--card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 1rem;
box-shadow: 0 20px 40px rgba(0,0,0,.08);
margin-bottom: 30px;
}
.phase-number {
width: 48px;
height: 48px;
border-radius: 50%;
background: #e6f7fa;
color: var(--primary);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.4rem;
font-weight: 700;
margin: 0 auto 15px;
}
.phase-title {
text-align: center;
font-size: 1.6rem;
font-weight: 800;
margin-bottom: 10px;
}
.phase-title span {
color: var(--primary);
} .phase-pdf {
text-align: center;
margin-bottom: 30px;
}
.btn {
padding: 6px 12px;
border-radius: 10px;
border: 2px solid var(--primary);
background: #fff;
color: var(--primary);
font-size: 0.9rem;
font-weight: 600;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
transition: all .2s ease;
}
.btn:hover {
background: var(--primary);
color: #fff;
}
.btn.primary {
background: var(--primary);
color: #fff;
border: none;
}
.btn.primary:hover {
opacity: .9;
}
.btn:disabled {
opacity: .4;
cursor: not-allowed;
} .steps {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
gap: 16px;
}
.step {
display: flex;
gap: 16px;
align-items: flex-start;
padding: 18px;
border-radius: 12px;
border: 1px solid var(--border);
background: #fff;
transition: all .25s ease;
}
.step:hover {
border-color: var(--primary);
box-shadow: 0 10px 24px rgba(0,0,0,.08);
transform: scale(1.02);
cursor: pointer;
}
.step-num {
width: 44px;
height: 44px;
border-radius: 10px;
background: #e6f7fa;
color: var(--primary);
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.step h4 {
margin: 0 0 6px;
font-size: 15px;
}
.step p {
margin: 0;
font-size: 13px;
color: var(--muted);
line-height: 1.5;
} .nav-buttons {
display: flex;
justify-content: space-between;
}
.nav-buttons .btn {
background: var(--primary);
color: #fff;
border: none;
}
.nav-buttons .btn:not(:disabled):hover {
opacity: 0.7;
}
.step-link {
display: inline-block;
margin-top: 8px;
font-size: 14px;
color: #2a6df4;
text-decoration: none;
font-weight: 500;
}
.step-link:hover {
text-decoration: underline;
}