/*
|--------------------------------------------------------------------------
| WRAPPER
|--------------------------------------------------------------------------
*/

.nextzen-wrapper {

    max-width: 1180px;

    margin: 40px auto;

    background: #ffffff;

    border-radius: 24px;

    padding: 32px;

    box-shadow:

        0 12px 40px rgba(15,23,42,0.08);
}

/*
|--------------------------------------------------------------------------
| HEADER
|--------------------------------------------------------------------------
*/

.nextzen-header {

    text-align: center;

    margin-bottom: 24px;
}

.nextzen-header h1 {

    margin: 0;

    font-size: 38px;

    font-weight: 700;

    color: #0f172a;

    line-height: 1.2;
}

.nextzen-header p {

    margin-top: 12px;

    color: #64748b;

    font-size: 16px;
}

/*
|--------------------------------------------------------------------------
| PROGRESS
|--------------------------------------------------------------------------
*/

.nextzen-progress {

    margin-bottom: 24px;
}

/*
|--------------------------------------------------------------------------
| PROGRESS BAR
|--------------------------------------------------------------------------
*/

.nextzen-progress-bar {

    width: 100%;

    height: 8px;

    background: #e2e8f0;

    border-radius: 20px;

    overflow: hidden;
}

/*
|--------------------------------------------------------------------------
| PROGRESS FILL
|--------------------------------------------------------------------------
*/

.nextzen-progress-fill {

    width: 25%;

    height: 100%;

    background: linear-gradient(
        90deg,
        #2563eb,
        #1d4ed8
    );

    transition: 0.3s ease;
}

/*
|--------------------------------------------------------------------------
| STEP LABELS
|--------------------------------------------------------------------------
*/

.nextzen-step-labels {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: 18px;
}

/*
|--------------------------------------------------------------------------
| STEP ITEM
|--------------------------------------------------------------------------
*/

.step-item {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 8px;

    color: #94a3b8;

    transition: 0.2s ease;
}

/*
|--------------------------------------------------------------------------
| STEP CIRCLE
|--------------------------------------------------------------------------
*/

.step-circle {

    width: 44px;

    height: 44px;

    border-radius: 50%;

    background: #e2e8f0;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 15px;

    font-weight: 700;

    transition: 0.2s ease;
}

/*
|--------------------------------------------------------------------------
| STEP TEXT
|--------------------------------------------------------------------------
*/

.step-text {

    font-size: 13px;

    font-weight: 600;
}

/*
|--------------------------------------------------------------------------
| ACTIVE STEP
|--------------------------------------------------------------------------
*/

.step-item.active {

    color: #2563eb;
}

.step-item.active .step-circle {

    background: #2563eb;

    color: #ffffff;

    box-shadow:

        0 8px 18px rgba(37,99,235,0.28);
}

/*
|--------------------------------------------------------------------------
| COMPLETED STEP
|--------------------------------------------------------------------------
*/

.step-item.completed {

    color: #16a34a;
}

.step-item.completed .step-circle {

    background: #16a34a;

    color: #ffffff;
}

/*
|--------------------------------------------------------------------------
| STEP
|--------------------------------------------------------------------------
*/

.nextzen-step {

    display: none;
}

.nextzen-step.active {

    display: block;
}

/*
|--------------------------------------------------------------------------
| CARD
|--------------------------------------------------------------------------
*/

.nextzen-card {

    background: #fcfdff;

    border: 1px solid #dbeafe;

    border-radius: 18px;

    padding: 28px;

    margin-bottom: 18px;
}

/*
|--------------------------------------------------------------------------
| CARD TITLE
|--------------------------------------------------------------------------
*/

.nextzen-card h2 {

    margin-top: 0;

    margin-bottom: 26px;

    font-size: 24px;

    font-weight: 700;

    color: #0f172a;
}

/*
|--------------------------------------------------------------------------
| GRID
|--------------------------------------------------------------------------
*/

.nextzen-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 24px;
}

/*
|--------------------------------------------------------------------------
| FIELD
|--------------------------------------------------------------------------
*/

.nextzen-field {

    display: flex;

    flex-direction: column;
}

/*
|--------------------------------------------------------------------------
| LABEL
|--------------------------------------------------------------------------
*/

.nextzen-field label {

    margin-bottom: 10px;

    font-size: 14px;

    font-weight: 600;

    color: #334155;
}

/*
|--------------------------------------------------------------------------
| INPUTS
|--------------------------------------------------------------------------
*/

.nextzen-field input,
.nextzen-field select {

    width: 100%;

    height: 56px;

    padding: 0 16px;

    border: 1px solid #d7dee7;

    border-radius: 14px;

    background: #ffffff;

    font-size: 15px;

    color: #0f172a;

    transition: all 0.2s ease;
}

/*
|--------------------------------------------------------------------------
| FOCUS
|--------------------------------------------------------------------------
*/

