* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: system-ui, -apple-system, sans-serif; background: #0f0f0f; color: #e0e0e0; }
.container { max-width: 860px; margin: 2rem auto; padding: 0 1.5rem; }
h1 { font-size: 1.8rem; margin-bottom: 2rem; color: #fff; }
h2 { font-size: 1.1rem; margin-bottom: 1rem; color: #aaa; font-weight: 600; }
h3 { font-size: 1rem; margin: 1.2rem 0 0.6rem; color: #ccc; }
h4 { font-size: 0.9rem; margin: 0.8rem 0 0.4rem; color: #aaa; }
section { background: #1a1a1a; border-radius: 10px; padding: 1.5rem; margin-bottom: 1.5rem; border: 1px solid #2a2a2a; }
.row { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
input[type="text"] { padding: 0.5rem 0.8rem; border-radius: 6px; border: 1px solid #333; background: #252525; color: #e0e0e0; font-size: 0.9rem; flex: 1; min-width: 200px; }
select { padding: 0.5rem 0.8rem; border-radius: 6px; border: 1px solid #333; background: #252525; color: #e0e0e0; font-size: 0.9rem; }
input[type="file"] { color: #aaa; margin-bottom: 0.6rem; display: block; font-size: 0.9rem; }
button { padding: 0.5rem 1.2rem; border-radius: 6px; border: none; background: #4f46e5; color: white; cursor: pointer; font-size: 0.9rem; }
button:hover:not(:disabled) { background: #4338ca; }
button:disabled { background: #2a2a2a; color: #555; cursor: not-allowed; }
.step-btn { display: block; width: 100%; text-align: left; padding: 0.8rem 1rem; margin-bottom: 0.5rem; background: #252525; color: #ccc; border: 1px solid #333; }
.step-btn:hover:not(:disabled) { background: #2f2f2f; border-color: #4f46e5; color: #fff; }
.pipeline-steps { margin-bottom: 1rem; }
.action-row { display: flex; gap: 0.5rem; margin-top: 1rem; flex-wrap: wrap; }
.btn-confirm { background: #16a34a; flex: 1; padding: 0.8rem; font-size: 0.95rem; }
.btn-confirm:hover { background: #15803d; }
.btn-secondary { background: #374151; flex: 1; padding: 0.8rem; }
.btn-secondary:hover { background: #4b5563; }
.take-card { background: #252525; border-radius: 8px; padding: 0.9rem; margin-bottom: 0.6rem; border-left: 4px solid #4f46e5; }
.take-card.rejected { border-left-color: #dc2626; opacity: 0.65; }
.take-badge { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 4px; font-size: 0.75rem; margin-right: 0.4rem; font-weight: 600; }
.badge-keep { background: #166534; color: #86efac; }
.badge-reject { background: #7f1d1d; color: #fca5a5; }
.take-meta { font-size: 0.8rem; color: #888; margin-left: 0.3rem; }
.take-reason { margin-top: 0.4rem; font-size: 0.85rem; color: #bbb; }
.reasoning-box { background: #1f1f1f; border-radius: 6px; padding: 0.8rem; margin-top: 0.8rem; font-size: 0.85rem; color: #aaa; border-left: 3px solid #f59e0b; }
.correction-row { display: flex; gap: 0.5rem; align-items: center; margin-bottom: 0.4rem; flex-wrap: wrap; font-size: 0.85rem; }
.correction-row label { color: #aaa; min-width: 140px; }
.correction-row input[type="text"] { font-size: 0.85rem; }
.correction-row input[type="checkbox"] { width: 16px; height: 16px; }
.status { margin-top: 0.7rem; font-size: 0.85rem; min-height: 1.2rem; }
.ok { color: #86efac; }
.err { color: #fca5a5; }
.hint { font-size: 0.8rem; color: #666; margin: 0.3rem 0 0.6rem; }
video { display: block; margin-top: 0.8rem; border-radius: 8px; max-width: 100%; }
