/* ==========================================================================
   Setup Wizard — Dashlet (scope: .setup-wizard)
   ========================================================================== */

.setup-wizard .sw-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.setup-wizard .sw-progress-text {
    font-size: 14px;
    color: var(--gray-soft);
}

.setup-wizard .sw-mode-toggle {
    display: flex;
    gap: 4px;
}

.setup-wizard .sw-progress-bar {
    height: 6px;
    margin-bottom: 12px;
}

.setup-wizard .sw-description {
    color: var(--gray-soft);
    font-size: 13px;
    margin-bottom: 16px;
}

/* ==========================================================================
   Setup Wizard — Cards (scope: .setup-wizard-cards)
   ========================================================================== */

.setup-wizard-cards .sw-card {
    border: 1px solid var(--gray-light);
    border-radius: 4px;
    padding: 16px;
    margin-bottom: 12px;
}

.setup-wizard-cards .sw-card.completed {
    border-left: 4px solid var(--brand-success);
}

.setup-wizard-cards .sw-card.blocked {
    border-left: 4px solid var(--gray-light);
    opacity: 0.6;
}

.setup-wizard-cards .sw-card.in-progress {
    border-left: 4px solid var(--brand-warning);
}

.setup-wizard-cards .sw-card-body {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.setup-wizard-cards .sw-card-icon {
    font-size: 28px;
    line-height: 1;
}

.setup-wizard-cards .sw-card-content {
    flex: 1;
    min-width: 0;
}

.setup-wizard-cards .sw-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    flex-wrap: wrap;
}

.setup-wizard-cards .sw-card-title {
    font-size: 15px;
    font-weight: 600;
}

.setup-wizard-cards .sw-complete-row {
    text-align: center;
    margin-top: 16px;
}

/* ==========================================================================
   Setup Wizard — Sidebar (scope: .setup-wizard-sidebar)
   ========================================================================== */

.setup-wizard-sidebar {
    display: flex;
    gap: 16px;
    min-height: 300px;
}

.setup-wizard-sidebar .sw-nav {
    width: 240px;
    flex-shrink: 0;
    border-right: 1px solid var(--gray-light);
    padding-right: 12px;
}

.setup-wizard-sidebar .sw-nav-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-soft);
    margin-bottom: 10px;
    text-transform: uppercase;
}

.setup-wizard-sidebar .sw-nav-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 4px;
    cursor: pointer;
    margin-bottom: 2px;
}

.setup-wizard-sidebar .sw-nav-item.active {
    background: #f0f7ff;
}

.setup-wizard-sidebar .sw-nav-item.active .sw-nav-item-label {
    font-weight: 600;
}

.setup-wizard-sidebar .sw-nav-item.blocked {
    opacity: 0.5;
    cursor: default;
}

.setup-wizard-sidebar .sw-nav-item-status {
    font-size: 14px;
}

.setup-wizard-sidebar .sw-nav-item-icon {
    font-size: 16px;
}

.setup-wizard-sidebar .sw-nav-item-label {
    font-size: 13px;
}

.setup-wizard-sidebar .sw-detail {
    flex: 1;
    min-width: 0;
}

.setup-wizard-sidebar .sw-detail-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.setup-wizard-sidebar .sw-detail-icon {
    font-size: 32px;
}

.setup-wizard-sidebar .sw-detail-title {
    margin: 0;
}

.setup-wizard-sidebar .sw-detail-description {
    color: var(--text-color);
    font-size: 15px;
    line-height: 1.7;
    margin: 8px 0 16px;
}

.setup-wizard-sidebar .sw-detail-hint {
    background: #fffde7;
    border: 1px solid #fff9c4;
    border-radius: 4px;
    padding: 10px 14px;
    margin-bottom: 16px;
    font-size: 14px;
    color: var(--gray-soft);
}

.setup-wizard-sidebar .sw-detail-progress {
    background: var(--gray-lighter);
    border-radius: 4px;
    padding: 14px;
    margin-bottom: 16px;
}

.setup-wizard-sidebar .sw-detail-progress-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.setup-wizard-sidebar .sw-detail-progress-count {
    font-size: 24px;
    font-weight: 600;
    color: var(--text-color);
}

.setup-wizard-sidebar .sw-detail-progress .progress {
    flex: 1;
    height: 10px;
    margin: 0;
}

.setup-wizard-sidebar .sw-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.setup-wizard-sidebar .sw-sidebar-complete {
    text-align: center;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--gray-light);
}

.setup-wizard-sidebar .sw-empty {
    padding: 40px;
}

/* ==========================================================================
   Setup Wizard — Shared (used in cards, sidebar, generic step)
   ========================================================================== */

.setup-wizard-cards .sw-step-description,
.setup-wizard-sidebar .sw-detail-description,
.setup-wizard-step .sw-step-description {
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.7;
    margin: 8px 0;
}

.setup-wizard-cards .sw-hint,
.setup-wizard-sidebar .sw-detail-hint,
.setup-wizard-step .sw-hint {
    background: #fffde7;
    border: 1px solid #fff9c4;
    border-radius: 4px;
    padding: 8px 12px;
    margin: 8px 0;
    font-size: 13px;
    color: var(--gray-soft);
}

.setup-wizard-cards .sw-progress-row,
.setup-wizard-step .sw-progress-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 10px 0;
}

.setup-wizard-cards .sw-progress-count,
.setup-wizard-step .sw-progress-count {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-color);
}

.setup-wizard-cards .sw-progress-row .progress,
.setup-wizard-step .sw-progress-row .progress {
    flex: 1;
    height: 8px;
    margin: 0;
}

.setup-wizard-cards .sw-dependency,
.setup-wizard-sidebar .sw-detail-dependency,
.setup-wizard-step .sw-dependency {
    border-radius: 4px;
    padding: 8px 12px;
    margin: 8px 0;
    font-size: 13px;
    color: var(--gray-soft);
}

.setup-wizard-cards .sw-dependency.blocking,
.setup-wizard-sidebar .sw-detail-dependency.blocking,
.setup-wizard-step .sw-dependency.blocking {
    background: #fff3e0;
    border: 1px solid #ffe0b2;
}

.setup-wizard-cards .sw-dependency.advisory,
.setup-wizard-sidebar .sw-detail-dependency.advisory,
.setup-wizard-step .sw-dependency.advisory {
    background: #e3f2fd;
    border: 1px solid #bbdefb;
}

.setup-wizard-cards .sw-actions,
.setup-wizard-sidebar .sw-detail-actions,
.setup-wizard-step .sw-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

/* ==========================================================================
   Setup Wizard — Generic Step (scope: .setup-wizard-step)
   ========================================================================== */

.setup-wizard-step .sw-step-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.setup-wizard-step .sw-step-icon {
    font-size: 28px;
}

.setup-wizard-step .sw-step-title {
    font-size: 15px;
    font-weight: 600;
}
