/* ═══ Reddit section (#sec-reddit) — Phase-2b negative-thread monitor ═══
   Scoped under #sec-reddit, built on theme.css tokens. Mirrors the approved
   mockups (01-04) with Alex's feedback applied: row actions live in the ⋯
   dropdown (not inline), human-readable classification labels, and NO
   below-table legend / dashed "Decide:" annotation notes. */

#sec-reddit .red-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:var(--space-5)}
#sec-reddit .red-title{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:400;line-height:1.15;letter-spacing:-.01em}
#sec-reddit .red-sub{font-size:var(--text-md);color:var(--text-muted);margin-top:4px;max-width:680px}
/* Provider Sync (Empire) read-only badge — signals this view performs no
   provider writes (mirror reads + one human-confirmed local link only). */
#sec-reddit .red-ro-pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500;color:var(--text-muted);background:var(--surface-sunken);border:1px solid var(--border);padding:4px 10px;border-radius:999px}
@keyframes red-pulse{0%,100%{opacity:1}50%{opacity:.35}}
#sec-reddit .red-head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
/* heartbeat: DB-derived monitor liveness (Heroku can't read the EC2 file) */
#sec-reddit .red-heartbeat{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:500;padding:4px 11px;border-radius:999px;background:var(--surface-sunken);color:var(--text-muted);border:1px solid var(--border)}
#sec-reddit .red-heartbeat .red-hb-dot{width:8px;height:8px;border-radius:999px;background:var(--text-muted);flex:none}
#sec-reddit .red-heartbeat .red-hb-text{display:inline-flex;flex-direction:column;line-height:1.1}
#sec-reddit .red-heartbeat .red-hb-text small{font-size:var(--text-xs);font-weight:400;color:var(--text-muted)}
#sec-reddit .red-heartbeat.fresh{color:var(--success);background:var(--success-tint);border-color:transparent}
#sec-reddit .red-heartbeat.fresh .red-hb-dot{background:var(--success);animation:red-pulse 1.8s infinite}
#sec-reddit .red-heartbeat.fresh .red-hb-text small{color:var(--success)}
#sec-reddit .red-heartbeat.stale{color:var(--warn);background:var(--warn-tint);border-color:transparent}
#sec-reddit .red-heartbeat.stale .red-hb-dot{background:var(--warn)}
#sec-reddit .red-heartbeat.stale .red-hb-text small{color:var(--warn)}
#sec-reddit .red-heartbeat.unknown .red-hb-dot{background:var(--text-muted)}

/* stat strip */
#sec-reddit .red-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4);margin-bottom:var(--space-5)}
#sec-reddit .red-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:6px}
#sec-reddit .red-stat .v{font-family:var(--font-serif);font-size:28px;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}
#sec-reddit .red-stat .l{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
#sec-reddit .red-stat .d{font-size:var(--text-sm);font-weight:500;color:var(--text-faint)}
#sec-reddit .red-stat.accent{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-sm)}

/* filters */
#sec-reddit .red-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3) var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}
#sec-reddit .red-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:150px}
#sec-reddit .red-field .l{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
#sec-reddit .red-spacer{margin-left:auto}
#sec-reddit select.red-select,#sec-reddit input.red-input{font-family:var(--font-sans);font-size:var(--text-md);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:0 var(--space-3);height:34px;width:100%}
#sec-reddit select.red-select{appearance:none;-webkit-appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}

