/* admin-feedback.css — the AD-FBK triage + contact + moderation surface
   (/admin/feedback — FBA/MOD, WF-32/WF-39 ②). Shared community primitives live
   in community.css; admin-shell styles in admin-editors.css — add ONLY this
   surface's styles here. Token-bound only. */

/* --- Tabs (WF-32 ①) -------------------------------------------------------- */

.adm-fbk__tabs {
    display: flex;
    gap: var(--space-xs);
    margin-bottom: var(--space-lg);
    border-bottom: 1px solid var(--border-hairline);
}

.adm-fbk__tab {
    padding: var(--space-xs) var(--space-md);
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: var(--radius-control) var(--radius-control) 0 0;
    color: var(--text-secondary);
    font-size: var(--font-size--1);
    font-weight: 500;
    cursor: pointer;
    background: none;
}

.adm-fbk__tab:hover {
    color: var(--text-primary);
    background-color: var(--surface-hover);
}

.adm-fbk__tab--current {
    border-color: var(--border-hairline);
    background-color: var(--surface-raised);
    color: var(--text-primary-on-raised);
}

/* --- Filters ---------------------------------------------------------------- */

.adm-fbk__filters {
    margin-bottom: var(--space-md);
}

.adm-fbk__filterlabel {
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

.adm-fbk__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

/* --- Master-detail split (FBA-R02: the table keeps its scroll and filters) -- */

.adm-fbk__split {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
    align-items: start;
}

@media (min-width: 1100px) {
    .adm-fbk__split:has(.adm-fbk__detail) {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    }
}

.adm-fbk__list {
    min-width: 0;
}

/* --- The triage table ------------------------------------------------------- */

.adm-table--fbk,
.adm-table--contact {
    min-width: 640px;
}


.adm-fbk__sort {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
}

.adm-fbk__row--current {
    background-color: var(--surface-hover);
}

.adm-fbk__titlebtn {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
}

.adm-fbk__titlebtn:hover .adm-fbk__title,
.adm-fbk__titlebtn:hover .adm-fbk__excerpt {
    text-decoration: underline;
}

/* The address stays one line, shown whole (2026-10-11: the old max-width:0 clamp
   only worked with the fixed table layout and collapsed the column to "dev-…"). */
.adm-fbk__email {
    white-space: nowrap;
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

.adm-fbk__build,
.adm-fbk__excerpt {
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

.adm-fbk__when {
    font-family: var(--font-numeric);
    font-variant-numeric: tabular-nums;
    font-size: var(--font-size--1);
    white-space: nowrap;
}

/* --- Bulk bar (FBA-R05, WF-32 ③) ------------------------------------------- */

.adm-fbk__bulkbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-control);
    background-color: var(--surface-raised);
}

.adm-fbk__bulkcount {
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

.adm-fbk__bulkpanel {
    margin-top: var(--space-sm);
    padding: var(--space-md);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-container);
    background-color: var(--surface-raised);
}

.adm-fbk__bulkactions {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    gap: var(--space-sm);
    margin-top: var(--space-sm);
}

/* --- Detail pane (WF-32 right) ---------------------------------------------- */

.adm-fbk__detail {
    padding: var(--space-md);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-container);
    background-color: var(--surface-raised);
}

.adm-fbk__detailhead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-sm);
}

.adm-fbk__detailtitle {
    margin: 0;
    font-size: var(--font-size-1);
    overflow-wrap: anywhere;
}

.adm-fbk__detailchips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
}

.adm-fbk__detailmeta {
    margin: var(--space-xs) 0 var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--font-size--1);
    overflow-wrap: anywhere;
}

.adm-fbk__body {
    padding: var(--space-sm);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-control);
    background-color: var(--surface-deep);
}

/* --- Attachments (admin view: every state, labeled) ------------------------- */

.adm-fbk__attachments {
    margin-top: var(--space-sm);
}

.adm-fbk__attrow {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--space-xs);
    margin: var(--space-xs) 0;
    font-size: var(--font-size--1);
}

.adm-fbk__attname {
    overflow-wrap: anywhere;
}

.adm-fbk__attfacts,
.adm-fbk__attstate {
    color: var(--text-secondary);
}

.adm-fbk__attrow--held .adm-fbk__attstate {
    font-weight: 600;
}

/* --- Shared-item extras (FBA-R06) ------------------------------------------- */

.adm-fbk__signals {
    margin-top: var(--space-sm);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--border-hairline);
}

.adm-fbk__signalcounts {
    margin: 0;
    font-weight: 600;
    font-size: var(--font-size--1);
}

