/* Shared Indian tricolour palette for public, volunteer and admin pages. */
:root {
  --theme-ink: #102a43;
  --theme-muted: #465d6b;
  --theme-surface: #fffdf8;
  --theme-soft: #fff0dc;
  --theme-line: #a4b6a9;
  --theme-accent: #96500b;
  --theme-green: #126b36;
  --theme-background: linear-gradient(160deg, #ffba70 0%, #ffe2ba 23%, #fffdf5 46%, #e3f0d8 68%, #83c391 100%);
  --paddy: #126b36;
  --paddy-deep: #154d32;
  --jute: #ff9933;
  --jute-deep: #96500b;
  --silt: #edf2dc;
  --ink: #102a43;
  --muted: #465d6b;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --theme-ink: #eef4ef;
  --theme-muted: #c0cec5;
  --theme-surface: #182522;
  --theme-soft: #293b30;
  --theme-line: #63796b;
  --theme-accent: #ffb66c;
  --theme-green: #91d99e;
  --theme-background: linear-gradient(160deg, #593719 0%, #302b20 24%, #121e25 49%, #163124 74%, #1d4a2c 100%);
  --paddy: #91d99e;
  --paddy-deep: #c0edcc;
  --jute: #ffb66c;
  --jute-deep: #ffb66c;
  --silt: #182522;
  --ink: #eef4ef;
  --muted: #c0cec5;
  color-scheme: dark;
}
html { background: var(--theme-surface); }
body, body.editorial {
  background: var(--theme-background);
  background-attachment: fixed;
  color: var(--theme-ink);
  min-height: 100vh;
}
.appearance-bar {
  width: 100%;
  flex-shrink: 0;
  border-top: 5px solid;
  border-image: linear-gradient(90deg, #ff9933 0% 33.33%, #fff 33.33% 66.66%, #138808 66.66%) 1;
  padding: 8px max(20px, calc((100% - 1136px) / 2));
  background: var(--theme-surface);
}
.appearance-options { display: flex; justify-content: flex-end; gap: 4px; }
.appearance-options button {
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--theme-ink);
  font: 600 13px/1.4 system-ui, sans-serif;
  cursor: pointer;
}
.appearance-options button[aria-pressed="true"] {
  background: var(--theme-soft);
  border-color: var(--theme-accent);
  color: var(--theme-ink);
}
.appearance-options button:hover { border-color: var(--theme-line); }
.appearance-options button:focus-visible { outline: 3px solid var(--theme-accent); outline-offset: 2px; }
.topbar:not(.topbar--solid) { top: 65px; }
.topbar--solid { background: #123b30; }
.masthead, .section-wrap, .faq details { border-color: var(--theme-line); }
.editorial h1, .editorial h2, .editorial h3, .editorial .brand,
.masthead button, .page-head h1, .prose h2 { color: var(--theme-ink); }
.opening .intro, .opening figcaption, .caption, .editorial-note,
.participation-card p, .service-grid p, .process li p, .faq details p,
.new-footer, .page-head .lead { color: var(--theme-muted); }
.eyebrow, .card-number, .brand span { color: var(--theme-accent); }
.editorial-note { border-color: var(--theme-accent); }
.participation-card, .work-item, .sathi-card, .stat, .status, .success,
.track-result, dialog, .chip, .field input, .field select, .field textarea,
.list, .table-wrap { background: var(--theme-surface); color: var(--theme-ink); border-color: var(--theme-line); }
.process, .chip:has(input:checked) { background: var(--theme-soft); }
.masthead button { border-color: var(--theme-line); }
.editorial .button, .button { background: #154d32; border-color: #154d32; color: #fff; }
.editorial .button:hover, .button:hover { background: #0f602f; color: #fff; }
.button--ghost { background: var(--theme-surface); border-color: var(--theme-green); color: var(--theme-green); }
.button:disabled { background: #617567; border-color: #617567; color: #fff; }
.contact-band { background: #123b30; color: #fff; }
.contact-band h2 { color: #fff; }
.contact-band p { color: #d5e9d8; }
.contact-band a { color: #fff; }
.skip-link { background: var(--theme-surface); color: var(--theme-ink); }
:root[data-theme="dark"] .field-error { color: #ffb6a6; }
:root[data-theme="dark"] .form-status[data-tone="error"] { background: #512b27; color: #ffd4c9; }
:root[data-theme="dark"] .form-status[data-tone="info"],
:root[data-theme="dark"] .track-badge { background: #284633; color: #d8f5dc; }
:root[data-theme="dark"] .tab { color: var(--theme-ink); background: var(--theme-surface); }
:root[data-theme="dark"] .tab[aria-selected="true"] { background: #294e36; color: #fff; }
:root[data-theme="dark"] th, :root[data-theme="dark"] td { background: var(--theme-surface); color: var(--theme-ink); border-color: var(--theme-line); }
:root[data-theme="dark"] .detail-head, :root[data-theme="dark"] .toolbar { color: var(--theme-ink); }
@media(max-width: 480px) {
  .appearance-bar { padding: 6px 16px; }
  .appearance-options button { padding: 8px 12px; }
}