.nextzen-field input:focus,
.nextzen-field select:focus {

    outline: none;

    border-color: #2563eb;

    box-shadow:

        0 0 0 4px rgba(37,99,235,0.08);
}

/*
|--------------------------------------------------------------------------
| PLACEHOLDER
|--------------------------------------------------------------------------
*/

.nextzen-field input::placeholder {

    color: #94a3b8;
}

/*
|--------------------------------------------------------------------------
| BUTTONS
|--------------------------------------------------------------------------
*/

.nextzen-buttons {

    display: flex;

    justify-content: flex-end;

    align-items: center;

    gap: 16px;

    margin-top: 28px;
}

/*
|--------------------------------------------------------------------------
| BUTTON
|--------------------------------------------------------------------------
*/

.nextzen-btn {

    min-width: 160px;

    height: 56px;

    border: none;

    border-radius: 14px;

    font-size: 16px;

    font-weight: 700;

    cursor: pointer;

    transition: 0.2s ease;
}

/*
|--------------------------------------------------------------------------
| PRIMARY BUTTON
|--------------------------------------------------------------------------
*/

.nextzen-btn.primary {

    background: linear-gradient(
        90deg,
        #2563eb,
        #1d4ed8
    );

    color: #ffffff;
}

.nextzen-btn.primary:hover {

    transform: translateY(-1px);

    box-shadow:

        0 10px 20px rgba(37,99,235,0.20);
}

/*
|--------------------------------------------------------------------------
| SECONDARY BUTTON
|--------------------------------------------------------------------------
*/

.nextzen-btn.secondary {

    background: #e2e8f0;

    color: #0f172a;
}

.nextzen-btn.secondary:hover {

    background: #cbd5e1;
}

/*
|--------------------------------------------------------------------------
| DISABLED
|--------------------------------------------------------------------------
*/

.nextzen-btn:disabled {

    opacity: 0.7;

    cursor: not-allowed;
}

/*
|--------------------------------------------------------------------------
| RESPONSE
|--------------------------------------------------------------------------
*/

#nextzen-response {

    margin-top: 24px;
}

/*
|--------------------------------------------------------------------------
| SUCCESS
|--------------------------------------------------------------------------
*/

.nextzen-success {

    padding: 18px 20px;

    border-radius: 14px;

    background: #dcfce7;

    color: #166534;

    font-size: 15px;

    font-weight: 600;
}

/*
|--------------------------------------------------------------------------
| ERROR
|--------------------------------------------------------------------------
*/

.nextzen-error {

    padding: 18px 20px;

    border-radius: 14px;

    background: #fef2f2;

    color: #991b1b;

    font-size: 15px;

    font-weight: 600;
}

/*
|--------------------------------------------------------------------------
| LOADING
|--------------------------------------------------------------------------
*/

.nextzen-loading {

    padding: 18px 20px;

    border-radius: 14px;

    background: #dbeafe;

    color: #1e40af;

    font-size: 15px;

    font-weight: 600;
}

/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:768px){

    .nextzen-wrapper {

        padding: 22px;

        margin: 20px auto;
    }

    .nextzen-header h1 {

        font-size: 28px;
    }

    .nextzen-grid {

        grid-template-columns: 1fr;
    }

    .nextzen-buttons {

        flex-direction: column;

        gap: 12px;
    }

    .nextzen-btn {

        width: 100%;
    }

    .nextzen-step-labels {

        gap: 10px;
    }

    .step-text {

        font-size: 11px;
    }

    .step-circle {

        width: 38px;

        height: 38px;
    }
}
/*
|--------------------------------------------------------------------------
| LIVE DASHBOARD
|--------------------------------------------------------------------------
*/

.nextzen-live-dashboard {

    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 18px;

    margin-bottom: 28px;
}

/*
|--------------------------------------------------------------------------
| LIVE CARD
|--------------------------------------------------------------------------
*/

.live-card {

    background: #fcfdff;

    border: 1px solid #dbeafe;

    border-radius: 18px;

    padding: 20px;

    text-align: center;

    transition: 0.2s ease;
}

.live-card:hover {

    transform: translateY(-2px);

    box-shadow:

        0 10px 20px rgba(15,23,42,0.06);
}

/*
|--------------------------------------------------------------------------
| LABEL
|--------------------------------------------------------------------------
*/

.live-label {

    font-size: 12px;

    color: #64748b;

    margin-bottom: 10px;

    text-transform: uppercase;

    letter-spacing: 0.5px;
}

/*
|--------------------------------------------------------------------------
| VALUE
|--------------------------------------------------------------------------
*/

.live-value {

    font-size: 24px;

    font-weight: 700;

    color: #0f172a;
}

/*
|--------------------------------------------------------------------------
| VIABILITY
|--------------------------------------------------------------------------
*/

.live-card.viability {

    background: #eff6ff;

    border-color: #bfdbfe;
}

