    /* ══════════════════════════════════════════
       DB SAYFASI
    ══════════════════════════════════════════ */
    .db-layout { padding: 0; display: flex; flex-direction: column; gap: 14px; max-width: none; }
    .db-products-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(520px,1fr)); gap: 12px; align-items: start; }
    .db-products-grid.mode-draft { grid-template-columns: 1fr; }
    .db-products-grid.mode-approved { grid-template-columns: 1fr; }
    .db-products-grid.mode-draft #approvedProductsCard { display: none; }
    .db-products-grid.mode-approved #draftProductsCard { display: none; }

    /* Upload card */
    .db-upload-card { background: var(--bg2); border: 1px solid var(--border); border-radius: 12px; padding: 24px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
    .db-upload-card h2 { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
    .db-upload-card p { font-size: 12px; color: var(--text3); margin-bottom: 16px; }

    .db-drop { border: 1.5px dashed var(--border2); border-radius: var(--radius); padding: 32px 24px; text-align: center; cursor: pointer; transition: all 0.15s; display: flex; flex-direction: column; align-items: center; gap: 8px; }
    .db-drop:hover, .db-drop.drag { border-color: var(--blue); background: rgba(59,130,246,0.05); }
    .db-drop.loaded { border-style: solid; border-color: var(--blue); }
    .db-drop-icon { width: 44px; height: 44px; background: rgba(59,130,246,0.1); border-radius: 10px; display: flex; align-items: center; justify-content: center; }
    .db-drop-icon svg { width: 22px; height: 22px; stroke: var(--blue); fill: none; stroke-width: 1.5; }
    .db-drop h3 { font-size: 14px; font-weight: 500; }
    .db-drop p { font-size: 12px; color: var(--text3); margin: 0; }
    .db-drop .formats { display: flex; gap: 6px; margin-top: 4px; }
    .db-drop-preview { display: none; margin-top: 6px; padding: 10px; border-radius: 10px; border: 1px solid var(--border2); background: rgba(59,130,246,0.08); min-width: 140px; }
    .db-drop-preview img { width: 120px; height: 80px; border-radius: 8px; object-fit: cover; display: block; margin: 0 auto 6px; background: #f1f5f9; border: 1px solid var(--border); }
    .db-drop-preview-name { font-size: 11px; color: var(--text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px; }
    .fmt-badge { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; }
    .fmt-dwg { background: rgba(59,130,246,0.12); color: #60a5fa; }
    .fmt-dxf { background: rgba(34,197,94,0.12); color: #4ade80; }
    .fmt-pdf { background: rgba(245,158,11,0.12); color: #fbbf24; }

    /* Seçili dosya listesi */
    .db-selected-files { margin-top: 14px; display: none; }
    .db-selected-files h4 { font-size: 12px; font-weight: 600; color: var(--text3); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 8px; }
    .db-file-chips { display: flex; flex-wrap: wrap; gap: 6px; max-height: 100px; overflow-y: auto; margin-bottom: 12px; }
    .db-file-chip { font-size: 11px; background: var(--bg3); border: 1px solid var(--border2); border-radius: 6px; padding: 3px 8px; color: var(--text2); }
    .db-archive-preview { margin-top: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg3); display: none; }
    .db-archive-preview-head { font-size: 11px; color: var(--text3); padding: 8px 10px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
    .db-archive-list { max-height: 180px; overflow-y: auto; padding: 8px 10px; display: flex; flex-direction: column; gap: 5px; }
    .db-archive-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; }
    .db-archive-name { color: var(--text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }
    .db-archive-meta { color: var(--text3); font-size: 10px; flex-shrink: 0; }
    .db-image-preview { display: none; margin-top: 10px; }
    .db-image-preview-title { font-size: 11px; color: var(--text3); margin-bottom: 8px; }
    .db-image-preview-grid { display: flex; flex-wrap: wrap; gap: 8px; }
    .db-image-preview-item { width: 84px; }
    .db-image-preview-thumb { width: 84px; height: 60px; border-radius: 8px; border: 1px solid var(--border); background: #f1f5f9; object-fit: cover; display: block; }
    .db-image-preview-name { margin-top: 4px; font-size: 10px; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

    /* Progress */
    .db-progress { margin-top: 14px; display: none; }
    .db-progress-bar-wrap { background: var(--bg3); border-radius: 4px; height: 6px; overflow: hidden; margin: 8px 0; }
    .db-progress-bar { height: 100%; background: var(--blue); border-radius: 4px; transition: width 0.3s; width: 0%; }
    .db-progress-label { font-size: 12px; color: var(--text3); }
    .db-upload-stats { display: flex; gap: 16px; margin-top: 8px; }
    .db-upload-stats span { font-size: 12px; }
    .ok-count { color: var(--green); font-weight: 600; }
    .fail-count { color: var(--red); font-weight: 600; }
    .db-error-list { margin-top: 8px; max-height: 120px; overflow-y: auto; }
    .db-error-item { font-size: 11px; padding: 4px 8px; background: rgba(239,68,68,0.08); border-left: 2px solid var(--red); border-radius: 2px; margin-bottom: 4px; color: var(--text2); }
    .db-upload-queue { margin-top: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg3); max-height: 220px; overflow-y: auto; }
    .db-upload-queue-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border-bottom: 1px solid var(--border); }
    .db-upload-queue-item:last-child { border-bottom: none; }
    .db-uq-left { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
    .db-uq-name { font-size: 11px; color: var(--text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .db-uq-archive { font-size: 10px; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .db-uq-status { font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 12px; border: 1px solid var(--border2); white-space: nowrap; }
    .db-uq-status.queued { color: var(--text3); background: transparent; }
    .db-uq-status.uploading { color: #1d4ed8; background: rgba(59,130,246,0.10); border-color: rgba(59,130,246,0.25); }
    .db-uq-status.uploaded { color: #059669; background: rgba(16,185,129,0.10); border-color: rgba(16,185,129,0.25); }
    .db-uq-status.error { color: #dc2626; background: rgba(239,68,68,0.10); border-color: rgba(239,68,68,0.25); }

    .db-actions { display: flex; gap: 10px; margin-top: 14px; }
    .btn-primary { padding: 8px 18px; background: var(--blue); color: #fff; border: none; border-radius: var(--radius); font-size: 13px; font-weight: 500; cursor: pointer; }
    .btn-primary:hover { background: var(--blue2); }
    .btn-primary:disabled { opacity: 0.4; cursor: not-allowed; }
    .btn-secondary { padding: 8px 18px; background: transparent; color: var(--text2); border: 1px solid var(--border2); border-radius: var(--radius); font-size: 13px; cursor: pointer; }
    .btn-secondary:hover { border-color: var(--text3); }
    .db-upload-status { margin-top: 10px; display: none; align-items: center; gap: 8px; font-size: 12px; padding: 8px 10px; border-radius: 8px; border: 1px solid var(--border2); background: var(--bg3); color: var(--text2); }
    .db-upload-status.loading { border-color: rgba(14,165,233,0.3); color: #0ea5e9; background: rgba(14,165,233,0.06); }
    .db-upload-status.success { border-color: rgba(16,185,129,0.3); color: #059669; background: rgba(16,185,129,0.06); }
    .db-upload-status.warn { border-color: rgba(245,158,11,0.3); color: #d97706; background: rgba(245,158,11,0.06); }
    .db-upload-status.error { border-color: rgba(239,68,68,0.3); color: #dc2626; background: rgba(239,68,68,0.06); }
    .db-mini-spinner { width: 14px; height: 14px; border: 2px solid rgba(255,255,255,0.25); border-top-color: currentColor; border-radius: 50%; animation: spin 0.8s linear infinite; flex-shrink: 0; }

    /* Dosya listesi tablosu */
    .db-files-card { background: var(--bg2); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
    .db-files-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--border); gap: 12px; flex-wrap: wrap; }
    .db-files-header h2 { font-size: 15px; font-weight: 600; }
    .db-search-box { background: var(--bg3); border: 1px solid var(--border2); border-radius: 6px; padding: 6px 10px; font-size: 12px; color: var(--text); outline: none; width: 200px; }
    .db-search-box::placeholder { color: var(--text3); }

    .db-table-wrap { overflow-x: auto; }
    table { width: 100%; border-collapse: collapse; font-family: var(--font-data); }
    th { font-size: 11px; font-weight: 700; color: #0f172a; text-transform: uppercase; letter-spacing: 0.05em; padding: 10px 16px; text-align: left; border-bottom: 1px solid var(--border); white-space: nowrap; }
    td { padding: 10px 16px; font-size: 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
    tr:last-child td { border-bottom: none; }
    tr:hover td { background: var(--bg3); }
    .td-filename { font-family: var(--font-data); font-weight: 600; color: var(--text); max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .td-format { font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: 4px; display: inline-block; }
    .td-date { color: var(--text3); font-size: 11px; white-space: nowrap; }
    .del-btn { background: transparent; border: 1px solid transparent; color: var(--text3); cursor: pointer; padding: 4px 8px; border-radius: 6px; font-size: 12px; transition: all 0.15s; }
    .del-btn:hover { border-color: var(--red); color: var(--red); background: rgba(239,68,68,0.08); }

    .db-pagination { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; border-top: 1px solid var(--border); }
    .db-pagination span { font-size: 12px; color: var(--text3); }
    .db-pagination-btns { display: flex; gap: 6px; }
    .pg-btn { background: var(--bg3); border: 1px solid var(--border2); color: var(--text2); padding: 4px 12px; border-radius: 6px; font-size: 12px; cursor: pointer; }
    .pg-btn:hover { border-color: var(--blue); color: var(--blue); }
    .pg-btn:disabled { opacity: 0.3; cursor: not-allowed; }

    .db-empty { padding: 48px; text-align: center; color: var(--text3); font-size: 13px; }

    /* ── Sidebar önizleme ── */
    .sidebar-preview { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: var(--bg3); }
    .sidebar-preview-label { font-size: 10px; color: var(--text3); padding: 6px 10px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }
    .sidebar-preview svg { display: block; width: 100%; height: auto; }

    /* ── Preview modal ── */
    .modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 100; display: flex; align-items: center; justify-content: center; padding: 24px; backdrop-filter: blur(4px); }
    .modal-overlay.hidden { display: none; }
    .modal { background: var(--bg2); border: 1px solid var(--border); border-radius: 16px; width: 100%; max-width: 760px; max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
    .modal-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
    .modal-title { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: calc(100% - 40px); }
    .modal-close { background: transparent; border: none; color: var(--text3); cursor: pointer; font-size: 20px; line-height: 1; padding: 0 4px; }
    .modal-close:hover { color: var(--text); }
    .modal-body { flex: 1; overflow: auto; padding: 20px; display: flex; flex-direction: column; gap: 16px; align-items: center; }
    .modal-svg-wrap { width: 100%; background: #fff; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); }
    .modal-svg-wrap svg { display: block; width: 100%; height: auto; }
    .modal-meta { width: 100%; display: flex; gap: 16px; flex-wrap: wrap; }
    .modal-meta-item { display: flex; flex-direction: column; gap: 2px; }
    .modal-meta-label { font-size: 10px; color: var(--text3); text-transform: uppercase; letter-spacing: 0.05em; }
    .modal-meta-val { font-size: 13px; font-weight: 500; }
    .preview-btn { background: transparent; border: 1px solid var(--border2); color: var(--text2); cursor: pointer; padding: 4px 10px; border-radius: 6px; font-size: 11px; transition: all 0.15s; white-space: nowrap; }
    .preview-btn:hover { border-color: var(--blue); color: var(--blue); }


    /* ═══════════════ Claude-style DB page ═══════════════ */
    #page-db, #page-products { background: #f7f5f2 !important; }
    #page-db .fl-main, #page-products .fl-main { background: #f7f5f2; }
    #page-db .fl-content, #page-products .fl-content { padding: 20px 24px; background: #f7f5f2; }

    /* Folder sidebar */
    #page-db .fl-sidebar, #page-products .fl-sidebar { background: #f2f0ec; border-right: 1px solid #e8e4dd; }
    #page-db .fl-section-label, #page-products .fl-section-label { color: #a3a09a; font-size: 10px; letter-spacing: 0.1em; padding: 14px 16px 6px; }
    #page-db .fl-folder-btn, #page-products .fl-folder-btn { font-size: 13px; color: #4b5563; border-radius: 8px; padding: 7px 10px; }
    #page-db .fl-folder-btn:hover, #page-products .fl-folder-btn:hover { background: #e8e4dd; color: #1a1a1a; }
    #page-db .fl-folder-btn.active, #page-products .fl-folder-btn.active { background: #1a1a1a; color: #fff; font-weight: 500; }
    #page-db .fl-folder-btn.active svg, #page-products .fl-folder-btn.active svg { stroke: #fff; }
    #page-db .fl-folder-count, #page-products .fl-folder-count { font-size: 11px; font-weight: 600; opacity: 0.65; }
    #page-db .fl-storage, #page-products .fl-storage { border-top: 1px solid #e8e4dd; background: #f2f0ec; }
    #page-db .fl-storage-bar, #page-products .fl-storage-bar { background: #1a1a1a; }

    /* Toolbar */
    #page-db .fl-toolbar, #page-products .fl-toolbar { background: #fff; border-bottom: 1px solid #e8e4dd; padding: 10px 20px; }
    #page-db .fl-toolbar-search input, #page-products .fl-toolbar-search input {
      border: 1.5px solid #e3dfd8; border-radius: 10px; background: #f7f5f2;
      font-size: 13px; color: #1a1a1a; width: 280px; padding: 8px 12px 8px 34px;
      transition: all 0.15s;
    }
    #page-db .fl-toolbar-search input:focus, #page-products .fl-toolbar-search input:focus { border-color: #1a1a1a; background: #fff; box-shadow: 0 0 0 3px rgba(0,0,0,0.06); }
    #page-db .fl-view-toggle, #page-products .fl-view-toggle { background: #ede9e2; border-radius: 10px; }
    #page-db .fl-view-btn, #page-products .fl-view-btn { color: #6b7280; font-size: 12px; border-radius: 7px; }
    #page-db .fl-view-btn.active, #page-products .fl-view-btn.active { background: #fff; color: #1a1a1a; font-weight: 600; box-shadow: 0 1px 4px rgba(0,0,0,0.08); }
    #page-db .fl-filter-btn, #page-products .fl-filter-btn { background: #f7f5f2; border: 1.5px solid #e3dfd8; border-radius: 10px; color: #4b5563; font-size: 13px; transition: all 0.15s; }
    #page-db .fl-filter-btn:hover, #page-products .fl-filter-btn:hover { background: #edeae4; border-color: #c8c4bc; }
    #page-db .pg-btn, #page-products .pg-btn { background: #f7f5f2; border: 1.5px solid #e3dfd8; color: #4b5563; border-radius: 8px; font-size: 12px; padding: 5px 14px; font-family: var(--font-ui); transition: all 0.15s; }
    #page-db .pg-btn:hover, #page-products .pg-btn:hover { background: #edeae4; border-color: #1a1a1a; color: #1a1a1a; }
    #page-db .pg-btn:disabled, #page-products .pg-btn:disabled { opacity: 0.35; cursor: not-allowed; }
    #page-db #dbSelectedApproveInfo { font-size: 12px; color: #9ca3af; }

    /* File card */
    #page-db .db-files-card, #page-products .db-files-card { background: #fff; border: 1.5px solid #e8e4dd; border-radius: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 6px 20px rgba(0,0,0,0.03); overflow: hidden; }
    #page-db .db-files-header, #page-products .db-files-header { padding: 14px 20px; border-bottom: 1px solid #f0ede7; background: #fff; }
    #page-db .db-files-header h2, #page-products .db-files-header h2 { font-size: 14px; font-weight: 600; color: #1a1a1a; letter-spacing: -0.01em; }

    /* Table */
    #page-db table, #page-products table { font-family: var(--font-ui); }
    #page-db table th, #page-products table th { font-size: 11px; font-weight: 700; color: #0f172a; text-transform: uppercase; letter-spacing: 0.07em; padding: 9px 14px; background: #faf8f5; border-bottom: 1.5px solid #ebe8e1; white-space: nowrap; }
    #page-db table td, #page-products table td { padding: 10px 14px; font-size: 12.5px; border-bottom: 1px solid #f2f0ec; color: #374151; vertical-align: middle; }
    #page-db table tr:last-child td, #page-products table tr:last-child td { border-bottom: none; }
    #page-db table tr:hover td, #page-products table tr:hover td { background: #faf8f5; }
    #page-db .del-btn, #page-products .del-btn { background: transparent; border: 1px solid transparent; color: #a3a09a; cursor: pointer; padding: 4px 8px; border-radius: 6px; font-size: 12px; transition: all 0.15s; }
    #page-db .del-btn:hover, #page-products .del-btn:hover { border-color: #dc2626; color: #dc2626; background: rgba(220,38,38,0.06); }

    /* Pagination */
    #page-db .db-pagination, #page-products .db-pagination { border-top: 1px solid #f0ede7; padding: 12px 20px; background: #faf8f5; }
    #page-db .db-pagination span, #page-products .db-pagination span { font-size: 12px; color: #a3a09a; }

    /* Upload panel */
    #page-db .fl-upload-panel { background: #fff; border-bottom: 1px solid #e8e4dd; }
    #page-db .db-empty, #page-products .db-empty { padding: 64px 20px; text-align: center; color: #b8b4ad; font-size: 14px; font-family: var(--font-ui); }

    /* Filter bar strip */
    #page-db #dbFilterBar { background: #faf8f5 !important; border-bottom: 1px solid #e8e4dd !important; padding: 10px 24px !important; }
    #page-db .db-filter-strip { background: #faf8f5; border-bottom: 1px solid #f0ede7; padding: 6px 24px; }

    /* Grid card */
    #page-db .fl-card { background: #fff; border: 1.5px solid #e8e4dd; border-radius: 14px; }
    #page-db .fl-card:hover { border-color: #1a1a1a; box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
    #page-db .fl-card-name { color: #1a1a1a; }

    /* ══════ New Library Layout ══════ */
    #page-db { background: #f0f4f9 !important; padding: 0 !important; }

    .lib-header { display: flex; justify-content: space-between; align-items: flex-start; padding: 22px 28px 14px; background: #fff; border-bottom: 1px solid #e5eaf3; }
    .lib-title { font-size: 26px; font-weight: 700; color: #0f172a; letter-spacing: -0.02em; margin: 0; }
    .lib-subtitle { font-size: 12.5px; color: #94a3b8; margin: 3px 0 0; }
    .lib-filtrele-btn { display: flex; align-items: center; gap: 7px; background: #fff; border: 1.5px solid #bfdbfe; border-radius: 10px; padding: 8px 16px; font-size: 13px; color: #1d4ed8; cursor: pointer; font-family: var(--font-ui); transition: all 0.15s; white-space: nowrap; }
    .lib-filtrele-btn:hover { border-color: #3b82f6; background: #eff6ff; }
    .lib-filtrele-btn svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2; }

    .lib-stats-bar { display: flex; align-items: center; gap: 8px; padding: 12px 28px; background: #fff; border-bottom: 1.5px solid #e5eaf3; flex-wrap: wrap; }
    .lib-stat { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-family: var(--font-ui); padding: 5px 14px; border-radius: 20px; border: 1.5px solid #e2e8f0; background: #fff; color: #374151; white-space: nowrap; }
    .lib-stat b { font-weight: 700; }
    /* Aktif: green */
    .lib-stat--green { border-color: #bbf7d0; background: #f0fdf4; }
    .lib-stat--green b { color: #16a34a; }
    /* Pasif: orange */
    .lib-stat--orange { border-color: #fed7aa; background: #fff7ed; }
    .lib-stat--orange b { color: #ea580c; }
    /* Arşiv: gray */
    .lib-stat--gray { border-color: #e2e8f0; background: #f8fafc; }
    .lib-stat--gray b { color: #64748b; }
    /* UA: blue */
    .lib-stat--blue { border-color: #bfdbfe; background: #eff6ff; color: #1e40af; }
    .lib-stat--blue b { color: #1e40af; font-weight: 800; }
    /* Fonksiyon: purple */
    .lib-stat--purple { border-color: #ddd6fe; background: #faf5ff; color: #6d28d9; }
    .lib-stat--purple b { color: #6d28d9; font-weight: 800; }
    .lib-stat-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
    .lib-stat-dot--green { background: #22c55e; }
    .lib-stat-dot--orange { background: #f97316; }
    .lib-stat-dot--gray { background: #94a3b8; }

    .lib-layout { display: flex; overflow: hidden; }
    #page-db.active > .lib-layout { flex: 1 1 0 !important; min-height: 0 !important; overflow: hidden !important; }

    /* Sidebar */
    .lib-sidebar { width: 256px; flex-shrink: 0; margin-left: 16px; background: #fff; border-left: 1.5px solid #e5eaf3; border-right: 1.5px solid #e5eaf3; display: flex; flex-direction: column; overflow-y: auto; height: 100%; }
    .lib-sidebar.hidden { display: none; }
    .lib-sidebar-search { padding: 12px 16px 24px; position: relative; display: flex; align-items: center; }
    .lib-sidebar-search input { width: 100%; background: #f0f4f9; border: 1.5px solid #dde5f0; border-radius: 10px; padding: 8px 12px 8px 32px; font-size: 12.5px; color: #1a1a1a; outline: none; transition: all 0.15s; font-family: var(--font-ui); box-sizing: border-box; }
    .lib-sidebar-search input:focus { border-color: #3b82f6; background: #fff; }
    .lib-sidebar-search svg { position: absolute; left: 27px; width: 14px; height: 14px; stroke: #94a3b8; fill: none; pointer-events: none; }

    .lib-filter-section { border-top: 1px solid #eaeff6; }
    .lib-filter-hdr { display: flex; align-items: center; gap: 8px; padding: 12px 20px !important; cursor: pointer; user-select: none; transition: background 0.1s; }
    .lib-filter-hdr:hover { background: #f4f7fb; }
    .lib-filter-icon { width: 12px; height: 12px; stroke: #94a3b8; fill: none; stroke-width: 2; flex-shrink: 0; }
    .lib-filter-icon-wrap { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 5px; background: currentColor; flex-shrink: 0; }
    .lib-filter-icon-wrap svg { width: 11px; height: 11px; stroke: #fff; fill: none; stroke-width: 2; }
    .lib-filter-hdr-label { font-size: 10.5px; font-weight: 700; color: #64748b; letter-spacing: 0.08em; text-transform: uppercase; flex: 1; }
    .lib-chevron { width: 13px; height: 13px; stroke: #94a3b8; fill: none; stroke-width: 2.5; transition: transform 0.2s; flex-shrink: 0; }
    .lib-filter-hdr.closed .lib-chevron { transform: rotate(-90deg); }
    .lib-filter-body { padding: 2px 0 10px; }
    .lib-filter-body.closed { display: none; }
    .lib-filter-row { display: flex; align-items: center; gap: 9px; padding: 8px 20px !important; cursor: pointer; transition: background 0.1s; }
    .lib-filter-row:hover { background: #f4f7fb; }
    .lib-filter-row input[type="checkbox"] { width: 14px; height: 14px; accent-color: #3b82f6; cursor: pointer; flex-shrink: 0; margin: 0; }
    .lib-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; display: inline-block; }
    .lib-dot--green { background: #22c55e; }
    .lib-dot--orange { background: #f97316; }
    .lib-dot--gray { background: #94a3b8; }
    .lib-filter-label { font-size: 13px; color: #374151; flex: 1; }
    .lib-filter-cnt { font-size: 11.5px; color: #94a3b8; font-family: var(--font-data); font-weight: 600; }

    /* Main */
    .lib-main { flex: 1; min-width: 0; min-height: 0; background: #f0f4f9; display: flex; flex-direction: column; overflow: hidden; }
    .lib-toolbar { background: #fff; border-bottom: 1px solid #e5eaf3; padding: 9px 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; flex-shrink: 0; }
    #page-db .lib-toolbar .pg-btn { background: #f0f4f9; border: 1.5px solid #dde5f0; color: #4b5563; border-radius: 8px; font-size: 11.5px; padding: 5px 10px; font-family: var(--font-ui); transition: all 0.15s; cursor: pointer; display: inline-flex; align-items: center; }
    #page-db .lib-toolbar .pg-btn:hover { background: #e4eaf5; border-color: #3b82f6; color: #1d4ed8; }
    #page-db .lib-toolbar .pg-btn:disabled { opacity: 0.35; cursor: not-allowed; }

    /* Table card */
    .lib-table-card { background: #fff; border: 1.5px solid #e5eaf3; border-radius: 16px; overflow: hidden; margin: 14px; box-shadow: 0 2px 8px rgba(59,130,246,0.06); flex: 1; min-height: 0; display: flex; flex-direction: column; }
    #page-db .lib-table-card .db-table-wrap { overflow: auto; flex: 1; min-height: 0; }
    #page-db .lib-table-card table { font-family: var(--font-ui); width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; }
    #page-db .lib-table-card th { font-size: 10px; font-weight: 700; color: #0f172a; text-transform: uppercase; letter-spacing: 0.09em; padding: 10px 12px; background: #f4f7fb; border-bottom: 1.5px solid #e5eaf3; white-space: nowrap; }
    #page-db .lib-table-card td { padding: 10px 12px; border-bottom: 1px solid #edf1f7; vertical-align: middle; }
    #page-db .lib-table-card tr:last-child td { border-bottom: none; }
    #page-db .lib-table-card tr:hover td { background: #f4f7fb; }
    #page-db .lib-table-card tr.clickable-row { cursor: pointer; }
    /* Filename rename */
    .db-fname-wrap { display:inline-flex; align-items:center; gap:4px; cursor:pointer; max-width:130px; }
    .db-fname-text { font-size:12px; color:#334155; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0; }
    .db-fname-edit-icon { font-size:11px; color:#c8d0da; flex-shrink:0; transition:color 0.15s; }
    .db-fname-wrap:hover .db-fname-edit-icon { color:#3b82f6; }
    .db-fname-wrap:hover .db-fname-text { color:#1e40af; }

    /* Sticky filename column */
    #page-db .lib-table-card table .db-th-fname,
    #page-db .lib-table-card table .db-td-fname { position: sticky; left: 0; z-index: 2; background: #fff; min-width: 160px; max-width: 160px; box-shadow: 3px 0 6px -2px rgba(0,0,0,0.08); }
    /* thead sticky cells get higher z-index */
    #page-db .lib-table-card table thead .db-th-fname { z-index: 4; background: #f4f7fb; }
    /* Hover override for sticky cells */
    #page-db .lib-table-card table tr:hover .db-td-fname { background: #f4f7fb; }
    #page-db .lib-table-card .db-empty { padding: 56px 20px; text-align: center; color: #94a3b8; font-size: 14px; }

    /* Profile code column */
    .lib-profile-code { font-size: 13px; font-weight: 700; color: #0f172a; font-family: var(--font-data); letter-spacing: -0.01em; }
    .lib-profile-name { font-size: 11px; color: #94a3b8; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 170px; }
    .lib-fmt-badge { font-size: 10px; font-weight: 700; padding: 2px 5px; border-radius: 4px; display: inline-block; margin-left: 5px; vertical-align: middle; }
    .lib-fmt-badge--dwg { background: #dbeafe; color: #1d4ed8; }
    .lib-fmt-badge--dxf { background: #dcfce7; color: #15803d; }
    .lib-fmt-badge--pdf { background: #fef3c7; color: #b45309; }
    .lib-fmt-badge--jpg, .lib-fmt-badge--jpeg, .lib-fmt-badge--png { background: #d1fae5; color: #065f46; }

    /* Category pill */
    .lib-cat-pill { font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 20px; white-space: nowrap; display: inline-block; max-width: 120px; overflow: hidden; text-overflow: ellipsis; }

    /* Attribute code badge */
    .lib-code-badge { font-size: 10.5px; font-weight: 700; padding: 2px 7px; border-radius: 5px; background: #f1f5f9; color: #475569; display: inline-block; font-family: var(--font-data); }
    .lib-attr-sub { font-size: 11px; color: #64748b; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }

    /* Fonksiyon badge (purple) */
    .lib-badge-fonk { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 2px 8px; border-radius: 5px; background: #f5f3ff; color: #6d28d9; border: 1px solid #ede9fe; font-family: var(--font-data); white-space: nowrap; }

    /* Profil Tipi badge (blue) */
    .lib-badge-pt { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 2px 8px; border-radius: 5px; background: #eff6ff; color: #1d4ed8; border: 1px solid #dbeafe; font-family: var(--font-data); white-space: nowrap; }

    /* Kesit Formu badge (indigo) */
    .lib-badge-sf { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 2px 8px; border-radius: 5px; background: #eef2ff; color: #3730a3; border: 1px solid #e0e7ff; font-family: var(--font-data); white-space: nowrap; }

    /* Surface (Yüzey) badge (orange) */
    .lib-badge-surface { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 2px 7px; border-radius: 4px; background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; white-space: nowrap; }
    .lib-material-text { font-size: 11px; color: #374151; margin-top: 2px; }

    /* Dimension */
    .lib-dim-text { font-size: 12px; font-weight: 600; color: #0f172a; font-family: var(--font-data); white-space: nowrap; }
    .lib-dim-unit { font-size: 10px; color: #94a3b8; }

    /* Status badges */
    .lib-badge { font-size: 11px; font-weight: 600; padding: 3px 10px 3px 8px; border-radius: 20px; white-space: nowrap; display: inline-flex; align-items: center; gap: 5px; }
    .lib-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
    .lib-badge--aktif { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
    .lib-badge--aktif::before { background: #16a34a; }
    .lib-badge--pasif { background: #ffedd5; color: #9a3412; border: 1px solid #fed7aa; }
    .lib-badge--pasif::before { background: #f97316; }
    .lib-badge--arsiv { background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; }
    .lib-badge--arsiv::before { background: #94a3b8; }

    /* Pagination */
    .lib-pagination { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-top: 1px solid #eaeff6; background: #f4f7fb; }
    .lib-pagination-info { font-size: 12px; color: #94a3b8; }
    .lib-page-btns { display: flex; align-items: center; gap: 4px; }
    .lib-page-btn { min-width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border: 1.5px solid #dde5f0; border-radius: 8px; background: #fff; color: #374151; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.15s; font-family: var(--font-data); padding: 0 6px; }
    .lib-page-btn:hover:not(:disabled) { border-color: #3b82f6; color: #1d4ed8; background: #eff6ff; }
    .lib-page-btn.active { background: #3b82f6; border-color: #3b82f6; color: #fff; font-weight: 700; }
    .lib-page-btn:disabled { opacity: 0.35; cursor: not-allowed; }

    /* Upload panel override */
    #page-db .fl-upload-panel { background: #fff; border-bottom: 1px solid #e5eaf3; }
    #page-db .fl-upload-inner { max-width: 680px; margin: 0 auto; padding: 24px 28px; }

    /* View toggle in new toolbar */
    #page-db .lib-toolbar .fl-view-toggle { background: #e4eaf5; border-radius: 10px; padding: 2px; display: flex; }
    #page-db .lib-toolbar .fl-view-btn { color: #6b7280; font-size: 12px; border-radius: 7px; padding: 4px 10px; background: transparent; border: none; cursor: pointer; font-family: var(--font-ui); }
    #page-db .lib-toolbar .fl-view-btn.active { background: #fff; color: #1a1a1a; font-weight: 600; box-shadow: 0 1px 4px rgba(59,130,246,0.1); }

/* ── Hero stat cards ── */
.db-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding: 20px 24px 20px;
}
.db-hstat {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(15,35,61,0.06), 0 0 0 1px rgba(15,35,61,0.04);
  padding: 20px 22px 18px;
}
.db-hstat-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.db-hstat-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.db-hstat-badge {
  font-size: 11px;
  font-weight: 600;
  border-radius: 20px;
  padding: 3px 9px;
  white-space: nowrap;
}
.db-hstat-badge--green  { background: #dcfce7; color: #15803d; }
.db-hstat-badge--blue   { background: #dbeafe; color: #1d4ed8; }
.db-hstat-badge--orange { background: #fef3c7; color: #92400e; }
.db-hstat-badge--purple { background: #f3e8ff; color: #7e22ce; }
.db-hstat-val {
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 6px;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.db-hstat-unit {
  font-size: 14px;
  font-weight: 500;
  color: #94a3b8;
}
.db-hstat-label {
  font-size: 12.5px;
  color: #64748b;
  font-weight: 500;
}
.db-hero-stats .db-hstat:nth-child(1) .db-hstat-val { color: #16a34a; }
.db-hero-stats .db-hstat:nth-child(2) .db-hstat-val { color: #4f46e5; }
.db-hero-stats .db-hstat:nth-child(3) .db-hstat-val { color: #f59e0b; }
.db-hero-stats .db-hstat:nth-child(4) .db-hstat-val { color: #a855f7; }
@media (max-width: 1100px) { .db-hero-stats { grid-template-columns: repeat(2,1fr); } }
