.upload {
    /* border: 2px dashed #cfe9d7; */
    border: 2px dashed #ccc;
    border-radius: 10px;
    padding: 28px;
    height: 10rem;
    margin-bottom: 16px;
    text-align: center;
    cursor: pointer;
    color: #666;
    display: flex;
    align-items: center;      /* 垂直居中 */
    justify-content: center;  /* 水平居中 */
}

.upload:hover {
    border-color: #ccc;
    color: #19af3c;
    /* background: #fafafa; */
}

input[type="file"] {
    display: none;
}

.controls {
    font-size: 14px;
    margin-bottom: 12px;
}

.controls-row {
    margin-bottom: 8px;
}

.controls input,
.controls select,
.controls button {
    margin-right: 6px;
}

.controls input,
.controls select {
    padding: 5px 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

button {
    padding: 7px 16px;
    border: none;
    border-radius: 6px;
    background: #19af3c;
    color: #fff;
    cursor: pointer;
}

button.secondary {
    background: #e8f6ec;
    color: #19af3c;
}

button:hover {
    opacity: 0.9;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 14px;
    font-size: 14px;
}

th {
    /* background: #f3fcf6; */
}

th,
td {
    border-bottom: 1px solid #eee;
    padding: 8px;
    text-align: center;
} 

img {
    max-width: 56px;
    max-height: 56px;
    border-radius: 4px;
}

.table-actions {
    margin-top: 12px;
    text-align: right;
}

.note {
    font-size: 12px;
    color: #888;
    margin-top: 6px;
}