/* Pipeline + feedback loop (piece 7). Uses the app's theme variables where they exist. */
.fb-slot { margin-top: 8px; padding: 8px; border-top: 1px solid rgba(128, 128, 128, .3); cursor: default; }
.fb-line { margin: 4px 0; font-size: 13px; }
.fb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px 10px; }
.fb-grid label { display: flex; flex-direction: column; font-size: 12px; gap: 2px; }
.fb-grid .fb-wide { grid-column: 1 / -1; }
.fb-grid input, .fb-grid select { width: 100%; box-sizing: border-box; }
.fb-gates { margin: 6px 0; font-size: 12px; }
.fb-gate { display: inline-block; margin-right: 10px; }
.fb-outcome { border-left: 3px solid #999; padding: 6px 8px; margin: 8px 0; background: rgba(128, 128, 128, .06); }
.fb-a-agreed { border-left-color: #2e8b57; }
.fb-a-disagreed { border-left-color: #c0392b; }
.fb-superseded { opacity: .6; }
.fb-head { font-size: 13px; }
.fb-badge { display: inline-block; font-size: 11px; padding: 1px 6px; margin-left: 6px; border-radius: 9px; background: rgba(128, 128, 128, .18); }
.fb-bad { background: #c0392b; color: #fff; }
.fb-cal { border-collapse: collapse; font-size: 12px; margin: 6px 0; width: 100%; }
.fb-cal th, .fb-cal td { border: 1px solid rgba(128, 128, 128, .3); padding: 3px 6px; text-align: left; }
.fb-calibration { margin: 8px 0; }
.fb-rule table { font-size: 12px; }
@media (max-width: 600px) { .fb-cal { display: block; overflow-x: auto; } }
.fb-slot input, .fb-slot select { height: auto; min-height: 0; padding: 3px 4px; }
.fb-slot .fb-grid { grid-template-columns: 1fr; }
