/* Theme only: no layout or spacing changes. Follows the device/browser preference. */
@media (prefers-color-scheme: dark) {
  :root { color-scheme:dark; --ink:#e6eee8; --green:#326f55; --muted:#b1c0b7; --line:#384c40; --bg:#111b16; --surface:#1b2921; --raised:#24372b; }
  body { background:var(--bg); color:var(--ink); }
  header { background:var(--surface); border-color:var(--line); }
  /* White source pixels invert to black; screen blends black away without changing the logo shape. */
  .churchlogo { filter:invert(1); mix-blend-mode:screen; }
  .loginbrand,.thankslogo { mix-blend-mode:normal; }
  .branddivider { background:var(--line); }
  em { color:#abc79a; }
  .adminlink,.intro,.asidefoot,.requirednote,.cell-owner>span,.cell-turma,.stage-deadline,.column-title small,.password-input button { color:var(--muted); }
  .dot { background:#abc79a; }
  .welcomeart { background:#263b2a; }
  .arch { border-color:#667f5b; }
  .formcard,.logincard,.stat,.records,.detail,.user-form-card,.savebar,.secondary { background:var(--surface); border-color:var(--line); color:var(--ink); box-shadow:none; }
  input,select,textarea { background:#142219; color:var(--ink); border-color:#536b59; }
  input::placeholder,textarea::placeholder { color:#a4b6a9; }
  input:focus,select:focus,textarea:focus { border-color:#a4c69a; box-shadow:0 0 0 3px #a4c69a33; }
  input:-webkit-autofill { -webkit-text-fill-color:var(--ink); -webkit-box-shadow:0 0 0 1000px #142219 inset; caret-color:var(--ink); }
  .sectionlabel span,.privacy,.successicon,.avatar,.loginicon,.loginaccount,.permission-guide section,.journey-guide,.due-summary,.stage-tabs { background:var(--raised); color:var(--ink); border-color:var(--line); }
  .privacy,.sectionlabel span { color:#c4d5bd; }
  .loginpage { background:radial-gradient(ellipse at top,#253b29,transparent 60%); }
  .primary { background:var(--green); color:#fff; }
  .primary:hover { background:#3b7f60; }
  .secondary:hover { background:var(--raised); }
  .badge,.delete-notice { background:#274b32; color:#d8f0d5; border-color:#476e4b; }
  .badge.new,.late-badge,.due-late,.stat-alert { background:#3b2b1d; color:#f1c29b; border-color:#765538; }
  .stat-alert strong { color:#f1c29b; }
  .error,.admin-login-form .error,.user-form-card p.error { background:#40251f; color:#ffbbae; }
  .whatsapp,.principal-label { color:#a5dfb1; }
  .delete-contact,.user-actions .remove-user { color:#ffb4a5; }
  .delete-contact:hover { color:#ffd4c9; }
  .guide-icon { background:#344b37; }
  .guide-arrow,.column-title>svg { color:#b9ceae; }
  .progress-track { background:#3e5443; }
  .progress-track span { background:#a3c393; }
  th,.journey-table th { background:#263b2c; color:#d2e2cb; border-color:var(--line); }
  td,.journey-table td { border-color:var(--line); }
  .journey-table tbody tr:nth-child(even),.journey-table tbody tr:nth-child(even) td:first-child { background:#1e2e24; }
  .journey-table tbody tr:hover { background:#273b2c; }
  .journey-table td:first-child { background:var(--surface); }
  .stage-cell { color:var(--ink); }
  .stage-cell:hover { background:var(--raised); box-shadow:none; }
  .stage-cell.finished { background:#25442d; border-color:#4c6f50; }
  .stage-cell.late { background:#3b2b1d; border-color:#765538; }
  .stage-cell.late .stage-status,.stage-cell.late .stage-deadline { color:#f1c29b; }
  .stage-tabs button { color:#b9c9bd; }
  .stage-tabs button.active { background:#405d41; color:#f1f6ed; box-shadow:none; }
  .tablewrap { scrollbar-color:#667f69 #1b2921; }
  .overlay { background:#060d09b8; }
  .journey-fields:disabled { opacity:1; }
  @media (max-width:620px) {
    .journey-table tbody tr,.journey-table tbody tr:nth-child(even),.journey-table tbody tr:hover { background:var(--surface); }
    .journey-table td:first-child,.journey-table tbody tr:nth-child(even) td:first-child { background:transparent; }
  }
}