/* table */
#sec-reddit .red-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
#sec-reddit .red-table-scroll{overflow-x:auto}
#sec-reddit table.red-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base)}
#sec-reddit .red-table thead th{position:sticky;top:0;z-index:1;text-align:left;font-weight:var(--fw-semibold);font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-sunken);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);white-space:nowrap}
#sec-reddit .red-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}
#sec-reddit .red-table tbody tr{transition:background .12s;cursor:pointer}
#sec-reddit .red-table tbody tr:hover{background:var(--surface-hover)}
#sec-reddit .red-table tbody tr:last-child td{border-bottom:none}
#sec-reddit .red-num{text-align:right;font-variant-numeric:tabular-nums}
#sec-reddit .red-title-cell{max-width:300px}
#sec-reddit .red-title-cell .t{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:300px}
#sec-reddit .red-title-cell .meta{font-size:var(--text-xs);color:var(--text-faint);margin-top:2px}
#sec-reddit .red-sub-r{color:var(--text-muted);font-size:var(--text-sm)}
#sec-reddit .red-rel{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap}
#sec-reddit .red-rel .lag{color:var(--text-faint);font-weight:400}
#sec-reddit .red-rel.fast{color:var(--success);font-weight:500}

/* badges / dots */
#sec-reddit .red-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:500;line-height:1;padding:4px 8px;border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-muted);white-space:nowrap}
#sec-reddit .red-badge-rec{background:var(--accent-tint);color:var(--accent-contrast-text)}
#sec-reddit .red-badge-alert{background:var(--warn-tint);color:var(--warn)}
#sec-reddit .red-badge-ignore{background:var(--surface-sunken);color:var(--text-faint)}
#sec-reddit .red-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm)}
#sec-reddit .red-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto;background:var(--text-faint)}
#sec-reddit .red-dot.active{background:var(--success)}
#sec-reddit .red-dot.losing{background:var(--danger)}
#sec-reddit .red-dot.resolved{background:var(--info)}
#sec-reddit .red-dot.removed,#sec-reddit .red-dot.deleted{background:var(--text-faint)}
#sec-reddit .red-rec-cell{font-size:var(--text-sm)}
#sec-reddit .red-rec-cell .band{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-contrast-text);background:var(--accent-tint);padding:1px 6px;border-radius:var(--radius-xs);font-weight:600}
#sec-reddit .red-rec-cell .qty{font-weight:600;color:var(--text)}
#sec-reddit .red-rec-cell .prov{color:var(--text-muted)}
#sec-reddit .red-rec-none{color:var(--text-faint);font-size:var(--text-sm)}

/* ── row actions: ONLY the ⋯ dropdown menu (Alex feedback: no inline buttons) ── */
#sec-reddit .red-actions{display:flex;gap:4px;justify-content:flex-end;position:relative}
#sec-reddit .red-qa-more{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;font-size:16px;line-height:1;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer}
#sec-reddit .red-qa-more:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}
#sec-reddit .red-menu{position:absolute;top:30px;right:0;z-index:30;min-width:200px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:5px;display:none}
#sec-reddit .red-menu.open{display:block}
#sec-reddit .red-menu button{display:flex;width:100%;align-items:center;gap:8px;background:none;border:none;border-radius:var(--radius-sm);padding:7px 10px;font-family:inherit;font-size:var(--text-base);color:var(--text);cursor:pointer;text-align:left}
#sec-reddit .red-menu button:hover{background:var(--surface-hover)}
#sec-reddit .red-menu button.danger{color:var(--danger)}
#sec-reddit .red-menu button.danger:hover{background:var(--danger-tint)}
#sec-reddit .red-menu .sep{height:1px;background:var(--border);margin:5px 4px}

/* buttons (reuse shared .btn where possible; provide a local fallback) */
#sec-reddit .red-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;line-height:1;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:0 16px;height:34px;background:var(--surface);color:var(--text);cursor:pointer}
#sec-reddit .red-btn:hover{background:var(--surface-hover)}
#sec-reddit .red-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
#sec-reddit .red-btn.primary:hover{background:var(--accent-hover)}
#sec-reddit .red-btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}
#sec-reddit .red-btn.sm{height:28px;padding:0 12px;font-size:var(--text-sm)}

