*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#0f172a;color:#e2e8f0}.dashboard{max-width:1400px;margin:0 auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #1e293b}header h1{font-size:2rem;font-weight:700;color:#60a5fa}.controls{display:flex;gap:10px}select,button{padding:8px 16px;border:1px solid #334155;border-radius:6px;background:#1e293b;color:#e2e8f0;font-size:14px;cursor:pointer;transition:all .2s}select:hover,button:hover:not(:disabled){background:#334155;border-color:#475569}button:disabled{opacity:.5;cursor:not-allowed}.refresh-btn{background:#2563eb;border-color:#2563eb;font-weight:500}.refresh-btn:hover:not(:disabled){background:#1d4ed8}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#1e293b;padding:20px;border-radius:8px;border:1px solid #334155}.stat-card h3{font-size:.875rem;font-weight:500;color:#94a3b8;margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;margin-bottom:5px}.stat-subtitle{font-size:.875rem;color:#64748b}.stat-card.success .stat-value{color:#4ade80}.stat-card.error .stat-value{color:#f87171}.stat-card.warning .stat-value{color:#fbbf24}.stat-card.info .stat-value{color:#60a5fa}.chart-container,.section{background:#1e293b;padding:20px;border-radius:8px;border:1px solid #334155;margin-bottom:20px}.chart-container h2,.section h2{font-size:1.25rem;font-weight:600;margin-bottom:20px;color:#e2e8f0}.filter-controls{display:flex;gap:10px;margin-bottom:15px}.filter-input{flex:1;padding:8px 12px;border:1px solid #334155;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:14px;transition:border-color .2s}.filter-input:focus{outline:none;border-color:#60a5fa}.filter-input::placeholder{color:#64748b}.queue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.queue-card{background:#0f172a;padding:15px;border-radius:6px;border:1px solid #334155}.queue-card h3{font-size:1rem;margin-bottom:15px;color:#60a5fa}.queue-stat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #1e293b}.queue-stat span{color:#94a3b8}.queue-stat strong{color:#e2e8f0;font-size:1.1rem}.clickable-stat{cursor:pointer;transition:color .2s,transform .1s}.clickable-stat:hover{color:#60a5fa!important;transform:scale(1.05)}.queue-card.unavailable{opacity:.6;border-color:#7f1d1d}.error-text{color:#f87171;font-size:.875rem}.reprocess-queue-btn{width:100%;padding:12px;background:#7c3aed;border-color:#7c3aed;font-weight:500;font-size:1rem}.reprocess-queue-btn:hover:not(:disabled){background:#6d28d9}.errors-table-container{overflow-x:auto}.errors-table{width:100%;border-collapse:collapse;font-size:.875rem}.errors-table thead{background:#0f172a}.errors-table th{padding:12px;text-align:left;font-weight:600;color:#94a3b8;border-bottom:2px solid #334155}.errors-table td{padding:12px;border-bottom:1px solid #1e293b}.errors-table tbody tr:hover{background:#0f172a}.error-message{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f87171;font-size:.8rem}.reprocess-btn{padding:6px 12px;background:#10b981;border-color:#10b981;font-size:.875rem}.reprocess-btn:hover:not(:disabled){background:#059669}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:#60a5fa}@media (max-width: 768px){.dashboard{padding:10px}header{flex-direction:column;gap:15px;align-items:flex-start}.stats-grid,.queue-grid{grid-template-columns:1fr}.errors-table{font-size:.75rem}.errors-table th,.errors-table td{padding:8px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#1e293b;border-radius:8px;border:1px solid #334155;max-width:900px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid #334155}.modal-header h2{margin:0;font-size:1.25rem;color:#60a5fa}.close-btn{background:transparent;border:none;color:#94a3b8;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;justify-content:center;align-items:center;transition:color .2s}.close-btn:hover{color:#e2e8f0}.modal-body{padding:20px;overflow-y:auto;flex:1}.messages-list{display:flex;flex-direction:column;gap:15px}.message-item{background:#0f172a;border:1px solid #334155;border-radius:6px;padding:15px}.message-header{margin-bottom:10px;font-size:.875rem;color:#94a3b8}.message-header strong{color:#e2e8f0}.message-body{margin-bottom:15px}.message-body strong{display:block;margin-bottom:8px;color:#94a3b8;font-size:.875rem}.message-body pre{background:#0f172a;border:1px solid #1e293b;padding:12px;border-radius:4px;overflow-x:auto;font-size:.8rem;color:#e2e8f0;font-family:Monaco,Courier New,monospace;line-height:1.5;max-height:300px;overflow-y:auto}.message-actions{display:flex;gap:10px}.delete-msg-btn,.reprocess-msg-btn{padding:8px 16px;font-size:.875rem;border-radius:4px;font-weight:500}.delete-msg-btn{background:#dc2626;border-color:#dc2626}.delete-msg-btn:hover:not(:disabled){background:#b91c1c}.reprocess-msg-btn{background:#10b981;border-color:#10b981}.reprocess-msg-btn:hover:not(:disabled){background:#059669}.no-messages{text-align:center;padding:40px;color:#64748b;font-size:1rem}.error-details{display:flex;flex-direction:column;gap:25px}.detail-section{background:#0f172a;padding:20px;border-radius:6px;border:1px solid #334155}.detail-section h3{font-size:1rem;font-weight:600;color:#60a5fa;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #334155}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #1e293b}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500;color:#94a3b8;min-width:150px}.detail-value{color:#e2e8f0;text-align:right;flex:1;word-break:break-word}.detail-value.error-code{color:#fbbf24;font-weight:600}.detail-value.error-msg{color:#f87171}.detail-actions{display:flex;justify-content:center;padding:20px 0 10px}.detail-actions .reprocess-btn{padding:12px 32px;font-size:1rem}.errors-table tbody tr{transition:background-color .2s}.errors-table tbody tr:hover{background:#1e293b!important}
