.upload-page {
    display: flex;
    justify-content: center;
    padding: 40px 20px;
}

.upload-card {
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    padding: 32px;
    width: 100%;
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.upload-title {
    font-size: 1.4rem;
    font-weight: 600;
    margin: 0;
}

.upload-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.upload-field label {
    font-size: 0.85rem;
    color: #aaa;
}

.upload-field select,
.upload-field input[type="file"] {
    background: #111;
    border: 1px solid #333;
    border-radius: 6px;
    color: #fff;
    padding: 10px 12px;
    font-size: 0.9rem;
    width: 100%;
    box-sizing: border-box;
}

.upload-field select {
    cursor: pointer;
}

.upload-file-info {
    font-size: 0.8rem;
    color: #888;
}

.avatar-preview-wrap {
    width: 150px;
    height: 150px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #333;
}

.avatar-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.upload-btn {
    background: #fff;
    color: #000;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    align-self: flex-start;
    transition: opacity 0.2s;
}

.upload-btn:hover {
    opacity: 0.85;
}

.upload-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.upload-error {
    font-size: 0.85rem;
    color: #e05555;
    min-height: 18px;
}

.upload-type-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.upload-type-list a {
    color: #fff;
    text-decoration: underline;
}
