/* ---------------------------------------------------------------------------
   Compliance Type / Compliance Info grid cells.

   Applied by window.ComplianceCell.decorate (site.js) from each grid's
   queryCellInfo handler, keyed off ComplianceExpiryStatus — which is computed
   in Products.View_ProductCompliance, not here and not in JS. Loaded globally
   from Pages/Shared/Nucleus/__css.cshtml because all three cheat sheets and
   both product grids use it.

   Text colour and weight only, never a cell background: the grid supplies its
   own row striping and selection fills, and tinting the cell fights both. Per
   the house rule, accents go on content inside panels, not on surfaces.
   See .ai/product-compliance.md.
   --------------------------------------------------------------------------- */

:root {
    /* No amber in core/variables.css, so it is defined here and overridden for
       dark below rather than hard-coded at each use. */
    --cmp-warning: #b26a00;
}

:root:not([data-theme="light"]) {
    --cmp-warning: #ffc078;
}

:root[data-theme="dark"] {
    --cmp-warning: #ffc078;
}

/* Certificate is overdue — the one state that should be impossible to skim past. */
.e-grid td.cmp-expired {
    color: var(--color-danger);
    font-weight: 600;
}

/* Inside the 90-day window. */
.e-grid td.cmp-expiring {
    color: var(--cmp-warning);
    font-weight: 600;
}

/* Authority declared, nothing on file. Same weight as expired — a missing LOA is
   not a milder problem than an expired one — but held apart by colour so the two
   are still distinguishable at a glance. */
.e-grid td.cmp-missing {
    color: var(--color-danger);
    font-weight: 500;
}

/* Certificate exists but nobody captured its expiry. A data-entry gap, not a
   compliance failure, so it reads as a caveat rather than an alarm. */
.e-grid td.cmp-no-expiry {
    color: var(--text-muted);
    font-style: italic;
}

.e-grid td.cmp-valid {
    color: var(--color-success);
}

/* The type column is a label, not a verdict — "NRCS" is not itself good or bad
   news. It never receives a status class (see ComplianceCell.decorate), so this
   only firms up the weight to set it apart from ordinary text columns. */
.e-grid td.cmp-type-cell {
    font-weight: 500;
}