/* ── detail view ── */
#sec-reddit .red-crumb{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-4)}
#sec-reddit .red-crumb a{color:var(--text-muted);cursor:pointer}
#sec-reddit .red-crumb a:hover{color:var(--accent)}
#sec-reddit .red-ro-banner{display:flex;align-items:center;gap:10px;background:var(--accent-tint);border:1px solid var(--accent-tint-strong);border-radius:var(--radius-md);padding:10px 14px;font-size:var(--text-sm);color:var(--accent-contrast-text);margin-bottom:var(--space-5)}
#sec-reddit .red-thread-head{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-5)}
#sec-reddit .red-th-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
#sec-reddit .red-th-title{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;line-height:1.2;max-width:760px}
#sec-reddit .red-th-link{font-size:var(--text-sm);margin-top:6px;display:inline-block}
#sec-reddit .red-th-score{font-family:var(--font-serif);font-size:40px;font-weight:400;line-height:1;color:var(--danger);font-variant-numeric:tabular-nums;text-align:right}
#sec-reddit .red-th-score-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;text-align:right}
#sec-reddit .red-th-meta{display:flex;flex-wrap:wrap;gap:24px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
#sec-reddit .red-th-meta .m{display:flex;flex-direction:column;gap:2px}
#sec-reddit .red-th-meta .k{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}
#sec-reddit .red-th-meta .v{font-size:var(--text-base);color:var(--text);font-weight:500}
#sec-reddit .red-rationale{margin-top:16px;background:var(--surface-sunken);border-radius:var(--radius-md);padding:12px 14px;font-size:var(--text-sm);color:var(--text-muted);border-left:3px solid var(--accent)}
#sec-reddit .red-rationale b{color:var(--text);font-weight:600}
#sec-reddit .red-rationale .conf{font-family:var(--font-mono);color:var(--accent-contrast-text)}

#sec-reddit .red-cols{display:grid;grid-template-columns:1.45fr 1fr;gap:var(--space-5);align-items:start}
#sec-reddit .red-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--space-5)}
#sec-reddit .red-card-h{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);font-weight:var(--fw-semibold);font-size:var(--text-md);display:flex;align-items:center;justify-content:space-between;gap:12px}
#sec-reddit .red-card-h.handoff{background:var(--accent-tint);color:var(--accent-contrast-text)}
#sec-reddit .red-card-b{padding:var(--space-5)}
#sec-reddit .red-chart-wrap{position:relative;height:300px}
#sec-reddit .red-spec-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:var(--text-base)}
#sec-reddit .red-spec-row:last-of-type{border-bottom:none}
#sec-reddit .red-spec-row .k{color:var(--text-muted)}
#sec-reddit .red-spec-row .v{font-weight:600;text-align:right}
#sec-reddit .red-copyblock{margin-top:14px;background:var(--c-gray-900);color:#e8e6dc;font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-md);padding:14px 16px;line-height:1.7;white-space:pre-wrap;word-break:break-all}
#sec-reddit .red-events .ev{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}
#sec-reddit .red-events .ev:last-child{border-bottom:none}
#sec-reddit .red-events .ed{flex:0 0 64px;color:var(--text-faint);font-size:var(--text-xs);font-variant-numeric:tabular-nums}
#sec-reddit .red-events .et b{font-weight:600}

/* confirm form */
#sec-reddit .red-confirm{margin-top:18px;padding-top:16px;border-top:1px dashed var(--border-strong)}
#sec-reddit .red-confirm h4{font-size:var(--text-sm);font-weight:600;margin-bottom:10px}
#sec-reddit .red-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
#sec-reddit .red-form-field label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
#sec-reddit .red-form-field textarea.red-input{height:auto;min-height:60px;padding:10px 12px;resize:vertical;line-height:1.5}
#sec-reddit .red-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* manual controls grid */
#sec-reddit .red-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#sec-reddit .red-ctl{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;font-size:var(--text-base);color:var(--text);text-align:left;font-family:inherit}
#sec-reddit .red-ctl:hover{background:var(--surface-hover);border-color:var(--border-strong)}
#sec-reddit .red-ctl.danger{color:var(--danger)}
#sec-reddit .red-ctl.danger:hover{background:var(--danger-tint);border-color:var(--danger)}
#sec-reddit .red-ctl small{display:block;font-size:var(--text-xs);color:var(--text-faint);font-weight:400}

