.dialog-container {
    background-color: var(--color-modals-background);
    border-radius: 8px;
    min-width: 400px;
    max-width: 500px;
    color: var(--color-text-primary);
}

.dialog-header {
    padding: 1.25rem;
    border-bottom: 1px solid var(--color-divider-subtle);

    h2 {
        margin: 0;
        font-size: 1.25rem;
        font-weight: 400;
    }
}

.dialog-content {
    padding: 1.25rem;

    form {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;

    label {
        font-size: 0.875rem;
        color: var(--color-text-secondary);
        .required {
            color: var(--color-error, #ff4d4f);
            margin-left: 2px;
        }
    }

    .error-hint {
        font-size: 0.75rem;
        color: var(--color-error, #ff4d4f);
    }
}

.api-key-container {
    position: relative;
    display: flex;
    align-items: center;

    .api-key-input {
        flex: 1;
        padding-right: 2.5rem;
    }

    .toggle-visibility-btn {
        position: absolute;
        right: 0.75rem;
        top: 50%;
        transform: translateY(-50%);
        background: none;
        border: none;
        color: var(--color-text-secondary);
        cursor: pointer;
        padding: 0.25rem;
        border-radius: 4px;
        transition: color 0.2s ease;

        &:hover {
            color: var(--color-text-primary);
        }

        &:focus {
            outline: 2px solid var(--color-primary);
            outline-offset: 2px;
        }

        i {
            font-size: 1rem;
        }
    }
}

.dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1rem;
}

.error-message {
    background-color: rgba(255, 77, 79, 0.1);
    color: var(--color-error, #ff4d4f);
    padding: 0.75rem;
    border-radius: 4px;
    margin-bottom: 1rem;

    p {
        margin: 0;
        font-size: 0.875rem;
    }
}
