/* ============================================================
   COVFEFE — admin.css
   Loads after milligram.css. Admin chrome only.
   ============================================================ */

/* ── Nav ──────────────────────────────────────────────────── */
.nav {
    background: var(--color-bg-nav);
    border-bottom: 1px solid var(--color-border);
    padding: 0 1.6rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem 1.6rem;
    min-height: 4.8rem;
    position: sticky;
    top: 0;
    z-index: 100;
}
.nav-brand { font-size: 1.6rem; font-weight: 700; color: var(--color-text-bright); }
.nav-brand span { color: var(--color-primary); }
.nav a { color: var(--color-text-muted); font-size: 1.3rem; padding: .4rem 0; }
.nav a:hover { color: var(--color-text-bright); text-decoration: none; }
.nav-spacer { flex: 1; min-width: 1.6rem; }
.nav-logout { color: var(--color-danger) !important; }

/* ── Page ─────────────────────────────────────────────────── */
.page { max-width: var(--container-width); margin: 0 auto; padding: 2.4rem 1.6rem; }

/* ── Card ─────────────────────────────────────────────────── */
.card {
    background: var(--color-bg-card);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 2rem;
    margin-bottom: 1.6rem;
}
.card > h2 { margin-bottom: 1.6rem; }
.card > h2:last-child { margin-bottom: 0; }

/* ── Stat row ─────────────────────────────────────────────── */
.stat-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-bottom: 2.4rem;
}
.stat-box {
    flex: 1 1 12rem;
    background: var(--color-bg-card);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 1.8rem 1.6rem;
    text-align: center;
}
.stat-box .num   { font-size: 3.2rem; font-weight: 700; color: var(--color-primary); line-height: 1; }
.stat-box .label { font-size: 1.1rem; color: var(--color-text-faint); text-transform: uppercase; letter-spacing: .06em; margin-top: .6rem; }

/* ── Section divider ──────────────────────────────────────── */
.section-title {
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-faint);
    border-bottom: 1px solid var(--color-border);
    padding-bottom: .8rem;
    margin: 2.8rem 0 1.8rem;
}
.section-title:first-child { margin-top: 0; }

/* ── List rows (div-based, replaces tables) ───────────────── */
.list { display: flex; flex-direction: column; }

.list-header {
    display: none;
}
@media (min-width: 640px) {
    .list-header {
        display: flex;
        align-items: center;
        padding: .6rem 1.2rem;
        border-bottom: 1px solid var(--color-border);
        gap: 1.2rem;
    }
    .list-header .lc {
        font-size: 1.1rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .05em;
        color: var(--color-text-faint);
    }
}

.list-row {
    display: flex;
    flex-direction: column;
    padding: 1.2rem;
    border-bottom: 1px solid rgba(255,255,255,.03);
    gap: .4rem;
}
.list-row:last-child { border-bottom: none; }
.list-row:hover { background: rgba(255,255,255,.02); }

@media (min-width: 640px) {
    .list-row {
        flex-direction: row;
        align-items: center;
        padding: 1rem 1.2rem;
        gap: 1.2rem;
    }
}

/* List cells — flex sizing via inline style or modifier classes */
.lc      { flex: 1; min-width: 0; font-size: 1.3rem; overflow: hidden; text-overflow: ellipsis; }
.lc-sm   { flex: 0 0 9rem; }
.lc-xs   { flex: 0 0 6rem; }
.lc-auto { flex: 0 0 auto; }

/* Mobile: show a label before each cell */
.list-row .lc::before {
    content: attr(data-label);
    display: block;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-text-faint);
    margin-bottom: .2rem;
}
@media (min-width: 640px) {
    .list-row .lc::before { display: none; }
}
/* Don't show label on action cells */
.lc-actions::before { display: none !important; }
.lc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    flex: 0 0 auto;
    margin-top: .4rem;
}
@media (min-width: 640px) { .lc-actions { margin-top: 0; } }

/* ── Login ────────────────────────────────────────────────── */
.login-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}
.login-box {
    background: var(--color-bg-card);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: 3.2rem 2.4rem;
    width: 100%;
    max-width: 38rem;
}
.login-box h1 { text-align: center; margin-bottom: .4rem; }
.login-sub { text-align: center; color: var(--color-text-faint); font-size: 1.2rem; margin-bottom: 3.2rem; }

/* ── Token strip (submit page) ────────────────────────────── */
.token-strip {
    background: var(--color-alert-info-bg);
    border: 1px solid var(--color-alert-info-border);
    border-radius: var(--radius-lg);
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin-bottom: 2.4rem;
}
@media (min-width: 600px) {
    .token-strip { flex-direction: row; align-items: center; }
    .token-strip .flex-1 { flex: 1; }
}
.token-status { font-size: 1.3rem; white-space: nowrap; flex-shrink: 0; }
.token-ok   { color: var(--color-success); }
.token-fail { color: var(--color-danger); }

/* ── Detail: key-value list ───────────────────────────────── */
.dl-row {
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255,255,255,.04);
}
.dl-row:last-child { border-bottom: none; }
.dl-label { font-size: 1.1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--color-text-faint); margin-bottom: .3rem; }
.dl-value { font-size: 1.3rem; color: var(--color-text); line-height: 1.6; }
.dl-value pre { margin: 0; }

/* ── Detail split layout ──────────────────────────────────── */
.detail-split {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
@media (min-width: 860px) {
    .detail-split              { flex-direction: row; align-items: flex-start; }
    .detail-split > .detail-col { flex: 1; min-width: 0; }
}

/* ── File chips ───────────────────────────────────────────── */
.file-chips { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: .8rem; }
.file-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: rgba(255,255,255,.04);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: .4rem 1rem;
    font-size: 1.2rem;
}

/* ── Checkbox row ─────────────────────────────────────────── */
.checkbox-row {
    display: flex;
    align-items: center;
    gap: .8rem;
    cursor: pointer;
    padding: .6rem 0;
}
.checkbox-row label {
    text-transform: none;
    font-size: 1.3rem;
    color: var(--color-text);
    letter-spacing: 0;
    font-weight: 400;
    margin: 0;
    cursor: pointer;
}

/* ── Approve/reject panels ────────────────────────────────── */
.review-panels {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
@media (min-width: 600px) {
    .review-panels { flex-direction: row; }
    .review-panels > form { flex: 1; }
}
.panel-approve { border-color: rgba(76,175,114,.3); }
.panel-approve h2 { color: var(--color-success); }
.panel-reject  { border-color: rgba(224,108,117,.3); }
.panel-reject  h2 { color: var(--color-danger); }

/* ── New entity info box ──────────────────────────────────── */
.info-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: .8rem;
}
.info-list li {
    font-size: 1.3rem;
    color: var(--color-text-muted);
    display: flex;
    align-items: baseline;
    gap: .6rem;
}
.info-list li::before { content: "→"; color: var(--color-primary); flex-shrink: 0; }

/* ── Stats page ───────────────────────────────────────────── */
.split-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media (max-width: 800px) { .split-2 { grid-template-columns: 1fr; } }
.nav-active { color: var(--color-primary) !important; font-weight: 600; }
