/* Shared library palette for calendar, day view and sign-in. */
:root {
  --app-page-bg:#f5f5f0;
  --app-page-text:#21384a;
  --app-surface:#fff;
  --app-surface-muted:#edf3f3;
  --app-border:#d9e3e1;
  --app-muted-text:#60767b;
  --app-input-bg:#fffdf7;
  --app-overlay-surface:#fff;
  --app-overlay-shadow:0 14px 36px #163d4218;
  --app-gold:#936b30;
  --app-gold-soft:#efe2c9;
  --app-blue:#235362;
  --app-blue-dark:#173d47;
  --bs-primary:#235362;
  --bs-primary-rgb:35,83,98;
  --bs-link-color:#235362;
  --bs-link-hover-color:#173d47;
  --bs-body-color:#21384a;
  --bs-heading-color:#21384a;
  --bs-secondary-color:#60767b;
  --login-ivory:#f5f5f0;
  --login-ivory-strong:#edf3f3;
  --login-gold:#936b30;
  --login-gold-soft:#d5b57740;
  --login-ink:#21384a;
  --login-blue:#235362;
  --login-blue-dark:#173d47;
  --fc-border-color:var(--app-border);
  --fc-today-bg-color:#d5b57724;
}
:root[data-bs-theme="dark"] {
  --app-page-bg:#151e28;
  --app-page-text:#e4edf2;
  --app-surface:#202b37;
  --app-surface-muted:#283747;
  --app-border:#344b55;
  --app-muted-text:#a7b8c5;
  --app-input-bg:#1b2732;
  --app-overlay-surface:#202b37;
  --app-overlay-shadow:0 14px 36px #0005;
  --app-gold:#d7b67f;
  --app-gold-soft:#d5b57722;
  --app-blue:#326b79;
  --app-blue-dark:#235362;
  --bs-body-color:#e4edf2;
  --bs-secondary-color:#a7b8c5;
  --bs-heading-color:#e4edf2;
  --bs-link-color:#b8dce2;
  --bs-link-hover-color:#e1f2f4;
}
body { min-height:100vh; }
:root:not([data-bs-theme="dark"]) body { background:linear-gradient(160deg,#edf3ef 0%,#f5f5f0 45%,#f7f2e8 100%); background-attachment:fixed; }
#calendar-page-title:empty,.nav-date:empty { display:none; }
.btn-primary,.btn.btn-primary,.fc .fc-button-primary,.btn-login {
  background:linear-gradient(115deg,#235362,#173d47)!important;
  border-color:#53757a!important;
  color:#fff8e9!important;
}
.btn-primary:hover,.btn-primary:focus,.btn.btn-primary:hover,.btn.btn-primary:focus,
.fc .fc-button-primary:hover,.fc .fc-button-primary:focus,.btn-login:hover,.btn-login:focus {
  background:linear-gradient(115deg,#316b78,#235362)!important;
  border-color:#d5b577!important;
  color:#fff8e9!important;
}
.btn-outline-secondary,.btn-outline-primary,.btn-outline-dark,.settings-menu-toggle {
  background:var(--app-surface); color:var(--app-page-text); border-color:var(--app-border);
}
.btn-outline-secondary:hover,.btn-outline-primary:hover,.btn-outline-dark:hover {
  background:var(--app-surface-muted); color:var(--app-page-text); border-color:#8ba5a5;
}
.language-toolbar .btn.active,.title-mode-btn.active,.language-btn.active {
  background:#235362!important; color:#fff8e9!important; border-color:#d5b577!important;
}
#calendar-page-title,.nav-date {
  padding:22px 18px; border-radius:6px 22px 22px 6px;
  background:linear-gradient(115deg,#123b43,#225769 65%,#36686c);
  border-left:4px solid #d5b577; color:#fff8e9;
  box-shadow:0 10px 25px #163d4218;
}
#calendar-page-title .calendar-title-main { color:#fff8e9; }
#calendar-page-title .calendar-title-creation,#calendar-page-title .calendar-title-dedication { color:#efd29b; }
.nav-date a,.nav-date button { color:inherit; }
.day-card,.card,.calendar-search-panel,.day-search-panel { box-shadow:var(--app-overlay-shadow); }
.fc .fc-col-header-cell { background:var(--app-surface-muted); }
.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number { color:var(--app-page-text); }
.fc .fc-toolbar-title,.calendar-day-entries-title { color:var(--app-page-text); }
.session-pill { background:var(--app-surface-muted); color:var(--app-page-text); }
.login-box { background:linear-gradient(155deg,#fffffff5,#f5f5f0f5); border-color:#d5b577; box-shadow:0 24px 60px #123b4340; }
body:has(.login-box)::after { background:linear-gradient(145deg,#123b4380,#23536230); }
.login-title { color:#235362; }
.login-box .form-control { color:#21384a; background:#fffdf7; border-color:#c7d8d7; }
.login-box .text-muted { color:#60767b!important; }
.form-control:focus,.form-select:focus { border-color:#749a9d; box-shadow:0 0 0 .2rem #23536220; }
