/* PWA 3.8.3 — reforço de contraste do modo noite.
   Carregado depois dos estilos funcionais para normalizar superfícies, texto e estados. */
html.dark{
  --bg:#070c12;
  --card:#0f1823;
  --surface:#0f1823;
  --surface-soft:#172330;
  --text:#f7f9fc;
  --navy:#f7f9fc;
  --muted:#c6d1dd;
  --border:#2b3a49;
  color:#f7f9fc;
  background:#070c12;
  color-scheme:dark;
}
html.dark body,
html.dark .app,
html.dark .page{
  color:var(--text);
  background:var(--bg);
}
html.dark .top{
  color:#fff;
  background:linear-gradient(135deg,#081d33,#123b61);
  box-shadow:0 8px 24px rgba(0,0,0,.34);
}
html.dark .bottom,
html.dark .login-card{
  color:var(--text);
  background:rgba(15,24,35,.96);
  border-color:var(--border);
}
html.dark .login{
  background:linear-gradient(150deg,#081f37 0,#123f6a 55%,#070c12 55%);
}
html.dark .card,
html.dark .item,
html.dark .quick-action,
html.dark .parity-day,
html.dark .parity-modal-card,
html.dark .parity-occurrence-grid button,
html.dark .parity-finance-tab.active,
html.dark .parity-team-chips button{
  color:var(--text);
  background:var(--surface);
  border-color:var(--border);
}
html.dark .greeting h1,
html.dark .section-title,
html.dark .item-copy strong,
html.dark .amount,
html.dark .metric strong,
html.dark .profile-hero h2,
html.dark .parity-event-copy h3,
html.dark .parity-rate strong,
html.dark .parity-kpis strong,
html.dark .parity-finance-summary strong,
html.dark .parity-profile-data dd,
html.dark .parity-home-family-copy strong{
  color:var(--text);
}
html.dark .greeting p,
html.dark .metric small,
html.dark .muted,
html.dark .item-copy small,
html.dark .empty,
html.dark .parity-event-copy p,
html.dark .parity-event-copy small,
html.dark .parity-profile-data dt,
html.dark .parity-finance-summary span,
html.dark .parity-home-family-copy small,
html.dark .parity-rate small{
  color:var(--muted);
}
html.dark .field input,
html.dark .field select,
html.dark .field textarea,
html.dark .item select{
  color:#f7f9fc;
  background:#0a121b;
  border-color:#34485b;
}
html.dark .field input::placeholder,
html.dark .field textarea::placeholder{
  color:#9fadb9;
}
html.dark .field input:focus,
html.dark .field select:focus,
html.dark .field textarea:focus{
  border-color:#6e9dca;
  box-shadow:0 0 0 3px rgba(110,157,202,.18);
}
html.dark .nav-btn{
  color:#b9c6d3;
}
html.dark .nav-btn.active{
  color:#f7f9fc;
  background:#17283a;
}
html.dark .item>.material-icon{
  color:#b9c6d3;
}
html.dark .item-icon,
html.dark .avatar{
  color:#dcecff;
  background:#17283a;
}
html.dark .quick-action,
html.dark .btn.secondary,
html.dark .btn.ghost,
html.dark .text-link,
html.dark .upload-control{
  color:#eef6ff;
}
html.dark .btn.secondary{
  background:#17283a;
}
html.dark .btn.ghost,
html.dark .upload-control{
  border-color:#3b5064;
}
html.dark .badge,
html.dark .renewal-card .status,
html.dark .context-pill{
  color:#edf6ff;
  background:#1a2b3d;
}
html.dark .badge.danger,
html.dark .renewal-card .status.danger{
  color:#ffd8dd;
  background:#3a2028;
}
html.dark .badge.ok,
html.dark .renewal-steps span.done{
  color:#c9f7df;
  background:#143326;
}
html.dark .error,
html.dark .alert-card{
  color:#ffd8dd;
  background:#321b22;
  border-color:#68404a;
}
html.dark .hero,
html.dark .account-card{
  color:#fff;
  background:linear-gradient(135deg,#102a46,#17496f);
}
html.dark .profile-hero{
  color:#fff;
  background:linear-gradient(135deg,#102a46,#17496f);
}
html.dark .member-card{
  color:#fff;
  background:linear-gradient(135deg,#0b223b,#123c63);
  box-shadow:0 16px 36px rgba(0,0,0,.32);
}
html.dark .hero .muted,
html.dark .account-card small,
html.dark .profile-hero p{
  color:#e0eaf4;
}
html.dark .parity-save-bar,
html.dark .parity-finance-payment-bar{
  color:var(--text);
  background:rgba(15,24,35,.96);
  border-color:var(--border);
}
html.dark .parity-finance-payment-bar span{
  color:var(--text);
}
html.dark .parity-team-chips button.active{
  color:#f7f9fc;
  background:#1a3046;
  border-color:#5c83a9;
}
html.dark .attendance-mark{
  color:var(--text);
  background:var(--surface);
  border-color:var(--border);
}
html.dark .attendance-mark.present.active{
  color:#c9f7df;
  background:#143326;
  border-color:#4f966f;
}
html.dark .attendance-mark.absent.active{
  color:#ffd8dd;
  background:#3a2028;
  border-color:#8a4a59;
}
html.dark .attendance-mark.info.active{
  color:#fff0bd;
  background:#3b3118;
  border-color:#8a7335;
}
html.dark .parity-intent-actions .mini-btn.active{
  color:#c9f7df;
  background:#143326;
  border-color:#4f966f;
}
html.dark .parity-intent-label.attending,
html.dark .parity-intent-summary{
  color:#b8efd2;
}
html.dark .parity-intent-label.absent{
  color:#ffc0c8;
}
html.dark .home-payment-alert{
  color:#f2f7ff;
  background:#182b3e;
  border-color:#355675;
}
html.dark .home-attention-card.overdue{
  color:#ffd8dd;
  background:#321b22;
  border-color:#68404a;
}
html.dark .home-attention-card.dues{
  color:#fff0bd;
  background:#342d17;
  border-color:#6a5a2c;
}
html.dark .connection-banner{
  color:#fff0bd;
  background:#342a12;
  border-color:#67552a;
}
html.dark .pwa-update-banner{
  color:#f5f8fc;
  background:#152131;
  border-color:#33475d;
}
html.dark .loader{
  border-color:#2c3d4f;
  border-top-color:#b7dbff;
}
html.dark .toast{
  color:#fff;
  background:#0b121b;
  box-shadow:0 12px 35px rgba(0,0,0,.45);
}
