/* ---- Right-to-Know request desk ---- */
.src-mono { width: 22px; height: 22px; border-radius: 4px; background: #036c70; color: #fff; font-size: 10px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.rd-row { display: grid; gap: 14px; }
.rd-row-a { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; }
.rd-row-b { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
@media (max-width: 980px) { .rd-row-a, .rd-row-b { grid-template-columns: 1fr; } }
.rd-row .panel { min-width: 0; }
.rd-scroll { overflow-x: auto; }
.rd-chart { position: relative; height: 250px; }

/* queue */
table.data td.req { max-width: 320px; }
table.data td.req b { font-weight: 600; display: block; }
.clock { display: inline-flex; align-items: center; gap: 6px; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.clock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.clock.ok { background: rgba(5,150,105,.1); color: var(--good); }
.clock.soon { background: rgba(202,138,4,.13); color: var(--warn); }
.clock.today { background: rgba(220,38,38,.1); color: var(--danger); }
.clock.ext { background: rgba(76,66,114,.1); color: var(--accent); }
.clock.done { background: var(--chip); color: var(--text-mute); }
.clock.done::before { display: none; }
.stage { font-size: 11px; font-weight: 600; color: var(--text-dim); white-space: nowrap; }
.stage.review { color: var(--accent); }
.stage.ready { color: var(--good); }
tr.flash td { animation: rowFlash 1.4s ease; }
@keyframes rowFlash { 0% { background: rgba(5,150,105,.18); } 100% { background: transparent; } }

/* redaction review */
.rd-review { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 14px; }
@media (max-width: 720px) { .rd-review { grid-template-columns: 1fr; } }
.doc { background: #fff; border: 1px solid var(--border); border-radius: 6px; padding: 16px 18px; font-size: 12.5px; line-height: 1.7; color: #24303f; box-shadow: inset 0 0 0 4px #fafbfc; }
.doc h4 { margin: 0 0 2px; font-size: 13px; letter-spacing: .02em; }
.doc .doc-sub { font-size: 11px; color: var(--text-mute); margin-bottom: 10px; font-family: var(--mono); }
.doc p { margin: 0 0 8px; }
.hl { border-radius: 3px; padding: 0 2px; cursor: pointer; transition: background .15s, color .15s; box-shadow: inset 0 -2px 0 rgba(202,138,4,.6); background: rgba(250,204,21,.28); }
.hl:hover, .hl.focus { outline: 2px solid var(--accent-2); outline-offset: 1px; }
.hl.redacted { background: #111; color: #111; box-shadow: none; }
.hl.kept { background: rgba(5,150,105,.12); box-shadow: inset 0 -2px 0 rgba(5,150,105,.55); }
.sugs { display: flex; flex-direction: column; gap: 6px; }
.sug { border: 1px solid var(--border-soft); border-radius: 8px; padding: 8px 10px; background: var(--bg-card-2); display: flex; flex-direction: column; gap: 6px; transition: background .2s, border-color .2s; }
.sug.focus { border-color: var(--accent-2); }
.sug.redacted { background: #fff; }
.sug.kept { background: #fff; }
.sug-top { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.sug-what { font-weight: 600; font-size: 12px; }
.sug-cite { font-family: var(--mono); font-size: 10.5px; color: var(--text-mute); white-space: nowrap; }
.sug-why { font-size: 11px; color: var(--text-dim); }
.sug-acts { display: flex; gap: 6px; }
.sug-acts button { flex: 1; border: 1px solid var(--border); background: #fff; color: var(--text-dim); border-radius: 6px; padding: 4px 6px; font-size: 11px; font-weight: 600; }
.sug-acts button:hover { border-color: var(--accent); color: var(--accent); }
.sug-acts button.on.b-redact { background: #111; border-color: #111; color: #fff; }
.sug-acts button.on.b-keep { background: rgba(5,150,105,.12); border-color: rgba(5,150,105,.4); color: var(--good); }
.rev-foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--border-soft); padding-top: 12px; }
.rev-progress { font-size: 12px; color: var(--text-dim); }
.rev-progress b { color: var(--text); }
.btn-approve { border: 0; background: var(--accent); color: #fff; border-radius: 8px; padding: 8px 16px; font-size: 12.5px; font-weight: 600; }
.btn-approve:disabled { background: #c9c4dc; cursor: not-allowed; }
.btn-ghost { border: 1px solid var(--border); background: #fff; color: var(--text-dim); border-radius: 8px; padding: 7px 12px; font-size: 12px; font-weight: 600; }
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.released-box { grid-column: 1 / -1; text-align: center; padding: 26px 12px; }
.released-box .big { font-size: 15px; font-weight: 600; color: var(--good); margin-bottom: 6px; }
.released-box p { color: var(--text-dim); font-size: 12px; margin: 0 0 12px; }

/* drawer extras */
.drawer-acts { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 14px; }
.drawer-acts label { font-size: 11px; color: var(--text-mute); text-transform: uppercase; letter-spacing: .05em; }
.drawer-acts select { font: inherit; font-size: 12px; padding: 6px 8px; border: 1px solid var(--border); border-radius: 7px; background: #fff; color: var(--text); }
.drawer-acts .btn-approve, .drawer-acts .btn-ghost { width: 100%; }
.drawer-ok { background: rgba(5,150,105,.08); border: 1px solid rgba(5,150,105,.25); color: var(--good); border-radius: 8px; padding: 8px 10px; font-size: 12px; font-weight: 600; margin-bottom: 12px; }

/* embed: phone */
@media (max-width: 720px) {
  html.embed .rd-review, body.embed .rd-review { grid-template-columns: 1fr; }
  html.embed table.data tr, body.embed table.data tr { display: table-row; }
  html.embed table.data td:nth-child(-n+3), body.embed table.data td:nth-child(-n+3) { display: table-cell; }
  html.embed table.data thead, body.embed table.data thead { display: table-header-group; }
  html.embed .rd-hide-sm, body.embed .rd-hide-sm, .rd-hide-sm { display: none !important; }
}
.rd-pad { padding: 8px 12px 10px; margin: 0; }
.status { white-space: nowrap; }
table.data td.mono { white-space: nowrap; }
.rd-col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.rd-col .panel { flex: none; }
.rd-show-sm { display: none !important; }
@media (max-width: 720px) { .rd-show-sm { display: block !important; } .clock { white-space: normal; } table.data td.req { max-width: none; } }
