/* ============================================================================
   Draft Mainframe — Prospect Files Stage 1 finder (route-scoped)
   Linked only by Pages/Prospects/Index.cshtml via the Styles section. Every
   rule is scoped under .dm-prospect-index; tokens come from .dm-home-shell-page
   in control-room.css. Visual grammar: dark inset selector nodes for filters,
   compact metal strips for result rows, cream raised plate reserved for the
   OPEN FILE destination action. No green (nothing here is LIVE), no blue.
   ========================================================================== */

/* ── Computed system line ───────────────────────────────────────────────── */

.dm-prospect-index .dm-pf-sysline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
    font-family: var(--dm-font-display);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    color: var(--dm-muted);
}

.dm-prospect-index .dm-pf-sysline__sep {
    color: rgb(var(--dm-orange-rgb) / 55%);
}

/* ── Command module (search + filters) ──────────────────────────────────── */

.dm-prospect-index .dm-pf-command {
    display: grid;
    gap: 0.8rem;
    margin-top: 0.75rem;
    padding: 0.8rem 0.7rem 0.9rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 12%);
    border-radius: 10px;
    background: linear-gradient(180deg, #1B1916, #121110);
    box-shadow:
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%),
        inset 0 0 18px rgb(0 0 0 / 35%);
}

.dm-prospect-index .dm-pf-field {
    display: grid;
    gap: 0.45rem;
}

.dm-prospect-index .dm-pf-label {
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    color: var(--dm-orange-hot);
}

.dm-prospect-index .dm-pf-search-input {
    width: 100%;
    padding: 0.55rem 0.65rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 16%);
    border-radius: 7px;
    background: linear-gradient(180deg, #0C0B0A, #131211);
    box-shadow: inset 0 2px 6px rgb(0 0 0 / 55%);
    color: var(--dm-bone);
    font-family: var(--dm-font-body);
    font-size: 0.9rem;
}

.dm-prospect-index .dm-pf-search-input::placeholder {
    color: var(--dm-standby);
}

.dm-prospect-index .dm-pf-search-input:focus-visible {
    outline: 2px solid var(--dm-orange-hot);
    outline-offset: 2px;
}

/* dark inset selector nodes — compact, never the cream destination plates */
.dm-prospect-index .dm-pf-nodes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.dm-prospect-index .dm-pf-node {
    padding: 0.4rem 0.62rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 14%);
    border-radius: 7px;
    background: linear-gradient(180deg, #191714, #100F0E);
    box-shadow: inset 0 2px 5px rgb(0 0 0 / 50%);
    color: var(--dm-standby);
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    transition: color 140ms ease-out, border-color 140ms ease-out;
}

.dm-prospect-index .dm-pf-node[aria-pressed="true"] {
    border-color: rgb(var(--dm-orange-rgb) / 70%);
    background: linear-gradient(180deg, #241A13, #15100C);
    box-shadow:
        inset 0 2px 5px rgb(0 0 0 / 55%),
        inset 0 0 10px rgb(var(--dm-orange-rgb) / 22%),
        0 0 8px rgb(var(--dm-orange-rgb) / 18%);
    color: var(--dm-orange-hot);
}

/* ── Results module ─────────────────────────────────────────────────────── */

.dm-prospect-index .dm-pf-results {
    display: grid;
    gap: 0.6rem;
    margin-top: 0.15rem;
}

.dm-prospect-index .dm-pf-count {
    margin: 0;
    font-family: var(--dm-font-display);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    color: var(--dm-bone);
}

.dm-prospect-index .dm-pf-rows {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* compact metal result strip */
.dm-prospect-index .dm-pf-row {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "head open"
        "name open";
    align-items: center;
    column-gap: 0.6rem;
    row-gap: 0.2rem;
    padding: 0.55rem 0.6rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 12%);
    border-radius: 8px;
    background: linear-gradient(180deg, #201E1A, #141312);
    box-shadow:
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 7%),
        0 3px 8px rgb(0 0 0 / 35%);
}

.dm-prospect-index .dm-pf-row__head {
    grid-area: head;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dm-prospect-index .dm-pf-row__fileid {
    font-family: var(--dm-font-display);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    color: var(--dm-bone);
}

/* compact identity status chip */
.dm-prospect-index .dm-pf-row__chip {
    padding: 0.14rem 0.4rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 14%);
    border-radius: 5px;
    background: linear-gradient(180deg, #2C2C2F, #222225);
    font-family: var(--dm-font-display);
    font-size: 0.56rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--dm-standby);
    white-space: nowrap;
}

.dm-prospect-index .dm-pf-row__chip[data-identity="named"] {
    border-color: rgb(var(--dm-orange-rgb) / 55%);
    background: linear-gradient(180deg, #241A13, #15100C);
    color: var(--dm-orange-hot);
}

.dm-prospect-index .dm-pf-row__name {
    grid-area: name;
    margin: 0;
    font-size: 0.82rem;
    color: var(--dm-muted);
}

/* OPEN FILE — the row's one destination action gets the cream raised plate */
.dm-prospect-index .dm-pf-row__open {
    grid-area: open;
    position: relative;
    z-index: 0;
    padding: 0.5rem 0.7rem;
    --cut: 6px;
    clip-path: var(--dm-oct);
    background:
        linear-gradient(180deg, var(--dm-bone-hi), var(--dm-bone)) padding-box,
        linear-gradient(180deg, var(--dm-orange-hot), var(--dm-orange-deep)) border-box;
    border: 2px solid transparent;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 70%);
    color: var(--dm-ink);
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.dm-prospect-index .dm-pf-row__open:active {
    transform: translateY(1px);
}

/* ── Empty state ────────────────────────────────────────────────────────── */

.dm-prospect-index .dm-pf-empty {
    padding: 0.9rem 0.7rem;
    border: 1px dashed rgb(var(--dm-bone-rgb) / 18%);
    border-radius: 8px;
    text-align: center;
}

.dm-prospect-index .dm-pf-empty__title {
    margin: 0;
    font-family: var(--dm-font-display);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: var(--dm-track-wide);
    color: var(--dm-bone);
}

.dm-prospect-index .dm-pf-empty__hint {
    margin: 0.35rem 0 0;
    font-size: 0.8rem;
    color: var(--dm-muted);
}

/* ── Pager ──────────────────────────────────────────────────────────────── */

.dm-prospect-index .dm-pf-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.dm-prospect-index .dm-pf-pager-btn {
    padding: 0.45rem 0.7rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 16%);
    border-radius: 7px;
    background: linear-gradient(180deg, #191714, #100F0E);
    box-shadow: inset 0 2px 5px rgb(0 0 0 / 50%);
    color: var(--dm-bone);
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.09em;
}

.dm-prospect-index .dm-pf-pager-btn:disabled {
    color: #55504A;
    border-color: rgb(var(--dm-bone-rgb) / 8%);
    cursor: default;
}

.dm-prospect-index .dm-pf-page {
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    color: var(--dm-muted);
    white-space: nowrap;
}
