:root {
  --navy: #2d4054;
  --blue: #f6a013;
  --line: #b9bec2;
  --muted: #65717c;
  --danger: #ed4b3e;
  --green: #79ca63;
  color: #263747;
  background: #eef0f1;
}
body {
  background: linear-gradient(135deg, #eef0f1 0%, #f7f4ed 48%, #eef0f1 100%);
  min-height: 100vh;
}
.topbar {
  background: #3e393f;
  box-shadow: 0 5px 20px #2d405433;
}
.nav-links a {
  color: #dfe3e6;
}
.nav-links a:hover,
.nav-links a.active {
  color: #2d4054;
  background: #79ca63;
}
.brand small {
  color: #b9bec2;
}
a {
  color: #b86600;
}
.eyebrow {
  color: #d3483c;
}
.cards article,
.panel,
.login,
.filter-panel,
.table-panel,
.article-detail,
.storage-cards article,
.contact-card {
  background: #fffdfa;
  box-shadow: 0 6px 20px #2d40540d;
}
.cards b,
.storage-cards b {
  color: #d67d00;
}
.record-count {
  background: #fff0d1;
  color: #8b5000;
}
.article-table th {
  background: #2d4054;
  color: #f4f6f7;
}
.article-table tbody tr:hover {
  background: #fff4df;
}
button,
.button {
  background: #f6a013;
  color: #2d4054;
}
.secondary,
.button.ghost {
  background: #eef0f1;
  color: #2d4054;
}
.danger {
  background: #fff0ee !important;
  color: #b52f25 !important;
}
.restore {
  background: #ebf8e7 !important;
  color: #286d1b !important;
}
.notice {
  background: #e8f7e4;
  color: #286d1b;
}
.error {
  background: #fff0ee;
  color: #a52b22;
}
.ratio {
  background: #e8f7e4;
  color: #286d1b;
}
.status-chip.news {
  background: #e8f7e4;
  color: #286d1b;
}
.status-chip.non-news {
  background: #fff0ee;
  color: #a52b22;
}
.toggle.on {
  background: #79ca63;
  color: #173d10;
}
.toggle.off {
  background: #b9bec2;
  color: #2d4054;
}
.page-current {
  background: #2d4054 !important;
  color: #fff !important;
}
.page-numbers a {
  color: #2d4054;
}
.toast,
.validation-progress {
  background: #2d4054;
}
.validation-progress.complete {
  background: #3f8f31;
}
.source-spinner {
  border-color: #b9bec2;
  border-top-color: #ed4b3e;
}
.work-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
}
.work-status.status-yes {
  background: #dff3da;
  color: #246619;
}
.work-status.status-no {
  background: #ffdfdb;
  color: #a52b22;
}
.work-status.status-unknown {
  background: #e5e7e9;
  color: #53606b;
}
.validation-cell.is-validating .work-status {
  display: none;
}
.feature-placeholder,
.table-no-image {
  background: #e5e7e9;
  color: #65717c;
}
.gallery-grid figure {
  background: #fffdfa;
}
.topbar,
.nav-links a,
.nav-links .logout,
.cards article,
.panel,
.login,
.filter-panel,
.table-panel,
.article-detail,
.storage-cards article,
.contact-card,
.record-count,
button,
.button,
.secondary,
.button.ghost,
.danger,
.restore,
.notice,
.error,
.toggle,
.page-numbers a,
.page-current,
.work-status,
.gallery-grid figure,
.feature-placeholder,
.table-no-image,
input,
select,
textarea,
fieldset,
table,
th,
td {
  border: 0 !important;
}
input,
select,
textarea {
  background: #f0f1f2;
  box-shadow: none;
}
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #f6a013;
  outline-offset: 1px;
}
.cards article,
.panel,
.login,
.filter-panel,
.table-panel,
.article-detail,
.storage-cards article,
.contact-card {
  box-shadow: 0 8px 24px #2d405412;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
.article-table tbody tr:nth-child(even),
.scroll tbody tr:nth-child(even) {
  background: #f5f5f3;
}
.article-table td,
.scroll td {
  box-shadow: none;
}
.page-numbers a,
.page-current {
  box-shadow: 0 3px 10px #2d405412;
}
.notice,
.error {
  box-shadow: 0 4px 14px #2d405410;
}
