body { background: #f5f7fa; } .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; padding: 24px 0 20px; } .upload-zone { border: 2px dashed #ccc; border-radius: 12px; padding: 28px; text-align: center; cursor: pointer; transition: all .2s; background: #fff; min-height: 100px; } .upload-zone:hover, .upload-zone.dragover { border-color: #667eea; background: #f0f2ff; } .upload-zone.active { border-color: #28a745; background: #f0fff4; } .upload-zone .icon { font-size: 32px; color: #aaa; margin-bottom: 8px; } .file-tag { display: inline-block; background: #e8f0fe; border-radius: 4px; padding: 2px 10px; margin: 3px; font-size: 13px; } .file-tag .remove { cursor: pointer; color: #c00; margin-left: 6px; font-weight: bold; } .log-container { background: #1e1e1e; color: #d4d4d4; border-radius: 8px; padding: 14px; height: 360px; overflow-y: auto; font-family: Consolas, monospace; font-size: 13px; line-height: 1.6; white-space: pre-wrap; word-break: break-all; } .log-container .empty { color: #666; font-style: italic; } .section-title { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 12px; } .btn-process { font-size: 17px; padding: 10px 40px; } .status-badge { font-size: 13px; } /* 可编辑表格 */ .table-editable { font-size: 13px; } .table-editable th { position: sticky; top: 0; background: #f8f9fa; z-index: 1; font-weight: 600; white-space: nowrap; } .table-editable td { vertical-align: middle; } .table-editable input.form-control { font-size: 13px; padding: 4px 8px; min-width: 80px; } .table-wrapper { max-height: 500px; overflow-y: auto; border: 1px solid #dee2e6; border-radius: 8px; } .edit-note { font-size: 12px; color: #888; margin-bottom: 8px; }