.adm-fbk__signallist {
    margin: var(--space-xs) 0;
    padding-left: var(--space-lg);
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

.adm-fbk__sharedlinks {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin: var(--space-xs) 0 0;
    font-size: var(--font-size--1);
}

/* --- The thread -------------------------------------------------------------- */

.adm-fbk__thread {
    margin-top: var(--space-sm);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.adm-fbk__reply {
    padding: var(--space-sm);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-control);
}

/* FRM-R15's one mechanism: the accent-tinted raised fill marks official. */
.adm-fbk__reply--official {
    background-color: var(--accent-surface);
    border-color: transparent;
}

.adm-fbk__replyhead {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--space-sm);
    margin: 0 0 var(--space-xs);
    font-size: var(--font-size--1);
}

.adm-fbk__author {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.adm-fbk__replywhen {
    color: var(--text-secondary);
    font-family: var(--font-numeric);
    font-variant-numeric: tabular-nums;
}

.adm-fbk__replybody {
    font-size: var(--font-size--1);
}

.adm-fbk__gatenote {
    margin-top: var(--space-xs);
}

.adm-fbk__replyactions {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    margin-top: var(--space-xs);
}

/* --- StatusControl (FBA-R03, WF-32 ⑤) --------------------------------------- */

.adm-fbk__statusctl {
    margin-top: var(--space-md);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--border-hairline);
}

.adm-fbk__statusbtns {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
}

.adm-fbk__statusbtn {
    padding: 4px 12px;
    border: 1px solid var(--border-hairline);
    border-radius: 999px;
    background: none;
    color: var(--text-primary);
    font-size: var(--font-size--1);
    cursor: pointer;
}

.adm-fbk__statusbtn:hover {
    background-color: var(--surface-hover);
}

/* Pressed reads beyond color: the filled pill is also aria-pressed. */
.adm-fbk__statusbtn--current {
    background-color: var(--accent-surface);
    border-color: var(--accent);
    font-weight: 600;
}

.adm-fbk__picker {
    margin-top: var(--space-sm);
    padding: var(--space-sm);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-control);
    background-color: var(--surface-deep);
}

.adm-fbk__pickerempty {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

.adm-fbk__pickerlist {
    margin: var(--space-xs) 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.adm-fbk__pickerlist li {
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
}

.adm-fbk__pickerstatus {
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

/* --- Context + destructive ---------------------------------------------------- */

.adm-fbk__context {
    margin-top: var(--space-md);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--border-hairline);
    font-size: var(--font-size--1);
}

.adm-fbk__ctxline {
    margin: 0 0 var(--space-xs);
    color: var(--text-secondary);
}

.adm-fbk__ctxlist {
    margin: 0 0 var(--space-sm);
    padding-left: var(--space-lg);
}

.adm-fbk__danger {
    color: var(--status-danger-text);
}

.adm-fbk__close {
    white-space: nowrap;
}

/* --- Contact tab -------------------------------------------------------------- */

.adm-fbk__contactactions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-md);
    margin-top: var(--space-md);
}

/* --- Moderation queues (WF-39 ②) --------------------------------------------- */

.adm-fbk__queue {
    margin-bottom: var(--space-xl);
}

.adm-fbk__qhead {
    margin: 0 0 var(--space-sm);
    font-size: var(--font-size-0);
}

.adm-fbk__flagrow,
.adm-fbk__memberrow {
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--border-hairline);
}

.adm-fbk__flagline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--space-sm);
    margin: 0 0 var(--space-xs);
}

.adm-fbk__flagkind {
    font-weight: 600;
    font-size: var(--font-size--1);
}

.adm-fbk__flagexcerpt {
    font-size: var(--font-size--1);
    overflow-wrap: anywhere;
}

.adm-fbk__flagfacts {
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

.adm-fbk__flagreasons {
    margin: 0 0 var(--space-xs);
    color: var(--text-secondary);
    font-size: var(--font-size--1);
    font-style: italic;
}

/* MOD-R01: the full scan report opens COLLAPSED and scrolls inside a cap
   (F-R17) — a thousand-line report never becomes a thousand-line row. */
.adm-fbk__report summary {
    color: var(--text-secondary);
    font-size: var(--font-size--1);
    cursor: pointer;
}

.adm-fbk__scanreport {
    max-height: 200px;
    overflow-y: auto;
    margin: var(--space-xs) 0;
    padding: var(--space-sm);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-control);
    background-color: var(--surface-deep);
    font-size: var(--font-size--1);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* --- Member tools (MOD-R04) ---------------------------------------------------- */

.adm-fbk__handle {
    font-weight: 600;
}

.adm-fbk__suspendnote {
    margin: 0 0 var(--space-xs);
    color: var(--text-secondary);
    font-size: var(--font-size--1);
}

.adm-fbk__memberpanel {
    margin-top: var(--space-sm);
    padding: var(--space-sm);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-control);
    background-color: var(--surface-raised);
}

.adm-fbk__panelcopy {
    margin: 0 0 var(--space-sm);
    font-size: var(--font-size--1);
}

.adm-fbk__quotainput {
    max-width: 160px;
}
