/* Security Player Reports — operator queue (kit-aligned, ui-ux-pro-max pass). */

.main .security-reports-panel__header {
    align-items: center;
    gap: var(--space-base);
}

.main .security-reports-panel__body {
    display: grid;
    gap: var(--space-md);
}

.main .security-reports-counters {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.main .security-reports-target-count {
    font-variant-numeric: tabular-nums;
}

/* ── Segmented status filter (sunken track, joined segments) ─────────────── */
.main .security-reports-filters {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 4px;
    background: var(--surface-sunken);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.main .security-reports-filter {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 6px 12px;
    border: 0;
    background: transparent;
    color: var(--color-text-secondary);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.main .security-reports-filter:hover:not(.security-reports-filter--active) {
    background: var(--surface-hover);
    color: var(--color-text);
}

.main .security-reports-filter--active {
    background: var(--surface-raised);
    color: var(--color-text);
    box-shadow: var(--shadow-sm);
}

.main .security-reports-filter:focus-visible {
    outline: 2px solid var(--color-ring);
    outline-offset: 2px;
}

.main .security-reports-filter__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--surface-sunken);
    color: var(--color-text-muted);
    font-size: 11px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.main .security-reports-filter:hover:not(.security-reports-filter--active) .security-reports-filter__count {
    background: var(--surface-raised);
}

.main .security-reports-filter--active .security-reports-filter__count {
    background: var(--color-accent);
    color: #1a1206;             /* warm near-black on gold for AA contrast */
}

/* ── Compact target-player filter row ───────────────────────────────────── */
.main .security-reports-target-form {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.main .security-reports-target-form .field {
    margin: 0;
    flex: 1 1 240px;
    min-width: 200px;
}

.main .security-reports-target-form .btn {
    flex: 0 0 auto;
}

.main .security-reports-statusline {
    min-height: 0;
    color: var(--color-text-muted);
    font-size: 13px;
}

.main .security-reports-statusline:empty {
    display: none;
}

.main .security-reports-statusline[data-tone="danger"] {
    color: var(--color-danger);
}

/* ── Table ──────────────────────────────────────────────────────────────── */
.main .security-reports-table-wrap {
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    overflow-x: auto;
}

.main .security-reports-table {
    min-width: 1180px;
    margin: 0;
}

.main .security-reports-table thead th {
    white-space: nowrap;
}

.main .security-reports-table tbody td {
    vertical-align: top;
}

.main .security-reports-table tbody tr:hover {
    background: var(--surface-hover);
}

.main .security-reports-table tbody tr:hover.security-reports-empty-row {
    background: transparent;
}

.main .security-reports-table td.empty-state {
    text-align: center;
    padding: var(--space-xl) var(--space-base);
}

/* ── Player cell ────────────────────────────────────────────────────────── */
.main .security-reports-player {
    display: grid;
    gap: 2px;
    min-width: 150px;
}

.main .security-reports-player__name {
    color: var(--color-text);
    font-weight: 700;
    text-decoration: none;
}

.main .security-reports-player__name:hover {
    text-decoration: underline;
}

.main .security-reports-player__id,
.main .security-reports-mono-input {
    color: var(--color-text-muted);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
}

.main .security-reports-player__filter,
.main .security-reports-note__toggle {
    justify-self: start;
    margin-top: 2px;
    font-size: 12px;
}

/* ── Note cell (full note, wrapped with native tooltip) ─────────────────── */
.main .security-reports-note {
    max-width: 340px;
    display: grid;
    gap: 4px;
}

.main .security-reports-note__text {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    color: var(--color-text-secondary);
    line-height: 1.45;
}

/* ── Badges ─────────────────────────────────────────────────────────────── */
.main .security-reports-status,
.main .security-reports-category {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ── Actions (secondary · secondary · danger) ───────────────────────────── */
.main .security-reports-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 230px;
}

.main .security-reports-actions .btn {
    flex: 0 0 auto;
}

.main .security-reports-action-muted {
    display: inline-block;
    color: var(--color-text-muted);
    font-size: 13px;
    text-align: right;
    width: 100%;
}

.main .security-reports-load {
    display: flex;
    justify-content: flex-end;
}

/* Honour the hidden attribute over .btn/.badge explicit display. */
.main .security-reports-load .btn[hidden],
.main .security-reports-counters .badge[hidden] {
    display: none;
}

/* ── Elegant empty state ────────────────────────────────────────────────── */
.main .security-reports-empty {
    display: grid;
    justify-items: center;
    gap: 6px;
}

.main .security-reports-empty__icon {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: var(--surface-sunken);
    color: var(--color-text-muted);
    margin-bottom: 2px;
}

.main .security-reports-empty__icon::before {
    content: "";
    width: 22px;
    height: 22px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.6' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 3v1.5M3 21v-6m0 0 2.77-.693a9 9 0 0 1 6.208.682l.108.054a9 9 0 0 0 6.086.71l3.114-.732a48.524 48.524 0 0 1-.005-10.499l-3.11.732a9 9 0 0 1-6.085-.711l-.108-.054a9 9 0 0 0-6.208-.682L3 4.5M3 15V4.5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.6' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 3v1.5M3 21v-6m0 0 2.77-.693a9 9 0 0 1 6.208.682l.108.054a9 9 0 0 0 6.086.71l3.114-.732a48.524 48.524 0 0 1-.005-10.499l-3.11.732a9 9 0 0 1-6.085-.711l-.108-.054a9 9 0 0 0-6.208-.682L3 4.5M3 15V4.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.main .security-reports-empty__title {
    margin: 0;
    color: var(--color-text);
    font-size: 14px;
    font-weight: 700;
}

.main .security-reports-empty__hint {
    margin: 0;
    max-width: 380px;
    color: var(--color-text-muted);
    font-size: 13px;
    line-height: 1.5;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 760px) {
    .main .security-reports-panel__header {
        display: grid;
        align-items: start;
    }

    .main .security-reports-counters {
        justify-content: flex-start;
    }

    .main .security-reports-filters {
        display: flex;
        width: 100%;
    }

    .main .security-reports-target-form .field {
        flex-basis: 100%;
    }

    .main .security-reports-target-form .btn,
    .main .security-reports-load .btn {
        flex: 1 1 auto;
    }
}
