| |
|
|
| |
| .history-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); |
| gap: 24px; |
| padding-bottom: 40px; |
| } |
|
|
| |
| .history-card, |
| .grid-card { |
| background: rgba(20, 20, 20, 0.6); |
| backdrop-filter: blur(12px); |
| -webkit-backdrop-filter: blur(12px); |
| border: 1px solid rgba(255, 255, 255, 0.08); |
| border-radius: 24px; |
| padding: 20px; |
| display: flex; |
| flex-direction: column; |
| transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); |
| position: relative; |
| overflow: hidden; |
| animation: fadeInUp 0.6s ease backwards; |
| } |
|
|
| .history-card:hover, |
| .grid-card:hover { |
| transform: translateY(-8px); |
| border-color: rgba(227, 245, 20, 0.3); |
| box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5), 0 0 20px rgba(227, 245, 20, 0.05); |
| background: rgba(255, 255, 255, 0.04); |
| } |
|
|
| |
| .grid-card.selected { |
| border-color: var(--accent-yellow); |
| box-shadow: 0 0 0 2px rgba(227, 245, 20, 0.2); |
| background: rgba(227, 245, 20, 0.05); |
| } |
|
|
| |
| .grid-preview { |
| width: 100%; |
| aspect-ratio: 16/9; |
| object-fit: cover; |
| border-radius: 16px; |
| margin-bottom: 16px; |
| background: #000; |
| border: 1px solid rgba(255, 255, 255, 0.05); |
| } |
|
|
| |
| .table-badge, |
| .history-badge, |
| .recent-badge { |
| padding: 6px 12px; |
| border-radius: 100px; |
| font-weight: 700; |
| font-size: 11px; |
| text-transform: uppercase; |
| letter-spacing: 1px; |
| display: inline-flex; |
| align-items: center; |
| gap: 6px; |
| backdrop-filter: blur(4px); |
| transition: all 0.3s ease; |
| } |
|
|
| .fake, |
| .badge-fake, |
| .verdict-fake { |
| background: rgba(227, 245, 20, 0.1); |
| color: #E3F514; |
| border: 1px solid rgba(227, 245, 20, 0.3); |
| box-shadow: 0 0 15px rgba(227, 245, 20, 0.15); |
| } |
|
|
| .real, |
| .badge-real, |
| .verdict-real { |
| background: rgba(16, 185, 129, 0.1); |
| color: #10B981; |
| border: 1px solid rgba(16, 185, 129, 0.3); |
| box-shadow: 0 0 15px rgba(16, 185, 129, 0.15); |
| } |
|
|
| |
| .history-controls { |
| display: flex; |
| flex-wrap: wrap; |
| gap: var(--gap-sm, 16px); |
| margin: var(--gap-md, 30px) 0 var(--gap-sm, 24px) 0; |
| padding: var(--card-padding, 20px); |
| background: rgba(10, 10, 10, 0.6); |
| backdrop-filter: blur(16px); |
| border: 1px solid rgba(255, 255, 255, 0.08); |
| border-radius: 20px; |
| align-items: center; |
| } |
|
|
| .search-container { |
| flex: 2; |
| min-width: 250px; |
| } |
|
|
| .search-input, |
| .filter-select { |
| width: 100%; |
| background: rgba(255, 255, 255, 0.03); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 12px; |
| padding: 12px 18px; |
| color: #fff; |
| font-size: 14px; |
| transition: all 0.3s ease; |
| font-family: var(--font-primary); |
| } |
|
|
| .search-input:focus, |
| .filter-select:focus { |
| outline: none; |
| border-color: var(--accent-yellow); |
| background: rgba(255, 255, 255, 0.06); |
| box-shadow: 0 0 15px rgba(227, 245, 20, 0.1); |
| } |
|
|
| .filter-controls { |
| display: flex; |
| gap: 12px; |
| flex: 3; |
| } |
|
|
| .btn-export, |
| .btn-clear-all { |
| padding: 12px 20px; |
| border-radius: 12px; |
| font-weight: 600; |
| font-size: 13px; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| border: 1px solid transparent; |
| } |
|
|
| .btn-export { |
| background: rgba(255, 255, 255, 0.05); |
| color: #fff; |
| border-color: rgba(255, 255, 255, 0.1); |
| } |
|
|
| .btn-export:hover { |
| background: rgba(227, 245, 20, 0.1); |
| color: var(--accent-yellow); |
| border-color: var(--accent-yellow); |
| } |
|
|
| .btn-clear-all { |
| background: rgba(255, 59, 48, 0.05); |
| color: #ff3b30; |
| border-color: rgba(255, 59, 48, 0.2); |
| } |
|
|
| .btn-clear-all:hover { |
| background: rgba(255, 59, 48, 0.15); |
| border-color: #ff3b30; |
| box-shadow: 0 0 15px rgba(255, 59, 48, 0.1); |
| } |
|
|
| |
| .filter-chips { |
| display: flex; |
| gap: 8px; |
| width: 100%; |
| margin-top: 4px; |
| padding-top: 16px; |
| border-top: 1px solid rgba(255, 255, 255, 0.05); |
| } |
|
|
| .chip { |
| padding: 8px 16px; |
| border-radius: 100px; |
| background: rgba(255, 255, 255, 0.03); |
| border: 1px solid rgba(255, 255, 255, 0.08); |
| color: #888; |
| font-size: 13px; |
| font-weight: 500; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .chip:hover { |
| background: rgba(255, 255, 255, 0.08); |
| color: #fff; |
| } |
|
|
| .chip.active { |
| background: var(--accent-yellow); |
| color: #000; |
| border-color: var(--accent-yellow); |
| font-weight: 600; |
| box-shadow: 0 0 15px rgba(227, 245, 20, 0.3); |
| } |
|
|
| |
| .history-table-container { |
| background: rgba(10, 10, 10, 0.4); |
| backdrop-filter: blur(12px); |
| border: 1px solid rgba(255, 255, 255, 0.05); |
| border-radius: 24px; |
| overflow: hidden; |
| margin-bottom: 60px; |
| box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); |
| } |
|
|
| .history-table { |
| width: 100%; |
| border-collapse: separate; |
| border-spacing: 0; |
| } |
|
|
| .history-table th { |
| background: rgba(255, 255, 255, 0.02); |
| padding: 20px 24px; |
| text-align: left; |
| color: var(--text-secondary); |
| font-weight: 600; |
| font-size: 12px; |
| text-transform: uppercase; |
| letter-spacing: 1.5px; |
| border-bottom: 1px solid rgba(255, 255, 255, 0.08); |
| } |
|
|
| .history-table td { |
| padding: 20px 24px; |
| color: #fff; |
| border-bottom: 1px solid rgba(255, 255, 255, 0.03); |
| vertical-align: middle; |
| transition: background 0.2s; |
| } |
|
|
| .history-table tbody tr { |
| transition: all 0.2s; |
| } |
|
|
| .history-table tbody tr:hover { |
| background: rgba(255, 255, 255, 0.03); |
| transform: scale(1.005); |
| |
| } |
|
|
| |
| .table-preview-img { |
| width: 64px; |
| height: 64px; |
| object-fit: cover; |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); |
| } |
|
|
| .table-filename { |
| font-weight: 500; |
| color: #fff; |
| font-family: var(--font-display); |
| letter-spacing: 0.5px; |
| } |
|
|
| .table-date { |
| color: var(--text-secondary); |
| font-size: 13px; |
| font-variant-numeric: tabular-nums; |
| } |
|
|
| |
| .table-actions { |
| display: flex; |
| gap: 8px; |
| opacity: 0.6; |
| transition: opacity 0.3s; |
| } |
|
|
| .history-table tbody tr:hover .table-actions { |
| opacity: 1; |
| } |
|
|
| .btn-table-action { |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| color: #fff; |
| width: 36px; |
| height: 36px; |
| padding: 0; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| border-radius: 10px; |
| transition: all 0.2s; |
| } |
|
|
| .btn-table-action:hover { |
| background: var(--accent-yellow); |
| color: #000; |
| border-color: var(--accent-yellow); |
| transform: translateY(-2px); |
| } |
|
|
| .btn-table-delete:hover { |
| background: #ff3b30; |
| color: #fff; |
| border-color: #ff3b30; |
| } |
|
|
| |
| .empty-state { |
| padding: 80px 20px; |
| } |
|
|
| .empty-icon { |
| font-size: 56px; |
| margin-bottom: 24px; |
| opacity: 0.8; |
| filter: drop-shadow(0 0 20px rgba(227, 245, 20, 0.3)); |
| } |
|
|
| .empty-state h3 { |
| font-size: 24px; |
| font-family: var(--font-display); |
| margin-bottom: 12px; |
| } |
|
|
| |
| .pagination { |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| gap: 20px; |
| padding: 30px 0; |
| } |
|
|
| .btn-page { |
| width: 44px; |
| height: 44px; |
| border-radius: 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| color: #fff; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.2s; |
| } |
|
|
| .btn-page:hover:not(:disabled) { |
| background: var(--accent-yellow); |
| color: #000; |
| border-color: var(--accent-yellow); |
| } |
|
|
| .btn-page:disabled { |
| opacity: 0.3; |
| cursor: not-allowed; |
| } |
|
|
| .page-info { |
| font-variant-numeric: tabular-nums; |
| color: var(--text-secondary); |
| font-weight: 500; |
| } |
|
|
|
|
|
|
| |
| .history-grid-container { |
| display: grid; |
| grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); |
| gap: 20px; |
| margin-bottom: 40px; |
| } |
|
|
| .grid-card { |
| background: rgba(17, 17, 17, 0.6); |
| backdrop-filter: blur(10px); |
| border: 1px solid rgba(255, 255, 255, 0.05); |
| border-radius: 20px; |
| overflow: hidden; |
| transition: all 0.4s ease; |
| position: relative; |
| } |
|
|
| .grid-card:hover { |
| transform: translateY(-5px); |
| border-color: var(--accent-yellow); |
| box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); |
| } |
|
|
| .grid-preview { |
| width: 100%; |
| aspect-ratio: 16/9; |
| object-fit: cover; |
| cursor: pointer; |
| } |
|
|
| .grid-content { |
| padding: 16px; |
| } |
|
|
| .grid-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 12px; |
| } |
|
|
| .grid-title { |
| font-weight: 600; |
| font-size: 14px; |
| white-space: nowrap; |
| overflow: hidden; |
| text-overflow: ellipsis; |
| margin-bottom: 4px; |
| } |
|
|
| .grid-date { |
| font-size: 12px; |
| color: #666; |
| } |
|
|
| |
| .batch-actions-bar { |
| position: fixed; |
| bottom: 30px; |
| left: 50%; |
| transform: translateX(-50%) translateY(100px); |
| background: var(--accent-yellow); |
| color: #000; |
| padding: 12px 24px; |
| border-radius: 50px; |
| display: flex; |
| align-items: center; |
| gap: 20px; |
| box-shadow: 0 10px 40px rgba(227, 245, 20, 0.3); |
| z-index: 1000; |
| transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); |
| } |
|
|
| .batch-actions-bar.active { |
| transform: translateX(-50%) translateY(0); |
| } |
|
|
| .selection-info { |
| font-weight: 700; |
| font-size: 14px; |
| } |
|
|
| .btn-batch { |
| background: rgba(0, 0, 0, 0.1); |
| border: 1px solid rgba(0, 0, 0, 0.1); |
| padding: 6px 16px; |
| border-radius: 20px; |
| font-weight: 600; |
| font-size: 12px; |
| cursor: pointer; |
| transition: all 0.2s; |
| } |
|
|
| .btn-batch:hover { |
| background: rgba(0, 0, 0, 0.2); |
| } |
|
|
| |
| .pagination { |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| gap: 15px; |
| margin-top: 20px; |
| padding-bottom: 60px; |
| } |
|
|
| .btn-page { |
| background: rgba(255, 255, 255, 0.03); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| color: #fff; |
| width: 36px; |
| height: 36px; |
| border-radius: 10px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s; |
| } |
|
|
| .btn-page:disabled { |
| opacity: 0.3; |
| cursor: not-allowed; |
| } |
|
|
| .btn-page.active { |
| background: var(--accent-yellow); |
| color: #000; |
| border-color: var(--accent-yellow); |
| } |
|
|
| .page-info { |
| color: #888; |
| font-size: 14px; |
| } |
|
|
| |
| .modal-overlay { |
| position: fixed; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| background: rgba(0, 0, 0, 0.8); |
| backdrop-filter: blur(8px); |
| z-index: 2000; |
| display: none; |
| align-items: center; |
| justify-content: center; |
| padding: 20px; |
| } |
|
|
| .modal-container { |
| background: #111; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 24px; |
| width: 100%; |
| max-width: 900px; |
| max-height: 90vh; |
| overflow-y: auto; |
| position: relative; |
| animation: modalSlideUp 0.4s ease; |
| } |
|
|
| @keyframes modalSlideUp { |
| from { |
| opacity: 0; |
| transform: translateY(30px); |
| } |
|
|
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| .modal-close { |
| position: absolute; |
| top: 20px; |
| right: 20px; |
| background: rgba(255, 255, 255, 0.05); |
| border: none; |
| color: #fff; |
| width: 36px; |
| height: 36px; |
| border-radius: 50%; |
| cursor: pointer; |
| font-size: 20px; |
| z-index: 10; |
| } |
|
|
| .modal-body { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 30px; |
| padding: 40px; |
| } |
|
|
| .modal-media { |
| width: 100%; |
| border-radius: 16px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .modal-details { |
| display: flex; |
| flex-direction: column; |
| gap: 20px; |
| } |
|
|
| .modal-title { |
| font-size: 24px; |
| font-weight: 700; |
| color: #fff; |
| } |
|
|
| .notes-section { |
| margin-top: 10px; |
| } |
|
|
| .notes-area { |
| width: 100%; |
| background: rgba(255, 255, 255, 0.03); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 12px; |
| padding: 12px; |
| color: #fff; |
| font-size: 14px; |
| min-height: 100px; |
| resize: vertical; |
| } |
|
|
| .notes-area:focus { |
| outline: none; |
| border-color: var(--accent-yellow); |
| } |
|
|
| .btn-save-notes { |
| margin-top: 10px; |
| background: var(--accent-yellow); |
| color: #000; |
| border: none; |
| padding: 8px 16px; |
| border-radius: 8px; |
| font-weight: 600; |
| cursor: pointer; |
| } |
|
|
| @media (max-width: 768px) { |
| .modal-body { |
| grid-template-columns: 1fr; |
| padding: 20px; |
| } |
| } |