@use '../abstracts/mixins' as *;

.wizard-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);

    &__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: var(--space-4) var(--space-6);
        background: var(--color-surface);
        border-bottom: 1px solid var(--color-border);
    }
    &__brand { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: 700; }
    &__hint { color: var(--color-text-muted); font-size: var(--fs-sm); }
    &__main {
        flex: 1;
        padding: var(--space-6);
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
    }
    &__footer {
        padding: var(--space-3) var(--space-6);
        border-top: 1px solid var(--color-border);
        background: var(--color-surface);
        color: var(--color-text-muted);
        font-size: var(--fs-xs);
        display: flex;
        justify-content: space-between;
        gap: var(--space-3);
        flex-wrap: wrap;
    }
}

.wizard {
    display: grid;
    grid-template-columns: minmax(0, 300px) 1fr;
    gap: var(--space-6);

    @include media-down(md) { grid-template-columns: 1fr; }

    &__aside {
        padding: var(--space-5);
        background: var(--color-surface);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        align-self: start;
    }
    &__title { margin: 0 0 var(--space-2); font-size: var(--fs-xl); }
    &__subtitle { color: var(--color-text-muted); margin-bottom: var(--space-4); }
    &__steps {
        list-style: none;
        padding: 0; margin: 0;
        display: flex;
        flex-direction: column;
        gap: var(--space-2);
        counter-reset: wizard-step;
    }
    &__step {
        display: flex;
        align-items: center;
        gap: var(--space-3);
        padding: var(--space-2) var(--space-3);
        border-radius: var(--radius-md);
        border: 1px solid transparent;
        color: var(--color-text-muted);

        &.is-active { background: var(--color-primary-soft); color: var(--color-primary); border-color: rgba(37,99,235,.25); }
        &.is-completed { color: var(--color-text); }
        &.is-completed .wizard__step-index { background: var(--color-success); color: #fff; border-color: var(--color-success); }
    }
    &__step-index {
        display: inline-flex;
        width: 1.75rem; height: 1.75rem;
        align-items: center; justify-content: center;
        border-radius: 50%;
        border: 1px solid var(--color-border-strong);
        font-weight: 600;
        font-size: var(--fs-sm);
    }
    &__step-label { font-size: var(--fs-sm); }
    &__badge {
        margin-top: var(--space-4);
        display: flex;
        align-items: flex-start;
        gap: var(--space-2);
        padding: var(--space-3);
        border-radius: var(--radius-md);
        background: rgba(22,163,74,.08);
        color: #166534;
        font-size: var(--fs-xs);
    }

    &__main {
        background: var(--color-surface);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
    }
    &__panel { padding: var(--space-6); }
    &__panel-header { margin-bottom: var(--space-4); }
    &__panel-header h2 { font-size: var(--fs-lg); margin: 0 0 var(--space-1); }
    &__panel-header p  { color: var(--color-text-muted); margin: 0; }

    &__actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-3);
        padding: var(--space-4) var(--space-6);
        border-top: 1px solid var(--color-border);
        background: var(--color-surface-alt);
    }
    &__progress { color: var(--color-text-muted); font-size: var(--fs-sm); }
}
