.brand-logo { display:block; width:auto; height:35px; max-width:min(210px,42vw); object-fit:contain; }
.brand:focus-visible { outline:3px solid #285a50; outline-offset:4px; border-radius:5px; }

:root[data-theme="lavender"] { --ink:#211c2b; --muted:#696477; --violet:#6949e8; --line:#e3ddf2; --paper:#faf9ff; --panel:#1e1928; }
:root[data-theme="lavender"] .settings-page { background:radial-gradient(circle at 82% 5%,#f1edfa 0,transparent 38%),#faf9ff; color:#211c2b; }
:root[data-theme="forest"] { color-scheme:light; --ink:#173c35; --muted:#6f7873; --violet:#285a50; --line:#ded5c8; --paper:#f6f1e8; --panel:#173c35; --mint:#a9c7b9; }
:root[data-theme="forest"] body { background:radial-gradient(circle at 82% 5%,#e4eee8 0,transparent 38%),#f6f1e8 !important; color:#173c35; }
:root[data-theme="forest"] .eyebrow { color:#4f766b; }
:root[data-theme="forest"] h1 em { color:#bd6f5c; }
:root[data-theme="forest"] .primary,
:root[data-theme="forest"] .nav-cta { background:#173c35; border-color:#173c35; color:#fff; }
:root[data-theme="forest"] .primary:hover,
:root[data-theme="forest"] .nav-cta:hover { background:#285a50; }
:root[data-theme="forest"] .context,
:root[data-theme="forest"] .context-note { background:#173c35; }
:root[data-theme="forest"] .memory { background:#285a50; border-color:#4f766b; }
:root[data-theme="forest"] .memory-icon { background:#4f766b; color:#fff; }
:root[data-theme="forest"] .memory span,
:root[data-theme="forest"] .context-copy small,
:root[data-theme="forest"] .context-foot { color:#d4e4da; border-color:#4f766b; }
:root[data-theme="forest"] .lede,
:root[data-theme="forest"] .capture-prompt,
:root[data-theme="forest"] .capture-note,
:root[data-theme="forest"] .shortcut,
:root[data-theme="forest"] .feature p,
:root[data-theme="forest"] .footer { color:#6f7873; }
:root[data-theme="forest"] .feature,
:root[data-theme="forest"] .stat,
:root[data-theme="forest"] .card,
:root[data-theme="forest"] article { border-color:#ded5c8; }
:root[data-theme="forest"] .capture { border-color:#ded5c8; }
:root[data-theme="forest"] a:focus-visible,
:root[data-theme="forest"] button:focus-visible,
:root[data-theme="forest"] select:focus-visible { outline:3px solid #285a50; outline-offset:3px; }

.settings-page { min-height:100vh; }
.settings-page main { max-width:960px; padding-top:30px; }
.settings-page .settings-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:42px; }
.settings-page .settings-back { color:var(--ink,#211c2b); text-decoration:none; font-size:13px; }
.settings-page h1 { font:600 clamp(48px,7vw,72px)/.98 Georgia,"Times New Roman",serif; letter-spacing:-.055em; margin:0 0 12px; }
.settings-page h2 { font:600 26px/1.2 Georgia,"Times New Roman",serif; letter-spacing:-.025em; margin-top:33px; }
.settings-page article { padding:21px 23px; border-radius:19px; box-shadow:0 12px 36px rgba(31,54,45,.045); }
.settings-page .muted { color:var(--muted,#6f7873); line-height:1.55; }
.settings-page .theme-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.settings-page .theme-choice { min-height:76px; display:flex; align-items:center; gap:13px; width:100%; text-align:left; padding:12px 15px; border:2px solid var(--line,#ded5c8); border-radius:15px; background:#fff; }
.settings-page .theme-choice[aria-pressed="true"] { border-color:var(--violet,#285a50); box-shadow:0 0 0 2px color-mix(in srgb,var(--violet,#285a50) 15%,transparent); }
.settings-page .theme-swatch { display:block; flex:none; width:39px; height:39px; border-radius:12px; border:1px solid rgba(0,0,0,.08); }
.settings-page .theme-swatch.forest { background:linear-gradient(135deg,#173c35 0 45%,#f6f1e8 45% 74%,#df927b 74%); }
.settings-page .theme-swatch.lavender { background:linear-gradient(135deg,#1e1928 0 45%,#faf9ff 45% 74%,#6949e8 74%); }
.settings-page .theme-choice strong { display:block; font-size:15px; }
.settings-page .theme-choice small { display:block; margin-top:3px; color:var(--muted,#6f7873); font-size:12px; }
:root[data-theme="forest"] .settings-page button:not(.danger):not(.theme-choice),
:root[data-theme="forest"] .settings-page .button { border-color:#c8d8cd; color:#173c35; }
:root[data-theme="forest"] .settings-page button:not(.danger):not(.theme-choice):hover,
:root[data-theme="forest"] .settings-page .button:hover { background:#e4eee8; }
@media(max-width:560px) { .settings-page .settings-header { margin-bottom:30px; } .settings-page .theme-options { grid-template-columns:1fr; } }

/* Pages that predate the theme switcher retain violet fallback styles above.
   Finish the default forest treatment without changing the optional lavender theme. */
:root[data-theme="forest"] :is(.landing-page,.home-page,.onboarding-page,.invite-page,.calendar-page,.login-page,.legal-page,.admin-page) {
  color:#173c35;
}
:root[data-theme="forest"] :is(.landing-page,.home-page,.onboarding-page,.invite-page,.calendar-page,.legal-page,.admin-page) :is(.eyebrow,.step,.setup-number,.setup-status,.status) {
  color:#285a50;
}
:root[data-theme="forest"] :is(.landing-page,.home-page,.onboarding-page,.invite-page,.calendar-page,.login-page,.legal-page,.admin-page) :is(.lede,.detail,.note,.date,.hint,.small,.muted,.footer,footer) {
  color:#606b65;
}
:root[data-theme="forest"] :is(.landing-page,.home-page,.onboarding-page,.invite-page,.calendar-page,.login-page,.legal-page,.admin-page) :is(.card,.capture,.form-card,.setup,.content) {
  background:#fffdf9;
  border-color:#ded5c8;
  box-shadow:0 18px 50px rgba(31,60,53,.055);
}
:root[data-theme="forest"] :is(.landing-page,.home-page,.onboarding-page,.invite-page,.calendar-page,.legal-page,.admin-page) :is(.hero-note,.hero-panel,aside) {
  background:#173c35;
}
:root[data-theme="forest"] :is(.landing-page,.home-page,.onboarding-page,.invite-page,.calendar-page,.legal-page,.admin-page) :is(.hero-note small,.hero-panel small,aside small) {
  color:#d4e4da;
}

:root[data-theme="forest"] .legal-page a { color:#285a50; }
:root[data-theme="forest"] .legal-page :is(.brand,.back) { color:#173c35; }
:root[data-theme="forest"] .legal-page .back { background:#fffdf9; border-color:#ded5c8; }
:root[data-theme="forest"] .legal-page .content :is(p,li) { color:#4f5f58; }
:root[data-theme="forest"] .legal-page .content section+section { border-color:#ded5c8; }
:root[data-theme="forest"] .legal-page .callout { background:#e4eee8; border-color:#a9c7b9; }
:root[data-theme="forest"] .legal-page .footer a { color:#285a50; }

:root[data-theme="forest"] .login-page { background:#f6f1e8; }
:root[data-theme="forest"] .login-page :is(.card,input) { background:#fffdf9; border-color:#ded5c8; color:#173c35; }
:root[data-theme="forest"] .login-page :is(a,.back) { color:#285a50; }
:root[data-theme="forest"] .login-page .brand { color:#173c35; }
:root[data-theme="forest"] .login-page :is(.google,button) { background:#173c35; color:#fffdf9; }
:root[data-theme="forest"] .login-page :is(.google,button):hover { background:#285a50; }
:root[data-theme="forest"] .login-page :is(p,.divider) { color:#606b65; }
:root[data-theme="forest"] .login-page .divider::before,
:root[data-theme="forest"] .login-page .divider::after { background:#ded5c8; }
:root[data-theme="forest"] .login-page .error { color:#a34e48; }
:root[data-theme="forest"] .login-page :is(a,button,input):focus-visible { outline-color:#285a50; }

:root[data-theme="forest"] .onboarding-page :is(.top-actions a,.top-actions button,.setup-step,input,select,textarea) {
  background:#fffdf9;
  border-color:#ded5c8;
  color:#173c35;
}
:root[data-theme="forest"] .onboarding-page .top-actions .primary-link,
:root[data-theme="forest"] .onboarding-page :is(button,.setup-step a) { background:#173c35; border-color:#173c35; color:#fffdf9; }
:root[data-theme="forest"] .onboarding-page :is(button,.setup-step a):hover { background:#285a50; }
:root[data-theme="forest"] .onboarding-page :is(.step,.setup-number) { background:#e4eee8; border-color:#a9c7b9; }
:root[data-theme="forest"] .onboarding-page :is(.form-head,.actions) { border-color:#ded5c8; }
:root[data-theme="forest"] .onboarding-page :is(.form-head p,.setup-step p,.actions span,.success p) { color:#606b65; }
:root[data-theme="forest"] .onboarding-page :is(input,textarea)::placeholder { color:#606b65; }
:root[data-theme="forest"] .onboarding-page :is(.success,.setup-step) { background:#e4eee8; border-color:#a9c7b9; }
:root[data-theme="forest"] .onboarding-page .success a { color:#285a50; }
:root[data-theme="forest"] .onboarding-page .message { color:#a34e48; }

:root[data-theme="forest"] .invite-page .email { background:#e4eee8; border-color:#a9c7b9; color:#173c35; }
:root[data-theme="forest"] .invite-page .button,
:root[data-theme="forest"] .calendar-page .button { background:#173c35; color:#fffdf9; }
:root[data-theme="forest"] .invite-page .button:hover,
:root[data-theme="forest"] .calendar-page .button:hover { background:#285a50; }
:root[data-theme="forest"] .calendar-page .home { background:#fffdf9; border-color:#ded5c8; color:#173c35; }
:root[data-theme="forest"] .calendar-page .icon { background:#285a50; }
:root[data-theme="forest"] .calendar-page .needs-attention .icon { background:#a34e48; }
:root[data-theme="forest"] .calendar-page .secondary { color:#285a50; }

:root[data-theme="forest"] .landing-page :is(.nav-link,.feature,.stat) { background:#fffdf9; border-color:#ded5c8; }
:root[data-theme="forest"] .landing-page .nav-link:hover { border-color:#a9c7b9; }
:root[data-theme="forest"] .landing-page .nav-cta { background:#173c35; border-color:#173c35; color:#fffdf9; }
:root[data-theme="forest"] .landing-page .nav-cta:hover { background:#285a50; border-color:#285a50; }
:root[data-theme="forest"] .landing-page .capture-prompt,
:root[data-theme="forest"] .landing-page .capture-note { color:#606b65; }

:root[data-theme="forest"] .admin-page :is(input,.card) { background:#fffdf9; border-color:#ded5c8; color:#173c35; }
:root[data-theme="forest"] .admin-page :is(.metric,.row-title) { color:#173c35; }
:root[data-theme="forest"] .admin-page :is(.label,.small,.muted,.sub,footer) { color:#606b65; }
:root[data-theme="forest"] .admin-page .row { border-color:#ded5c8; }
:root[data-theme="forest"] .admin-page :is(button,header nav a:nth-child(2)) { background:#173c35; border-color:#173c35; color:#fffdf9; }
:root[data-theme="forest"] .admin-page button:hover { background:#285a50; }
:root[data-theme="forest"] .admin-page button.secondary { background:#e4eee8; color:#173c35; }
:root[data-theme="forest"] .admin-page button.secondary:hover { background:#d4e4da; }
:root[data-theme="forest"] .admin-page button.danger { background:#a34e48; color:#fffdf9; }
:root[data-theme="forest"] .admin-page header nav :is(a,button):not(:nth-child(2)) { background:#fffdf9; border-color:#ded5c8; color:#173c35; }
:root[data-theme="forest"] .admin-page .badge { background:#e4eee8; color:#285a50; }
:root[data-theme="forest"] .admin-page .badge.bad { background:#f8e5de; color:#a34e48; }
