.container { display: flex; flex-direction: column; gap: 1.5rem; } .pageHeader { display: flex; justify-content: space-between; align-items: flex-start; } .pageTitle { font-size: 1.5rem; font-weight: 700; color: var(--text-primary); letter-spacing: -0.02em; margin-bottom: 0.25rem; } .pageSubtitle { font-size: 0.85rem; color: var(--text-muted); } .headerActions { display: flex; gap: 0.5rem; } .actionBtn { display: flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; background: var(--bg-panel); border: 1px solid var(--border-color); border-radius: var(--border-radius-md); font-size: 0.82rem; font-weight: 500; color: var(--text-secondary); cursor: pointer; transition: all 0.15s ease; box-shadow: var(--shadow-sm); } .actionBtn:hover:not(:disabled) { background: var(--color-primary-light); color: var(--color-primary); border-color: var(--color-primary); } .actionBtn.danger:hover:not(:disabled) { background: #fef2f2; color: #ef4444; border-color: #ef4444; } .actionBtn:disabled { opacity: 0.4; cursor: not-allowed; } /* Header Meta (Subtitle & Mini Badges) */ .headerMeta { display: flex; align-items: center; gap: 0.75rem; margin-top: 0.25rem; flex-wrap: wrap; } .metaDivider { color: var(--border-color); font-size: 0.8rem; } .severityMini { display: flex; align-items: center; gap: 0.85rem; } .sevItem { display: flex; align-items: center; gap: 0.35rem; font-size: 0.82rem; font-weight: 500; color: var(--text-secondary); } .miniDot { width: 6px; height: 6px; border-radius: 50%; } .miniDot.error { background: #ef4444; } .miniDot.warning { background: var(--color-warning); } .miniDot.success { background: var(--color-success); } .miniDot.info { background: var(--color-primary); } /* Log Card */ .logCard { background: var(--bg-panel); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: 1.25rem; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 1rem; } .searchBar { display: flex; align-items: center; gap: 0.6rem; background: var(--bg-main); border: 1px solid var(--border-color); border-radius: var(--border-radius-md); padding: 0.5rem 0.9rem; } .searchIcon { color: var(--text-muted); flex-shrink: 0; } .searchInput { flex: 1; border: none; background: transparent; font-size: 0.875rem; color: var(--text-primary); outline: none; } .resultCount { font-size: 0.78rem; color: var(--text-muted); background: var(--border-color); padding: 0.15rem 0.5rem; border-radius: 999px; white-space: nowrap; } .logList { display: flex; flex-direction: column; gap: 0.5rem; max-height: 520px; overflow-y: auto; padding-right: 0.25rem; } .logList::-webkit-scrollbar { width: 4px; } .logList::-webkit-scrollbar-track { background: var(--bg-main); border-radius: 2px; } .logList::-webkit-scrollbar-thumb { background: var(--text-muted); border-radius: 2px; } .logItem { display: flex; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--border-color); } .logItem:last-child { border-bottom: none; } .logContent { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; } .dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 0.35rem; } .dot.error { background: #ef4444; } .dot.warning { background: var(--color-warning); } .dot.success { background: var(--color-success); } .dot.info { background: var(--color-primary); } .logMessage { font-size: 0.875rem; font-weight: 500; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .logTime { font-size: 0.75rem; font-family: var(--font-geist-mono), monospace; color: var(--text-muted); white-space: nowrap; flex-shrink: 0; } /* Empty state */ .emptyState { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem 1rem; color: var(--text-muted); gap: 0.75rem; font-size: 0.9rem; } .emptyIcon { color: var(--border-color); } @media (max-width: 768px) { .pageHeader { flex-direction: column; gap: 1rem; } .headerActions { width: 100%; justify-content: flex-start; flex-wrap: wrap; } .logCard { padding: 1rem; } .searchBar { padding: 0.4rem 0.7rem; } }