.session-browser { padding: 1rem; width: 100%; height: 100%; overflow-y: auto; } .browser-header { display: flex; justify_content: space-between; align-items: center; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid #e2e8f0; } .browser-header h2 { font-size: 1.5rem; font-weight: 700; color: #1e293b; } .dark .browser-header h2 { color: #f1f5f9; } .start-new-btn { display: flex; align-items: center; gap: 0.5rem; background-color: #2563eb; color: white; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; transition: background-color 0.2s; } .start-new-btn:hover { background-color: #1d4ed8; } /* LIST LAYOUT */ .session-grid { display: flex; flex-direction: column; gap: 1rem; max-width: 1200px; margin: 0 auto; } .session-card { background: white; border: 1px solid #e2e8f0; border-radius: 0.75rem; padding: 1.25rem; display: flex; align-items: flex-start; /* Align top for multi-line description */ gap: 1.5rem; transition: all 0.2s ease; position: relative; } .dark .session-card { background: #1e293b; border-color: #334155; } .session-card:hover { transform: translateY(-1px); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); border-color: #94a3b8; } /* Header Section (Left) */ .card-header { display: flex; align-items: center; gap: 1rem; width: 280px; /* Fixed width for alignment */ flex-shrink: 0; } .category-badge { font-size: 1.75rem; background: #f1f5f9; width: 3.5rem; height: 3.5rem; display: flex; align-items: center; justify-content: center; border-radius: 0.75rem; flex-shrink: 0; } .dark .category-badge { background: #334155; } .card-title-container { flex: 1; min-width: 0; } .card-title { font-weight: 700; font-size: 1rem; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.25rem; } .dark .card-title { color: #f8fafc; } .card-date { font-size: 0.75rem; color: #64748b; display: flex; align-items: center; gap: 0.25rem; } /* Content Section (Middle) */ .card-content { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; padding-right: 1rem; border-right: 1px solid #f1f5f9; } .dark .card-content { border-right-color: #334155; } .product-description { font-size: 0.875rem; color: #475569; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .dark .product-description { color: #94a3b8; } .card-meta { display: flex; align-items: center; gap: 1rem; font-size: 0.75rem; } .source-link { display: inline-flex; align-items: center; gap: 0.25rem; color: #3b82f6; text-decoration: none; font-weight: 500; padding: 0.25rem 0.5rem; background: #eff6ff; border-radius: 0.25rem; transition: background 0.2s; } .dark .source-link { background: #1e3a8a; color: #bfdbfe; } .source-link:hover { background: #dbeafe; } /* Actions Section (Right) */ .card-actions { display: flex; flex-direction: column; gap: 0.5rem; width: 120px; flex-shrink: 0; } .load-btn { width: 100%; background-color: #0f172a; color: white; padding: 0.5rem; border-radius: 0.5rem; font-weight: 600; font-size: 0.875rem; text-align: center; transition: opacity 0.2s; } .dark .load-btn { background-color: #f8fafc; color: #0f172a; } .load-btn:hover { opacity: 0.9; } .delete-btn { width: 100%; padding: 0.5rem; border-radius: 0.5rem; color: #ef4444; background-color: transparent; border: 1px solid #fecaca; font-size: 0.875rem; text-align: center; transition: all 0.2s; } .dark .delete-btn { border-color: #7f1d1d; color: #fca5a5; } .delete-btn:hover { background-color: #fef2f2; } .dark .delete-btn:hover { background-color: #450a0a; } /* Responsive adjustments */ @media (max-width: 768px) { .session-card { flex-direction: column; gap: 1rem; } .card-header, .card-content, .card-actions { width: 100%; border-right: none; padding-right: 0; } .card-actions { flex-direction: row; } } .empty-state { text-align: center; padding: 4rem; color: #64748b; } .start-new-btn-secondary { margin-top: 1rem; padding: 0.75rem 1.5rem; background: white; border: 1px solid #cbd5e1; border-radius: 0.5rem; font-weight: 600; color: #475569; transition: all 0.2s; } .start-new-btn-secondary:hover { border-color: #94a3b8; background: #f8fafc; }