/* ======================================================================= File: static/css/dashboard.css Purpose: Clean full-width vertical dashboard layout with large log viewer. Book-card CSS is now moved to bookcard.css ======================================================================= */ /* ----------------------------------------------------------------------- 1) GENERAL PAGE LAYOUT ----------------------------------------------------------------------- */ .dashboard-container { display: flex; flex-direction: column; width: 100%; max-width: 1200px; margin: 20px auto; padding: 0 20px; gap: 18px; } .dashboard-section { background: #ffffff; padding: 16px; border-radius: 6px; border: 1px solid #ddd; } .page-title { font-size: 22px; margin-bottom: 15px; } /* ----------------------------------------------------------------------- 2) ACTIVE BOOK LIST (dashboard left panel) ----------------------------------------------------------------------- */ .book-list { display: flex; flex-direction: column; gap: 12px; } .book-list-empty { padding: 18px; text-align: center; color: #777; } .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; } .book-title { font-size: 16px; font-weight: 600; } .book-meta { font-size: 12px; color: #555; } /* ----------------------------------------------------------------------- 3) 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; } .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; } /* ----------------------------------------------------------------------- 4) LOG VIEWER ----------------------------------------------------------------------- */ .log-viewer { width: 100%; max-width: 100%; overflow: hidden; } .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; background: #000; color: #00ff66; border: 1px solid #0f0; border-radius: 6px; padding: 12px; font-family: "SF Mono", "Consolas", "Courier New", monospace; font-size: 13px; line-height: 1.35; white-space: pre-wrap; word-break: break-word; } .log-line { white-space: pre-wrap; padding: 2px 0; } .log-line.default { color: #00ff66; } .log-line.dl { color: #00ccff; } .log-line.parse { color: #ffaa00; } .log-line.save { color: #ffdd33; } .log-line.audio { color: #ff66ff; } .log-line.ctrl { color: #66aaff; } .log-line.error { color: #ff3333; } /* ----------------------------------------------------------------------- 5) PLACEHOLDER / FOOTER ----------------------------------------------------------------------- */ .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; } /* ----------------------------- DROPDOWN NAVIGATION ------------------------------ */ /* Container for dropdown */ .nav-dropdown { position: relative; } /* The clickable label ("Tools ▾") */ .nav-dropdown > .nav-item { cursor: pointer; } /* Hide dropdown by default */ .dropdown-menu { display: none; position: absolute; top: 100%; right: 0; background: #fff; /* zelfde achtergrond als navbar */ border: 1px solid #ddd; padding: 8px 0; margin: 0; list-style: none; /* verwijder bolletjes */ border-radius: 4px; min-width: 160px; z-index: 1000; } /* Show dropdown when hovering over parent */ .nav-dropdown:hover .dropdown-menu { display: block; } /* Menu item styling */ .dropdown-menu li { padding: 0; margin: 0; } .dropdown-menu li a { display: block; padding: 8px 16px; white-space: nowrap; color: #333; text-decoration: none; } /* Hover state */ .dropdown-menu li a:hover { background: #f0f0f0; }