:root {
  --yellow: #2d6d99;
  --yellow-dark: #1d5278;
  --black: #102c42;
  --ink: #102c42;
  --muted: #5b7080;
  --line: #d6e1e8;
  --canvas: #edf3f6;
  --green: #2d7456;
  --shadow: 0 18px 50px rgba(16, 44, 66, .10);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline-color: rgba(45, 109, 153, .48); }

.primary-button,
.public-login,
.public-member-note > a {
  border-color: #2d6d99;
  color: #fff;
  background: #2d6d99;
  box-shadow: 0 8px 22px rgba(45, 109, 153, .20);
}

.primary-button:hover { background: #1d5278; }

.sidebar {
  background: linear-gradient(165deg, #173f5c, #0b2639 72%);
}

.brand-logo,
.public-brand img,
.admin-head img,
.auth-card > img,
.access-card > img,
.public-form-card header img,
.print-application header img {
  border-radius: 50%;
}

.nav-item.active {
  color: #fff;
  background: #2d6d99;
  box-shadow: 0 9px 24px rgba(45, 109, 153, .25);
}

.sidebar-card .eyebrow { color: #9ec2da; }
.sidebar-card > span:last-child { color: #d7e9f3; }
.avatar { color: #fff; background: #2d6d99; }
.role-badge,
.role-pill { color: #164765; background: #e2eff6; }

.welcome-card {
  border-top-color: #5a9bc2;
  background: linear-gradient(125deg, #174664, #0d2c42 66%, #245b7c);
}

.welcome-card:after { border-color: rgba(135, 191, 222, .15); }
.event-kicker,
.event-meta b,
.profile-card .eyebrow { color: #9dcce4; }
.choice.primary { border-color: #83bad9; color: #fff; background: #2d6d99; }
.choice.selected { background: rgba(158, 204, 228, .16); }

.section-heading .eyebrow,
.workspace-heading .eyebrow,
.tag,
.modal > .eyebrow,
.public-intro .eyebrow,
.public-category { color: #276488; }

.section-heading button,
.auth-link a { color: #1d587d; }
.stat-icon,
.news-date,
.calendar-tile,
.large-date,
.channel-symbol { color: #174664; background: #e3eff5; }
.news-card { border-left-color: #2d6d99; }
.filter-row button.active,
.public-filters button.active { border-color: #2d6d99; color: #fff; background: #2d6d99; }
.rsvp-buttons button.active { color: #174664; background: #e2eff6; }
.message-avatar { color: #fff; background: #2d6d99; }
.message.own p { background: #174664; }
.message-form button { color: #fff; background: #2d6d99; }
.read-only-note { color: #174664; background: #e8f3f8; }
.messages-layout.single-channel { grid-template-columns: minmax(0, 1fr); }
.message-delete { margin-left: auto; padding: 3px 7px; border: 1px solid #c9dbe6; border-radius: 7px; color: #1d587d; background: #fff; font-size: 9px; font-weight: 700; }
.message-delete:hover { border-color: #2d6d99; color: #fff; background: #2d6d99; }

.profile-card {
  border-top-color: #5a9bc2;
  background: linear-gradient(130deg, #174664, #0b2639);
}

.profile-avatar { color: #fff; background: #2d6d99; }
.toast { border-left-color: #69a9ce; background: #102c42; }

.auth-body,
.access-page { background: radial-gradient(circle at 50% 10%, #2b668d, #0d2c42 60%); }
.auth-card,
.access-card { border-top-color: #5a9bc2; }
.auth-card > .eyebrow,
.access-card > .eyebrow,
.signed-in-row b { color: #1d587d; }

.public-events-body { background: #edf3f6; }
.public-header { border-bottom-color: #5a9bc2; background: #123a57; }
.public-brand small { color: #c9dbe6; }
.public-footer { border-top-color: #d6e1e8; color: #527080; background: #f8fbfc; }
.public-member-note { border-color: #bed9e8; background: #e8f3f8; }

.admin-tabs { background: #123a57; }
.admin-tabs a:hover { color: #fff; background: #2d6d99; }
.export-grid > a { color: #174664; background: #e2eff6; }

@media (max-width: 960px) {
  .bottom-nav button.active { color: #1d587d; }
}
