.unified-file-upload{border:2px dashed #dee2e6;border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:.3s;background-color:#f8f9fa;position:relative;overflow:hidden;min-height:120px}.unified-file-upload::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,123,255,.1),transparent);transition:left .5s}.unified-file-upload:hover::before{left:100%}.unified-file-upload:hover{border-color:#007bff;background-color:#e7f3ff;transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,123,255,.15)}.unified-file-upload.dragging{border-color:#28a745;background-color:#d4edda;transform:scale(1.02)}.unified-file-upload .upload-text{font-size:1.1rem;font-weight:500;margin-top:8px;color:#495057}.unified-file-list .file-section-header{color:#495057;margin-bottom:10px;padding:10px 0;border-bottom:2px solid #e9ecef;font-weight:600;display:flex;align-items:center;gap:10px}.unified-file-list .file-section-header i{font-size:1.2rem}.ai-file-grid,.code-file-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:9px;margin-bottom:20px;list-style:none;padding:0}@media (min-width:900px){.ai-file-grid,.code-file-grid{grid-template-columns:repeat(3,1fr)}}.ai-file-grid .file-info,.code-file-info{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;padding:9px;display:flex;flex-direction:column;transition:.3s cubic-bezier(.4, 0, .2, 1);position:relative;box-shadow:0 2px 8px rgba(0,0,0,.05);overflow:hidden}.ai-file-grid .file-info:hover,.code-file-info:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,123,255,.15);border-color:#007bff}.unified-file-list .file-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.unified-file-list .file-info-details{flex:1;min-width:0}.unified-file-list .file-name{color:#212529;font-size:13px;font-weight:600;word-break:break-word;display:flex;align-items:center;gap:8px;margin-bottom:8px;line-height:1.3}.unified-file-list .file-icon{font-size:1.4rem;min-width:20px;display:flex;align-items:center;justify-content:center}.unified-file-list .file-icon.python{color:#3776ab}.unified-file-list .file-icon.javascript{color:#f7df1e}.unified-file-list .file-icon.java{color:#ed8b00}.unified-file-list .file-icon.html{color:#e34f26}.unified-file-list .file-icon.css{color:#1572b6}.unified-file-list .file-icon.markdown{color:#083fa1}.unified-file-list .file-icon.pdf{color:red}.unified-file-list .file-icon.word{color:#2b579a}.unified-file-list .file-icon.excel{color:#217346}.unified-file-list .file-icon.powerpoint{color:#d24726}.unified-file-list .file-icon.code{color:#007acc}.unified-file-list .file-icon.default,.unified-file-list .file-icon.text,.unified-file-list .file-meta-text{color:#6c757d}.unified-file-list .file-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem}.unified-file-list .file-badge{font-size:.7rem;padding:4px 8px;border-radius:6px;font-weight:500;display:inline-flex;align-items:center;gap:4px}.unified-file-list .file-badge.badge-editor{background-color:#0dcaf0;color:#000}.unified-file-list .file-badge.badge-sandbox{background-color:#0d6efd;color:#fff}.unified-file-list .file-badge.badge-ai{background-color:#198754;color:#fff}.unified-file-list .sandbox-file{border-left:4px solid #0d6efd}.unified-file-list .default-file{border-left:4px solid #198754}.unified-file-list .file-close-btn{opacity:.6;transition:.3s;width:24px;height:24px;border:none;background:0 0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#6c757d}.unified-file-list .file-close-btn:hover{opacity:1;transform:scale(1.1);background-color:#f8f9fa;color:#dc3545}.unified-file-list .file-close-btn::before{content:'×';font-size:18px;font-weight:700}.unified-file-list .show-more{color:#007bff;padding:9px;border-radius:12px;text-align:center;cursor:pointer;transition:.3s;border:1px solid #e9ecef;font-weight:500}.unified-file-list .show-more:hover{color:#0056b3;background-color:#e7f3ff;border-color:#007bff;transform:translateY(-2px)}.unified-file-list .show-more.hidden{display:none}.unified-file-list .file-id-display{color:#6c757d;font-size:.68rem;font-family:'Courier New',monospace;padding:4px;border-radius:4px;display:inline-block}.unified-file-upload .upload-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:12px 16px;border-radius:8px;margin-top:15px;position:relative;box-shadow:0 2px 10px rgba(220,53,69,.2)}.unified-file-upload .upload-error .error-close{position:absolute;top:8px;right:12px;background:0 0;border:none;font-size:16px;cursor:pointer;color:#721c24;opacity:.7}.unified-file-upload .upload-error .error-close:hover{opacity:1}.dark-theme .error-close{color:#000}.unified-file-list .code-file-info.hidden,.unified-file-list .file-info.hidden{display:none!important}.unified-file-upload .uploading-message{color:#6c757d;margin:15px 0;font-style:italic}.dark-theme .unified-file-upload{border:2px dashed #2c5aa0;background-color:#1a2332;color:#e0e6ed}.dark-theme .unified-file-upload::before{background:linear-gradient(90deg,transparent,rgba(74,144,226,.2),transparent)}.dark-theme .unified-file-upload:hover{border-color:#4a90e2;background-color:#1e2a3a;box-shadow:0 4px 20px rgba(74,144,226,.25)}.dark-theme .unified-file-upload.dragging{border-color:#4a90e2;background-color:#243447}.dark-theme .unified-file-list .file-name,.dark-theme .unified-file-upload .upload-text{color:#e0e6ed}.dark-theme .unified-file-list .file-section-header{color:#a8b8d0;border-bottom:2px solid #2c3e50}.dark-theme .ai-file-grid .file-info,.dark-theme .code-file-info{background-color:#1e2a3a;border:1px solid #2c5aa0;color:#e0e6ed;box-shadow:0 2px 8px rgba(0,0,0,.3)}.dark-theme .ai-file-grid .file-info:hover,.dark-theme .code-file-info:hover{background-color:#243447;border-color:#4a90e2;box-shadow:0 8px 25px rgba(74,144,226,.3)}.dark-theme .unified-file-list .file-meta-text{color:#7a8ca5}.dark-theme .unified-file-list .file-badge.badge-ai,.dark-theme .unified-file-list .file-badge.badge-editor{background-color:#2c5aa0;color:#e0e6ed}.dark-theme .unified-file-list .file-badge.badge-sandbox{background-color:#4a90e2;color:#e0e6ed}.dark-theme .unified-file-list .sandbox-file{border-left:4px solid #4a90e2}.dark-theme .unified-file-list .default-file{border-left:4px solid #3a7bc8}.dark-theme .unified-file-list .file-close-btn,.dark-theme .unified-file-upload .uploading-message{color:#a8b8d0}.dark-theme .unified-file-list .file-close-btn:hover{background-color:#243447;color:#ff6b6b}.dark-theme .unified-file-list .show-more{color:#4a90e2;background-color:#1e2a3a;border-color:#2c5aa0}.dark-theme .unified-file-list .show-more:hover{color:#5ba3f5;background-color:#243447;border-color:#4a90e2}.dark-theme .unified-file-list .file-id-display{color:#7a8ca5;background-color:#243447}.dark-theme .unified-file-upload .upload-error{background-color:#2e1a1a;border-color:#5c2626;color:#f0b4b4;box-shadow:0 2px 10px rgba(220,53,69,.3)}.dark-theme .unified-file-upload .upload-error .error-close{color:#f0b4b4}@media (max-width:900px){.ai-file-grid,.code-file-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.ai-file-grid,.code-file-grid{grid-template-columns:1fr}.unified-file-upload{padding:20px 16px;min-height:100px}.unified-file-list .file-info-header{flex-direction:column;gap:10px;align-items:flex-start}.unified-file-list .file-close-btn{align-self:flex-end;margin-top:-30px}}