.vectorize-placeholder {
    border: 1px dashed #1677ff !important;
    background: rgba(22, 119, 255, 0.04);
}

.vectorize-loading,
.vectorize-error {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #1677ff;
    font-size: 13px;
    text-align: center;
    padding: 14px;
}

.vectorize-spinner {
    width: 26px;
    height: 26px;
    border: 3px solid rgba(22, 119, 255, 0.18);
    border-top-color: #1677ff;
    border-radius: 50%;
    animation: vectorize-spin .8s linear infinite;
}

.vectorize-text {
    font-weight: 700;
}

.vectorize-progress {
    color: #64748b;
}

.vectorize-error {
    color: #b42318;
    background: #fff1f0;
}

@keyframes vectorize-spin {
    to { transform: rotate(360deg); }
}
