/* ======================================================================= File: static/css/dashboard.css Purpose: Clean full-width vertical dashboard layout with large log viewer. ======================================================================= */ /* ------------------------------ GENERAL PAGE LAYOUT ------------------------------ */ /* Dashboard content should use full width */ .dashboard-container { display: flex; flex-direction: column; width: 100%; max-width: 1200px; /* voorkomt overflow rechts */ margin: 20px auto; padding: 0 20px; gap: 18px; /* kleiner dan 30px */ } /* ------------------------------ SECTIONS (input, progress, logs) ------------------------------ */ .dashboard-section { background: #ffffff; padding: 16px; /* kleiner */ border-radius: 6px; border: 1px solid #ddd; margin: 0; /* weg extra witruimte */ } .page-title { font-size: 22px; margin-bottom: 15px; } /* ------------------------------ BOOK LIST (optional) ------------------------------ */ .book-list { display: flex; flex-direction: column; gap: 12px; } .book-list-empty { padding: 18px; text-align: center; color: #777; } /* List item */ .book-list-item { padding: 12px 16px; background: #f7f7f7; border-radius: 6px; border: 1px solid #ccc; cursor: pointer; display: flex; flex-direction: column; gap: 6px; transition: background 0.2s, border-color 0.2s; } .book-list-item:hover, .book-list-item.active { background: #eaf3ff; border-color: #1e88e5; } /* Title + metadata */ .book-title { font-size: 16px; font-weight: 600; } .book-meta { font-size: 12px; color: #555; } .meta-label { font-weight: 600; } /* ------------------------------ PROGRESS BOX ------------------------------ */ .progress-box { background: #fafafa; border: 1px solid #ddd; padding: 18px; border-radius: 6px; width: 100%; } .progress-header h2 { margin-bottom: 5px; } .progress-subtitle { font-size: 14px; color: #333; font-weight: 600; } .progress-bookid { font-size: 12px; color: #777; margin-bottom: 15px; } .progress-bar { height: 14px; background: #ddd; border-radius: 6px; overflow: hidden; margin-bottom: 6px; } .progress-bar-fill { height: 100%; background: #1e88e5; } .progress-bar-fill.audio-fill { background: #e65100; } .progress-stats { display: flex; justify-content: space-between; font-size: 12px; color: #444; margin-top: 4px; } /* ------------------------------ LOG VIEWER — LARGE FULL-WIDTH ------------------------------ */ .log-viewer { width: 100%; max-width: 100%; overflow: hidden; /* voorkom horizontaal uitsteken */ } .log-header { display: flex; justify-content: space-between; align-items: center; } .log-filters { display: flex; align-items: center; gap: 8px; } .log-output { flex: 1; width: 100%; max-width: 100%; min-height: 60vh; max-height: 75vh; overflow-y: auto; overflow-x: hidden; /* voorkom dat de log naar rechts uitsteekt */ background: #000000; /* Pure terminal black */ color: #00ff66; /* Matrix / retro green */ border: 1px solid #0f0; /* neon green frame */ border-radius: 6px; padding: 12px; font-family: "SF Mono", "Consolas", "Courier New", monospace; font-size: 13px; line-height: 1.35; white-space: pre-wrap; /* wraps text */ word-break: break-word; /* lange links breken */ } /* Basestijl voor alle logregels */ .log-line { white-space: pre-wrap; padding: 2px 0; font-family: "SF Mono", "Consolas", "Courier New", monospace; } /* Subklassen per logtype */ .log-line.default { color: #00ff66; /* groen */ } .log-line.dl { color: #00ccff; /* cyan */ } .log-line.parse { color: #ffaa00; /* oranje */ } .log-line.save { color: #ffdd33; /* geel */ } .log-line.audio { color: #ff66ff; /* paars */ } .log-line.ctrl { color: #66aaff; /* lichtblauw */ } .log-line.error { color: #ff3333; /* rood */ } /* ------------------------------ PLACEHOLDER ------------------------------ */ .dashboard-placeholder { font-size: 15px; padding: 20px; text-align: center; color: #777; } .footer { text-align: center; padding: 12px; color: #666; margin-top: 25px; font-size: 12px; border-top: 1px solid #ddd; } .book-abort-area { margin-top: 10px; text-align: right; } .abort-btn { padding: 6px 12px; border-radius: 4px; border: 1px solid #cc0000; background: #ff4444; color: white; font-size: 12px; cursor: pointer; transition: background 0.2s, border-color 0.2s; } .abort-btn:hover { background: #ff2222; border-color: #aa0000; }