/* reporting freeze + day cells */
#sec-reddit .red-rep-table td.frz,#sec-reddit .red-rep-table th.frz{position:sticky;left:0;z-index:1;background:var(--surface);min-width:130px}
#sec-reddit .red-rep-table thead th.frz{z-index:3;background:var(--surface-sunken)}
#sec-reddit .red-rep-table tbody tr:hover td.frz{background:var(--surface-hover)}
#sec-reddit .red-day{text-align:center;font-variant-numeric:tabular-nums}
#sec-reddit .red-chk.up{color:var(--danger);font-weight:600}
#sec-reddit .red-chk.dn{color:var(--success);font-weight:600}
#sec-reddit .red-muted{color:var(--text-faint)}
#sec-reddit .red-prov-tag{display:inline-block;font-size:var(--text-xs);font-weight:600;padding:2px 7px;border-radius:var(--radius-full);background:var(--surface-sunken);color:var(--text-muted)}
#sec-reddit .red-outcome{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:500}
#sec-reddit .red-outcome .od{width:7px;height:7px;border-radius:999px;background:var(--text-faint)}
#sec-reddit .red-outcome.ok .od{background:var(--success)}
#sec-reddit .red-outcome.fail .od{background:var(--danger)}
#sec-reddit .red-outcome.losing .od{background:var(--danger)}
#sec-reddit .red-outcome.pending .od{background:var(--warn)}

/* config */
#sec-reddit .red-section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600;margin:var(--space-6) 0 var(--space-3)}
#sec-reddit .red-testmode{display:flex;align-items:center;gap:12px;background:var(--warn-tint);border:1px solid rgba(192,138,46,.32);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:var(--space-6)}
#sec-reddit .red-testmode .tm-text{flex:1;font-size:var(--text-sm);color:#74521b}
#sec-reddit .red-testmode .tm-text b{font-weight:600;color:var(--warn)}
#sec-reddit .red-testmode code{font-family:var(--font-mono);background:rgba(255,255,255,.5);padding:1px 6px;border-radius:4px}
#sec-reddit .red-chips{display:flex;flex-wrap:wrap;gap:8px}
#sec-reddit .red-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500;padding:5px 10px;border-radius:999px;background:var(--accent-tint);color:var(--accent-contrast-text)}
#sec-reddit .red-chip.neutral{background:var(--surface-sunken);color:var(--text-muted)}
#sec-reddit .red-chip.excl{background:var(--danger-tint);color:var(--danger)}
#sec-reddit .red-bands{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base)}
#sec-reddit .red-bands th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;padding:0 10px 8px}
#sec-reddit .red-bands td{padding:6px 10px 6px 0}
#sec-reddit .red-bands input{height:32px;text-align:center;max-width:80px}
#sec-reddit .red-ptable{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}
#sec-reddit .red-ptable th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-sunken)}
#sec-reddit .red-ptable td{padding:9px 10px;border-bottom:1px solid var(--border)}
#sec-reddit .red-ptable tr:last-child td{border-bottom:none}
#sec-reddit .red-json{width:100%;min-height:160px;font-family:var(--font-mono);font-size:var(--text-sm);padding:12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken);line-height:1.5;resize:vertical;color:var(--text)}
#sec-reddit .red-card-footer{padding:14px var(--space-5);border-top:1px solid var(--border);background:var(--surface-sunken);display:flex;justify-content:flex-end;gap:10px}

#sec-reddit .red-loading{padding:40px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}
#sec-reddit .red-empty{padding:30px;text-align:center;color:var(--text-faint);font-size:var(--text-sm)}
#sec-reddit .red-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:80;background:var(--c-gray-900);color:#fff;font-size:var(--text-sm);padding:10px 18px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;transition:opacity .2s,transform .2s}
#sec-reddit .red-toast.show{opacity:1}
#sec-reddit .red-toast.err{background:var(--danger)}