/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:768px){

    .nextzen-live-dashboard {

        grid-template-columns: 1fr 1fr;
    }

    .live-value {

        font-size: 20px;
    }
}
/*
|--------------------------------------------------------------------------
| HEALTH PANEL
|--------------------------------------------------------------------------
*/

.nextzen-health-panel {

    margin-bottom: 30px;

    background: #ffffff;

    border: 1px solid #dbeafe;

    border-radius: 18px;

    padding: 24px;
}

/*
|--------------------------------------------------------------------------
| HEADER
|--------------------------------------------------------------------------
*/

.health-header {

    font-size: 18px;

    font-weight: 700;

    color: #0f172a;

    margin-bottom: 18px;
}

/*
|--------------------------------------------------------------------------
| BAR WRAP
|--------------------------------------------------------------------------
*/

.health-bar-wrap {

    width: 100%;

    height: 16px;

    background: #e2e8f0;

    border-radius: 30px;

    overflow: hidden;

    margin-bottom: 16px;
}

/*
|--------------------------------------------------------------------------
| BAR
|--------------------------------------------------------------------------
*/

.health-bar {

    width: 45%;

    height: 100%;

    border-radius: 30px;

    background: #f59e0b;

    transition: 0.4s ease;
}

/*
|--------------------------------------------------------------------------
| STATUS
|--------------------------------------------------------------------------
*/

.health-status {

    font-size: 15px;

    font-weight: 600;

    color: #334155;
}
/*
|--------------------------------------------------------------------------
| AI PANEL
|--------------------------------------------------------------------------
*/

.nextzen-ai-panel {

    margin-bottom: 32px;

    background: #ffffff;

    border: 1px solid #dbeafe;

    border-radius: 18px;

    padding: 24px;
}

/*
|--------------------------------------------------------------------------
| HEADER
|--------------------------------------------------------------------------
*/

.ai-header {

    font-size: 18px;

    font-weight: 700;

    color: #0f172a;

    margin-bottom: 18px;
}

/*
|--------------------------------------------------------------------------
| ANALYSIS LIST
|--------------------------------------------------------------------------
*/

.ai-analysis-list {

    display: flex;

    flex-direction: column;

    gap: 14px;
}

/*
|--------------------------------------------------------------------------
| ITEM
|--------------------------------------------------------------------------
*/

.ai-item {

    padding: 14px 16px;

    background: #f8fafc;

    border-left: 4px solid #2563eb;

    border-radius: 10px;

    font-size: 14px;

    color: #334155;

    line-height: 1.6;
}
/*
|--------------------------------------------------------------------------
| RISK PANEL
|--------------------------------------------------------------------------
*/

.nextzen-risk-panel {

    margin-bottom: 32px;

    background: #ffffff;

    border: 1px solid #dbeafe;

    border-radius: 18px;

    padding: 24px;
}

/*
|--------------------------------------------------------------------------
| HEADER
|--------------------------------------------------------------------------
*/

.risk-header {

    font-size: 18px;

    font-weight: 700;

    color: #0f172a;

    margin-bottom: 22px;
}

/*
|--------------------------------------------------------------------------
| GRID
|--------------------------------------------------------------------------
*/

.risk-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;
}

/*
|--------------------------------------------------------------------------
| CARD
|--------------------------------------------------------------------------
*/

.risk-card {

    background: #f8fafc;

    border-radius: 16px;

    padding: 22px;

    text-align: center;
}

/*
|--------------------------------------------------------------------------
| LABEL
|--------------------------------------------------------------------------
*/

.risk-label {

    font-size: 13px;

    color: #64748b;

    margin-bottom: 10px;

    text-transform: uppercase;

    letter-spacing: 0.5px;
}

/*
|--------------------------------------------------------------------------
| GRADE
|--------------------------------------------------------------------------
*/

.risk-grade {

    font-size: 38px;

    font-weight: 800;

    color: #2563eb;
}

/*
|--------------------------------------------------------------------------
| SCORE
|--------------------------------------------------------------------------
*/

.risk-score {

    font-size: 30px;

    font-weight: 700;

    color: #0f172a;
}
/*
|--------------------------------------------------------------------------
| DYNAMIC SECTION
|--------------------------------------------------------------------------
*/

.nextzen-dynamic-wrap {

    margin-bottom: 24px;
}

/*
|--------------------------------------------------------------------------
| DYNAMIC CARD
|--------------------------------------------------------------------------
*/

.dynamic-card {

    background: #ffffff;

    border: 1px solid #dbeafe;

    border-radius: 18px;

    padding: 28px;
}

/*
|--------------------------------------------------------------------------
| TITLE
|--------------------------------------------------------------------------
*/

.dynamic-card h2 {

    margin-top: 0;

    margin-bottom: 24px;

    font-size: 22px;

    color: #0f172a;
}