.sync-warning {
  margin:0 0 20px;
  padding:20px 24px;
  border:1px solid #d7e2e7;
  border-radius:16px;
  background:#fff;
  color:#142536;
  text-align:center;
  box-shadow:0 8px 24px rgba(24,59,76,.06);
}
.sync-warning strong { display:block; font-size:15px; font-weight:720; line-height:1.45; }
.sync-warning p { max-width:920px; margin:7px auto 0; color:#526875; font-size:13px; line-height:1.6; }
.sync-warning button {
  min-height:42px;
  margin-top:14px;
  padding:9px 16px;
  border:1px solid #c92430;
  border-radius:10px;
  background:#c92430;
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:680;
  cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,transform .16s ease;
}
.sync-warning button:focus-visible { outline:2px solid #c92430; outline-offset:3px; }
.sync-warning-credentials { background:#fff; border-color:#eca3aa; color:#142536; }
.sync-warning-credentials button { border-color:#c92430; background:#c92430; color:#fff; }
.sync-warning-credentials button:hover { border-color:#aa1d28; background:#aa1d28; transform:translateY(-1px); }
.sync-warning-credentials button:disabled { cursor:wait; opacity:.7; }
.sync-warning .sync-warning-action-error { color:#861722; font-weight:650; }
.cached-roster-notice { display:flex; align-items:center; justify-content:center; gap:8px; margin:0 0 10px; padding:9px 12px; border:1px solid #e8afb5; border-radius:10px; background:#fff5f5; color:#861722; font-size:11px; line-height:1.4; text-align:center; }
.cached-roster-notice strong { flex:0 0 auto; font-size:11px; }
.cached-roster-notice span { color:#9a3039; }
.reauth-login-notice { margin:16px 0; padding:14px 16px; border:1px solid #e8afb5; border-radius:12px; background:#fff7f7; color:#861722; }
.reauth-login-notice strong { display:block; font-size:14px; line-height:1.45; }
.reauth-login-notice p { margin:5px 0 0; font-size:13px; line-height:1.6; }
.welcome .error { padding:14px 16px; border:1px solid #efc5c9; border-radius:12px; background:#fff0f1; color:#a31927; font-size:14px; font-weight:600; line-height:1.65; }
.login-password-note { margin:10px 0 16px; font-size:12px; line-height:1.6; color:#46554d; }
.large-text .sync-warning p,.large-text .sync-warning button,.large-text .login-password-note,.large-text .reauth-login-notice p { font-size:15px; }
@media(max-width:700px){.cached-roster-notice{align-items:center;flex-direction:column;gap:2px;margin-bottom:8px;padding:9px 10px}}
@media(max-width:700px){.sync-warning{padding:17px 16px;border-radius:14px}.sync-warning p{font-size:12.5px}.sync-warning button{width:100%;max-width:240px}}
:root.dark-mode .sync-warning{border-color:#35453d;background:#1b2622;color:#edf3ee;box-shadow:none}
:root.dark-mode .sync-warning-credentials{border-color:#a95a62}
:root.dark-mode .sync-warning p{color:#b9c7bd}

.week.week-sync-blocked{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.week.week-sync-blocked .day{
  filter:blur(6px);
  opacity:.38;
  user-select:none;
}
.week.week-sync-blocked .day.selected{
  border-color:#dce4e8;
  background:#fff;
  color:#526875;
}
.week.week-sync-blocked::after{
  content:"Dagen verborgen totdat je opnieuw bent ingelogd";
  position:absolute;
  z-index:2;
  inset:0;
  display:grid;
  place-items:center;
  padding:14px;
  border:1px solid rgba(215,226,231,.8);
  border-radius:14px;
  background:rgba(247,250,251,.94);
  color:#29495a;
  font-size:13px;
  font-weight:680;
  line-height:1.4;
  text-align:center;
  pointer-events:auto;
}
.sync-credentials-blocked .datebar .day-controls{opacity:.52}
.sync-credentials-blocked .datebar,
.sync-credentials-blocked .week,
.sync-credentials-blocked .work-grid{
  display:none!important;
}
:root.dark-mode .week.week-sync-blocked::after{
  border-color:rgba(64,84,73,.85);
  background:rgba(27,38,34,.82);
  color:#d6e2da;
}
