        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            font-family: 'Poppins', Arial, Helvetica, sans-serif;
        }

        body {
            background: #000;
            color: #fff;
            min-height: 100vh;
            padding: 20px;
        }

        /* ---------- HEADER ---------- */
        .header-container {
            text-align: center;
            margin-bottom: 40px;
            padding: 20px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 16px;
        }

        .title-row {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 12px;
            margin-bottom: 10px;
        }

        .page-title {
            font-size: 42px;
            font-weight: 900;
            color: #fff;
        }

        .title-line {
            width: 2px;
            height: 50px;
            background: #fff;
        }

        .title-image {
            width: 50px;
            height: 50px;
            background: #6797ff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .title-image svg {
            width: 28px;
            height: 28px;
        }

        .page-subtitle {
            font-size: 18px;
            color: #bbb;
        }

        /* ---------- NAVIGATION TABS ---------- */
        .nav-tabs {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-bottom: 40px;
            flex-wrap: wrap;
        }

        .nav-tabs button {
            padding: 12px 28px;
            background: #333;
            color: #fff;
            border: none;
            border-radius: 10px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .nav-tabs button:hover {
            background: #555;
            transform: translateY(-2px);
        }

        .nav-tabs button.active {
            background: #6797ff;
            box-shadow: 0 5px 20px rgba(103, 151, 255, 0.4);
        }

        .nav-tabs button[data-section="home"] {
            width: 50px;
            height: 50px;
            padding: 0;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .nav-tabs button[data-section="home"].active {
            background: #6797ff;
        }

        /* ---------- SECTIONS ---------- */
        .section {
            display: none;
            animation: fadeIn 0.4s ease;
        }

        .section.active {
            display: block;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* ---------- HOME SECTION ---------- */
        .home-content {
            max-width: 700px;
            margin: 0 auto;
        }

        .project-box {
            background: #fff;
            color: #000;
            padding: 40px;
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            line-height: 1.8;
        }

        .project-box h2 {
            font-size: 28px;
            margin-bottom: 20px;
            color: #000;
        }

        .project-box p {
            font-size: 16px;
            color: #333;
            margin-bottom: 15px;
        }

        /* ---------- UPLOAD SECTION ---------- */
        .upload-content {
            max-width: 500px;
            margin: 0 auto;
        }

        .upload-card {
            background: #fff;
            color: #000;
            padding: 40px;
            border-radius: 16px;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
        }

        .upload-card h2 {
            margin-bottom: 30px;
            font-size: 28px;
            text-align: center;
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            margin-bottom: 8px;
            font-size: 14px;
            color: #444;
            font-weight: 600;
        }

        .form-group input[type="file"] {
            width: 100%;
            padding: 12px;
            border: 2px solid #ddd;
            border-radius: 8px;
            font-size: 14px;
            background: #f9f9f9;
            transition: all 0.3s ease;
        }

        .form-group input:focus {
            outline: none;
            border-color: #6797ff;
            background: #fff;
        }

        /* Category Tags */
        .category-tags {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .category-tag {
            padding: 10px 20px;
            background: #f0f0f0;
            color: #666;
            border: 2px solid #ddd;
            border-radius: 25px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 600;
            transition: all 0.3s ease;
            user-select: none;
        }

        .category-tag:hover {
            background: #e0e0e0;
            border-color: #bbb;
        }

        .category-tag.selected {
            background: #6797ff;
            color: #fff;
            border-color: #6797ff;
            box-shadow: 0 3px 10px rgba(103, 151, 255, 0.3);
        }

        .category-tag.selected:hover {
            background: #5080e0;
            border-color: #5080e0;
        }

        .upload-btn {
            width: 100%;
            padding: 14px;
            background: #6797ff;
            color: #fff;
            border: none;
            border-radius: 8px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .upload-btn:hover {
            background: #5080e0;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(103, 151, 255, 0.4);
        }

        .upload-btn:disabled {
            background: #ccc;
            cursor: not-allowed;
            transform: none;
        }

        /* ---------- FILES SECTION ---------- */
        .controls {
            display: flex;
            gap: 15px;
            flex-wrap: wrap;
            margin-bottom: 30px;
            justify-content: center;
            align-items: center;
        }

        .controls input {
            padding: 10px 14px;
            border-radius: 8px;
            border: none;
            font-size: 14px;
            min-width: 250px;
            background: #fff;
            color: #000;
        }

        .filter-tags {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }

        .filter-tag {
            padding: 8px 16px;
            background: #333;
            color: #fff;
            border: 2px solid #333;
            border-radius: 20px;
            cursor: pointer;
            font-size: 13px;
            font-weight: 600;
            transition: all 0.3s ease;
            user-select: none;
        }

        .filter-tag:hover {
            background: #555;
            border-color: #555;
        }

        .filter-tag.active {
            background: #6797ff;
            border-color: #6797ff;
            box-shadow: 0 3px 10px rgba(103, 151, 255, 0.4);
        }

        .view-buttons {
            display: flex;
            gap: 8px;
        }

        .controls button {
            background: #6797ff;
            color: #fff;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
            padding: 10px 14px;
            border-radius: 8px;
            border: none;
            font-size: 14px;
        }

        .controls button:hover {
            background: #5080e0;
        }

        .controls button.active {
            background: #fff;
            color: #000;
        }

        /* ---------- FILE CONTAINER ---------- */
        #fileContainer {
            display: grid;
            gap: 20px;
        }

        /* ---------- GALLERY VIEW ---------- */
        .gallery {
            grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        }

        .file-card {
            background: #fff;
            color: #000;
            border-radius: 12px;
            padding: 16px;
            display: flex;
            flex-direction: column;
            gap: 8px;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s ease;
        }

        .file-card:hover {
            transform: translateY(-5px);
        }

        .file-card strong {
            font-size: 16px;
        }

        .tag {
            display: inline-block;
            background: #6797ff;
            color: #fff;
            padding: 4px 10px;
            border-radius: 6px;
            font-size: 12px;
            font-weight: 600;
        }

        .file-card a {
            margin-top: auto;
            text-align: center;
            background: #000;
            color: #fff;
            text-decoration: none;
            padding: 8px;
            border-radius: 6px;
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .file-card a:hover {
            background: #6797ff;
        }

        .file-card button {
            margin-top: auto;
            background: #000;
            color: #fff;
            border: none;
            padding: 8px;
            border-radius: 6px;
            cursor: pointer;
            font-size: 14px;
            transition: all 0.3s ease;
        }

        .file-card button:hover {
            background: #6797ff;
        }

        .file-card .button-group {
            display: flex;
            gap: 8px;
            margin-top: auto;
        }

        .file-card button.delete-btn {
            background: #f44336;
        }

        .file-card button.delete-btn:hover {
            background: #d32f2f;
        }

        /* ---------- LIST VIEW ---------- */
        .list {
            grid-template-columns: 1fr;
        }

        .list-item {
            background: #fff;
            color: #000;
            padding: 14px 18px;
            border-radius: 10px;
            display: grid;
            grid-template-columns: 2fr 1fr 1fr auto;
            align-items: center;
            gap: 10px;
            transition: transform 0.3s ease;
        }

        .list-item:hover {
            transform: translateX(5px);
        }

        .list-item a {
            background: #000;
            color: #fff;
            padding: 6px 12px;
            border-radius: 6px;
            text-decoration: none;
            font-size: 14px;
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .list-item a:hover {
            background: #6797ff;
        }

        .list-item button {
            background: #000;
            color: #fff;
            padding: 6px 12px;
            border-radius: 6px;
            border: none;
            font-size: 14px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .list-item button:hover {
            background: #6797ff;
        }

        .list-item .button-group {
            display: flex;
            gap: 8px;
        }

        .list-item button.delete-btn {
            background: #f44336;
        }

        .list-item button.delete-btn:hover {
            background: #d32f2f;
        }

        /* ---------- FOOTER ---------- */
        footer {
            text-align: center;
            padding: 20px;
            margin-top: 50px;
            font-size: 14px;
            color: #bbb;
        }

        footer a {
            color: #6797ff;
            text-decoration: none;
            border-bottom: 1px solid #6797ff;
            transition: all 0.2s;
        }

        footer a:hover {
            color: #fff;
            border-color: #fff;
        }

        /* ---------- MESSAGES ---------- */
        .message {
            max-width: 500px;
            margin: 0 auto 20px;
            padding: 15px;
            border-radius: 8px;
            text-align: center;
            font-weight: 600;
        }

        .message.success {
            background: #4caf50;
            color: #fff;
        }

        .message.error {
            background: #f44336;
            color: #fff;
        }

        /* ---------- MODAL ---------- */
        .modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.8);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 1000;
        }

        .modal.active {
            display: flex;
        }

        .modal-content {
            background: #fff;
            color: #000;
            padding: 30px;
            border-radius: 16px;
            max-width: 400px;
            width: 90%;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
        }

        .modal-content h3 {
            margin-bottom: 15px;
            font-size: 22px;
        }

        .modal-content p {
            margin-bottom: 20px;
            line-height: 1.6;
            color: #555;
        }

        .modal-content input {
            width: 100%;
            padding: 12px;
            border: 2px solid #ddd;
            border-radius: 8px;
            font-size: 14px;
            margin-bottom: 20px;
        }

        .modal-buttons {
            display: flex;
            gap: 10px;
            justify-content: flex-end;
        }

        .modal-buttons button {
            padding: 10px 20px;
            border: none;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .modal-buttons button.cancel {
            background: #ddd;
            color: #333;
        }

        .modal-buttons button.cancel:hover {
            background: #ccc;
        }

        .modal-buttons button.confirm {
            background: #f44336;
            color: #fff;
        }

        .modal-buttons button.confirm:hover {
            background: #d32f2f;
        }

        /* File input styling */
        .file-input-wrapper {
            position: relative;
            overflow: hidden;
            display: inline-block;
            width: 100%;
        }

        .file-input-wrapper input[type=file] {
            font-size: 100px;
            position: absolute;
            left: 0;
            top: 0;
            opacity: 0;
            cursor: pointer;
        }

        .file-input-label {
            display: block;
            padding: 12px;
            background: #f9f9f9;
            border: 2px dashed #ddd;
            border-radius: 8px;
            text-align: center;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .file-input-label:hover {
            border-color: #6797ff;
            background: #fff;
        }

        .file-input-label.has-file {
            border-style: solid;
            border-color: #6797ff;
            background: #f0f7ff;
        }

        /* File Preview Fix - Begrenzte Größe */
        .file-preview {
            width: 100%;
            height: 150px;
            background: #f0f0f0;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            margin-bottom: 8px;
        }

        .file-preview img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .file-preview video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .file-preview audio {
            width: 100%;
            padding: 10px;
        }

        .file-preview .file-icon {
            font-size: 48px;
            color: #999;
        }

        /* Add File Button - Grüner Plus Button */
        .add-btn {
            width: 50px !important;
            height: 50px !important;
            padding: 0 !important;
            border-radius: 50% !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-size: 24px !important;
            background: #6797ff !important;
            color: #fff !important;
            border: none !important;
            cursor: pointer !important;
            transition: all 0.3s ease !important;
        }

        .add-btn:hover {
            background: #6797ff !important;
            transform: scale(1.1) !important;
        }

        /* Folder Button */
        .folder-btn {
            background: #ffffff !important;
            color: #000000 !important;
            padding: 10px 20px !important;
            border-radius: 8px !important;
            border: none !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            cursor: pointer !important;
            transition: all 0.3s ease !important;
        }


        /* Breadcrumbs */
        .breadcrumbs {
            display: flex;
            gap: 8px;
            align-items: center;
            margin-bottom: 20px;
            flex-wrap: wrap;
            justify-content: center;
        }

        .breadcrumb {
            color: #6797ff;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .breadcrumb:hover {
            color: #fff;
            text-decoration: underline;
        }

        .breadcrumb-separator {
            color: #666;
        }

        /* Folder Cards */
        .file-card.folder {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: #fff;
            cursor: pointer;
        }

        .file-card.folder:hover {
            transform: translateY(-5px) scale(1.02);
        }

        .file-card.folder .folder-icon {
            font-size: 48px;
            text-align: center;
            margin: 20px 0;
        }

        .file-card.folder strong {
            color: #fff;
            text-align: center;
        }

        .list-item.folder {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: #fff;
            cursor: pointer;
        }

        .list-item.folder strong {
            color: #fff;
        }

        /* Breadcrumb Navigation - Verbessert */
        .breadcrumbs {
            background: rgba(255, 255, 255, 0.08);
            padding: 15px 25px;
            border-radius: 12px;
            margin-bottom: 25px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
        }

        .breadcrumb {
            color: #6797ff;
            font-size: 15px;
            padding: 8px 15px;
            border-radius: 8px;
            transition: all 0.3s ease;
            display: inline-block;
        }

        .breadcrumb:hover {
            background: rgba(103, 151, 255, 0.2);
            transform: translateY(-2px);
            color: #fff;
        }

        .breadcrumb-separator {
            color: #666;
            margin: 0 5px;
            font-size: 18px;
        }

        /* Symbol Buttons */
        .icon-btn {
            width: 36px !important;
            height: 36px !important;
            padding: 0 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-size: 18px !important;
            border-radius: 8px !important;
            border: none !important;
            cursor: pointer !important;
            transition: all 0.3s ease !important;
        }

        .icon-btn.download {
            background: #4caf50 !important;
            color: #fff !important;
        }

        .icon-btn.download:hover {
            background: #45a049 !important;
            transform: scale(1.1) !important;
        }

        .icon-btn.move {
            background: #2196F3 !important;
            color: #fff !important;
        }

        .icon-btn.move:hover {
            background: #0b7dda !important;
            transform: scale(1.1) !important;
        }

        .icon-btn.delete {
            background: #f44336 !important;
            color: #fff !important;
        }

        .icon-btn.delete:hover {
            background: #da190b !important;
            transform: scale(1.1) !important;
        }

        /* Bulk Selection */
        .file-card.selected,
        .list-item.selected {
            outline: 3px solid #6797ff;
            outline-offset: 2px;
            box-shadow: 0 0 20px rgba(103, 151, 255, 0.5);
        }

        .file-card .checkbox-wrapper,
        .list-item .checkbox-wrapper {
            position: absolute;
            top: 10px;
            left: 10px;
            z-index: 10;
        }

        .checkbox-wrapper input[type="checkbox"] {
            width: 20px;
            height: 20px;
            cursor: pointer;
            accent-color: #6797ff;
        }

        .bulk-actions {
            display: none;
            gap: 10px;
            margin-bottom: 20px;
            padding: 15px;
            background: rgba(103, 151, 255, 0.15);
            border-radius: 10px;
            align-items: center;
            justify-content: center;
            border: 2px solid #6797ff;
        }

        .bulk-actions.active {
            display: flex;
        }

        .bulk-actions button {
            padding: 10px 20px;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .bulk-actions .bulk-move {
            background: #2196F3;
            color: #fff;
        }

        .bulk-actions .bulk-move:hover {
            background: #0b7dda;
            transform: translateY(-2px);
        }

        .bulk-actions .bulk-delete {
            background: #f44336;
            color: #fff;
        }

        .bulk-actions .bulk-delete:hover {
            background: #da190b;
            transform: translateY(-2px);
        }

        .bulk-actions .bulk-cancel {
            background: #666;
            color: #fff;
        }

        .bulk-actions .bulk-cancel:hover {
            background: #555;
            transform: translateY(-2px);
        }

        /* Sortierung */
        .sort-controls {
            display: flex;
            gap: 10px;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            margin-bottom: 15px;
        }

        .sort-controls select {
            padding: 10px 15px;
            border-radius: 8px;
            border: none;
            background: #fff;
            color: #000;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .sort-controls select:hover {
            background: #6797ff;
            color: #fff;
        }

        /* Statistiken */
        .stats-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 15px;
            margin-bottom: 30px;
        }

        .stat-card {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: #fff;
            padding: 20px;
            border-radius: 12px;
            text-align: center;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s ease;
        }

        .stat-card:hover {
            transform: translateY(-5px);
        }

        .stat-card .stat-number {
            font-size: 32px;
            font-weight: 900;
            margin-bottom: 5px;
        }

        .stat-card .stat-label {
            font-size: 14px;
            opacity: 0.9;
        }

        .nav-tabs button {
            padding: 12px 28px;
            background: #333;
            color: #fff;
            border: none;
            border-radius: 10px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .home-content button:hover {
            background: #555;
            transform: translateY(-2px);
        }

        .home-content button.active {
            background: #6797ff;
            box-shadow: 0 5px 20px rgba(103, 151, 255, 0.4);
        }

        