.last-built {
  font-size: 0.8rem;
  color: #aaa; /* ensure contrast against dark page background */
  text-align: center;
  margin-top: 1rem;
}
/* --- NCO table highlights & helpers --- */
.nco-table tr.nco-unassigned {
  background: #fff3bf;            /* soft yellow */
  color: #111;                    /* ensure legible text on light highlight */
}
.nco-table tr.nco-unassigned td {
  border-top: 1px solid #f1d98a;
}

/* optional: a left accent stripe */
.nco-table tr.nco-unassigned {
  box-shadow: inset 4px 0 0 #e0b400;
}

/* visually-hidden helper (if your theme doesn't already have one) */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* --- Notice banner (subtle, dark-theme friendly) --- */
.notice-banner {
  border: 1px solid #444;
  background: #111;
  border-radius: 4px;
  padding: .75rem .75rem .5rem;
  margin: 1rem 0 1.25rem;
}
.notice-inner { max-width: 64rem; margin: 0 auto; }
.notice-heading { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.notice-title { margin: 0 0 .25rem; font-size: 1.05rem; line-height: 1.2; }
.notice-dismiss {
  appearance: none; border: 0; background: transparent; color: #aaa;
  font-size: 1.1rem; line-height: 1; padding: .1rem .25rem; cursor: pointer;
}
.notice-dismiss:hover, .notice-dismiss:focus { color: #fff; }
.notice-content p { margin: 0.25rem 0 0.5rem; }
.notice-content ul { margin: 0.25rem 0 0.5rem 1.25rem; }

/* Connect table styles */
.connect-table { width: 100%; border-collapse: collapse; }
.connect-table caption { text-align: left; font-weight: 600; margin-bottom: .4rem; }
.connect-table th, .connect-table td { border: 1px solid #c9def3; padding: .5rem .6rem; vertical-align: top; }
.connect-table thead th { background: #dbeaf8; color: #111; }
.connect-table tbody tr:nth-child(odd) td { background: #f6fbff; color: #111; }
