:root {
  --bg: #f8f6fa;
  --surface: #ffffff;
  --text: #302a35;
  --muted: #716a78;
  --primary: #6d568f;
  --accent: #9b7fba;
  --border: #e5dfea;
  --soft: #f1ecf6;
  --shadow: 0 8px 28px rgba(72, 53, 91, .08);
}

body { background: linear-gradient(145deg, #faf8fc, #f4f0f7); }
.nav-btn:hover { background: #f0ebf4; }
.nav-btn.active { background: var(--primary); box-shadow: 0 4px 14px rgba(83, 61, 111, .22); }
.welcome-banner, .dashboard-hero { background: linear-gradient(135deg, #eee6f5, #faf7fc); border-color: #dfd3e8; }
.instructor-welcome { background: linear-gradient(135deg, #695184, #8d72a9); box-shadow: 0 12px 28px rgba(83, 61, 111, .2); }
.schedule-quick-bar, .instructor-schedule-hero, .demo-mode-banner { background: #594371; }
.schedule-quick-bar span, .instructor-schedule-hero > div:first-child > p:last-child, .demo-mode-banner span { color: #eadff2; }
.site-messenger-launcher, .site-messenger-header, .site-messenger-form button, .site-message-visitor p { background: var(--primary); }
.site-messenger-launcher { box-shadow: 0 8px 28px rgba(83, 61, 111, .28); }
.site-messenger-header small { color: #eee5f5; }
.header-menu-toggle { background: var(--soft); color: var(--primary); }
.portal-page .app-header, .standalone-schedule-page .app-header { width: 100%; max-width: none; padding-left: 32px; padding-right: 32px; }
.portal-page .portal-brand, .standalone-schedule-page .portal-brand { min-width: 340px; min-height: 124px; }
.portal-page .business-logo, .standalone-schedule-page .business-logo { width: auto; max-width: 360px; height: 116px; object-fit: contain; object-position: left center; }

@media (max-width: 760px) {
  .portal-page .app-header, .standalone-schedule-page .app-header { padding-left: 16px; padding-right: 16px; }
  .portal-page .portal-brand, .standalone-schedule-page .portal-brand { min-width: 0; min-height: 86px; }
  .portal-page .business-logo, .standalone-schedule-page .business-logo { max-width: 230px; height: 82px; }
}
input:focus, select:focus, textarea:focus { outline-color: rgba(109, 86, 143, .18); }
.appointment-key, .participant-calendar-item.appointment { background: var(--primary); }
.quick-add-card { border-color: #d5c5e2; background: linear-gradient(135deg, #fdfbfe, #f3edf7); }
.quick-add-badge, .count-badge, .farm-link-type, .staff-type-badge, .activity-action-badge { background: var(--soft); color: var(--primary); }
.calendar-day.today header, .instructor-agenda-day.today > header { background: #f1ebf6; }
