 .drop-zone {
 border: 2px dashed #ccc;
 border-radius: 10px;
 padding: 30px;
 text-align: center;
 background: #fff;
 transition: border 0.3s, background 0.3s;
 cursor: pointer;
 margin-bottom: 20px;
 }
 .drop-zone:hover, .drop-zone.drag-over {
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Crect width='10' height='10' fill='%23f0f0f0'/%3E%3Crect x='10' y='10' width='10' height='10' fill='%23f0f0f0'/%3E%3C/svg%3E");
 background-size: 10px 10px !important;
 transition: background-image 0.3s ease, background-color 0.3s ease;
 border-color: #23527c;
 }
 .drop-zone-icon { font-size: 48px; color: #007bff; margin-bottom: 15px; }
 .file-list { margin-top: 20px; max-height: 500px; overflow-y: auto; }
 .file-item {
 background: white; border-radius: 8px; padding: 15px; margin-bottom: 10px;
 box-shadow: 0 2px 4px rgba(0,0,0,0.1); display: flex; align-items: center;
 transition: all 0.3s ease;
 }
 .file-item:hover { box-shadow: 0 4px 8px rgba(0,0,0,0.15); }
 .file-item.processing { border-left: 4px solid #ffc107; }
 .file-item.done { border-left: 4px solid #28a745; }
 .file-item.error { border-left: 4px solid #dc3545; }
 .file-preview {
 width: 60px; height: 60px; object-fit: contain; border-radius: 4px;
 background-image: linear-gradient(45deg,#ccc 25%,transparent 25%),
 linear-gradient(-45deg,#ccc 25%,transparent 25%),
 linear-gradient(45deg,transparent 75%,#ccc 75%),
 linear-gradient(-45deg,transparent 75%,#ccc 75%);
 background-size: 10px 10px; margin-right: 15px;
 }
 .file-info { flex: 1; }
 .file-name {
 font-weight: 600; margin-bottom: 5px; white-space: nowrap;
 overflow: hidden; text-overflow: ellipsis; max-width: 300px;
 }
 .file-stats { font-size: 1rem; font-weight: bold; color: #6c757d; }
 .file-actions { display: flex; gap: 8px; }

 .loading-overlay {
 position: fixed; top: 0; left: 0; width: 100%; height: 100%;
 background: rgba(0,0,0,0.7); display: none;
 align-items: center; justify-content: center; z-index: 9999;
 }
 .loading-overlay.active { display: flex; }
 .progress-bar-container {
 width: 100px; height: 6px; background: #e9ecef;
 border-radius: 3px; overflow: hidden; margin-top: 5px;
 }
 .progress-bar {
 height: 100%; background: #28a745; width: 0%;
 transition: width 0.3s ease;
 }
 .stats-summary { display: none; }
 .stats-summary.show { display: block; }
.mb-1 { margin-bottom: 10px; }
.mb-2 { margin-bottom: 20px; }