/* ency-admin.css — ENCY Administration Dashboard styles
   Uses CSS custom properties from variables.css — no hardcoded colours.
   Works with all site themes including those with background images.
*/

/* ── Breadcrumb bar ─────────────────────────────────────── */
.ency-admin-breadcrumb {
    color: var(--text-muted-color);
    font-size: var(--font-size-small);
    margin-bottom: var(--spacing-medium);
}

/* ── Section headings ───────────────────────────────────── */
.ency-admin-section {
    margin: 1.5em 0;
}
.ency-admin-section h2 {
    font-size: 1.1em;
    font-family: var(--header-font);
    color: var(--link-color);
    border-bottom: 2px solid var(--primary-color);
    padding-bottom: 0.3em;
    margin-bottom: 0.8em;
}

/* ── Card grid ──────────────────────────────────────────── */
.ency-admin-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2em;
    margin: 1em 0;
}
.ency-admin-card {
    background: var(--secondary-color);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    padding: 1em 1.2em;
    min-width: 200px;
    flex: 1 1 220px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.ency-admin-card.wide {
    flex: 2 1 400px;
}
.ency-admin-card h3 {
    margin: 0 0 0.6em;
    font-size: 1em;
    font-family: var(--header-font);
    color: var(--link-color);
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 0.4em;
}
.ency-admin-card h3.mt {
    margin-top: 0.8em;
    border-top: 1px dotted var(--border-color);
    padding-top: 0.5em;
}

/* ── Stat rows inside cards ─────────────────────────────── */
.ency-admin-stat {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.2em 0;
    font-size: var(--font-size-small);
    border-bottom: 1px dotted var(--border-color);
}
.ency-admin-stat:last-child { border-bottom: none; }
.ency-admin-stat a {
    color: var(--link-color);
    text-decoration: none;
}
.ency-admin-stat a:hover { text-decoration: underline; }
.ency-admin-stat.mt { margin-top: 0.4em; }
.ency-admin-stat.sm { font-size: 0.82em; margin-top: 0.3em; }

/* ── Count values ───────────────────────────────────────── */
.ency-count {
    font-weight: bold;
    font-size: 1.05em;
    color: var(--text-color);
}
.ency-count.warn { color: var(--warning-color); }
.ency-count.ok   { color: var(--success-color); }
.ency-count.zero { color: var(--text-muted-color); }

/* ── Status badges ──────────────────────────────────────── */
.badge-warn {
    display: inline-block;
    background: var(--schema-alert-warning-bg);
    color: var(--text-color);
    border: 1px solid var(--warning-color);
    border-radius: 10px;
    padding: 0.1em 0.5em;
    font-size: 0.82em;
}
.badge-ok {
    display: inline-block;
    background: var(--schema-alert-success-bg, #d4edda);
    color: var(--success-color);
    border: 1px solid var(--schema-alert-success-border, #c3e6cb);
    border-radius: 10px;
    padding: 0.1em 0.5em;
    font-size: 0.82em;
}
.badge-error {
    display: inline-block;
    background: var(--schema-alert-danger-bg, #f8d7da);
    color: var(--schema-alert-danger-text, #721c24);
    border: 1px solid var(--schema-alert-danger-border, #f5c6cb);
    border-radius: 10px;
    padding: 0.1em 0.5em;
    font-size: 0.82em;
}

/* ── Admin table ────────────────────────────────────────── */
table.ency-admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-small);
}
table.ency-admin-table th {
    background: var(--table-header-bg);
    text-align: left;
    padding: 0.4em 0.6em;
    font-weight: bold;
    color: var(--link-color);
}
table.ency-admin-table td {
    padding: 0.35em 0.6em;
    border-bottom: 1px solid var(--border-color);
}
table.ency-admin-table tr:hover td {
    background: var(--primary-color);
}
table.ency-admin-table td.nowrap { white-space: nowrap; }
table.ency-admin-table td.sm     { font-size: 0.82em; }

/* ── Quick-add button strip ─────────────────────────────── */
.ency-quick-add {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
}
.ency-quick-add a {
    display: inline-block;
    padding: 0.4em 0.9em;
    background: var(--secondary-color);
    border: 1px solid var(--border-color);
    border-left: 3px solid var(--accent-color);
    border-radius: 4px;
    text-decoration: none;
    color: var(--link-color);
    font-size: var(--font-size-small);
    transition: background 0.15s;
}
.ency-quick-add a:hover {
    background: var(--primary-color);
    text-decoration: none;
}

/* ── Reference verification colour coding ───────────────── */
/* Inline spans for the reference number */
span.ref-verified {
    color: var(--success-color);
    font-weight: bold;
}
span.ref-partial {
    color: var(--warning-color);
    font-weight: bold;
}
span.ref-empty {
    color: var(--text-muted-color);
}
/* Row-level tinting */
tr.ref-row-verified td { border-left: 3px solid var(--success-color); }
tr.ref-row-partial  td { border-left: 3px solid var(--warning-color); }
tr.ref-row-empty    td { border-left: 3px solid var(--text-muted-color); }

/* ── Muted helper text ──────────────────────────────────── */
.ency-admin-note {
    font-size: 0.88em;
    color: var(--text-muted-color);
    margin: 0.3em 0 0.6em;
}
.ency-admin-note code {
    font-size: 0.92em;
}
